@font-face{font-family:InvitationArmenian;src:url('assets/NotoSerifArmenian.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--black:#050504;--gold:#d1ad64;--pale:#f8e5b3;--text:#e9e5da;--muted:#aaa797;--line:#b6954e44}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px;scrollbar-width:none}body{margin:0;background:var(--black);color:var(--text);font:14px/1.9 InvitationArmenian,Georgia,serif;scrollbar-width:none}body::-webkit-scrollbar{display:none}.cover-active{overflow:hidden}[hidden]{display:none!important}button,input,textarea{font:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #f8d98c;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(26px,4.5vw,40px);line-height:1.8;color:#d7b76f;text-wrap:balance;margin-bottom:18px}p{font-size:13px}.eyebrow{font-size:9px;line-height:2;letter-spacing:1.5px;color:#b99956;margin-bottom:16px}.gold-dust{position:fixed;inset:0;width:100%;height:100%;z-index:35;pointer-events:none;user-select:none}
/* Black-gold entrance: a real paper envelope with independent year, band and seal/bow. */
.entry-cover{position:fixed;inset:0;z-index:30;background:#030302;overflow:auto;transition:opacity 1.1s ease}
.entry-inner{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 18px 60px;gap:28px}
.entry-greeting{font-size:clamp(28px,7.5vw,42px);font-style:italic;line-height:1.8;text-align:center;text-wrap:balance;color:#f1e8ae;max-width:530px;margin:0;text-shadow:0 0 7px #ffdb6977,0 0 27px #caa22866;animation:greeting-glow 4s ease-in-out infinite alternate}
.entry-envelope{display:block;position:relative;isolation:isolate;perspective:1300px;width:min(88vw,420px);aspect-ratio:1.62;background:none;border:0;padding:0;filter:drop-shadow(0 10px 15px #0008)}
.paper{position:absolute;inset:0;background-color:#f2eddd;background-image:linear-gradient(#fff7, #fff7),url('assets/white-paper.png');background-size:100% 100%,420px 420px;background-repeat:no-repeat,repeat}
.envelope-back{z-index:0;border:1px solid #c6b995;border-radius:2px;transition:opacity 1.8s ease 1s}
.envelope-left{z-index:1;clip-path:polygon(0 0,55% 67%,0 100%);transform-origin:left;backface-visibility:hidden;transition:transform 2.1s ease .85s,opacity 1.5s ease 1.3s;background-image:linear-gradient(130deg,#fff8,#d9cda844),url('assets/white-paper.png')}
.envelope-right{z-index:1;clip-path:polygon(100% 0,45% 67%,100% 100%);transform-origin:right;backface-visibility:hidden;transition:transform 2.1s ease .85s,opacity 1.5s ease 1.3s;background-image:linear-gradient(230deg,#fff8,#d9cda844),url('assets/white-paper.png')}
.envelope-front{z-index:2;clip-path:polygon(0 100%,50% 28%,100% 100%);transform-origin:bottom;backface-visibility:hidden;transition:transform 2.1s ease .95s,opacity 1.5s ease 1.4s}
.envelope-shadow{position:absolute;inset:0;z-index:3;transform-origin:top;pointer-events:none;transition:transform 2.4s cubic-bezier(.22,.61,.36,1) .6s,opacity 1.5s ease 1.3s}
.envelope-shadow svg{width:100%;height:100%;fill:#74634033;filter:blur(3px);transform:translateY(3px)}
.envelope-flap{z-index:4;clip-path:polygon(0 0,100% 0,50% 68%);transform-origin:top;backface-visibility:hidden;transition:transform 2.4s cubic-bezier(.22,.61,.36,1) .6s,opacity 1.5s ease 1.3s;background-image:linear-gradient(170deg,#fffc,#ebdec366),url('assets/white-paper.png')}
.entry-year{position:absolute;z-index:5;top:3%;left:0;right:0;text-align:center;font:italic clamp(72px,21vw,118px)/1.1 Georgia,serif;letter-spacing:-3px;color:#d4b05e;background:linear-gradient(120deg,#7f5722,#f3df9f 20%,#b58a3d 34%,#fff1be 55%,#a7782f 77%,#e5c47a);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:.6px #a77c31;filter:drop-shadow(0 2px 1px #8a6b3966);transition:opacity .6s ease,transform 1s ease}
.envelope-ribbon{position:absolute;z-index:6;left:0;right:0;top:61%;height:8%;background:linear-gradient(0deg,#a77a22,#e3bf5d 20%,#fff1b3 48%,#c89c3e 78%,#ebd08a);border-block:1px solid #b89440;box-shadow:0 2px 3px #71562122;transition:transform 1.5s ease .2s,opacity 1s ease .3s}
.envelope-bow{position:absolute;z-index:7;left:25%;top:47%;width:50%;height:65%;filter:drop-shadow(0 3px 2px #6e501b33);transition:opacity .8s ease,transform 1.1s ease;pointer-events:none}.envelope-bow img{display:block;width:100%;height:100%;object-fit:contain}
.tap-caption{font-size:12px;letter-spacing:1px;color:#e3dfd4;line-height:1.9;margin:0;text-align:center;transition:opacity .5s ease}
.opening .entry-year{opacity:0;transform:translateY(-4px)}.opening .envelope-bow{opacity:0;transform:translateY(12px) rotate(6deg)}.opening .envelope-ribbon{opacity:0;transform:translateX(-110%)}.opening .envelope-flap,.opening .envelope-shadow{opacity:0;transform:rotateX(165deg)}.opening .envelope-left{opacity:0;transform:rotateY(-110deg)}.opening .envelope-right{opacity:0;transform:rotateY(110deg)}.opening .envelope-front{opacity:0;transform:rotateX(-120deg)}.opening .envelope-back,.opening .tap-caption,.opening .entry-greeting{opacity:0}.entry-cover.leaving{opacity:0;pointer-events:none}
@keyframes greeting-glow{from{text-shadow:0 0 7px #ffdb6966,0 0 25px #caa22844}to{text-shadow:0 0 10px #fff0ad99,0 0 32px #caa22888}}
/* The page follows the black/gold reference without painting the screenshot as a background. */
#invitation{position:relative;z-index:2;overflow:hidden;background:radial-gradient(ellipse at 80% 5%,#85631c0d,transparent 35%),#050504}
.site-header{position:absolute;top:0;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 23px}
.brand{display:flex;align-items:center;gap:10px;max-width:240px;color:#e6c57a;font-size:10px;line-height:1.5}.brand svg{width:31px;height:35px;fill:none;stroke:#d4b267;stroke-width:1.2;flex-shrink:0}.brand span{max-width:150px;overflow-wrap:anywhere}
.nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:9px;border:1px solid #af8d4755;background:#080705aa;border-radius:4px}.nav-toggle>span{display:block;width:19px;height:1px;background:#e7c47b}
#site-nav{position:absolute;top:80px;right:22px;display:flex;flex-direction:column;align-items:stretch;min-width:190px;background:#0d0c08f5;border:1px solid #b6954e55;border-radius:5px;padding:12px 16px;box-shadow:0 10px 30px #0008}#site-nav a{font-size:11px;line-height:2.1;padding:8px 4px;color:#d9d2c0}#site-nav a:hover{color:#f3d48b}
.hero{position:relative;padding:125px 23px 0;isolation:isolate;overflow:hidden}.hero-grid{max-width:1120px;margin:0 auto}.hero-copy{max-width:560px;margin:0 auto;text-align:center}.hero .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:12px}
h1{font-size:clamp(42px,11vw,74px);line-height:1.45;margin:0 auto 20px;text-shadow:0 2px 12px #80612122}h1>span,h1>em{display:block;color:#d8b974;background:linear-gradient(110deg,#b58430,#f3dba0 35%,#b68b3d 60%,#f0dca5);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-style:normal;font-weight:400}h1>em{font-style:italic;font-size:.9em;line-height:1.6}
.hero-intro{font-size:12px;line-height:2;color:#e2dfd4;margin-bottom:28px}.event-facts{list-style:none;display:flex;flex-direction:column;gap:12px;text-align:left;max-width:330px;margin:0 auto 25px;padding:0}.event-facts li{display:flex;align-items:center;gap:12px;min-width:0;font-size:12px;color:#d8d5ca;line-height:1.8}.event-facts svg{width:22px;height:22px;fill:none;stroke:#d5b46a;stroke-width:1.3;flex-shrink:0}.event-facts span{overflow-wrap:anywhere}
.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-width:390px;margin:0 auto 22px}.countdown>div{padding:13px 3px 10px;min-width:0;border:1px solid #b6954e66;border-radius:7px;background:linear-gradient(130deg,#16140e88,#090907aa);box-shadow:inset 0 1px #ecd39411}.countdown strong{display:block;font:29px/1.25 Georgia,serif;font-weight:400;font-variant-numeric:tabular-nums;color:#e4c27b}.countdown span{display:block;font-size:9px;line-height:1.8;color:#a8a18c;margin-top:3px}#countdown-message{font-size:13px;line-height:2;color:#d9b974;margin:20px auto}
.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:47px;max-width:100%;padding:12px 23px;border:1px solid #e7c77e;border-radius:40px;background:linear-gradient(110deg,#c49b4d,#f1d797 30%,#d6ad60 65%,#edce8b);color:#3d2d11;font-size:11px;font-weight:500;line-height:1.9;box-shadow:inset 0 1px #fff6cf66,0 4px 15px #a07a1e11;transition:transform .2s,filter .2s}.gold-button>span{font-family:Arial,sans-serif}.gold-button:hover{transform:translateY(-2px);filter:brightness(1.08)}.gold-button:disabled{opacity:.6;cursor:wait}.hero-cta{width:min(100%,365px)}
.hero-picture{position:relative;margin:20px -23px 0}.hero-picture img{display:block;width:100%;height:auto;max-width:850px;margin:0 auto;mask-image:linear-gradient(180deg,transparent,#000 14%,#000 88%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 88%,transparent)}.edge-ribbon{position:absolute;z-index:-1;right:-38px;top:175px;width:82px;height:390px;object-fit:contain;opacity:.9;pointer-events:none}
.section{position:relative;text-align:center;padding:65px 24px;isolation:isolate}.section::before{content:'';position:absolute;top:0;left:calc(50% - 60px);width:120px;height:1px;background:linear-gradient(90deg,transparent,#c5a15b66,transparent)}.section>div,.section>p,.section>h2{max-width:900px;margin-left:auto;margin-right:auto}.fine-rule{display:block;width:65px;height:1px;background:linear-gradient(90deg,transparent,#bfa05f,transparent);margin:20px auto 25px}.prose{max-width:670px;margin:0 auto;color:#c8c6b9;font-size:13px;line-height:2.5}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:650px!important;margin:38px auto 0;gap:0}.features>div{padding:4px 10px;border-right:1px solid #b5964b44}.features>div:last-child{border-right:0}.features svg{display:block;fill:none;stroke:#c8a555;stroke-width:1.2;width:36px;height:39px;margin:0 auto 16px}.features h3{font-size:11px;line-height:2;color:#e0d9c6;margin-bottom:7px}.features p{font-size:8px;line-height:1.9;color:#a6a08c;margin:0;text-wrap:balance}
.program-section{padding-top:60px}.program{list-style:none;max-width:550px;margin:35px auto 0;padding:0;text-align:left}.program li{position:relative;display:grid;grid-template-columns:66px minmax(0,1fr);gap:26px;padding-bottom:30px}.program li::before{content:'';position:absolute;left:78px;top:13px;bottom:-13px;width:1px;background:linear-gradient(#d2ae64aa,#d2ae6455)}.program li:last-child::before{display:none}.program li::after{content:'';position:absolute;left:75px;top:11px;width:7px;height:7px;border:1px solid #d7b46b;border-radius:50%;background:#11100a}.program li:first-child::after{background:#efd090;box-shadow:0 0 7px #d5ad5844}.program time{font:23px/1.6 Georgia,serif;color:#d1ad62}.program h3{font-size:14px;color:#ddd8c8;line-height:1.9;margin:0 0 7px}.program p{font-size:11px;line-height:1.9;color:#96917e;margin:0}
.venue-section{background:radial-gradient(ellipse at 100% 70%,#b1842920,transparent 60%)}.venue-section h3{font-size:28px;line-height:1.8;color:#e2c37d;margin-bottom:12px}.venue-section p:not(.eyebrow){font-size:12px;color:#aaa48f;line-height:2}.venue-photo{max-width:950px;margin:27px auto;overflow:hidden;border-radius:8px;border:1px solid #a07b3d44}.venue-photo img{display:block;width:100%;max-height:450px;object-fit:cover}.venue-section .gold-button{margin-top:20px}
.rsvp-intro{font-size:13px;line-height:2;color:#bdb6a0;margin-bottom:28px}.rsvp-section form{width:100%;max-width:480px;margin:0 auto;text-align:left}.preview-note{font-size:10px;line-height:1.9;color:#a99b79;margin-bottom:23px}.rsvp-section label,.rsvp-section legend{display:block;font-size:12px;line-height:1.8;color:#cfc6ad;margin-bottom:9px}.rsvp-section input:not([type=radio]),.rsvp-section textarea{display:block;width:100%;min-height:47px;border:1px solid #b6954e55;border-radius:4px;background:#15120a88;color:#f1e7cb;font-size:13px;line-height:1.8;padding:12px 13px;margin:0 0 23px}.rsvp-section textarea{resize:vertical}.rsvp-section input::placeholder,.rsvp-section textarea::placeholder{font-size:11px;color:#877e65}.rsvp-section fieldset{border:0;padding:0;min-width:0;margin:0 0 24px}.attendance-options{display:grid;gap:10px}.rsvp-section .attendance-options label{display:flex;align-items:center;gap:9px;margin:0;padding:12px 11px;border:1px solid #b6954e44;border-radius:4px;font-size:11px}.attendance-options input{width:15px;height:15px;flex-shrink:0;margin:0;accent-color:#d1ad64}.attendance-options label:has(input:checked){background:#b6954e18;border-color:#c4a15f99}.optional{font-size:10px;color:#8c8268}#submit-rsvp{width:100%}#form-status{font-size:12px;line-height:1.9;margin:16px 0 0;color:#dfc38b}#form-status.error{color:#eeb6a3}.thank-section{padding-bottom:75px}.thank-section h2{font-style:italic;font-size:clamp(25px,4.8vw,39px)}.footer-note{font-size:11px;color:#8f8772;line-height:2}
.js-reveal .reveal{opacity:0;transform:translate3d(0,26px,0);transition:opacity .85s ease,transform 1.05s cubic-bezier(.22,.61,.36,1);transition-delay:var(--delay,0ms)}.js-reveal .reveal.is-visible,.js-reveal .reveal:focus-within{opacity:1;transform:translate3d(0,0,0)}.noscript{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:30px;background:#050504;color:#ecd59c}
@media(min-width:768px){.site-header{padding:30px 6%}.brand{font-size:12px;max-width:270px}.brand svg{width:36px;height:40px}.nav-toggle{display:none}#site-nav{position:static;flex-direction:row;align-items:center;gap:25px;min-width:0;padding:0;border:0;background:none;box-shadow:none}#site-nav a{font-size:11px;padding:10px 0}.hero{padding:150px 55px 0}.hero .eyebrow{font-size:10px}.hero-intro{font-size:14px}.event-facts li{font-size:14px}.countdown strong{font-size:34px}.countdown span{font-size:10px}.section{padding:85px 55px}.prose{font-size:15px}.features{margin-top:45px}.features h3{font-size:15px}.features p{font-size:10px}.features svg{width:43px;height:46px}.program time{font-size:27px}.program h3{font-size:17px}.program p{font-size:12px}.edge-ribbon{right:-30px;top:200px;width:130px;height:520px}.attendance-options{grid-template-columns:1fr 1fr}.entry-inner{gap:35px}.tap-caption{font-size:14px}.entry-year{font-size:118px}}
@media(min-width:1100px){.hero-grid{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:0}.hero-copy{text-align:left;margin-left:0;position:relative;z-index:2;width:100%}.hero .eyebrow{text-align:left}.event-facts{margin-left:0;max-width:400px}.countdown{margin-left:0}.hero-cta{margin-left:0}.hero-picture{margin:0 -90px 0 -35px}.hero-picture img{max-width:none;width:100%}.hero{padding-top:145px;min-height:800px;display:flex;align-items:center}.hero-grid{width:100%;margin-top:20px}.edge-ribbon{right:0;top:80px;height:440px}.hero h1{font-size:72px}.hero h1>em{font-size:.86em}}
@media(max-height:600px) and (min-width:700px){.entry-inner{padding:50px 20px 30px;gap:15px}.entry-greeting{font-size:30px}.entry-envelope{width:330px}.entry-year{font-size:92px}.tap-caption{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-reveal .reveal{opacity:1;transform:none}}

.button-arrow{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;flex-shrink:0}
.entry-inner{animation:entry-arrival 1.1s cubic-bezier(.22,.61,.36,1) both}
@keyframes entry-arrival{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.entry-inner{animation:none}}

/* Full-scene hero: all typography and controls overlay the festive photograph. */
.hero{min-height:100svh;display:flex;align-items:center;padding:115px 23px 135px;background:#030302}
.hero-background{position:absolute;inset:0;z-index:-2;display:block;pointer-events:none}
.hero-background img{display:block;width:100%;height:100%;object-fit:cover;object-position:left center}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#00000022,#0000000d 45%,#00000018);pointer-events:none}
.hero-grid{display:block;width:100%;max-width:720px;margin:0 auto}
.hero-copy{position:relative;z-index:1;width:100%;max-width:520px;margin:0 auto;text-align:center}
.hero .eyebrow{text-align:center}
.hero h1{font-size:clamp(42px,9.5vw,70px);margin-bottom:17px;text-align:center}
.hero h1>em{font-size:.9em}
.hero-intro{margin-bottom:24px;text-shadow:0 1px 8px #000}
.event-facts{max-width:340px;margin:0 auto 22px;padding:12px 16px;border:1px solid #b9964a44;border-radius:8px;background:#070704aa;box-shadow:0 6px 25px #0003;gap:9px}
.countdown{max-width:410px;margin:0 auto 22px}
.countdown>div{background:linear-gradient(130deg,#16140ed9,#090907e6)}
.hero-cta{margin:0 auto}
.site-header{background:linear-gradient(#03030266,transparent)}
@media(min-width:768px){.hero{padding:125px 55px 145px}.hero-copy{max-width:590px}.event-facts{max-width:370px;padding:15px 20px}.hero-cta{width:min(100%,390px)}}
@media(min-width:1100px){.hero{min-height:100svh;padding-top:130px}.hero-grid{display:block;max-width:760px;margin:0 auto}.hero-copy{margin:0 auto;text-align:center}.hero .eyebrow{text-align:center}.hero h1{font-size:70px}.event-facts,.countdown,.hero-cta{margin-left:auto;margin-right:auto}.hero-background img{object-position:left center}}

/* An immersive lower-page interlude, independent of the existing hero. */
.celebration-scene{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:1440px;margin:0 auto;min-height:650px;aspect-ratio:2/3;background:#050504}
.celebration-art{display:block;position:absolute;inset:0;z-index:-2}.celebration-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.celebration-scene::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#050504 0%,#05050422 15%,transparent 37%,transparent 75%,#050504 100%)}
.celebration-caption{position:relative;text-align:center;padding:95px 26px 0;width:min(100%,650px);margin:auto;text-shadow:0 2px 18px #000}
.celebration-caption h2{font-size:clamp(26px,5vw,46px);line-height:1.9;color:#f0d39b;text-wrap:balance}.celebration-caption>p:last-child{color:#e5c387;font-size:15px;letter-spacing:3px}.celebration-caption .fine-rule{width:100px}
@media(min-width:768px){.celebration-scene{aspect-ratio:4/3;min-height:800px}.celebration-art img{object-position:center 60%}.celebration-caption{padding-top:100px}}

/* Editorial dress-code strip with four matching fashion cards. */
.dresscode-section{max-width:1250px;margin:auto;border-block:1px solid #ae843c55;background:linear-gradient(110deg,#0d0b07,#050504);padding-block:40px}.dresscode-section::before{display:none}.dresscode-copy{text-align:left}.dresscode-copy .eyebrow::before{content:'';display:inline-block;width:24px;height:1px;vertical-align:middle;background:#c9a35d;margin-right:10px}.dresscode-copy .eyebrow{margin-bottom:5px}.dresscode-copy h2{font-family:Georgia,serif;font-size:38px;line-height:1.2;margin-bottom:14px}.dresscode-copy p:not(.eyebrow){font-size:12px;line-height:2;color:#d0cabd;max-width:390px}.dresscode-copy .dresscode-palette{color:#a89268!important;font-size:10px!important}.dresscode-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;margin-top:25px}.dresscode-gallery figure{margin:0;min-width:0}.dresscode-photo{width:100%;aspect-ratio:3/4;border:1px solid #a7834566;border-radius:5px;background-color:#070705;background-image:url('assets/black-tie-collection.png');background-size:400% 100%;background-repeat:no-repeat}.look-tux{background-position:0% center}.look-gown{background-position:33.333% center}.look-shoe{background-position:66.666% center}.look-clutch{background-position:100% center}.dresscode-gallery figcaption{padding-top:9px;font-size:10px;line-height:1.8;text-align:center}.dresscode-gallery strong{display:block;color:#dfbd76;font-weight:400}.dresscode-gallery figcaption span{display:block;color:#a7a194;font-size:9px}
.venue-section{max-width:1250px;margin:auto;text-align:left;overflow:hidden;background:radial-gradient(ellipse at right,#9b74201f,transparent 65%)}.venue-section>div{margin-left:0}.venue-section h2{font-size:19px;margin-bottom:12px}.venue-section h3{font-size:clamp(30px,5vw,45px)}.venue-section .venue-photo{max-width:none;margin:25px -24px 0;border:0;border-radius:0;clip-path:polygon(0 12%,100% 0,100% 88%,0 100%)}.venue-photo img{min-height:230px;max-height:430px}.venue-section .gold-button{background:#171208;border-color:#a58447;color:#e9c980;box-shadow:0 4px 25px #0008}
@media(min-width:768px){.dresscode-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.dresscode-photo{aspect-ratio:3/4}.venue-section .venue-photo{margin-inline:-55px}}
@media(min-width:1100px){.dresscode-section{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:center;gap:35px;padding:35px}.dresscode-copy{width:100%}.dresscode-gallery{margin-top:0}.dresscode-gallery figcaption{font-size:11px}.dresscode-gallery figcaption span{font-size:10px}}

/* Compact, manually controlled memories strip. */
.moments-section{max-width:1250px;margin:0 auto;padding:27px 16px 30px;border-block:1px solid #b18a4244;background:linear-gradient(180deg,#0d0b07,#050504)}.moments-heading{padding-left:31px;margin-bottom:12px}.moments-heading h2{font-size:17px;line-height:1.8;margin:0 0 3px;color:#e3bf76}.moments-heading p{font-size:9px;line-height:1.8;color:#9d9179;margin:0}.moments-carousel{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:8px}.moments-track{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px}.moments-track::-webkit-scrollbar{display:none}.moments-track:focus-visible{outline:1px solid #e4bf77;outline-offset:2px}.moments-track figure{margin:0;flex:0 0 160px;scroll-snap-align:start;overflow:hidden;border:1px solid #b18b4a66;border-radius:5px;background:#100d07}.moment-image{width:100%;aspect-ratio:1/1.05;background-image:url('assets/moments-collection.png');background-size:500% 100%;background-repeat:no-repeat}.moment-table{background-position:0% center}.moment-toast{background-position:25% center}.moment-tree{background-position:50% center}.moment-hall{background-position:75% center}.moment-dinner{background-position:100% center}.moments-arrow{display:grid;place-items:center;width:24px;height:30px;padding:4px;border:1px solid #af8b4d88;border-radius:50%;background:#080704;color:#e3c17e}.moments-arrow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}.moments-arrow:hover{background:#b18b4a22}.moments-arrow:disabled{opacity:.3;cursor:default}
@media(min-width:768px){.moments-section{padding:28px 24px}.moments-track figure{flex-basis:230px}.moments-heading{padding-left:34px}.moments-heading h2{font-size:19px}.moments-carousel{gap:10px}}

/* Photo-led venue with a compact overlay location card. */
.venue-banner{position:relative;isolation:isolate;max-width:1250px;min-height:430px;margin:25px auto 45px;padding:36px 20px 22px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;overflow:hidden;background:#0c0905}.venue-banner-art{position:absolute;inset:0;z-index:-2}.venue-banner-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.venue-banner::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#050504c9,transparent 27%,#0001 55%,#050504a8)}.venue-banner .venue-heading{position:absolute;top:22px;left:25px;font-size:14px;color:#efd49f;margin:0;text-shadow:0 2px 8px #000}.venue-location-card{display:flex;gap:15px;align-items:flex-start;width:min(100%,440px);padding:20px 22px;border:1px solid #e6d0a93d;border-radius:14px;background:#29251fe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 35px #0005}.venue-pin{width:29px;height:35px;flex-shrink:0;fill:#f2eadc;stroke:#f2eadc;stroke-width:.5;margin-top:2px}.venue-pin circle{fill:#494238;stroke:none}.venue-location-copy{min-width:0}.venue-banner h3{font-size:20px;color:#fff4e2;line-height:1.6;margin:0 0 5px}.venue-banner #venue-address{font-size:11px;line-height:1.9;color:#e1d7c5;margin:0 0 10px;overflow-wrap:anywhere}.venue-banner .gold-button{margin-top:9px;min-height:38px;padding:8px 15px;background:#0c0a07c9;color:#f0dfbd;border-color:#b9a17c55;font-size:10px;gap:15px}.venue-art-note{font-size:8px;color:#e4d6bdab;margin:9px 0 0;text-shadow:0 1px 5px #000;line-height:1.6}
@media(min-width:768px){.venue-banner{min-height:580px;padding-bottom:32px;border-radius:6px}.venue-banner .venue-heading{top:30px;left:40px;font-size:17px}.venue-location-card{padding:23px 28px;width:460px}.venue-banner h3{font-size:24px}.venue-banner #venue-address{font-size:12px}}

/* Dress code retains only the two outfit cards. */
.dresscode-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:580px;width:100%;margin-inline:auto}
@media(min-width:1100px){.dresscode-section{grid-template-columns:280px minmax(0,580px);justify-content:center}.dresscode-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Persistent icon-only audio control, independent of entry/scroll animations. */
.invitation-music-toggle{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:80;display:grid;place-items:center;width:46px;height:46px;padding:11px;border:1px solid #e5c47d88;border-radius:50%;background:#171207;color:#e5c47d;box-shadow:0 4px 18px #0003;cursor:pointer}.invitation-music-toggle svg{grid-area:1/1;width:22px;height:22px}.music-play-icon{fill:currentColor;stroke:none}.music-pause-icon{display:none;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}.invitation-music-toggle[aria-pressed="true"] .music-play-icon{display:none}.invitation-music-toggle[aria-pressed="true"] .music-pause-icon{display:block}.invitation-music-toggle:disabled{opacity:.45;cursor:default}.invitation-music-toggle:focus-visible{outline:2px solid #e5c47d;outline-offset:4px}.audio-status-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
