:root{--ink:#060606;--ink-soft:#10100f;--ivory:#f4efe4;--gold:#c89a4b;--gold-light:#efd29b;--gold-dark:#6c481f;--line:#dcae5f57;--photo-pool:url(/assets/w-resort-pool.webp);--photo-aerial:url(/assets/conchal-aerial.webp);--photo-beach:url(/assets/conchal-beach.webp);--photo-dining:url(/assets/w-dining.webp)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--ivory);margin:0;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.hero{isolation:isolate;background:#080806;min-height:100svh;position:relative;overflow:hidden}.hero:after{z-index:5;content:"";pointer-events:none;border:1px solid #d9aa5947;position:absolute;inset:18px}.hero-image{z-index:-4;background-image:var(--photo-pool), url(/ao50-hero.svg), radial-gradient(circle at 70% 48%, #9f5920, transparent 28%), linear-gradient(120deg, #050505 35%, #2a1609 100%);background-position:50% 42%,50%,50%,50%;background-size:cover;animation:18s ease-out both hero-drift;position:absolute;inset:0;transform:scale(1.03)}.hero-shade{z-index:-3;background:linear-gradient(90deg,#030303f5 0%,#030303d1 38%,#03030329 70%,#0303039e 100%),linear-gradient(#030303b8 0%,#0000 25% 62%,#030303f0 100%);position:absolute;inset:0}.grain{z-index:4;opacity:.16;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");position:absolute;inset:0}.topbar{z-index:8;justify-content:space-between;align-items:center;width:min(1380px,100% - 96px);margin:0 auto;padding-top:46px;display:flex;position:relative}.brand{color:var(--gold-light);letter-spacing:-.08em;align-items:center;gap:6px;font-family:Didot,Bodoni MT,Georgia,serif;text-decoration:none;display:inline-flex;position:relative}.brand-mark{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;position:relative}.brand-mark svg{filter:drop-shadow(0 2px 6px #c89a4b33);width:100%;height:100%}.brand-fifty{letter-spacing:.08em;margin:0;font-size:15px}.top-actions{align-items:center;gap:26px;display:flex}.invitation-number{color:#f4efe47a;letter-spacing:.25em;text-transform:uppercase;font-size:11px;font-weight:600}.language-button{border:0;border-bottom:1px solid var(--line);color:var(--gold-light);letter-spacing:.18em;text-transform:uppercase;background:0 0;padding:8px 1px;font-size:12px;font-weight:700;transition:color .25s,border-color .25s}.language-button:hover{color:#fff4da;border-color:var(--gold-light)}.hero-content{z-index:6;grid-template-columns:minmax(0,1fr) minmax(370px,460px);align-items:center;gap:clamp(40px,8vw,130px);width:min(1320px,100% - 120px);min-height:calc(100svh - 92px);margin:0 auto;padding:48px 0 78px;display:grid;position:relative}.hero-copy{max-width:690px}.eyebrow{color:var(--gold-light);letter-spacing:.28em;text-transform:uppercase;align-items:center;gap:13px;margin:0;font-size:12px;font-weight:600;display:flex}.eyebrow span{background:var(--gold);width:42px;height:1px}.anniversary-mark{color:#0000;filter:drop-shadow(0 7px 22px #be741e29);letter-spacing:-.105em;background:linear-gradient(112deg,#785026 0%,#f3d7a0 42%,#a87635 78%,#f5dfb3 100%);-webkit-background-clip:text;background-clip:text;align-items:baseline;width:max-content;margin:22px 0 0;font-family:Didot,Bodoni MT,Georgia,serif;line-height:.78;display:flex;position:relative}.anniversary-mark:after{background:linear-gradient(90deg, transparent, var(--gold-light), transparent);content:"";width:235px;height:1px;position:absolute;top:53%;left:-12px;transform:rotate(14deg)}.anniversary-mark span{font-size:clamp(90px,10vw,148px);font-weight:400}.anniversary-mark strong{letter-spacing:-.04em;margin-left:22px;font-size:clamp(31px,3.5vw,52px);font-weight:400}.celebrant{color:#f4efe4a8;letter-spacing:.42em;text-transform:uppercase;margin:28px 0 18px;font-size:12px;font-weight:600}h1{letter-spacing:-.035em;text-wrap:balance;max-width:680px;margin:0;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(46px,5.2vw,76px);font-weight:400;line-height:.98}h1 em{color:var(--gold-light);margin-top:8px;font-weight:400;display:block}.hero-intro{color:#f4efe4a1;max-width:545px;margin:28px 0 0;font-family:Georgia,serif;font-size:17px;line-height:1.8}.hero-buttons{align-items:center;gap:26px;margin-top:34px;display:flex}.gold-button{color:#110d07;letter-spacing:.15em;text-transform:uppercase;background:linear-gradient(110deg,#8e5f25,#d3a55a 48%,#8f5d23);border:1px solid #d5a857;justify-content:space-between;align-items:center;gap:28px;min-width:268px;padding:19px 20px 19px 24px;font-size:12px;font-weight:800;transition:transform .25s,filter .25s;display:inline-flex;box-shadow:0 18px 48px #0000003d}.gold-button:hover{filter:brightness(1.12);transform:translateY(-2px)}.button-arrow{font-size:19px;font-weight:400}.film-button{color:#f4efe4c2;letter-spacing:.13em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:12px;padding:9px 0;font-size:12px;font-weight:700;display:flex}.play-icon{border:1px solid var(--line);width:38px;height:38px;color:var(--gold-light);border-radius:50%;place-items:center;font-size:10px;transition:background .25s,color .25s;display:grid}.film-button:hover .play-icon{background:var(--gold-light);color:#080604}.invitation-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#0b0b09c7,#080807f0);border:1px solid #deb1646b;justify-self:end;width:100%;padding:38px 36px 32px;position:relative;box-shadow:0 28px 90px #00000075,inset 0 0 50px #b674270a}.invitation-card:before{content:"";pointer-events:none;border:1px solid #deb16424;position:absolute;inset:7px}.card-corners:before,.card-corners:after{border-color:var(--gold-light);content:"";width:17px;height:17px;position:absolute}.card-corners:before{border-top:2px solid;border-left:2px solid;top:-1px;left:-1px}.card-corners:after{border-bottom:2px solid;border-right:2px solid;bottom:-1px;right:-1px}.card-kicker,.deadline{color:#efd29bad;letter-spacing:.24em;text-align:center;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.card-primary{flex-direction:column;align-items:center;margin-top:28px;display:flex}.card-primary>span,.dress-code>span{color:#f4efe499;letter-spacing:.24em;text-transform:uppercase;font-size:11px;font-weight:700}.card-primary strong,.dress-code strong{color:var(--gold-light);letter-spacing:.1em;text-transform:uppercase;margin-top:10px;font-family:Didot,Bodoni MT,Georgia,serif;font-size:36px;font-weight:400}.card-primary small,.dress-code small{color:#f4efe4a3;letter-spacing:.18em;text-transform:uppercase;margin-top:7px;font-size:11px}.card-rule{text-align:center;height:25px;margin:20px 0 16px;position:relative}.card-rule:before{background:linear-gradient(90deg, transparent, var(--line), transparent);content:"";height:1px;position:absolute;top:50%;left:0;right:0}.card-rule span{color:var(--gold);background:#0a0a08;padding:0 12px;font-size:10px;position:relative}.event-details{margin:0}.event-details>div{border-bottom:1px solid #d3a65921;grid-template-columns:34px 1fr;align-items:center;gap:14px;padding:14px 0;display:grid}.event-details dt{color:#efd29b66;font-family:Georgia,serif;font-size:13px}.event-details dd{justify-content:space-between;align-items:baseline;gap:12px;margin:0;display:flex}.event-details dd strong{color:#f4efe4eb;font-family:Georgia,serif;font-size:16px;font-weight:400}.event-details dd span{color:#f4efe475;letter-spacing:.08em;text-align:right;text-transform:uppercase;font-size:10px}.dress-code{flex-direction:column;align-items:center;margin:26px 0;display:flex}.dress-code strong{font-size:30px}.card-cta{z-index:1;border:1px solid var(--line);width:100%;color:var(--gold-light);letter-spacing:.16em;text-transform:uppercase;background:0 0;justify-content:space-between;align-items:center;padding:17px 18px;font-size:12px;font-weight:800;transition:background .25s,color .25s;display:flex;position:relative}.card-cta:hover{background:var(--gold-light);color:#0b0804}.deadline{letter-spacing:.16em;margin-top:16px;font-size:10px}.scroll-cue{z-index:8;color:#f4efe46b;letter-spacing:.22em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:13px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.scroll-cue i{background:var(--gold);width:28px;height:1px}.evening-section{background:radial-gradient(circle at 14% 15%,#81511d21,#0000 27%),radial-gradient(circle at 78% 72%,#81511d1a,#0000 25%),#090908;grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(64px,9vw,150px);min-height:850px;padding:130px max(7vw,48px);display:grid;position:relative;overflow:hidden}.evening-section:before{content:"";pointer-events:none;border:1px solid #d3a6591f;position:absolute;inset:28px}.evening-copy{z-index:1;max-width:620px;position:relative}.evening-copy h2,.rsvp-aside h2{letter-spacing:-.045em;text-wrap:balance;margin:28px 0 0;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(52px,6.4vw,94px);font-weight:400;line-height:.98}.evening-copy>p:not(.eyebrow),.rsvp-intro{color:#f4efe499;max-width:540px;margin:32px 0 0;font-family:Georgia,serif;font-size:18px;line-height:1.8}.countdown{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(72px,1fr));max-width:430px;margin-top:52px;padding:22px 0 17px;display:grid}.countdown div{border-right:1px solid #d3a65921;flex-direction:column;padding-left:18px;display:flex}.countdown div:first-child{padding-left:0}.countdown div:nth-child(3){border-right:0}.countdown strong{color:var(--gold-light);font-family:Didot,Bodoni MT,Georgia,serif;font-size:42px;font-weight:400;line-height:1}.countdown span{color:#f4efe47a;letter-spacing:.2em;text-transform:uppercase;margin-top:8px;font-size:10px;font-weight:700}.countdown p{color:#efd29ba8;letter-spacing:.24em;text-transform:uppercase;grid-column:1/-1;margin:20px 0 0;font-size:11px;font-weight:700}.film-poster{z-index:1;aspect-ratio:1.34;color:var(--ivory);text-align:left;background:#0b0a08;border:1px solid #deb1646b;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 40px 120px #00000080}.film-poster:before{z-index:4;content:"";pointer-events:none;border:1px solid #efd29b26;position:absolute;inset:10px}.film-poster-image{background-image:var(--photo-aerial), url(/ao50-hero.svg);filter:saturate(.75)contrast(1.05);background-position:62%;background-size:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .8s;position:absolute;inset:0}.film-poster:hover .film-poster-image{filter:saturate()contrast(1.02);transform:scale(1.045)}.film-poster-shade{background:linear-gradient(90deg,#040403e0,#04040326 72%),linear-gradient(#0000 43%,#040403d4);position:absolute;inset:0}.poster-number{color:#0000;-webkit-text-stroke:1px #efd29b33;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(130px,19vw,290px);line-height:1;position:absolute;top:1%;right:5%}.poster-copy{z-index:3;max-width:430px;position:absolute;bottom:clamp(38px,10%,78px);left:clamp(28px,6%,62px)}.poster-copy p{color:var(--gold-light);letter-spacing:.26em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.poster-copy h3{letter-spacing:-.035em;max-width:380px;margin:16px 0 26px;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(32px,4vw,61px);font-weight:400;line-height:1.03}.poster-copy>span{color:#f4efe4db;letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:13px;font-size:11px;font-weight:700;display:flex}.poster-copy i{border:1px solid var(--gold);width:44px;height:44px;color:var(--gold-light);border-radius:50%;place-items:center;font-size:11px;font-style:normal;display:grid}.film-poster>small{z-index:3;color:#f4efe47a;letter-spacing:.18em;text-transform:uppercase;font-size:10px;position:absolute;bottom:28px;right:28px}.moments-section{background:linear-gradient(#090908,#0b0a08 60%,#070706);padding:120px max(7vw,48px);position:relative}.moments-head{text-align:center;max-width:620px;margin:0 auto 60px}.moments-head .eyebrow{justify-content:center}.moments-head h2{letter-spacing:-.04em;text-wrap:balance;margin:24px 0 0;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(40px,4.6vw,66px);font-weight:400;line-height:1}.moments-intro{color:#f4efe494;margin:22px 0 0;font-family:Georgia,serif;font-size:17px;line-height:1.75}.moments-strip{grid-template-columns:repeat(5,1fr);gap:clamp(14px,1.6vw,24px);max-width:1280px;margin:0 auto;padding:0;list-style:none;display:grid}.moments-strip li{flex-direction:column;align-items:center;display:flex;position:relative}.moments-strip img{aspect-ratio:1;object-fit:cover;filter:saturate(.72)brightness(.82)contrast(1.04);border:1px solid #deb1644d;width:100%;height:auto;transition:filter .5s,transform .5s cubic-bezier(.2,.7,.2,1),border-color .5s;display:block}.moments-strip li:hover img{filter:saturate()brightness()contrast();border-color:#efd29bb3;transform:translateY(-4px)}.moments-strip span{color:#efd29b99;letter-spacing:.24em;text-transform:uppercase;margin-top:14px;font-size:10px;font-weight:700;transition:color .4s}.moments-strip li:hover span{color:var(--gold-light)}.rsvp-section{background-image:linear-gradient(115deg, #060605f5, #0e0c09f5), var(--photo-dining), url(/ao50-hero.svg);background-position:50%;background-size:cover;grid-template-columns:minmax(300px,.85fr) minmax(520px,1.15fr);gap:clamp(60px,10vw,160px);padding:145px max(7vw,48px);display:grid;position:relative}.rsvp-section:after{content:"";background:linear-gradient(#0000,#d3a65926,#0000);width:1px;position:absolute;top:12%;bottom:12%;left:50%}.rsvp-aside{align-self:start;padding-top:30px}.rsvp-aside h2{max-width:570px;font-size:clamp(52px,5.8vw,84px)}.detail-list{border-top:1px solid #d3a65947;max-width:520px;margin-top:60px}.detail-list>p{color:var(--gold-light);letter-spacing:.24em;text-transform:uppercase;margin:20px 0 26px;font-size:11px;font-weight:700}.detail-list>div{border-top:1px solid #d3a6591a;grid-template-columns:118px 1fr;gap:24px;padding:19px 0;display:grid}.detail-list span{color:#f4efe46b;letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:700}.detail-list strong{color:#f4efe4d1;font-family:Georgia,serif;font-size:16px;font-weight:400}.rsvp-panel{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070706d6;border:1px solid #deb16459;padding:clamp(32px,5vw,62px);position:relative;box-shadow:0 38px 100px #0006}.rsvp-panel:before{content:"";pointer-events:none;border:1px solid #deb16417;position:absolute;inset:8px}.rsvp-panel form{z-index:1;position:relative}.field-label,.rsvp-panel legend{color:#efd29bd1;letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:700;display:block}.rsvp-panel input[type=text],.rsvp-panel textarea{width:100%;color:var(--ivory);background:0 0;border:0;border-bottom:1px solid #d3a65947;border-radius:0;outline:none;padding:12px 2px 17px;font-family:Georgia,serif;font-size:17px;transition:border-color .25s}.rsvp-panel input[type=text]:focus,.rsvp-panel textarea:focus{border-color:var(--gold-light)}.rsvp-panel input::placeholder,.rsvp-panel textarea::placeholder{color:#f4efe445}.rsvp-panel textarea{resize:vertical;min-height:82px}.rsvp-panel fieldset{border:0;margin:38px 0 0;padding:0}.choice-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.choice{cursor:pointer;background:#ffffff04;border:1px solid #f4efe41a;grid-template-columns:16px 1fr;align-items:center;gap:12px;min-height:84px;padding:17px;transition:border-color .25s,background .25s,transform .25s;display:grid;position:relative}.choice:hover{border-color:#deb16459;transform:translateY(-1px)}.choice.selected{background:#c89a4b12;border-color:#deb164a6}.choice input{opacity:0;pointer-events:none;position:absolute}.choice-dot{border:1px solid #efd29b70;border-radius:50%;width:13px;height:13px;box-shadow:inset 0 0 0 3px #090907}.choice.selected .choice-dot{background:var(--gold-light)}.choice>span:last-child{flex-direction:column;gap:5px;display:flex}.choice strong{color:#f4efe4e6;font-family:Georgia,serif;font-size:15px;font-weight:400}.choice small{color:#f4efe46b;letter-spacing:.1em;text-transform:uppercase;font-size:11px}.rsvp-panel fieldset+.field-label{margin-top:38px}.seat-counter{align-items:center;gap:14px;display:flex}.seat-step{width:46px;height:46px;color:var(--gold-light);background:#ffffff04;border:1px solid #deb16461;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:24px;line-height:1;transition:border-color .25s,background .25s,transform .25s;display:grid}.seat-step:hover:not(:disabled){background:#c89a4b14;border-color:#deb164b3;transform:translateY(-1px)}.seat-step:disabled{opacity:.3;cursor:not-allowed}.seat-count-value{text-align:center;min-width:40px;color:var(--ivory);font-family:Didot,Bodoni MT,Georgia,serif;font-size:34px;line-height:1}.seat-count-hint{color:#f4efe46b;letter-spacing:.12em;text-transform:uppercase;margin-left:4px;font-size:11px}.submit-button{color:#110d07;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(110deg,#8e5f25,#d3a55a 48%,#8f5d23);border:1px solid #d5a857;justify-content:space-between;align-items:center;width:100%;margin-top:38px;padding:20px 21px 20px 24px;font-size:12px;font-weight:800;transition:filter .25s,transform .25s;display:flex}.submit-button:hover{filter:brightness(1.12);transform:translateY(-2px)}.submit-button i{font-size:19px;font-style:normal;font-weight:400}.form-deadline{color:#f4efe461;letter-spacing:.14em;text-align:center;text-transform:uppercase;margin:16px 0 0;font-size:11px}.form-error{color:#ffb0b0;margin:12px 0 0;font-size:14px}.success-state{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:520px;display:flex;position:relative}.success-mark{border:1px solid var(--gold);width:72px;height:72px;color:var(--gold-light);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:26px;display:grid}.success-state>p{color:var(--gold-light);letter-spacing:.26em;text-transform:uppercase;margin:29px 0 0;font-size:11px;font-weight:700}.success-state h3{margin:15px 0 0;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1}.success-state>span{color:#f4efe499;max-width:470px;margin-top:22px;font-family:Georgia,serif;font-size:17px;line-height:1.7}.success-state>small{color:var(--gold-light);letter-spacing:.12em;text-transform:uppercase;margin-top:14px;font-size:11px}.success-state>div:last-child{gap:12px;margin-top:34px;display:flex}.success-state button{border:1px solid var(--line);color:var(--gold-light);letter-spacing:.15em;text-transform:uppercase;background:0 0;padding:16px 22px;font-size:11px;font-weight:700}.success-state .calendar-button{background:var(--gold-light);color:#0b0804}footer{background:#050504;border-top:1px solid #d3a6592b;grid-template-columns:1fr auto 1fr;align-items:center;padding:42px max(7vw,48px);display:grid}.footer-brand{justify-self:start}footer p{color:#f4efe475;letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}footer>span{color:#efd29b8f;letter-spacing:.16em;justify-self:end;font-family:Georgia,serif;font-size:13px}.film-modal{z-index:100;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#000000eb;place-items:center;padding:54px;animation:.4s both modal-in;display:grid;position:fixed;inset:0}.film-close{z-index:104;width:42px;height:42px;color:var(--gold-light);background:#090908;border:1px solid #efd29b52;border-radius:50%;font-family:Georgia,serif;font-size:25px;font-weight:300;line-height:1;position:fixed;top:25px;right:34px}.film-frame{aspect-ratio:16/9;background:#050504;border:1px solid #deb16473;width:min(1180px,100vw - 100px);position:relative;overflow:hidden;box-shadow:0 35px 120px #000}.film-frame:after{z-index:6;content:"";pointer-events:none;border:1px solid #efd29b24;position:absolute;inset:11px}.film-reel{position:absolute;inset:0}.scene{opacity:0;position:absolute;inset:0}.scene-black{background:radial-gradient(120% 90% at 78% 30%,#0b0906 0%,#050403 60%,#020202 100%);animation:40s linear both scene-fade}.scene-sunset{background-image:var(--photo-beach), url(/ao50-hero.svg);background-position:70%;background-size:cover;animation:40s linear 7.5s both scene-fade,24s ease-out 7.5s both film-drift}.scene-resort{background-image:var(--photo-pool), url(/ao50-hero.svg);filter:brightness(.7)saturate(1.15)hue-rotate(-8deg);background-position:30% 62%;background-repeat:no-repeat;background-size:150%;animation:40s linear 16.5s both scene-fade,26s ease-out 16.5s both film-drift-2}.scene-white{background:linear-gradient(#fff 0%,#f4efe4 100%);animation:40s linear 29.5s both scene-fade}.scene-endblack{background:radial-gradient(120% 90% at 50% 42%,#0a0806 0%,#020202 70%);animation:40s linear 36.4s both scene-fade}.film-vignette{z-index:3;pointer-events:none;background:radial-gradient(circle,#0000 20%,#0009 88%),linear-gradient(90deg,#00000073,#0000 42%);position:absolute;inset:0}.beat{z-index:4;text-align:center;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:6%;display:flex;position:absolute;inset:0}.beat strong,.beat span,.beat em,.beat small,.beat p{text-shadow:0 3px 26px #0000008c;margin:0}.beat-logo{color:var(--gold-light);animation:3s 2.2s both beat}.beat-logo svg{stroke:currentColor;filter:drop-shadow(0 8px 24px #00000080);width:clamp(74px,12vw,128px);height:auto}.beat-fifty{animation:3.2s 5s both beat}.beat-fifty span{color:var(--gold-light);letter-spacing:.34em;text-indent:.34em;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(40px,8vw,108px);font-weight:400}.beat-aq50{flex-direction:row;align-items:baseline;gap:4px;animation:2.6s 11s both beat}.beat-aq50 span{color:var(--ivory);letter-spacing:.04em;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(46px,9vw,128px)}.beat-aq50 strong{color:var(--gold-light);font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(58px,11vw,156px);font-weight:500}.beat-memories p{color:var(--ivory);padding:0 8%;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(24px,4vw,58px);line-height:1.15;position:absolute;left:0;right:0}.beat-memories .mem-a{opacity:0;animation:3.6s 13s both beat}.beat-memories .mem-b{opacity:0;color:var(--gold-light);font-style:italic;animation:3.4s 15.2s both beat}.beat-name{animation:3s 21s both beat}.beat-name span{color:var(--ivory);letter-spacing:.01em;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(34px,6vw,88px)}.beat-date{color:var(--ivory);animation:3s 24s both beat}.beat-date strong{font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(26px,4.6vw,62px);font-weight:400}.beat-date em{color:var(--gold-light);letter-spacing:.3em;font-size:clamp(18px,3vw,38px);font-style:normal}.beat-date span{color:#f4efe4d1;letter-spacing:.22em;text-transform:uppercase;font-size:clamp(15px,2.4vw,26px)}.beat-venue{color:var(--ivory);animation:3s 27s both beat}.beat-venue strong{font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(30px,5.4vw,76px);font-weight:400}.beat-venue span{color:var(--gold-light);letter-spacing:.24em;text-transform:uppercase;font-size:clamp(14px,2.4vw,24px)}.beat-seat{animation:3.7s 30.3s both beat}.beat-seat span{color:var(--gold-dark);letter-spacing:.32em;text-transform:uppercase;font-size:clamp(13px,2.2vw,20px)}.beat-seat strong{color:#1a130a;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(40px,7vw,96px);font-weight:500}.beat-seat small{color:var(--gold-dark);letter-spacing:.04em;font-size:clamp(14px,2.4vw,24px)}.beat-seat strong,.beat-seat span,.beat-seat small{text-shadow:none}.beat-dress{animation:3s 34s both beat}.beat-dress span{color:var(--gold-dark);letter-spacing:.32em;text-transform:uppercase;font-size:clamp(13px,2.2vw,20px)}.beat-dress strong{color:#1a130a;letter-spacing:.12em;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(48px,9vw,120px);font-weight:500}.beat-dress small{color:var(--gold-dark);letter-spacing:.2em;text-transform:uppercase;font-size:clamp(13px,2.2vw,20px)}.beat-dress strong,.beat-dress span,.beat-dress small{text-shadow:none}.beat-endlogo{color:var(--gold-light);gap:18px;animation:3s 37s both beat-hold}.beat-endlogo svg{stroke:currentColor;filter:drop-shadow(0 8px 24px #00000080);width:clamp(58px,9vw,96px);height:auto}.beat-endlogo .end-aq50{color:var(--gold-light);letter-spacing:.22em;text-indent:.22em;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(30px,5vw,60px)}.film-cta{border:1px solid var(--line);color:var(--gold-light);letter-spacing:.18em;text-transform:uppercase;pointer-events:auto;opacity:0;background:#efd29b14;border-radius:999px;margin-top:12px;padding:13px 26px;font-size:12px;transition:background .25s;animation:2s 38.4s both beat-cta}.film-cta:hover{background:#efd29b2e}.film-frame>small{z-index:8;color:#f4efe49e;letter-spacing:.18em;text-transform:uppercase;font-size:10px;animation:40s linear both caption-fade;position:absolute;bottom:27px;left:32px}.film-progress{z-index:8;background:#f4efe433;height:1px;position:absolute;bottom:17px;left:32px;right:32px}.film-progress i{background:var(--gold-light);width:0;height:100%;animation:40s linear forwards progress;display:block}.reveal{opacity:0;animation:.9s cubic-bezier(.2,.7,.2,1) forwards reveal-up}.reveal-1{animation-delay:.15s}.reveal-2{animation-delay:.28s}.reveal-3{animation-delay:.42s}.reveal-4{animation-delay:.58s}@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-drift{0%{transform:scale(1.1)}to{transform:scale(1.03)}}@keyframes modal-in{0%{opacity:0}to{opacity:1}}@keyframes film-drift{0%{filter:brightness(.6);transform:scale(1.12)}to{filter:brightness(.9);transform:scale(1)}}@keyframes film-drift-2{0%{transform:scale(1.14)translate(2%)}to{transform:scale(1)translate(-2%)}}@keyframes scene-fade{0%{opacity:0}1.6%{opacity:1}18%{opacity:1}21%{opacity:0}to{opacity:0}}@keyframes beat{0%{opacity:0;transform:translateY(16px)}16%{opacity:1;transform:translateY(0)}74%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes beat-hold{0%{opacity:0;transform:translateY(14px)}40%,to{opacity:1;transform:translateY(0)}}@keyframes beat-cta{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes caption-fade{0%{opacity:0}4%{opacity:1}92%{opacity:1}to{opacity:0}}@keyframes progress{to{width:100%}}@media (max-width:1020px){.hero-content{grid-template-columns:1fr 380px;gap:44px;width:min(980px,100% - 72px)}.anniversary-mark span{font-size:104px}.anniversary-mark:after{width:190px}.invitation-card{padding:32px 28px 28px}.evening-section{grid-template-columns:.9fr 1.1fr;gap:55px;padding-inline:54px}.rsvp-section{grid-template-columns:.8fr 1.2fr;gap:56px;padding-inline:54px}.rsvp-section:after{display:none}.choice-grid{grid-template-columns:1fr}}@media (max-width:780px){.hero{min-height:auto}.hero:after{inset:10px}.hero-image{background-position:64%}.hero-shade{background:linear-gradient(#030303b8,#030303b8 42%,#030303f7 78%)}.topbar{width:calc(100% - 50px);padding-top:29px}.invitation-number{display:none}.hero-content{grid-template-columns:1fr;width:calc(100% - 56px);min-height:auto;padding:92px 0 110px}.hero-copy{max-width:600px}.anniversary-mark span{font-size:clamp(90px,28vw,124px)}.celebrant{margin-top:23px}h1{font-size:clamp(46px,12vw,66px)}.invitation-card{justify-self:center;max-width:480px;margin-top:30px}.scroll-cue{display:none}.evening-section,.rsvp-section{grid-template-columns:1fr;gap:72px;min-height:auto;padding:100px 34px}.moments-section{padding:90px 34px}.moments-strip{grid-template-columns:repeat(3,1fr)}.evening-section:before{inset:11px}.evening-copy{max-width:650px}.film-poster{justify-self:center;width:100%;max-width:720px}.rsvp-aside{padding-top:0}.rsvp-panel{justify-self:center;width:100%;max-width:700px}.choice-grid{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr auto;gap:22px;padding:34px}footer p{display:none}.film-modal{padding:24px}.film-frame{width:calc(100vw - 48px)}}@media (max-width:520px){.top-actions{gap:12px}.hero-content{width:calc(100% - 44px);padding-top:72px}.eyebrow{letter-spacing:.2em;font-size:11px}.celebrant{letter-spacing:.3em}.anniversary-mark{margin-top:26px}.anniversary-mark strong{margin-left:13px}.anniversary-mark:after{width:170px}.hero-intro{font-size:16px;line-height:1.7}.hero-buttons{flex-direction:column;align-items:stretch;gap:13px}.gold-button{width:100%}.film-button{justify-content:center}.invitation-card{padding:30px 22px 26px}.card-primary strong{font-size:32px}.dress-code strong{font-size:27px}.card-kicker{letter-spacing:.18em}.deadline{letter-spacing:.1em;line-height:1.7}.card-cta{letter-spacing:.1em}.event-details dd{flex-direction:column;gap:4px}.event-details dd span{text-align:left}.evening-section,.rsvp-section{padding:86px 22px}.moments-section{padding:76px 22px}.moments-strip{grid-template-columns:repeat(2,1fr);gap:12px}.moments-head{margin-bottom:42px}.moments-head h2{font-size:38px}.evening-section:before{display:none}.evening-copy h2,.rsvp-aside h2{font-size:48px}.countdown{margin-top:38px}.countdown strong{font-size:31px}.film-poster{aspect-ratio:.82}.film-poster-image{background-position:68%}.poster-copy{bottom:45px;left:26px;right:26px}.poster-copy h3{font-size:42px}.film-poster>small{bottom:22px;left:26px;right:auto}.rsvp-panel{padding:36px 23px}.choice-grid{grid-template-columns:1fr}.detail-list>div{grid-template-columns:82px 1fr;gap:17px}.success-state>div:last-child{flex-direction:column;align-items:stretch}footer{padding:30px 23px}footer>span{font-size:9px}.film-modal{padding:0}.film-frame{aspect-ratio:9/14;border-inline:0;width:100vw}.scene-sunset{background-position:64%}.film-close{top:17px;right:17px}.film-frame>small{bottom:24px;left:20px}.film-progress{left:20px;right:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
