:root{--olive:#24351f;--olive-dark:#132212;--olive-light:#3b4b2c;--paper:#f3eedf;--ink:#283821;--muted:#706e5a;--gold:#ddc58f;--gold-dark:#89703e;--line:#c5b68e;--serif:'Wedding Display',Georgia,serif;--sans:'Wedding Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--olive);color:var(--paper);font:400 1.0625rem/1.75 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(2.1rem,4.3vw,4rem);line-height:1.3;letter-spacing:.005em}h2 em{font-style:normal;font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.shell{width:min(100%,1280px);margin:0 auto;padding-left:70px;padding-right:70px}.eyebrow{font-family:var(--sans);font-size:.875rem;text-transform:uppercase;letter-spacing:.2em;line-height:1.7;font-weight:400}.body-copy{font-size:1.0625rem;line-height:1.85;color:var(--muted)}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;text-decoration:none;border-bottom:1px solid currentColor;line-height:1.4;padding:7px 0}.skip-link{position:fixed;z-index:150;top:10px;left:10px;padding:10px 15px;background:var(--paper);color:var(--ink);transform:translateY(-180%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Velvet stays gently in motion before and after the reveal. */
.curtain-stage,.opening{display:none}.js body:not(.invitation-open){overflow:hidden}.js .invitation{visibility:hidden}.js .invitation-open .invitation{visibility:visible}.js .curtain-stage{display:block;position:fixed;inset:0;z-index:80;pointer-events:none;overflow:hidden;contain:layout paint}.curtain-panel{position:absolute;top:0;bottom:0;width:50.2%;overflow:hidden;background:#1f2c17;transition:transform 2.4s cubic-bezier(.68,0,.19,1);will-change:transform}.curtain-left{left:0;transform-origin:left center}.curtain-right{right:0;transform-origin:right center}.curtain-fabric{position:absolute;inset:-3% -7%;background-image:var(--curtain-image);background-size:200% 100%;background-repeat:no-repeat;will-change:transform;animation:velvet-left 8s ease-in-out infinite alternate}.curtain-left .curtain-fabric{background-position:left center}.curtain-right .curtain-fabric{background-position:right center;animation-name:velvet-right;animation-duration:9s;animation-delay:-3s}.curtain-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,#e7d2a000 20%,#e7d2a01a 52%,#e7d2a000 78%);opacity:.06;animation:velvet-light 6s ease-in-out infinite alternate;pointer-events:none}.curtain-right::after{animation-delay:-3s}.invitation-open .curtain-left{transform:translateX(-96.5%)}.invitation-open .curtain-right{transform:translateX(96.5%)}
.js .opening{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;inset:0;z-index:90;padding:110px 30px 100px;min-height:100svh;text-align:center;color:#f3e4bf;transition:opacity .7s ease,visibility 0s .75s}.opening::before{content:'';position:absolute;inset:25px;border:1px solid #cdb77b55;pointer-events:none}.opening-top,.opening-bottom{position:absolute;left:30px;right:30px;line-height:1.6}.opening-top{top:45px;font-size:.75rem;letter-spacing:.27em;text-transform:uppercase;color:#c8b783}.opening-bottom{bottom:44px;font-size:.875rem;letter-spacing:.05em;color:#e0cfaa}.opening-bottom span{display:block;font-size:.75rem;letter-spacing:.18em;color:#acac86;text-transform:uppercase;margin-top:5px}.opening-content{width:100%;max-width:800px;display:flex;flex-direction:column;align-items:center;animation:intro-arrival 1.2s ease both;transition:transform .9s ease}.opening-prelude{font-size:.8125rem;letter-spacing:.22em;line-height:1.7;text-transform:uppercase;color:#cbba8a;margin-bottom:31px}.names{display:flex;flex-direction:column;align-items:center;font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:.06em;text-transform:uppercase;text-align:center}.name-dina,.name-lokma{font-style:normal;font-size:1em;font-weight:400;white-space:nowrap}.name-amp{font-style:normal;font-size:.26em;letter-spacing:0;line-height:1.2;color:#bba16a;display:flex;align-items:center;justify-content:center;gap:27px;width:100%;margin:12px 0 15px}.name-amp::before,.name-amp::after{content:'';height:1px;width:72px;background:#bba16a70}.opening-names{font-size:clamp(5rem,10.5vw,8rem);width:100%;color:#e9d7a8}.opening-date{font-family:var(--serif);font-size:1rem;letter-spacing:.08em;line-height:1.6;margin-top:32px;color:#e4d3a8}.opening-date span{font-family:var(--sans);margin:0 13px;color:#988957}.enter-button{display:flex;align-items:center;justify-content:center;background:linear-gradient(115deg,#c8ad73,#e3cd99 50%,#c6a870);border:1px solid #e0c993;min-width:250px;min-height:52px;margin-top:30px;padding:15px 24px;color:#24301b;font-size:.8125rem;text-transform:uppercase;letter-spacing:.14em;box-shadow:0 5px 35px #0002;transition:filter .2s}.enter-button:hover{filter:brightness(1.08)}.button-rule{display:none}.opening.is-opening{opacity:0;visibility:hidden;pointer-events:none}.is-opening .opening-content{transform:translateY(-18px)}.reading-progress{height:1px;position:fixed;top:0;left:0;right:0;z-index:75;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#cfb985}
/* A formal olive and gold opening spread. */
.hero{padding-top:90px;padding-bottom:36px}.hero-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:78px;align-items:center}.hero-copy{padding-top:18px;padding-bottom:18px;text-align:center}.hero-copy>.eyebrow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:17px;font-size:.8125rem;letter-spacing:.12em;color:#bdac7e}.small-divider{display:inline-block;height:1px;width:30px;background:#9d8e5c}.hero-names{font-size:clamp(4.5rem,7.5vw,6.6rem);margin-top:35px;color:#ead8aa}.hero-names .name-amp{font-size:.27em;margin:10px 0 12px;gap:21px}.hero-names .name-amp::before,.hero-names .name-amp::after{width:55px}.married{font-family:var(--sans);font-style:normal;font-size:.9375rem;letter-spacing:.16em;text-transform:uppercase;color:#c4b590;margin-top:32px}.discover{display:inline-flex;flex-direction:column;align-items:center;gap:14px;font-size:.875rem;letter-spacing:.03em;text-decoration:none;color:#e1c992;margin-top:30px;min-height:54px}.discover-line{height:1px;width:60px;background:#9e8a58;transition:width .3s}.discover:hover .discover-line{width:95px}.couple-portrait{width:100%;max-width:452px;justify-self:end;padding:13px 13px 0;border:1px solid #b7a16e;background:#182914;box-shadow:0 20px 60px #07130440}.portrait-crop{aspect-ratio:513/568;position:relative;overflow:hidden;background:#273424}.portrait-crop img{position:absolute;width:187.33%;max-width:none;height:auto;left:-47.173%;top:-84.507%}.couple-portrait figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:20px 3px 19px;color:#c9ba91}.couple-portrait figcaption span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.couple-portrait figcaption em{font-family:var(--serif);font-style:normal;font-size:1.04rem;line-height:1.5;color:#e5d3a5}.hero-foot{display:flex;justify-content:space-between;gap:20px;max-width:1140px;border-top:1px solid #bda7733b;margin-top:55px;padding-top:24px;font-size:.875rem;color:#a9ac85;letter-spacing:.035em}
/* Light invitation paper for the essential details. */
.celebration{background:var(--paper);color:var(--ink);padding:96px 0 76px}.celebration-copy{text-align:center}.celebration-copy>.eyebrow{color:#8b774b;margin-bottom:24px}.celebration h2{font-size:clamp(2.4rem,4.4vw,4rem);line-height:1.35}.celebration h2 em{color:#817141}.celebration .body-copy{margin-top:25px}.event-details{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:50px;margin-top:64px}.detail{border-top:1px solid #c8b88e;padding-top:25px;text-align:center}.detail .eyebrow{font-size:.8125rem;color:#8a7647;margin-bottom:18px;letter-spacing:.18em}.detail h3{font-size:1.45rem;line-height:1.4;color:#334127}.detail>p:not(.eyebrow){font-size:1rem;color:#79765f;margin-top:9px}.detail .text-link{color:#8b7441;margin-top:10px}.countdown-wrap{text-align:center;border-top:1px solid #cbbd9a;max-width:720px;margin:47px auto 0;padding-top:32px}.countdown-wrap .eyebrow{font-size:.8125rem;letter-spacing:.12em;color:#918055}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:575px;margin:25px auto 0}.countdown div{display:flex;flex-direction:column;align-items:center}.countdown [data-time]{font-family:var(--serif);font-size:3.5rem;line-height:1.3;font-variant-numeric:tabular-nums;color:#3d4c2f}.countdown small{font-size:.75rem;line-height:1.5;letter-spacing:.11em;text-transform:uppercase;color:#8c7d56;margin-top:7px}.countdown-date{font-size:.75rem;color:#8f8368;letter-spacing:.035em;margin-top:26px}
/* Framed couture plates on the olive ground. */
.dress-section{padding-top:96px;padding-bottom:88px}.dress-heading{display:block;text-align:center}.dress-heading .eyebrow{color:#bca774;margin-bottom:22px}.dress-intro{display:none}.dress-heading h2{font-size:clamp(2.5rem,4.8vw,4.2rem);line-height:1.3;color:#e2cfa2}.dress-heading h2 em{color:#e2cfa2}.dress-heading .body-copy{margin-top:23px;color:#c6c2a2}.couture-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;max-width:1010px;margin:48px auto 0}.couture-look{position:relative;padding:32px 30px 30px;background:#f0e9d8;border:1px solid #c5ad75;color:#263821;box-shadow:0 16px 50px #0a1a0c30}.couture-look::before{content:'';position:absolute;inset:9px;border:1px solid #b6a57866;pointer-events:none}.look-heading{text-align:center;position:relative}.look-heading h3{font-size:1.55rem;letter-spacing:.035em;font-style:normal}.look-heading p{font-size:.875rem;letter-spacing:.04em;color:#8e7b53;margin-top:8px}.couture-art{height:384px;display:flex;align-items:center;justify-content:center;margin:27px -4px 29px;position:relative}.couture-art img{height:100%;width:100%;object-fit:contain}.look-copy{position:relative;border-top:1px solid #cabc98;padding-top:20px;font-size:1rem;line-height:1.8;color:#746f55;text-align:center}.dress-palette{text-align:center;margin-top:47px}.dress-palette .eyebrow{color:#bca776;font-size:.8125rem;letter-spacing:.13em}.palette{display:flex;flex-wrap:wrap;justify-content:center;gap:31px;margin-top:25px}.palette>span{display:flex;align-items:center;gap:11px;font-size:.875rem;color:#cfcaab}.swatch{display:inline-block;width:15px;height:15px;border:1px solid #cdb78388;flex-shrink:0}.black{background:#181d13}.champagne{background:#c6b47c}.silver{background:#b5b8a9}.olive{background:#6d7650}.palette-note{font-size:.75rem;color:#a5aa87;margin-top:21px}
/* A velvet second act. */
.after-party{position:relative;overflow:hidden;text-align:center;padding:101px 0 105px;background:#101f0f;color:#eee0bd;border-top:1px solid #cbb67b40;border-bottom:1px solid #cbb67b40}.after-party::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#142612e0,#0c1b0fe8),var(--curtain-image);background-position:center;background-size:cover}.after-inner{position:relative}.after-party .eyebrow{font-size:.8125rem;letter-spacing:.17em;color:#baa777}.after-party h2{font-size:clamp(2.9rem,5.6vw,5.1rem);line-height:1.3;margin-top:30px;color:#eddfb9}.after-party h2 em{display:inline-block;color:#c5ac72;font-size:1.14em;margin-top:5px}.after-description{font-family:var(--sans);font-size:1.125rem;line-height:1.8;color:#c5c2a0;margin-top:27px}.party-line{display:block;width:74px;height:1px;background:#aa956466;margin:31px auto 25px}.party-caption{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:#bca778}
/* The final invitation, on ivory stationery. */
.rsvp{position:relative;display:block;max-width:1030px;margin:72px auto 54px;padding:65px 65px 52px;background:var(--paper);color:var(--ink);border:1px solid #b6a16d;text-align:center}.rsvp::before{content:'';position:absolute;inset:11px;border:1px solid #c6b89070;pointer-events:none}.rsvp-heading,.rsvp-form,.signature{position:relative}.rsvp-heading>.eyebrow{font-size:.8125rem;color:#8e7849;letter-spacing:.14em;margin-bottom:26px}.rsvp h2{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.4}.rsvp h2 em{color:#857142}.rsvp .body-copy{margin-top:24px}.rsvp-form{max-width:430px;width:100%;padding:0;margin:34px auto 0;text-align:left}.rsvp-form label{display:block;font-size:.9375rem;margin-bottom:9px;color:#425037}.rsvp-form label span{font-size:.8125rem;color:#8a866d}.rsvp-form input{width:100%;min-height:52px;border:1px solid #bcae8b;border-radius:0;background:#fcf8ee;padding:12px 15px;color:#2c3c24;font-size:1rem;outline-offset:4px}.rsvp-form input::placeholder{font-size:1rem;color:#938b72}.rsvp-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:59px;margin-top:20px;background:#293d23;color:#eddbad;border:1px solid #a18d5c;padding:16px 19px;font-size:.9375rem;letter-spacing:.02em;text-decoration:none;transition:background .25s}.rsvp-button:hover{background:#3e5231}.rsvp-button svg{height:23px;width:23px;flex-shrink:0}.rsvp-note{text-align:center;font-size:.8125rem;line-height:1.65;color:#8e8267;margin-top:19px}.signature{padding-top:39px;text-align:center}.signature>p:first-child{font-family:var(--sans);font-size:.875rem;letter-spacing:.11em;color:#8c794c;text-transform:uppercase}.signature-names{font-family:var(--serif);font-size:2.55rem;line-height:1.4;letter-spacing:.025em;color:#334329;margin-top:16px}.signature-names i{font-style:normal;font-size:.65em;color:#9b8451;margin:0 .12em}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1130px;padding-top:10px;padding-bottom:30px;color:#b9b48d}.footer p{font-size:.8125rem;letter-spacing:.09em}.footer p span{margin:0 10px}.footer .text-link{font-size:.8125rem;color:#c3af7c}
.music-toggle{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:max(27px,env(safe-area-inset-right));z-index:100;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #bdab78;background:#26391f;color:#e4d3a6}.sound-bars{display:flex;gap:3px;align-items:center;height:18px}.sound-bars i{width:2px;height:4px;background:currentColor;transform-origin:bottom}.music-toggle[aria-pressed=true] .sound-bars i{height:12px;animation:sound 1s ease-in-out infinite alternate}.sound-bars i:nth-child(2){animation-delay:-.6s!important}.sound-bars i:nth-child(3){animation-delay:-.2s!important}.sound-bars i:nth-child(4){animation-delay:-.8s!important}
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .9s cubic-bezier(.2,.65,.3,1)}.js .reveal.visible{opacity:1;transform:none}.invitation-open .hero-copy{animation:content-arrival 1.5s ease .6s both}.invitation-open .couple-portrait{animation:content-arrival 1.5s ease .9s both}.invitation-open .hero-foot{animation:content-arrival 1.3s ease 1.1s both}@keyframes velvet-left{from{transform:translate3d(-1.3%,-.4%,0) scaleX(1.035) skewY(-.2deg)}to{transform:translate3d(1.5%,.6%,0) scaleX(1.075) skewY(.25deg)}}@keyframes velvet-right{from{transform:translate3d(1.4%,.5%,0) scaleX(1.065) skewY(.3deg)}to{transform:translate3d(-1.5%,-.6%,0) scaleX(1.03) skewY(-.3deg)}}@keyframes velvet-light{from{opacity:.03;transform:translateX(-15%)}to{opacity:.19;transform:translateX(17%)}}@keyframes intro-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes content-arrival{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes sound{to{transform:scaleY(.3)}}
@media(max-width:1080px){.shell{padding-left:48px;padding-right:48px}.hero{padding-top:73px}.hero-layout{gap:48px}.hero-names{font-size:7.8vw}.hero-copy>.eyebrow{font-size:.75rem;gap:12px}.event-details{gap:28px}.detail h3{font-size:1.28rem}.couture-grid{gap:35px}.couture-look{padding:28px 23px}.couture-art{height:330px}.rsvp{width:calc(100% - 96px);padding:57px 48px 47px}.rsvp h2{font-size:2.8rem}}
@media(max-width:760px){.shell{padding-left:28px;padding-right:28px}.curtain-fabric{background-size:400% 100%}.opening{padding:95px 24px!important}.opening::before{inset:16px}.opening-top{top:35px;left:25px;right:25px;font-size:.75rem;letter-spacing:.16em}.opening-bottom{bottom:33px;font-size:.875rem}.opening-bottom span{font-size:.75rem;letter-spacing:.1em}.opening-prelude{font-size:.75rem;letter-spacing:.17em;margin-bottom:30px}.opening-names{font-size:clamp(4.1rem,20vw,6rem);letter-spacing:.035em}.opening-names .name-amp{font-size:.28em;gap:22px;margin:12px 0 15px}.opening-names .name-amp::before,.opening-names .name-amp::after{width:53px}.opening-date{font-size:.875rem;letter-spacing:.035em;margin-top:28px}.opening-date span{margin:0 11px}.enter-button{font-size:.75rem;letter-spacing:.105em;min-width:235px;min-height:52px;margin-top:29px;padding:15px 22px}.hero{padding-top:59px;padding-bottom:29px}.hero-layout{display:flex;flex-direction:column;gap:38px}.hero-copy{width:100%;max-width:445px;padding:0}.hero-copy>.eyebrow{font-size:.75rem;letter-spacing:.095em;gap:13px}.small-divider{width:23px}.hero-names{font-size:clamp(3.9rem,18.8vw,6rem);letter-spacing:.035em;margin-top:31px}.hero-names .name-amp{font-size:.27em;margin:8px 0 12px;gap:19px}.hero-names .name-amp::before,.hero-names .name-amp::after{width:49px}.married{font-size:.8125rem;letter-spacing:.1em;margin-top:26px}.discover{font-size:.875rem;gap:12px;margin-top:23px;min-height:49px}.discover-line{width:48px}.couple-portrait{max-width:410px;padding:10px 10px 0;align-self:center}.couple-portrait figcaption{padding:17px 1px 16px;gap:8px}.couple-portrait figcaption span{font-size:.75rem;letter-spacing:.07em}.couple-portrait figcaption em{font-size:.9rem;white-space:nowrap}.hero-foot{display:block;text-align:center;margin-top:34px;padding-top:19px;font-size:.8125rem;line-height:1.8}.hero-foot p+p{margin-top:2px}.celebration{padding:66px 0 57px}.celebration-copy>.eyebrow{font-size:.75rem;letter-spacing:.11em;margin-bottom:24px}.celebration h2{font-size:clamp(1.9rem,7.5vw,3rem);line-height:1.5;letter-spacing:0}.celebration .body-copy{font-size:1.0625rem;line-height:1.8;margin-top:24px}.desktop-break{display:none}.event-details{display:block;margin-top:38px}.detail{display:grid;grid-template-columns:68px 1fr;gap:0 17px;text-align:left;padding:22px 0}.detail .eyebrow{grid-column:1;grid-row:1/3;font-size:.75rem;letter-spacing:.035em;margin:4px 0 0}.detail h3{grid-column:2;font-size:1.18rem;line-height:1.6}.detail>p:not(.eyebrow){grid-column:2;margin-top:6px;font-size:.9375rem}.detail .text-link{grid-column:2;justify-self:start;font-size:.875rem;min-height:40px;margin-top:6px}.countdown-wrap{margin-top:13px;padding-top:28px}.countdown-wrap .eyebrow{font-size:.75rem;letter-spacing:.05em}.countdown{gap:10px;margin-top:24px}.countdown [data-time]{font-size:2.45rem}.countdown small{font-size:.75rem;letter-spacing:.025em;margin-top:7px}.countdown-date{font-size:.75rem;line-height:1.8;margin-top:22px}.dress-section{padding-top:66px;padding-bottom:60px}.dress-heading .eyebrow{font-size:.75rem;letter-spacing:.15em;margin-bottom:20px}.dress-heading h2{font-size:clamp(1.9rem,8vw,3rem);line-height:1.45;letter-spacing:0}.dress-heading .body-copy{font-size:1.0625rem;line-height:1.7;margin-top:20px}.couture-grid{gap:17px;margin-top:33px}.couture-look{padding:24px 12px 24px}.couture-look::before{inset:5px;border-color:#b6a57855}.look-heading h3{font-size:1.12rem;letter-spacing:0}.look-heading p{font-size:.75rem;line-height:1.6;margin-top:10px;min-height:2.6em;display:flex;align-items:center;justify-content:center}.couture-art{height:226px;margin:13px -5px 22px}.look-copy{font-size:1rem;line-height:1.7;padding-top:17px}.dress-palette{margin-top:34px}.dress-palette .eyebrow{font-size:.75rem;letter-spacing:.1em}.palette{display:grid;grid-template-columns:auto auto;justify-content:center;gap:14px 26px;margin-top:23px}.palette>span{font-size:.875rem;gap:9px}.swatch{width:14px;height:14px}.palette-note{font-size:.75rem;line-height:1.7;margin-top:22px}.after-party{padding:70px 0}.after-party .eyebrow{font-size:.75rem;letter-spacing:.085em;max-width:260px;margin:auto;line-height:1.9}.after-party h2{font-size:clamp(1.9rem,7.5vw,3rem);line-height:1.55;margin-top:29px}.after-party h2 em{font-size:1.22em;margin-top:2px}.after-description{font-size:1.0625rem;line-height:1.85;margin-top:24px}.party-line{width:52px;margin:27px auto 22px}.party-caption{font-size:.75rem;letter-spacing:.045em}.rsvp{width:calc(100% - 42px);margin:44px auto 32px;padding:42px 23px 35px}.rsvp::before{inset:6px}.rsvp-heading>.eyebrow{font-size:.75rem;letter-spacing:.055em;margin-bottom:23px}.rsvp h2{font-size:clamp(1.65rem,7.1vw,2.5rem);line-height:1.55}.rsvp .body-copy{font-size:1.0625rem;line-height:1.75;margin-top:22px}.rsvp-form{margin:29px auto 0}.rsvp-form label{font-size:.875rem}.rsvp-form input{font-size:1rem;min-height:51px;padding:11px 12px}.rsvp-button{min-height:58px;padding:15px 8px;font-size:.875rem;letter-spacing:0;gap:8px}.rsvp-button svg{width:21px;height:21px}.rsvp-note{font-size:.75rem;line-height:1.8;margin-top:19px}.signature{padding-top:31px}.signature>p:first-child{font-size:.75rem;letter-spacing:.1em}.signature-names{font-size:1.6rem;line-height:1.5;letter-spacing:0;margin-top:14px}.footer{padding-top:0;padding-bottom:25px;gap:12px}.footer p{font-size:.75rem;letter-spacing:.015em}.footer p span{margin:0 5px}.footer .text-link{font-size:.75rem;min-height:42px}.music-toggle{bottom:15px;right:18px}}
@media(max-width:360px){.shell{padding-left:23px;padding-right:23px}.opening-names{font-size:20vw}.opening-prelude{letter-spacing:.11em}.opening-names .name-amp{gap:18px}.hero-copy>.eyebrow{gap:10px;letter-spacing:.045em}.hero-names{font-size:18.5vw}.hero{padding-top:51px}.hero-layout{gap:32px}.couple-portrait figcaption span{font-size:.75rem;letter-spacing:0;max-width:90px;line-height:1.5}.couple-portrait figcaption em{font-size:.8125rem}.celebration h2{font-size:1.8rem}.detail{grid-template-columns:60px 1fr;gap:0 14px}.detail h3{font-size:1.08rem}.countdown{gap:7px}.countdown [data-time]{font-size:2.14rem}.countdown small{letter-spacing:0}.dress-heading h2{font-size:1.9rem}.couture-grid{gap:14px}.couture-look{padding-left:11px;padding-right:11px}.look-heading h3{font-size:1rem}.couture-art{height:192px}.look-copy{font-size:1rem}.after-party h2{font-size:1.78rem}.rsvp{width:calc(100% - 34px);padding-left:19px;padding-right:19px}.rsvp h2{font-size:1.6rem}.rsvp-button{font-size:.8125rem;gap:7px}.signature-names{font-size:1.4rem}.footer{flex-wrap:wrap;justify-content:center;text-align:center;gap:0 16px}}
@media(max-height:720px) and (orientation:portrait){.opening{padding-top:72px!important;padding-bottom:74px!important}.opening-top{top:28px}.opening-bottom{bottom:26px;font-size:.8125rem}.opening-bottom span{font-size:.75rem;margin-top:3px}.opening-prelude{font-size:.75rem;margin-bottom:22px}.opening-names{font-size:clamp(3.5rem,18.6vw,5.2rem)}.opening-names .name-amp{margin:6px 0 9px}.opening-date{font-size:.8125rem;margin-top:24px}.enter-button{margin-top:23px;min-height:48px;font-size:.75rem;min-width:225px}}
@media(max-height:550px) and (orientation:landscape){.opening{padding:56px 40px 35px!important}.opening::before{inset:15px}.opening-top{top:25px;font-size:.75rem;letter-spacing:.16em}.opening-bottom{display:none}.opening-content{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto auto auto;gap:0 48px;max-width:740px}.opening-names{grid-column:1;grid-row:1/4;font-size:clamp(3.5rem,8.2vw,4.8rem);letter-spacing:.035em}.opening-names .name-amp{margin:5px 0 9px;font-size:.28em;gap:17px}.opening-names .name-amp::before,.opening-names .name-amp::after{width:43px}.opening-prelude{grid-column:2;grid-row:1;align-self:end;font-size:.75rem;letter-spacing:.08em;margin:0 0 19px}.opening-date{grid-column:2;grid-row:2;align-self:center;margin:0;font-size:.875rem;letter-spacing:0}.opening-date span{margin:0 8px}.enter-button{grid-column:2;grid-row:3;align-self:start;margin:22px auto 0;font-size:.75rem;min-width:220px;min-height:50px;letter-spacing:.07em}.hero{padding-top:43px}.hero-layout{display:grid;grid-template-columns:1fr .8fr;gap:43px}.hero-copy{padding:0}.hero-copy>.eyebrow{font-size:.75rem;letter-spacing:.03em;gap:10px}.hero-names{font-size:8.3vw;margin-top:26px}.hero-names .name-amp{margin:5px 0 8px}.married{font-size:.75rem;letter-spacing:.09em;margin-top:22px}.discover{margin-top:20px;min-height:44px;font-size:.8125rem;gap:10px}.couple-portrait{max-width:320px;padding:9px 9px 0}.couple-portrait figcaption{padding:15px 0}.couple-portrait figcaption span{font-size:.75rem;letter-spacing:0}.couple-portrait figcaption em{font-size:.875rem}.hero-foot{display:flex;margin-top:32px;text-align:left}.hero-foot p+p{margin:0}.couture-art{height:285px}.after-party h2{font-size:3.1rem}.music-toggle{bottom:13px;right:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.curtain-fabric{transform:none}.opening.is-opening{visibility:hidden;opacity:0}}
@media print{.curtain-stage,.opening,.music-toggle,.reading-progress,.discover,.rsvp-form input,.rsvp-form label{display:none!important}.invitation{visibility:visible!important}body{overflow:visible!important;background:white;color:#273821}.js .reveal{opacity:1;transform:none}.shell{padding-left:25px;padding-right:25px}.hero{padding-top:20px}.hero-copy,.couple-portrait,.hero-foot{animation:none!important}.hero-names,.hero-copy>.eyebrow,.married,.hero-foot{color:#273821}.celebration,.after-party{background:white;color:#273821}.after-party::before{display:none}.after-party h2,.after-party h2 em,.dress-heading h2,.signature-names{color:#273821}.rsvp{padding-top:35px;break-inside:avoid}.after-party{break-inside:avoid}}
