:root{--ink:#202721;--ink-soft:#596158;--forest:#18231e;--forest-soft:#24362d;--ivory:#f4f0e7;--ivory-soft:#faf8f2;--paper:#eee8dd;--gold:#a78a5b;--gold-light:#d2bd95;--line:#36443a33;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Manrope", Arial, sans-serif;--container:min(1160px, calc(100% - 48px));--shadow:0 28px 80px #131d1829;color:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--ivory);min-width:320px;color:var(--ink);margin:0;overflow-x:hidden}body.is-locked{overflow:hidden}button,input,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #d8bd82}.skip-link{z-index:3000;background:var(--ivory-soft);padding:12px 18px;transition:transform .18s ease-out;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:var(--container);margin-inline:auto}.paper-section{background-color:var(--ivory);background-image:radial-gradient(#25332b0b .7px,#0000 .8px),radial-gradient(#a78a5b09 .7px,#0000 .8px);background-position:0 0,9px 9px;background-size:18px 18px;position:relative}.section-kicker{color:var(--gold);letter-spacing:.24em;text-transform:uppercase;margin:0 0 14px;font-size:.71rem;font-weight:600}.section-kicker--light{color:var(--gold-light)}[data-reveal]{opacity:0;transition:opacity .7s ease-out,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--delay,0s);transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.leaf-divider{width:176px;color:var(--gold);align-items:center;gap:12px;margin:22px 0;display:flex}.leaf-divider span{opacity:.65;background:currentColor;width:42px;height:1px}.leaf-divider svg{fill:none;stroke:currentColor;stroke-width:1.2px;width:68px}.leaf-divider svg path:nth-child(2){fill:currentColor;stroke:none}.leaf-divider.is-light{color:var(--gold-light)}.opening{z-index:2000;background:var(--paper);place-items:center;padding:20px;transition:opacity .65s ease-in,transform .7s cubic-bezier(.75,0,.9,.5);display:grid;position:fixed;inset:0;overflow:hidden}.opening:before{content:"";pointer-events:none;border:1px solid #80653e73;position:absolute;inset:18px}.opening:after{content:"";pointer-events:none;border:1px solid #80653e2e;position:absolute;inset:25px}.opening--leaving{opacity:0;pointer-events:none;transform:scale(1.035)}.opening--revealing{background-color:#e9e5dc}.opening--revealing:before,.opening--revealing:after{opacity:0;transition:opacity .35s ease-out}.botanical{fill:#2f43369e;stroke:#2f43369e;stroke-width:1.2px;width:min(31vw,300px);transition:opacity .38s ease-out;position:absolute}.opening__card{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(560px,100vw - 64px);min-height:min(700px,100dvh - 74px);transition:opacity .48s ease-out,transform .6s cubic-bezier(.2,.8,.2,1),filter .48s ease-out;display:flex;position:relative}.opening--revealing .opening__card{opacity:0;filter:blur(7px);pointer-events:none;transform:translateY(30px)scale(.96)}.opening--revealing>.botanical{opacity:0}.opening__eyebrow{color:#6c735f;letter-spacing:.32em;text-transform:uppercase;margin-bottom:44px;font-size:.69rem;font-weight:600}.monogram{color:var(--forest);font-family:var(--font-display);align-items:center;font-size:clamp(4rem,13vw,7.7rem);font-weight:500;line-height:.8;display:flex}.monogram i{color:var(--gold);margin:0 -.03em;font-size:.53em;font-weight:400}.opening__card>p{max-width:360px;font-family:var(--font-display);margin:38px 0 30px;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.45}.opening__card small{color:#61685e;letter-spacing:.18em;text-transform:uppercase;margin-top:32px;font-size:.69rem}.seal-button{color:#f3eadb;cursor:pointer;background:#7b3a30;border:0;border-radius:50%;place-items:center;width:118px;min-height:118px;padding:0;transition:transform .22s ease-out,box-shadow .22s ease-out;display:grid;position:relative;box-shadow:inset 0 0 0 5px #ffffff12,0 13px 34px #48201a40}.seal-button:before{content:"";border:1px solid #f4e5cc73;border-radius:50%;position:absolute;inset:7px}.seal-button:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 5px #ffffff12,0 17px 40px #48201a4d}.seal-button:disabled{cursor:default}.seal-button__mark{font-family:var(--font-display);font-size:1.6rem}.seal-button__label{width:130px;color:var(--ink);letter-spacing:.16em;text-transform:uppercase;font-size:.65rem;font-weight:600;position:absolute;top:calc(100% + 13px)}.swan-reveal{z-index:2;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 62%,#fffffff5,#eeebe2ad 28%,#0000 58%),linear-gradient(#e6e3db 0%,#f5f2eb 48%,#d6d5cf 100%);place-items:center;transition:opacity .42s ease-out,transform .9s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;inset:0;overflow:hidden;transform:scale(1.025)}.swan-reveal:before{content:"";opacity:.55;background:radial-gradient(circle at 16% 22%,#ffffffd9 0 2px,#0000 3px) 0 0/170px 190px,radial-gradient(circle at 84% 32%,#ffffffb3 0 1.5px,#0000 2.5px) 0 0/220px 240px,radial-gradient(circle at 25% 68%,#ffffff9e 0 1.5px,#0000 2.5px) 0 0/260px 210px;position:absolute;inset:0}.opening--revealing .swan-reveal{opacity:1;transform:scale(1)}.swan-reveal__scene{width:min(720px,100vw - 28px);height:min(900px,100dvh - 26px);position:relative;overflow:hidden}.swan-reveal__arch{fill:none;stroke:#705e4285;stroke-width:1.25px;vector-effect:non-scaling-stroke;width:96%;height:98%;position:absolute;inset:2% 2% 0}.swan-reveal__arch>path:not(.arch-vine){stroke-dasharray:2200;stroke-dashoffset:2200px}.swan-reveal__arch .arch-vine{opacity:0;stroke:#4054467a}.swan-reveal__arch .arch-leaves{fill:#344c3c4d;stroke:none;opacity:0}.opening--revealing .swan-reveal__arch>path:not(.arch-vine){animation:1.7s ease-out .28s forwards arch-draw}.opening--revealing .swan-reveal__arch .arch-vine{animation:.7s ease-out 1.15s forwards soft-reveal}.opening--revealing .swan-reveal__arch .arch-leaves{animation:.7s ease-out 1.45s forwards soft-reveal}.swan-reveal__copy{z-index:3;width:min(90%,520px);color:var(--forest);text-align:center;opacity:0;position:absolute;top:13%;left:50%;transform:translate(-50%,16px)}.opening--revealing .swan-reveal__copy{animation:.85s cubic-bezier(.2,.8,.2,1) 2.05s forwards invitation-copy-reveal}.swan-reveal__copy p{color:#777365;letter-spacing:.28em;text-transform:uppercase;margin:0 0 20px;font-size:.68rem;font-weight:600}.swan-reveal__copy h2{font-family:var(--font-display);letter-spacing:-.045em;flex-direction:column;align-items:center;margin:0;font-size:clamp(3.9rem,11vw,6.8rem);font-weight:500;line-height:.7;display:flex}.swan-reveal__copy h2 i{color:var(--gold);margin:.16em 0 .08em;font-size:.38em;font-weight:400}.swan-reveal__copy small{color:#706d64;letter-spacing:.18em;text-transform:uppercase;margin-top:36px;font-size:.66rem;font-weight:600;display:block}.swan{z-index:2;opacity:0;filter:drop-shadow(0 16px 13px #36373229);will-change:transform, opacity;width:min(58vw,270px);position:absolute;bottom:9%;left:50%}.swan__wing{fill:#ffffff8c;stroke:#8e897e7a;stroke-width:1px}.swan__beak{fill:#b58d51}.swan__eye{fill:#29332e}.swan__feather{fill:none;stroke:#87847c85;stroke-width:1px;stroke-linecap:round}.swan-reveal__water{z-index:1;width:min(94%,640px);height:130px;position:absolute;bottom:6%;left:50%;overflow:hidden;transform:translate(-50%)}.swan-reveal__water span{opacity:0;border:1px solid #69746e47;border-radius:50%;width:84%;height:66px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)scale(.35)}.opening--revealing .swan-reveal__water span{animation:2.1s ease-out .85s infinite water-ripple}.opening--revealing .swan-reveal__water span:nth-child(2){animation-delay:1.45s}.opening--revealing .swan-reveal__water span:nth-child(3){animation-delay:2.05s}.opening__skip{z-index:5;top:max(20px, env(safe-area-inset-top));right:max(22px, env(safe-area-inset-right));color:#4c554f;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:3px;min-width:62px;min-height:48px;font-size:.65rem;font-weight:600;display:inline-flex;position:absolute}.opening__skip:hover{color:#7c603b}.site-header{z-index:100;color:#fff;justify-content:space-between;align-items:center;height:80px;padding:0 max(24px,50vw - 580px);transition:color .24s ease-out,background-color .24s ease-out,box-shadow .24s ease-out;display:flex;position:fixed;top:0;left:0;right:0}.site-header--scrolled{color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f4edf0;box-shadow:0 1px #2531291a}.header-logo{min-width:48px;min-height:48px;font-family:var(--font-display);align-items:center;font-size:1.7rem;font-weight:500;text-decoration:none;display:inline-flex}.header-logo span{color:var(--gold-light);margin:0 2px;font-size:.74em;font-style:italic}.site-header--scrolled .header-logo span{color:var(--gold)}.site-nav{align-items:center;gap:36px;display:flex}.site-nav a{letter-spacing:.15em;text-transform:uppercase;padding:14px 0;font-size:.7rem;font-weight:600;text-decoration:none;position:relative}.site-nav a:after{content:"";background:currentColor;height:1px;transition:right .22s ease-out;position:absolute;bottom:8px;left:0;right:100%}.site-nav a:hover:after{right:0}.menu-button{width:48px;height:48px;color:inherit;cursor:pointer;background:0 0;border:0;display:none}.hero{color:#fff;place-items:center;min-height:100dvh;display:grid;position:relative;overflow:hidden}.hero__image{background:url(/images/bosphorus-engagement-hero.webp) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.015)}.hero__veil{background:linear-gradient(#080f0d85 0%,#0b121036 42%,#070c0a9e 100%);position:absolute;inset:0}.hero__content{z-index:2;text-align:center;text-shadow:0 2px 24px #0000005c;flex-direction:column;align-items:center;padding:118px 24px 120px;display:flex;position:relative}.hero__kicker{color:#e4d7bc;letter-spacing:.32em;text-transform:uppercase;margin:0 0 26px;font-size:.7rem;font-weight:600}.hero h1{font-family:var(--font-display);letter-spacing:-.045em;flex-direction:column;align-items:center;margin:0;font-size:clamp(5rem,12.5vw,10rem);font-weight:500;line-height:.68;display:flex}.hero h1 i{color:var(--gold-light);margin:.12em 0 .06em;font-size:.35em;font-weight:400;line-height:1}.hero__content .leaf-divider{justify-content:center;margin:40px 0 25px}.hero__date{font-family:var(--font-display);letter-spacing:.05em;margin:0;font-size:clamp(1.55rem,3vw,2.15rem)}.hero__place{color:#ffffffd1;letter-spacing:.12em;text-transform:uppercase;margin:10px 0 0;font-size:.75rem}.scroll-cue{z-index:2;color:#ffffffc7;letter-spacing:.22em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:56px;min-height:48px;font-size:.62rem;text-decoration:none;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.scroll-cue svg{animation:1.8s ease-in-out infinite cue}.story{padding:140px 0;overflow:hidden}.story__number{color:#2230270b;font-family:var(--font-display);font-size:clamp(7rem,19vw,17rem);line-height:1;position:absolute;top:22px;right:-25px}.story__grid{grid-template-columns:minmax(300px,.85fr) minmax(340px,1fr);align-items:center;gap:clamp(60px,9vw,130px);display:grid;position:relative}.story__botanical{min-height:580px;color:var(--forest);place-items:center;display:grid;position:relative}.story__botanical:before{content:"";border:1px solid #a78a5b80;border-radius:48% 48% 4px 4px;position:absolute;inset:45px 34px}.story__botanical svg{fill:#26413129;width:100%;height:100%;position:absolute;inset:0}.story__botanical .stem{fill:none;stroke:#223f2f85;stroke-width:1.3px}.story__botanical span{z-index:1;font-family:var(--font-display);text-align:center;margin-top:46px;font-size:clamp(2.2rem,4.5vw,3.7rem);font-style:italic;line-height:1.08;position:relative}.story__copy{padding-right:clamp(0px,5vw,70px)}.story__copy h2,.details__copy h2,.section-heading h2{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(2.8rem,5.3vw,4.8rem);font-weight:500;line-height:.98}.story__copy>p:not(.section-kicker):not(.signature){max-width:590px;color:var(--ink-soft);font-family:var(--font-display);margin:0;font-size:1.45rem;line-height:1.7}.signature{color:var(--gold);font-family:var(--font-display);margin:34px 0 0;font-size:2.1rem;font-style:italic}.countdown-section{color:#f8f2e7;background:var(--forest);padding:104px 0;position:relative;overflow:hidden}.countdown-section:before,.countdown-section:after{content:"";border:1px solid #c5ae8221;border-radius:50%;width:420px;height:420px;position:absolute}.countdown-section:before{top:-270px;left:-90px}.countdown-section:after{bottom:-310px;right:-140px}.countdown-section__content{z-index:1;text-align:center;position:relative}.countdown-section h2{font-family:var(--font-display);margin:0 0 54px;font-size:clamp(2.5rem,5vw,4.1rem);font-weight:500}.countdown{grid-template-columns:repeat(4,minmax(100px,1fr));max-width:790px;margin:auto;display:grid}.countdown__item{padding:0 20px;position:relative}.countdown__item+.countdown__item:before{content:"";background:#dbcdb13b;width:1px;position:absolute;top:18%;bottom:18%;left:0}.countdown__item strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(3rem,7vw,5.4rem);font-weight:400;line-height:1;display:block}.countdown__item span{color:#c7c5bb;letter-spacing:.21em;text-transform:uppercase;margin-top:15px;font-size:.65rem;display:block}.countdown-complete{font-family:var(--font-display);font-size:3rem;font-style:italic}.details{padding:150px 0}.details__grid{grid-template-columns:.92fr 1fr;align-items:center;gap:clamp(58px,9vw,126px);display:grid}.details__photo{padding:0 0 42px 42px}.details__photo-frame{aspect-ratio:.82;box-shadow:var(--shadow);background:linear-gradient(#0000 40%,#080e0b99),url(/images/bosphorus-engagement-hero.png) 73%/auto 120% no-repeat;place-items:end start;padding:32px;display:grid;position:relative}.details__photo-frame:before{content:"";z-index:-1;border:1px solid #a78a5b99;position:absolute;inset:-28px 28px 28px -28px}.details__photo-frame span{color:#f3eadd;font-family:var(--font-display);font-size:2.3rem}.details__photo>p{color:#697167;max-width:360px;font-family:var(--font-display);margin:32px 0 0;font-size:1.2rem;font-style:italic;line-height:1.5}.details__copy h2{max-width:600px;margin-bottom:42px}.detail-list{border-top:1px solid var(--line)}.detail-row{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr;gap:20px;padding:24px 0;display:grid}.detail-row>svg{color:var(--gold);stroke-width:1.6px;margin-top:3px}.detail-row div{flex-direction:column;align-items:flex-start;display:flex}.detail-row span{color:#737a72;letter-spacing:.18em;text-transform:uppercase;margin-bottom:5px;font-size:.64rem;font-weight:600}.detail-row strong{font-family:var(--font-display);font-size:1.44rem;font-weight:600}.detail-row small{color:var(--ink-soft);margin-top:5px;font-size:.78rem}.details__actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{letter-spacing:.13em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 24px;font-size:.67rem;font-weight:600;text-decoration:none;transition:color .2s ease-out,background-color .2s ease-out,border-color .2s ease-out,transform .2s ease-out;display:inline-flex}.button:active{transform:scale(.98)}.button--primary{color:#fff;background:var(--forest)}.button--primary:hover{background:var(--forest-soft)}.button--ghost{color:var(--ink);background:0 0;border-color:#26372c4d}.button--ghost:hover{border-color:var(--gold);color:#765f3d}.dress-code{color:var(--ink-soft);margin:22px 0 0;font-size:.75rem}.dress-code span{color:var(--ink);font-weight:600}.timeline-section{background:#e7e0d3;padding:134px 0 145px}.section-heading{text-align:center;margin-bottom:64px}.section-heading h2{margin-bottom:14px}.section-heading>p:last-child{color:var(--ink-soft);font-family:var(--font-display);margin:0;font-size:1.28rem;font-style:italic}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:#35463a3d;width:1px;position:absolute;top:0;bottom:0;left:135px}.timeline li{border-top:1px solid #35463a2e;grid-template-columns:72px 66px 1fr;align-items:center;gap:30px;min-height:116px;display:grid}.timeline li:last-child{border-bottom:1px solid #35463a2e}.timeline__index{color:#273a2e5c;font-family:var(--font-display);font-size:1.2rem;font-style:italic}.timeline time{z-index:1;border:1px solid var(--gold);width:66px;height:66px;color:var(--forest);font-family:var(--font-display);background:#e7e0d3;border-radius:50%;place-items:center;font-size:1.1rem;font-weight:600;display:grid;position:relative}.timeline h3{font-family:var(--font-display);margin:0 0 5px;font-size:1.65rem;font-weight:600}.timeline p{color:var(--ink-soft);margin:0;font-size:.83rem}.footer{color:var(--ink);background:var(--paper);padding:82px 0 26px}.footer__content{justify-content:space-between;align-items:center;gap:30px;padding-bottom:64px;display:flex}.footer__content p{color:var(--gold);font-family:var(--font-display);margin:0 0 2px;font-size:1.2rem;font-style:italic}.footer h2{font-family:var(--font-display);margin:0;font-size:clamp(2.7rem,5vw,4.2rem);font-weight:500}.footer h2 i{color:var(--gold);font-weight:400}.share-button{min-height:50px;color:var(--ink);letter-spacing:.11em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #22312840;align-items:center;gap:10px;padding:0 20px;font-size:.68rem;font-weight:600;display:inline-flex}.share-button:hover{border-color:var(--gold)}.footer__date{color:#6e756d;letter-spacing:.17em;text-align:center;text-transform:uppercase;border-top:1px solid #303f3526;margin:0;padding-top:25px;font-size:.62rem}.music-launch{z-index:700;left:max(18px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;background:#18231ee6;border:1px solid #fff3;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-width:126px;min-height:52px;padding:5px 14px 5px 7px;font-size:.65rem;font-weight:650;transition:background .18s ease-out,transform .18s ease-out,box-shadow .18s ease-out;animation:.42s cubic-bezier(.2,.8,.2,1) both music-control-in;display:inline-flex;position:fixed;box-shadow:0 16px 42px #0e161240}.music-launch:hover{background:#23362df5;box-shadow:0 18px 48px #0e161252}.music-launch:active{transform:scale(.97)}.music-launch.is-playing{border-color:#d2bd9585}.music-launch.needs-interaction{color:var(--forest);background:#faf8f2f5;border-color:#a78a5b8f}.music-launch.needs-interaction .music-launch__icon{color:var(--forest);background:#a78a5b21}.music-launch__icon{width:40px;height:40px;color:var(--gold-light);background:#ffffff12;border:1px solid #d2bd958c;border-radius:50%;place-items:center;display:grid}.music-launch__equalizer{align-items:flex-end;gap:2px;height:18px;margin-left:1px;display:inline-flex}.music-launch__equalizer i{background:var(--gold-light);border-radius:999px;width:2px;height:7px;animation:.78s ease-in-out infinite alternate music-level}.music-launch__equalizer i:nth-child(2){height:14px;animation-delay:-260ms}.music-launch__equalizer i:nth-child(3){height:10px;animation-delay:-520ms}@keyframes music-control-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes music-level{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}@keyframes hero-settle{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1.015)}}@keyframes cue{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes arch-draw{to{stroke-dashoffset:0}}@keyframes soft-reveal{0%{opacity:0}to{opacity:1}}@keyframes invitation-copy-reveal{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@keyframes swan-left-glide{0%{opacity:0;transform:translate(-245%)translateY(12px)scale(.88)}18%{opacity:1}72%{transform:translate(-98%)translateY(-2px)scale(.88)}to{opacity:1;transform:translate(-92%)translateY(0)scale(.88)}}@keyframes swan-right-glide{0%{opacity:0;transform:translate(145%)translateY(12px)scale(-.88,.88)}18%{opacity:1}72%{transform:translate(-2%)translateY(-2px)scale(-.88,.88)}to{opacity:1;transform:translate(-8%)translateY(0)scale(-.88,.88)}}@keyframes water-ripple{0%{opacity:0;transform:translate(-50%)scale(.35)}22%{opacity:.55}to{opacity:0;transform:translate(-50%)scale(1.15)}}@keyframes heart-seal-reveal{0%{opacity:0;transform:translate(-50%,10px)scale(.8)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (width<=900px){:root{--container:min(100% - 36px, 720px)}.story__grid,.details__grid{grid-template-columns:1fr}.story__grid{gap:50px}.story__botanical{min-height:480px}.story__copy{text-align:center;padding:0 8px}.story__copy .leaf-divider,.story__copy>p:not(.section-kicker):not(.signature){margin-inline:auto}.details__photo{max-width:550px;margin-inline:auto}.details__copy{max-width:620px;margin-inline:auto}}@media (width<=680px){:root{--container:calc(100% - 32px)}.site-header{height:68px;padding:0 16px}.menu-button{place-items:center;display:grid}.site-nav{color:var(--ink);opacity:0;pointer-events:none;background:#faf8f2fa;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 20px;transition:opacity .18s ease-out,transform .18s ease-out;display:flex;position:absolute;top:68px;left:12px;right:12px;transform:translateY(-8px);box-shadow:0 18px 50px #121b162e}.site-nav--open{opacity:1;pointer-events:auto;transform:translateY(0)}.site-nav a{border-bottom:1px solid #29382f1a;align-items:center;min-height:48px;display:flex}.header-logo{font-size:1.5rem}.opening:before{inset:10px}.opening:after{inset:15px}.opening__card{width:calc(100vw - 46px);min-height:calc(100dvh - 46px)}.opening__eyebrow{margin-bottom:34px}.opening__card>p{margin:32px 12px 28px;font-size:1.24rem}.botanical{opacity:.75;width:190px}.seal-button{width:108px;min-height:108px}.swan-reveal__scene{width:100%;height:100dvh}.swan-reveal__arch{width:114%;height:100%;inset:1.5% -7% 0}.swan-reveal__copy{width:calc(100% - 42px);top:13%}.swan-reveal__copy p{letter-spacing:.22em;margin-bottom:17px;font-size:.61rem}.swan-reveal__copy h2{font-size:clamp(3.75rem,18vw,5rem)}.swan-reveal__copy small{margin-top:31px;font-size:.59rem;line-height:1.6}.swan{width:min(61vw,235px);bottom:8.5%}.swan-reveal__water{width:108%;bottom:4.5%}.opening__skip{top:max(12px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right))}.hero h1{font-size:clamp(4.6rem,23vw,6.7rem)}.hero__content{padding-top:92px}.hero__image{background-position:56%}.hero__kicker{letter-spacing:.24em;margin-bottom:22px}.hero__place{max-width:300px;line-height:1.6}.story,.details{padding:98px 0}.story__number{font-size:7rem;top:4px}.story__grid{gap:30px}.story__botanical{min-height:410px}.story__botanical:before{inset:35px 18px}.story__botanical span{font-size:2.35rem}.story__copy h2,.details__copy h2,.section-heading h2{font-size:2.75rem}.story__copy>p:not(.section-kicker):not(.signature){font-size:1.25rem}.countdown-section{padding:80px 0}.countdown-section h2{margin-bottom:38px}.countdown{grid-template-columns:repeat(2,1fr);gap:26px 0}.countdown__item:nth-child(3):before{display:none}.countdown__item strong{font-size:3.5rem}.details__photo{padding:0 0 25px 24px}.details__photo-frame{padding:22px}.details__photo-frame:before{inset:-18px 18px 18px -18px}.details__copy h2{margin-bottom:32px}.details__actions{flex-direction:column}.details__actions .button{width:100%}.timeline-section{padding:94px 0 100px}.section-heading{margin-bottom:42px}.timeline:before{left:31px}.timeline li{grid-template-columns:62px 1fr;gap:19px;min-height:132px;padding:18px 0}.timeline__index{display:none}.timeline time{width:62px;height:62px}.timeline h3{font-size:1.45rem}.timeline p{line-height:1.55}.footer{padding-top:66px}.footer__content{flex-direction:column;align-items:flex-start;padding-bottom:48px}.share-button{justify-content:center;width:100%}.footer{padding-bottom:92px}.music-launch{left:max(14px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom))}}@media (height<=680px) and (orientation:landscape){.opening__eyebrow{margin-bottom:18px}.opening__card>p{margin:18px 0}.opening__card small{margin-top:24px}.seal-button{width:82px;min-height:82px}.swan-reveal__copy{top:7%}.swan-reveal__copy p{margin-bottom:8px}.swan-reveal__copy h2{flex-direction:row;gap:.18em;font-size:3.15rem;line-height:1}.swan-reveal__copy h2 i{margin:0;font-size:.55em}.swan-reveal__copy small{margin-top:9px}.swan{width:min(38vw,220px);bottom:-2%}.swan-reveal__water{bottom:-7%}.hero__content{padding:85px 20px 72px}.hero h1{font-size:clamp(3.7rem,14vh,5.3rem)}.hero__content .leaf-divider{margin:22px 0 15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}:root{--ease-out-quart:cubic-bezier(.165, .84, .44, 1);--ease-out-quint:cubic-bezier(.23, 1, .32, 1);--ease-out-expo:cubic-bezier(.19, 1, .22, 1);--ease-in-out-cubic:cubic-bezier(.645, .045, .355, 1)}.scroll-progress{z-index:120;background:linear-gradient(90deg, var(--gold), var(--gold-light));transform-origin:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.gold-dust{z-index:1;pointer-events:none;mix-blend-mode:screen;width:100%;height:100%;position:absolute;inset:0}[data-reveal=stagger],[data-reveal=custom]{opacity:1;transition:none;transform:none}[data-reveal=stagger]>*{opacity:0;transition:opacity .8s var(--ease-out-quart), transform .9s var(--ease-out-quint);transition-delay:calc(var(--n,0) * 90ms);transform:translateY(22px)}[data-reveal=stagger]>:nth-child(2){--n:1}[data-reveal=stagger]>:nth-child(3){--n:2}[data-reveal=stagger]>:nth-child(4){--n:3}[data-reveal=stagger]>:nth-child(5){--n:4}[data-reveal=stagger]>:nth-child(6){--n:5}[data-reveal=stagger]>:nth-child(7){--n:6}[data-reveal=stagger].is-visible>*{opacity:1;transform:none}[data-reveal=stagger]>.split{opacity:1;transition:none;transform:none}.word{opacity:0;filter:blur(6px);transition:opacity .7s ease-out, transform .9s var(--ease-out-quint), filter .7s ease-out;transition-delay:calc(var(--n,0) * 90ms + var(--i,0) * 60ms);display:inline-block;transform:translateY(.45em)}.is-visible .word{opacity:1;filter:blur();transform:none}.leaf-divider span{transition:transform 1s var(--ease-out-quint) .35s;transform:scaleX(0)}.leaf-divider span:first-child{transform-origin:100%}.leaf-divider span:last-child{transform-origin:0}.leaf-divider svg{opacity:0;transition:opacity .7s ease-out .25s, transform .9s var(--ease-out-quint) .25s;transform:scale(.7)}.is-visible .leaf-divider span{transform:scaleX(1)}.is-visible .leaf-divider svg{opacity:1;transform:none}.is-entered .hero .leaf-divider span{transition-delay:1.5s;transform:scaleX(1)}.is-entered .hero .leaf-divider svg{opacity:1;transition-delay:1.4s;transform:none}.opening{background:radial-gradient(120% 90% at 50% 40%, #f7f3ea 0%, var(--paper) 55%, #e3dbcc 100%)}.botanical{pointer-events:none;width:min(52vw,400px);transition:opacity .5s ease-out}.botanical--top{top:-14px;left:-14px;transform:none}.botanical--bottom{bottom:-14px;right:-14px;transform:scale(-1)}.botanical img{transform-origin:0 0;width:100%;height:auto;animation:corner-in 1.9s var(--ease-out-expo) .15s both, corner-sway 8s ease-in-out 2.1s infinite alternate;display:block}.opening__card>*{animation:rise-in 1s var(--ease-out-quint) backwards}.opening__card>:first-child{animation-delay:.5s}.opening__card>:nth-child(2){animation-delay:.65s}.opening__card>:nth-child(3){animation-delay:.85s}.opening__card>:nth-child(4){animation-delay:1.05s}.opening__card>:nth-child(5){animation-delay:1.3s}.seal-button{width:132px;min-height:132px;box-shadow:none;color:inherit;background:0 0}.seal-button:before{display:none}.seal-button:hover{box-shadow:none;transform:none}.seal-button:active{transform:none}.seal-button__wax{filter:drop-shadow(0 12px 16px #48201a57);width:100%;height:auto;transition:transform .26s var(--ease-out-quart);animation:3.4s ease-in-out 2.4s infinite seal-breathe;display:block}.seal-button:active .seal-button__wax{transform:scale(.95)}.seal-button__halo{opacity:0;border:1px solid #7b3a3080;border-radius:50%;animation:3.4s ease-out 2.4s infinite halo-pulse;position:absolute;inset:-4px}.seal-button__burst{width:0;height:0;position:absolute;top:50%;left:50%}.seal-button__burst i{width:var(--s);height:var(--s);margin:calc(var(--s) / -2);opacity:0;background:radial-gradient(circle,#f6e7c0,#b8975c);border-radius:50%;position:absolute}.opening--revealing .opening__card{transition-delay:.34s}.opening--revealing .seal-button__wax{animation:seal-break .76s var(--ease-out-quart) forwards}.opening--revealing .seal-button__halo{animation:none}.opening--revealing .seal-button__burst i{animation:burst .95s var(--ease-out-quart) .13s both}.swan-reveal{background:radial-gradient(90% 46% at 50% 82%,#ceded233,#0000 68%),linear-gradient(#121b17 0%,#1b2a23 48%,#25392f 100%);transition-delay:.38s}.swan-reveal:before{animation:3.6s ease-in-out infinite alternate twinkle}.swan-reveal__arch{stroke:#d2bd958c}.swan-reveal__arch .arch-vine{stroke:#d2bd956b}.swan-reveal__arch .arch-leaves{fill:#d2bd954d}.swan-reveal__copy{color:#f7f0e3}.swan-reveal__copy p{color:var(--gold-light)}.swan-reveal__copy small{color:#f7f0e3b8}.swan-reveal__water span{border-color:#e2eae252}.opening--revealing .swan-reveal__copy{animation-delay:2.5s}.opening--revealing .opening__skip{color:#f7f0e3d1}.opening--revealing .opening__skip:hover{color:var(--gold-light)}.swan-reveal__scene{--swan-w:min(44vw, 290px);--swan-bottom:9%}.swan{width:var(--swan-w);bottom:var(--swan-bottom);filter:none}.swan img{filter:drop-shadow(0 0 28px #f0ecdc29);width:100%;height:auto;animation:3.2s ease-in-out infinite alternate swan-bob;display:block}.swan--right img{animation-delay:-1.3s}.swan--left{transform:translate(-250%)}.swan--right{transform:translate(150%)scaleX(-1)}.opening--revealing .swan--left{animation:swan-left-in 2.7s var(--ease-out-quint) .75s forwards}.opening--revealing .swan--right{animation:swan-right-in 2.7s var(--ease-out-quint) .75s forwards}.swan-heart{z-index:3;left:50%;bottom:calc(var(--swan-bottom) + var(--swan-w) * .8);fill:#d2bd9500;width:30px;stroke:var(--gold-light);stroke-width:1.8px;stroke-linejoin:round;margin-left:-15px;position:absolute;overflow:visible}.swan-heart path{stroke-dasharray:1;stroke-dashoffset:1px}.opening--revealing .swan-heart{animation:.7s ease-out 3.9s forwards heart-fill,1.3s ease-in-out 4.3s infinite heartbeat}.opening--revealing .swan-heart path{animation:draw-line 1.1s var(--ease-in-out-cubic) 3s forwards}.swan-reveal__petals{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.swan-reveal__petals i{top:-6%;left:var(--x);width:var(--s);height:calc(var(--s) * .72);opacity:0;background:linear-gradient(135deg,#fffdf6f2,#e2d6beb8);border-radius:80% 10%;position:absolute}.opening--revealing .swan-reveal__petals i{animation:petal-fall var(--t) linear var(--dl) infinite}.site-header{opacity:0;transition:color .24s ease-out, background-color .24s ease-out, box-shadow .24s ease-out, opacity .8s ease-out .9s, transform .9s var(--ease-out-quint) .9s;transform:translateY(-14px)}.site-header.is-entered{opacity:1;transform:none}.hero__media{transform:translate3d(0, var(--py,0px), 0);will-change:transform;position:absolute;inset:0}.hero__image{animation:hero-settle 1.8s var(--ease-out-quart) both, hero-drift 26s ease-in-out 1.8s infinite alternate}.hero__video{object-fit:cover;object-position:center;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity 1.2s ease-out;position:absolute;inset:0}.hero__video.is-ready{opacity:1}.hero__content{transform:translate3d(0, var(--py,0px), 0)}.hero__kicker,.hero__date,.hero__place,.scroll-cue,.hero h1 i{opacity:0}.hero h1 .ch{opacity:0;display:inline-block}.is-entered .hero__kicker{animation:rise-in .9s var(--ease-out-quart) .3s both}.is-entered .hero h1 .ch{animation:letter-in 1.2s var(--ease-out-quint) both;animation-delay:calc(.48s + var(--i) * 75ms)}.is-entered .hero h1 i{animation:amp-in 1.1s var(--ease-out-quint) .98s both}.is-entered .hero__date{animation:rise-in .9s var(--ease-out-quart) 1.7s both}.is-entered .hero__place{animation:rise-in .9s var(--ease-out-quart) 1.85s both}.is-entered .scroll-cue{animation:.9s ease-out 2.4s both soft-reveal}.story__number{transform:translate3d(0, var(--py,0px), 0)}.story__botanical:before{opacity:0;transition:opacity 1.2s ease-out, transform 1.5s var(--ease-out-quint);transform:scale(.95)}.story__botanical svg{transform-origin:15% 96%;animation:9s ease-in-out infinite alternate branch-sway}.story__botanical .stem{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 2.4s var(--ease-in-out-cubic) .2s}.story__botanical .leaves path{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .6s ease-out, transform 1s var(--ease-out-quint);transition-delay:calc(.7s + var(--l,0) * .14s);transform:scale(.35)}.story__botanical .leaves path:nth-child(2){--l:1}.story__botanical .leaves path:nth-child(3){--l:2}.story__botanical .leaves path:nth-child(4){--l:3}.story__botanical .leaves path:nth-child(5){--l:4}.story__botanical .leaves path:nth-child(6){--l:5}.story__botanical .leaves path:nth-child(7){--l:2.5}.story__botanical .leaves path:nth-child(8){--l:3.5}.story__botanical .leaves path:nth-child(9){--l:4.5}.story__botanical span{opacity:0;transition:opacity .9s ease-out .9s, transform 1.1s var(--ease-out-quint) .9s;transform:translateY(16px)}.story__botanical.is-visible:before{opacity:1;transform:none}.story__botanical.is-visible .stem{stroke-dashoffset:0}.story__botanical.is-visible .leaves path,.story__botanical.is-visible span{opacity:1;transform:none}.countdown-section:before{animation:9s ease-in-out infinite alternate ring-breathe}.countdown-section:after{animation:11s ease-in-out -4s infinite alternate ring-breathe}.countdown__item .digit-roll{color:inherit;font-size:inherit;letter-spacing:normal;animation:digit-in .52s var(--ease-out-quart) both;margin:0;display:inline-block}.opening__card small{margin-top:46px}.details__photo-frame{box-shadow:none;background:0 0;padding:0;transition:box-shadow 1.4s ease-out .5s;display:block}.details__photo-frame:before{opacity:0;transition:opacity .9s ease-out .6s, transform 1.3s var(--ease-out-quint) .6s;transform:translate(28px,28px)}.details__photo-clip{clip-path:inset(100% 0 0);transition:clip-path 1.5s var(--ease-out-expo);position:absolute;inset:0;overflow:hidden}.details__photo-img{transform:translate3d(0, var(--py,0px), 0);transition:scale 2s var(--ease-out-quart);background:linear-gradient(#0000 55%,#080e0b8c),url(/images/engagement-rings.webp) 50%/cover no-repeat;position:absolute;inset:-10% 0;scale:1.18}.details__photo-frame>span{z-index:1;opacity:0;transition:opacity .9s ease-out .9s;position:absolute;bottom:28px;left:32px}.details__photo>p{opacity:0;transition:opacity .9s ease-out .8s, transform 1s var(--ease-out-quint) .8s;transform:translateY(14px)}.details__photo.is-visible .details__photo-frame{box-shadow:var(--shadow)}.details__photo.is-visible .details__photo-frame:before{opacity:1;transform:none}.details__photo.is-visible .details__photo-clip{clip-path:inset(0)}.details__photo.is-visible .details__photo-img{scale:1}.details__photo.is-visible .details__photo-frame>span{opacity:1}.details__photo.is-visible>p{opacity:1;transform:none}.detail-row{opacity:0;transition:opacity .7s ease-out, transform .9s var(--ease-out-quint);transition-delay:calc(.38s + var(--r,0) * .12s);transform:translate(-14px)}.detail-row:nth-child(2){--r:1}.detail-row:nth-child(3){--r:2}.is-visible .detail-row{opacity:1;transform:none}.detail-row>svg{transition:transform .26s}.button--primary,.button--submit{position:relative;overflow:hidden}.button--primary:after,.button--submit:after{content:"";background:linear-gradient(105deg,#0000 36%,#fff3 50%,#0000 64%);position:absolute;inset:0;transform:translate(-120%)}.button svg{transition:transform .2s}.timeline-wrap{max-width:940px;margin:0 auto;position:relative}.timeline__progress{z-index:0;background:var(--gold);transform-origin:50% 0;width:1px;position:absolute;top:0;bottom:0;left:135px;transform:scaleY(0)}.timeline time{z-index:2;transition:transform .8s var(--ease-out-quint), color .22s ease, background-color .22s ease;transition-delay:calc(var(--delay,0s) + .22s), 0s, 0s;transform:scale(.72)}.timeline time:after{content:"";border:1px solid var(--gold);opacity:0;border-radius:50%;position:absolute;inset:-1px}.timeline li.is-visible time{transform:none}.timeline li.is-visible time:after{animation:ring-pulse 1.5s ease-out calc(var(--delay,0s) + .6s) both}.timeline h3{transition:transform .26s var(--ease-out-quart)}.footer h2 i{display:inline-block}.footer__content.is-visible h2 i{animation:amp-in 1s var(--ease-out-quint) .4s backwards}@media (hover:hover) and (pointer:fine){.seal-button:hover .seal-button__wax{transform:translateY(-4px)rotate(-5deg)scale(1.03)}.detail-row:hover>svg{transform:scale(1.14)rotate(-8deg)}.button--primary:hover:after,.button--submit:hover:after{transition:transform .8s var(--ease-out-quart);transform:translate(120%)}.button:hover svg{transform:translate(4px)}.timeline li:hover time{color:var(--ivory-soft);background:var(--forest)}.timeline li:hover h3{transform:translate(6px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes letter-in{0%{opacity:0;filter:blur(10px);transform:translateY(.3em)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes amp-in{0%{opacity:0;transform:scale(.55)rotate(-20deg)}to{opacity:1;transform:none}}@keyframes hero-drift{0%{transform:scale(1.015)}to{transform:scale(1.1)translate(-1.2%,-.8%)}}@keyframes corner-in{0%{opacity:0;translate:-7% -7%;scale:.8}to{opacity:1;translate:0;scale:1}}@keyframes corner-sway{0%{rotate:-1.1deg}to{rotate:1.5deg}}@keyframes seal-breathe{0%,to{scale:1}50%{scale:1.045}}@keyframes halo-pulse{0%{opacity:.7;transform:scale(.9)}70%,to{opacity:0;transform:scale(1.42)}}@keyframes seal-break{0%{opacity:1;transform:scale(1)}24%{opacity:1;transform:scale(.9)rotate(-3deg)}to{opacity:0;transform:scale(1.55)rotate(10deg)}}@keyframes burst{0%{opacity:0;transform:rotate(var(--a)) translateX(12px) scale(.4)}16%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateX(var(--d)) scale(1)}}@keyframes twinkle{0%{opacity:.25}to{opacity:.7}}@keyframes swan-bob{0%{transform:translateY(0)rotate(-.6deg)}to{transform:translateY(5px)rotate(.8deg)}}@keyframes swan-left-in{0%{opacity:0;transform:translate(-250%)}16%{opacity:1}to{opacity:1;transform:translate(-99.5%)}}@keyframes swan-right-in{0%{opacity:0;transform:translate(150%)scaleX(-1)}16%{opacity:1}to{opacity:1;transform:translate(-.5%)scaleX(-1)}}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes heart-fill{to{fill:#d2bd958c}}@keyframes heartbeat{0%,to{transform:scale(1)}18%{transform:scale(1.16)}36%{transform:scale(1)}54%{transform:scale(1.1)}}@keyframes petal-fall{0%{opacity:0;transform:translate(0,0)rotate(0)}10%{opacity:.85}85%{opacity:.7}to{opacity:0;transform:translate3d(var(--dx), 108vh, 0) rotate(540deg)}}@keyframes branch-sway{0%{transform:rotate(-.9deg)}to{transform:rotate(1.1deg)}}@keyframes ring-breathe{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.14)}}@keyframes digit-in{0%{opacity:0;filter:blur(4px);transform:translateY(.32em)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes ring-pulse{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(1.75)}}@keyframes glow-drift{0%{transform:translate(-3%,-2%)scale(1)}to{transform:translate(3%,2%)scale(1.1)}}@media (width<=680px){.botanical{opacity:.9;width:min(56vw,230px)}.botanical--top{top:-8px;left:-8px}.botanical--bottom{bottom:-8px;right:-8px}.seal-button{width:118px;min-height:118px}.swan-reveal__scene{--swan-w:min(46vw, 210px);--swan-bottom:8.5%}.swan-reveal__arch .arch-vine,.swan-reveal__arch .arch-leaves{display:none}.timeline__progress{left:31px}.details__photo-frame>span{bottom:20px;left:22px}.details__photo-frame:before{transform:translate(18px,18px)}}@media (height<=680px) and (orientation:landscape){.seal-button{width:86px;min-height:86px}.swan-reveal__scene{--swan-w:min(24vw, 190px);--swan-bottom:2%}.botanical{width:min(30vw,240px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-delay:0s!important;animation-delay:0s!important}.gold-dust,.swan-reveal__petals,.seal-button__burst{display:none}}
