/* Star-lit vows — champagne rings, ivory silk and a warm black sky. */
:root{--sand:#f0e9de;--oat:#d4c3ac;--moss:#9c7b50;--ink:#342f29;--clay:#b79b74;--sage:#a49989;--serif:WeddingSong,'Songti SC','SimSun',serif;--brush:var(--serif);--western:'Baskerville','Baskerville Old Face','Palatino Linotype',Georgia,serif}
body{background:#f0e9de;font-family:var(--serif);font-size:17px}body:after{opacity:.018}main{max-width:none;overflow:hidden}h1,h2{font-family:var(--serif);font-weight:400}h2{font-size:clamp(29px,3.8vw,46px);letter-spacing:.08em;line-height:1.65}img{border-radius:2px}figure{position:relative}figure img{box-shadow:0 16px 38px #30231812}.cover{position:relative;isolation:isolate;padding:26px 6% 0;background:radial-gradient(ellipse at 68% 28%,#584a373d,transparent 60%),#171715;color:#f1e6d3;overflow:hidden}.cover-top{position:relative;z-index:2;color:#d3bc96;font-size:12px;letter-spacing:.24em;border-bottom:1px solid #ccb38636;margin-bottom:42px;padding-bottom:18px}.cover-layout{position:relative;z-index:2;gap:8%;max-width:1100px}.cover-copy{padding:15px 0 0}.cover-copy>.eyebrow{color:#c4ad88;font-size:12px;letter-spacing:.32em}.cover h1{font-family:var(--western);font-size:clamp(70px,8.5vw,120px);line-height:.95;letter-spacing:-.045em;margin:20px 0 24px}.cover h1 em{font-weight:400;color:#d7bd94}.theme-name{font-size:20px;letter-spacing:.55em;margin:24px 0 28px}.names{font-size:22px;letter-spacing:.16em}.names span{font-family:var(--western);color:#d3bc96;font-size:30px}.event-summary{border-top:1px solid #ccb38640;padding-top:20px;margin-top:26px;font-size:17px}.event-summary strong{font-size:22px;font-weight:400}.event-summary a{color:#d3bc96;font-family:var(--serif);font-size:13px}.event-summary p{font-size:15px}.cover-note{font-family:var(--serif);font-size:15px;color:#c9bdab}.open-link{border-color:#baa079;color:#eadbc3;border-radius:0;font-size:14px;padding:12px 28px;position:relative;overflow:hidden}.open-link:after{content:'';position:absolute;inset:-100% -50%;background:linear-gradient(110deg,transparent 40%,#fff6 50%,transparent 60%);transform:translateX(-100%);animation:invitation-glint 9s ease-in-out infinite}.open-link:hover{background:#c5ab83;color:#171715}.cover-photo{padding:12px;border:1px solid #c2a57977;border-radius:48% 48% 1px 1px;max-width:480px;margin:15px auto 0}.cover-photo img{border-radius:48% 48% 0 0;aspect-ratio:2/3;max-height:680px;object-position:50% 40%}.cover-photo figcaption{color:#c7b796;font-size:11px;letter-spacing:.1em;margin-top:16px}.scroll-hint{position:relative;z-index:2;color:#c6b699;padding:32px 0;font-size:11px}.scroll-hint span{background:#bba27d;transform-origin:top;animation:scroll-breathe 3s ease-in-out infinite}.sky{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.star{position:absolute;width:2px;height:2px;background:#f9e7c6;border-radius:50%;box-shadow:0 0 7px #f8dfa8;opacity:.35;animation:twinkle var(--duration,5s) ease-in-out infinite;animation-delay:var(--delay,0s)}.star.large{width:3px;height:3px;box-shadow:0 0 10px #ffe6ae}.orbit{position:absolute;left:8%;top:0;width:84%;height:260px;border:1px solid #d2b07d88;border-radius:50%;transform:rotate(-17deg);box-shadow:inset 0 2px 0 #fff0d41a,0 0 25px #c19d5720;animation:orbit-drift 24s ease-in-out infinite alternate}.orbit.second{width:58%;height:170px;left:20%;top:50px;border-width:5px;border-color:#b99b682b;animation-delay:-12s}.orbit:after{content:'';position:absolute;top:18%;left:13%;width:5px;height:5px;background:#fff0cf;border-radius:50%;box-shadow:0 0 15px 5px #eac37f55}.section{max-width:1100px;padding-top:90px;padding-bottom:90px}.letter{max-width:1060px;gap:10%;padding-top:100px;padding-bottom:100px;background:radial-gradient(ellipse at center,#fffaf050,transparent 70%)}.letter-body{font-family:var(--serif);font-size:18px;line-height:2.35;letter-spacing:.06em}.letter h2{font-size:36px}.signature{font-size:19px}.chapter-head{gap:25px;margin-bottom:35px}.chapter-number{font-family:var(--western);font-size:76px;color:#b29870;opacity:.65}.chapter-head h2{font-size:38px}.eyebrow{font-size:12px;letter-spacing:.2em}.feature figcaption{font-size:13px;margin-top:18px}.landscape-pair{gap:36px}.portraits{gap:25px}.portraits img,.duet img,.sunset-pair figure:first-child img{border-radius:1px}.chapter-indoor{max-width:none;border-radius:0;background:#d9cdbc;padding-left:max(5%,calc((100% - 990px)/2));padding-right:max(5%,calc((100% - 990px)/2))}.duet-copy h2{font-size:35px}.duet-copy p{font-family:var(--serif);font-size:16px;line-height:2.2}.chapter-joy{background:#f0e9de}.chapter-sunset{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 0,#66513a44,transparent 60%),#1e201f;color:#eee2cf;border-radius:0;max-width:none;padding:90px max(5%,calc((100% - 990px)/2));overflow:hidden}.chapter-sunset .eyebrow,.chapter-sunset .chapter-number,.chapter-sunset figcaption{color:#c5af8d}.sunset-pair p{font-family:var(--serif);font-size:30px;letter-spacing:.1em}.details{max-width:780px}.date-art strong{font-family:var(--western);font-size:90px;letter-spacing:-.04em}.details dl div{border-color:#9c7b5045}.details-intro{font-size:17px}.venue-actions a,.venue-actions button{font:14px var(--serif);border-radius:1px;padding:15px 24px}.venue-actions a{background:#302f2a;border-color:#302f2a;color:#f3e9d9}.details dd time{font-family:var(--western);font-size:38px}.ending{position:relative;isolation:isolate;max-width:none;background:#171715;color:#eee2cf;padding:80px 24px 70px;overflow:hidden}.ending h2{font-family:var(--serif);font-size:43px;letter-spacing:.13em}.ending .eyebrow{color:#c5af8d}.ending-copy>p:last-of-type{font-size:21px}.ending-copy a{color:#c5af8d}footer{background:#171715;color:#b9ab97;padding-bottom:100px;font-family:var(--serif)}.music-control button{background:#242522ef;color:#eedfc7;border-color:#baa27c80;border-radius:28px;font:13px var(--serif);box-shadow:0 5px 20px #0002}.music-control button[aria-pressed=true]{background:#d7c3a4;color:#27231e}.music-control button[aria-pressed=true] svg{animation:music-sway 3s ease-in-out infinite}#music-status{background:#ede1cd;color:#302a22;padding:3px 8px}.motion-toggle{position:fixed;left:16px;bottom:max(18px,env(safe-area-inset-bottom));z-index:9;background:#242522ec;color:#e8d7b9;border:1px solid #baa27c80;border-radius:25px;font:12px var(--serif);padding:11px 15px;cursor:pointer}.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity 1.05s ease,transform 1.05s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:none}.motion-paused *{animation-play-state:paused!important}.motion-paused .reveal-ready{opacity:1;transform:none;transition:none}
@keyframes twinkle{0%,100%{opacity:.18;transform:scale(.7)}50%{opacity:.9;transform:scale(1.25)}}@keyframes orbit-drift{from{transform:rotate(-17deg) translateY(0)}to{transform:rotate(-9deg) translateY(18px)}}@keyframes invitation-glint{0%,65%{transform:translateX(-100%)}90%,100%{transform:translateX(100%)}}@keyframes scroll-breathe{50%{transform:scaleY(.55);opacity:.4}}@keyframes music-sway{50%{transform:rotate(12deg)}}
@media(max-width:700px){.cover{padding:18px 24px 0}.cover-top{font-size:10px;margin-bottom:28px;padding-bottom:15px;letter-spacing:.12em}.cover-copy{padding:0}.cover h1{font-size:clamp(68px,20vw,90px);line-height:.92;margin:22px 0}.theme-name{font-size:16px;letter-spacing:.42em;margin:20px 0}.names{font-size:19px;letter-spacing:.08em}.event-summary{margin:22px auto 0;padding-top:17px;max-width:290px;font-size:15px}.event-summary strong{font-size:20px}.event-summary p{font-size:14px}.cover-photo{width:87%;padding:9px;margin:32px auto 0}.cover-photo img{aspect-ratio:2/2.7;border-radius:48% 48% 0 0}.cover-photo figcaption{font-size:10px;letter-spacing:0}.orbit{left:-25%;width:150%;height:190px;top:32px}.orbit.second{left:-5%;width:110%;height:130px;top:64px}.section{padding:65px 25px}.letter{padding:65px 30px}.letter h2{font-size:30px}.letter-body{font-size:16px;line-height:2.35;letter-spacing:.025em}.signature{font-size:17px}.chapter-head{gap:17px}.chapter-number{font-size:55px}.chapter-head h2{font-size:clamp(23px,6.5vw,29px);letter-spacing:.03em}.eyebrow{font-size:11px}.landscape-pair{gap:24px}.portraits{gap:18px 14px}.feature figcaption{font-size:12px}.chapter-indoor{border-radius:0}.duet{gap:17px}.duet-copy h2{font-size:25px}.duet-copy p{font-size:14px}.chapter-sunset{margin:0;border-radius:0;padding:65px 25px}.sunset-pair p{font-size:24px}.details h2{font-size:29px}.details-intro{font-size:16px}.details dd time{font-size:34px}.details .venue-row dd{font-size:17px}.venue-address{font-size:14px}.date-art strong{font-size:78px}.venue-actions a,.venue-actions button{font-size:13px;padding:14px 18px}.ending{padding:60px 25px}.ending h2{font-size:35px}.ending-copy>p:last-of-type{font-size:18px}.motion-toggle{left:12px;font-size:11px;padding:10px 12px}.music-control button{font-size:12px;padding:10px 13px}.open-link{padding:10px 24px}.scroll-hint{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}html{scroll-behavior:auto}}

.star,.orbit{animation-play-state:var(--page-motion,running)}
