:root{
 --bg:#090b10; --bg2:#101219; --bg3:#14151b;
 --gold:#d5b67d; --gold-bright:#f1d6a0; --gold-muted:#a58a5f;
 --cream:#f2ede4; --ivory:#e5dacf; --muted:#9e9b9a;
 --line:rgba(213,182,125,.24); --line-quiet:rgba(213,182,125,.12);
 --serif:'Cormorant Garamond',Georgia,serif; --sans:'Jost',Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;min-width:320px;background:var(--bg);color:var(--cream);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}
::selection{background:rgba(213,182,125,.3);color:var(--cream)}
.skip-link{position:fixed;z-index:100;top:-100px;left:18px;color:#111;background:var(--gold-bright);padding:10px 16px}.skip-link:focus{top:10px}
.page-grain{position:fixed;z-index:50;inset:0;pointer-events:none;opacity:.16;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 190 190' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.27' filter='url(%23n)'/%3E%3C/svg%3E")}
.progress-line{position:fixed;top:0;left:0;width:0;height:2px;z-index:100;background:linear-gradient(90deg,var(--gold-muted),var(--gold-bright));transition:width .08s linear}
.site-header{position:absolute;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;height:100px;padding:0 clamp(22px,5vw,86px);border-bottom:1px solid rgba(213,182,125,.1)}
.brand{display:flex;align-items:center;gap:18px;color:var(--gold-bright)}
.brand-crest{font-family:var(--serif);font-size:30px;line-height:1;white-space:nowrap;font-weight:500;letter-spacing:-2px}.brand-amp{font-size:.62em;font-style:italic;margin:0 3px;color:var(--gold)}
.brand-rule{height:29px;width:1px;background:var(--line)}
.brand-date{font-family:var(--sans);font-size:11px;letter-spacing:.19em;color:var(--cream);white-space:nowrap}
.desktop-nav{display:flex;align-items:center;gap:clamp(22px,3vw,48px);padding-left:68px}
.desktop-nav a{font-size:10px;letter-spacing:.24em;font-weight:500;text-transform:uppercase;color:#c7c2bc;transition:color .2s}.desktop-nav a:hover{color:var(--gold-bright)}
.header-cta{border:1px solid var(--line);padding:14px 20px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;transition:background .25s,color .25s}.header-cta:hover{background:var(--gold);color:var(--bg)}.header-cta span{margin-left:14px;color:var(--gold)}.header-cta:hover span{color:var(--bg)}
.hero{min-height:max(800px,100svh);position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;padding:135px 28px 110px;background:radial-gradient(ellipse at 50% 46%,#1c1c20 0%,#111218 39%,#090b10 72%)}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(1,2,5,.43),transparent 18%,transparent 82%,rgba(1,2,5,.43)),linear-gradient(180deg,rgba(2,3,5,.05) 73%,#090b10)}
.hero-ambient{position:absolute;border-radius:100%;z-index:-2;pointer-events:none;filter:blur(4px)}
.hero-ambient--left{width:800px;height:800px;left:-440px;top:5%;background:radial-gradient(circle,rgba(134,91,46,.18),transparent 65%);animation:ambient-move 17s ease-in-out infinite alternate}
.hero-ambient--right{width:900px;height:900px;right:-500px;top:-16%;background:radial-gradient(circle,rgba(135,90,46,.17),transparent 65%);animation:ambient-move 20s ease-in-out infinite alternate-reverse}
.hero-frame{position:absolute;pointer-events:none;inset:122px clamp(23px,5vw,88px) 56px;border:1px solid rgba(213,182,125,.2)}
.hero-frame::before,.hero-frame::after{content:"";position:absolute;left:50%;width:90px;height:1px;transform:translateX(-50%);background:var(--bg)}.hero-frame::before{top:-1px}.hero-frame::after{bottom:-1px}
.hero-frame-corner{position:absolute;width:44px;height:44px;border-color:rgba(220,185,124,.59);border-style:solid}
.corner-tl{top:-1px;left:-1px;border-width:2px 0 0 2px}.corner-tr{top:-1px;right:-1px;border-width:2px 2px 0 0}.corner-bl{bottom:-1px;left:-1px;border-width:0 0 2px 2px}.corner-br{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.hero-content{text-align:center;width:100%;max-width:950px;position:relative;z-index:2;padding-bottom:6px}
.hero-prelude,.section-overline{display:flex;justify-content:center;align-items:center;gap:14px;color:var(--gold);font-size:10px;font-weight:500;letter-spacing:.33em;text-transform:uppercase;line-height:1.8}
.tiny-line{width:29px;height:1px;background:var(--gold-muted);opacity:.7}
.hero-emblem{color:var(--gold);width:61px;margin:24px auto 15px}.hero-emblem svg{width:100%;height:auto;filter:drop-shadow(0 0 18px rgba(220,170,91,.17))}
.hero-invite{color:#c7bbb0;font-family:var(--serif);font-size:clamp(19px,2.5vw,24px);font-style:italic;letter-spacing:.01em;margin:10px 0 6px}
.hero-title{margin:0;color:var(--cream);font-weight:400;line-height:.86;text-shadow:0 3px 30px rgba(0,0,0,.15)}
.hero-name{display:block;font-family:var(--serif);font-size:clamp(60px,8.2vw,135px);font-weight:400;letter-spacing:-.055em;white-space:nowrap}
.hero-connector{font-size:clamp(45px,5.1vw,82px);font-family:var(--serif);display:flex;align-items:center;justify-content:center;gap:32px;margin:9px 0 5px;color:var(--gold);font-weight:400}
.hero-connector em{line-height:.75;font-weight:400}.hero-connector span{height:1px;width:58px;background:linear-gradient(90deg,transparent,var(--gold-muted))}.hero-connector span:last-child{transform:rotate(180deg)}
.hero-description{font-family:var(--serif);font-size:clamp(19px,2.4vw,25px);font-style:italic;color:#c7c2b9;line-height:1.4;margin:28px auto 28px;max-width:670px}
.hero-date{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;color:var(--gold-bright);font-size:11px;font-weight:500;letter-spacing:.19em}.hero-date b{font-size:8px;color:var(--gold-muted);font-weight:400}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:55px;white-space:nowrap;padding:16px 26px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;border:1px solid transparent;transition:background .25s,border-color .25s,color .25s,transform .25s}
.btn:hover{transform:translateY(-3px)}.btn-gold{background:linear-gradient(110deg,#b99861,#eed3a0 53%,#b99861);background-size:200% 100%;color:#15130f;border-color:#dab985}.btn-gold:hover{background-position:100% 0;box-shadow:0 8px 35px rgba(206,170,112,.15)}.btn-outline{border-color:rgba(212,181,125,.55);color:var(--gold-bright);background:rgba(255,255,255,.013)}.btn-outline:hover{background:rgba(212,181,125,.1)}.btn-subtle{background:transparent;border-color:var(--line-quiet);color:#cac3b8}.btn-subtle:hover{border-color:var(--gold-muted);color:var(--gold-bright)}
.hero-primary{margin-top:39px;min-width:220px}.arrow-icon{font-size:15px;line-height:1}
.scroll-prompt{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:13px;color:#8e8a82;font-size:8px;font-weight:500;letter-spacing:.28em;white-space:nowrap}.scroll-prompt-line{height:33px;width:1px;background:linear-gradient(var(--gold),transparent)}
.hero-side-label{position:absolute;right:19px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:8px;letter-spacing:.38em;color:rgba(213,182,125,.6)}
.hero-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 8px var(--gold);opacity:.5;animation:twinkle 4s ease-in-out infinite alternate}.hero-stars i:nth-child(1){left:16%;top:20%}.hero-stars i:nth-child(2){left:24%;top:65%;animation-delay:1.2s}.hero-stars i:nth-child(3){left:80%;top:29%;animation-delay:.9s}.hero-stars i:nth-child(4){left:86%;top:66%;animation-delay:2s}.hero-stars i:nth-child(5){left:10%;top:47%;animation-delay:2.6s}.hero-stars i:nth-child(6){left:70%;top:14%;animation-delay:1.7s}.hero-stars i:nth-child(7){left:33%;top:23%;animation-delay:2.4s}.hero-stars i:nth-child(8){left:64%;top:78%;animation-delay:3s}.hero-stars i:nth-child(9){left:42%;top:84%;animation-delay:1.5s}
.section-shell{position:relative;padding-inline:clamp(22px,6vw,100px);overflow:hidden}
.note-section{padding-top:135px;padding-bottom:122px;text-align:center;background:var(--bg)}
.dot-gold{width:3px;height:3px;transform:rotate(45deg);background:var(--gold);display:inline-block}
.note-orbit{font-family:var(--serif);color:var(--gold);font-size:55px;margin:22px auto 7px;font-weight:400;line-height:1}
.note-main{font:400 clamp(31px,4.1vw,58px)/1.15 var(--serif);letter-spacing:-.017em;margin:15px 0 23px}.note-main i,.section-title i,.countdown-card h2 i,.final-section h2 i{font-weight:400;color:var(--gold);font-style:italic}
.note-sub{color:#a9a49b;font:400 clamp(17px,1.9vw,21px)/1.65 var(--serif);margin:0}
.decorative-flourish{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:43px;color:var(--gold)}.decorative-flourish span{width:58px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-muted))}.decorative-flourish span:last-child{transform:rotate(180deg)}.decorative-flourish i{font-size:10px;font-style:normal}
.countdown-section{padding-top:0;padding-bottom:125px}
.countdown-card{max-width:1160px;margin:auto;min-height:360px;position:relative;text-align:center;overflow:hidden;padding:67px 35px 56px;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 9%,rgba(171,127,64,.11),transparent 61%),linear-gradient(130deg,#13141a,#0d0e12 68%,#141317)}
.countdown-card::before,.countdown-card::after{content:"";position:absolute;pointer-events:none;width:55px;height:55px;border:1px solid rgba(213,182,125,.2)}.countdown-card::before{top:14px;left:14px;border-right:0;border-bottom:0}.countdown-card::after{bottom:14px;right:14px;border-left:0;border-top:0}
.countdown-halo{position:absolute;left:50%;top:-220px;transform:translateX(-50%);width:550px;height:440px;border-radius:50%;border:1px solid rgba(213,182,125,.075);box-shadow:0 0 0 55px rgba(213,182,125,.016),0 0 0 110px rgba(213,182,125,.012);pointer-events:none}
.countdown-card h2{margin:10px 0 27px;font:400 clamp(38px,4.3vw,63px)/1.08 var(--serif)}
.countdown-grid{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2.5vw,43px)}
.countdown-unit{min-width:100px;display:flex;align-items:center;flex-direction:column}.countdown-unit strong{font:400 clamp(47px,6.1vw,83px)/1.03 var(--serif);letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--cream)}.countdown-unit span{font-size:9px;font-weight:500;color:var(--gold-muted);letter-spacing:.27em;margin-top:9px}.count-separator{font:400 clamp(31px,3vw,47px)/1 var(--serif);color:var(--gold);margin-top:-19px;opacity:.68}
.countdown-caption{margin:31px 0 0;color:#999187;font-size:11px;letter-spacing:.1em}
.details-section{padding-top:43px;padding-bottom:130px;text-align:center}
.section-title{font:400 clamp(56px,6.2vw,89px)/1 var(--serif);letter-spacing:-.035em;margin:18px 0 15px}.section-description{font:400 21px/1.5 var(--serif);color:#b5ada3;margin:0 auto 49px}
.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1260px;margin:0 auto}
.detail-card{min-height:362px;background:linear-gradient(160deg,#131419,#0e1015);border:1px solid var(--line-quiet);padding:45px 17px 39px;display:flex;align-items:center;flex-direction:column;transition:transform .3s,border-color .3s,background .3s}.detail-card:hover{transform:translateY(-5px);border-color:rgba(213,182,125,.36)}
.detail-card--featured{background:radial-gradient(ellipse at 50% 0,rgba(213,182,125,.11),transparent 65%),#141419;border-color:var(--line)}
.detail-icon{width:40px;height:40px;color:var(--gold);margin-bottom:19px}.detail-icon svg{height:100%;width:100%}.detail-kicker{color:var(--gold-muted);font-size:9px;letter-spacing:.27em;font-weight:500}.detail-card h3{font:400 clamp(27px,3vw,41px)/1.1 var(--serif);margin:16px 0 7px;white-space:normal}.detail-card h3 span{font-size:.64em}.detail-lead{color:#c4bdb3;font:400 19px/1.3 var(--serif);margin:0}.card-mini-rule{height:1px;width:42px;background:var(--line);margin:28px auto 20px}.detail-caption,.text-link{font:400 13px/1.5 var(--sans);letter-spacing:.02em;color:#98958e;margin:0}.text-link{color:var(--gold);border-bottom:1px solid rgba(213,182,125,.38);padding-bottom:4px;transition:color .2s}.text-link:hover{color:var(--gold-bright)}.text-link span{margin-left:6px}
.venue-banner{max-width:1260px;margin:26px auto 0;border:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:24px 32px;text-align:left;background:linear-gradient(115deg,rgba(213,182,125,.075),rgba(213,182,125,.016))}.venue-banner-flower{font:400 46px/1 var(--serif);color:var(--gold);margin-right:4px}.venue-banner-eyebrow{font-size:9px;font-weight:500;color:var(--gold-muted);letter-spacing:.22em}.venue-banner h3{font:400 29px/1.15 var(--serif);margin:8px 0 0}.venue-banner h3 i{color:var(--gold);font-style:normal}.venue-banner .btn{margin-left:auto;min-height:49px;padding-inline:20px}
.final-section{text-align:center;padding-top:137px;padding-bottom:133px}.final-sparkle{font:400 53px/1 var(--serif);display:block;color:var(--gold);margin-bottom:23px}.final-section h2{font:400 clamp(46px,5.3vw,76px)/1.03 var(--serif);letter-spacing:-.025em;margin:20px 0}.final-section p{font:400 clamp(19px,2.3vw,23px)/1.4 var(--serif);color:#aba59c}.final-couple{font:400 clamp(38px,4vw,55px)/1 var(--serif);margin:39px 0 35px}.final-couple span{color:var(--gold);font-style:italic;margin-inline:7px}.share-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.share-actions .btn{min-width:238px}
.toast{pointer-events:none;position:fixed;z-index:90;bottom:26px;left:50%;transform:translate(-50%,30px);padding:12px 22px;border:1px solid var(--gold);background:#202025;box-shadow:0 9px 40px rgba(0,0,0,.5);color:var(--cream);font-size:12px;letter-spacing:.05em;opacity:0;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
.footer{min-height:135px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(22px,6vw,100px);border-top:1px solid var(--line-quiet);background:#090a0e}.footer-mark{font:400 33px/1 var(--serif);color:var(--gold-bright)}.footer-mark span{font-style:italic;color:var(--gold-muted);font-size:.8em}.footer p{font-size:9px;letter-spacing:.21em;color:#88837b}.footer-dot{color:var(--gold);margin-inline:15px}.footer a{font-size:9px;letter-spacing:.17em;color:var(--gold-muted);transition:color .2s}.footer a:hover{color:var(--gold-bright)}
.fade-rise{animation:fade-rise .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--delay,0s)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes fade-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes twinkle{from{opacity:.1;transform:scale(.7)}to{opacity:.8;transform:scale(1.4)}}
@keyframes ambient-move{from{transform:translate(0,0)}to{transform:translate(55px,25px)}}
@media(max-width:1100px){.desktop-nav{padding-left:0;gap:23px}.hero-name{font-size:clamp(52px,8vw,98px)}.detail-card{padding-inline:12px}.detail-card h3{font-size:33px}}
@media(max-width:760px){
 .site-header{height:76px;padding:0 21px}.brand-crest{font-size:27px}.brand{gap:11px}.brand-rule{height:24px}.brand-date{font-size:9px}.desktop-nav{display:none}.header-cta{font-size:9px;padding:11px 13px;letter-spacing:.11em}.header-cta span{margin-left:5px}
 .hero{min-height:760px;min-height:100svh;padding:125px 16px 115px}.hero-frame{inset:92px 14px 42px}.hero-frame-corner{width:27px;height:27px}.hero-prelude{gap:8px;font-size:8px;letter-spacing:.23em}.tiny-line{width:14px}.hero-emblem{width:50px;margin-top:24px}.hero-invite{margin-top:17px;font-size:20px}.hero-name{font-size:clamp(45px,10.5vw,83px);letter-spacing:-.054em}.hero-connector{font-size:52px;gap:16px;margin:9px 0 8px}.hero-connector span{width:32px}.hero-description{font-size:19px;max-width:330px;line-height:1.3;margin:23px auto 24px}.hero-date{font-size:9px;gap:9px;letter-spacing:.09em;line-height:1.8}.hero-primary{margin-top:28px;min-height:53px}.hero-side-label{display:none}.scroll-prompt{bottom:12px;font-size:7px}
 .note-section{padding-top:91px;padding-bottom:88px}.note-main{font-size:clamp(34px,7vw,50px)}.note-sub{font-size:18px}.desktop-only{display:none}
 .countdown-section{padding-bottom:83px}.countdown-card{padding:54px 12px 47px;min-height:0}.countdown-card h2{font-size:40px}.countdown-grid{gap:clamp(5px,1.5vw,14px)}.countdown-unit{min-width:0}.countdown-unit strong{font-size:clamp(38px,9.2vw,62px)}.countdown-unit span{font-size:7px;letter-spacing:.1em;margin-top:9px}.count-separator{font-size:28px;margin-top:-20px}.countdown-caption{font-size:10px;margin-top:25px}
 .details-section{padding-top:20px;padding-bottom:95px}.section-title{font-size:65px}.section-description{font-size:19px;margin-bottom:33px}.details-grid{grid-template-columns:1fr;gap:13px;max-width:480px}.detail-card{min-height:270px;padding:30px 16px 28px}.detail-icon{width:33px;height:33px;margin-bottom:15px}.detail-card h3{margin-top:11px}.card-mini-rule{margin:18px auto 13px}.venue-banner{flex-direction:column;justify-content:center;gap:12px;text-align:center;padding:28px 17px;margin-top:17px}.venue-banner-flower{margin:0}.venue-banner h3{font-size:25px}.venue-banner .btn{margin:8px 0 0}
 .final-section{padding-top:90px;padding-bottom:100px}.final-section h2{font-size:clamp(45px,9vw,65px)}.final-couple{font-size:42px}.share-actions{flex-direction:column}.share-actions .btn{width:min(100%,340px)}
 .footer{flex-direction:column;gap:13px;justify-content:center;padding:28px 20px}.footer p{text-align:center;line-height:2;font-size:8px;letter-spacing:.15em;margin:0}
}
@media(max-width:395px){.hero-name{font-size:clamp(39px,10.8vw,49px)}.hero-date{gap:6px;font-size:8px}.hero-prelude{font-size:7.5px}.section-overline{font-size:8px;letter-spacing:.22em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-rise{animation:none!important;opacity:1;transform:none}.reveal{opacity:1;transform:none;transition:none}.hero-stars i,.hero-ambient{animation:none}.btn,.detail-card{transition:none}}

/* Royal Dark: preserve original high-contrast black/gold palette on all sections. */
@media (max-width:370px){.header-cta{font-size:9px;padding:11px 9px;letter-spacing:.045em}.brand-date{font-size:8px}.site-header{padding-inline:14px}.hero-name{font-size:clamp(37px,10.2vw,43px)}.hero-date{gap:5px}}


/* Wedding invitation entry: same original Royal Dark palette and ornamentation */
.invitation-gate[hidden]{display:none!important}
.invitation-gate{display:none}
html.js .invitation-gate{position:fixed;z-index:200;inset:0;display:grid;place-items:center;overflow-y:auto;overscroll-behavior:contain;padding:60px 24px;background:radial-gradient(ellipse at 50% 39%,#242022 0%,#111115 45%,#080a0d 90%);opacity:1;visibility:visible;transition:opacity .8s ease,visibility .8s ease}
html.js .invitation-gate.is-opening{opacity:0;visibility:hidden;pointer-events:none}
.gate-border{position:absolute;inset:clamp(17px,4.2vw,50px);border:1px solid rgba(213,182,125,.34);pointer-events:none}
.gate-border::before,.gate-border::after{content:'';position:absolute;left:50%;transform:translateX(-50%);height:1px;width:84px;background:#090a0e}
.gate-border::before{top:-1px}.gate-border::after{bottom:-1px}
.gate-corners{position:absolute;inset:clamp(17px,4.2vw,50px);pointer-events:none}
.gate-corners::before,.gate-corners::after{content:'';position:absolute;width:32px;height:32px;border-color:var(--gold);border-style:solid}
.gate-corners::before{top:0;left:0;border-width:2px 0 0 2px}
.gate-corners::after{bottom:0;right:0;border-width:0 2px 2px 0}
.gate-content{position:relative;z-index:3;width:min(610px,100%);margin:auto;text-align:center;color:var(--cream);animation:gate-appear .9s both}
.gate-prelude{font:500 11px/1.7 var(--sans);letter-spacing:.32em;color:var(--gold-bright);text-transform:uppercase;margin:0 0 29px}
.gate-emblem{position:relative;margin:0 auto 30px;width:120px;height:120px;border:1px solid rgba(213,182,125,.52);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:400 50px/1 var(--serif);box-shadow:0 0 0 10px rgba(213,182,125,.045),0 0 35px rgba(213,182,125,.09);animation:gate-glow 4s ease-in-out infinite alternate}
.gate-emblem span{font-size:.5em;font-style:italic;align-self:center;margin:0 3px}
.gate-title{font:400 clamp(40px,5.4vw,71px)/1.12 var(--serif);letter-spacing:-.026em;margin:0 0 18px}
.gate-title em{color:var(--gold);font-weight:400}
.gate-details{font:400 15px/1.7 var(--sans);letter-spacing:.13em;color:#d4c8b8;margin:0 auto 34px}
.gate-open{min-width:242px;min-height:56px}
.gate-asterisk{display:block;margin-top:28px;color:var(--gold-muted);font-size:22px}
body.gate-active{overflow:hidden}
html.js .invitation-gate:not([hidden])~*{pointer-events:none}
@keyframes gate-appear{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes gate-glow{from{box-shadow:0 0 0 10px rgba(213,182,125,.025),0 0 18px rgba(213,182,125,.04)}to{box-shadow:0 0 0 13px rgba(213,182,125,.062),0 0 45px rgba(213,182,125,.16)}}
.language-link{color:var(--gold-bright);font-size:11px;letter-spacing:.03em;margin:0 6px;border-bottom:1px solid rgba(213,182,125,.4);padding-bottom:3px}
.language-link:hover{color:#fff}

/* Same visual system, carefully typeset for Arabic script */
html[lang="ar"]{--serif:'Amiri','Traditional Arabic',serif;--sans:'Cairo',Tahoma,sans-serif}
html[lang="ar"] body{font-weight:400}
html[lang="ar"] .hero-prelude,html[lang="ar"] .section-overline,html[lang="ar"] .detail-kicker,html[lang="ar"] .venue-banner-eyebrow,html[lang="ar"] .footer p,html[lang="ar"] .gate-prelude{letter-spacing:0;text-transform:none}
html[lang="ar"] .brand-date,html[lang="ar"] .hero-date,html[lang="ar"] .detail-kicker,html[lang="ar"] .detail-caption,html[lang="ar"] .venue-banner-eyebrow,html[lang="ar"] .header-cta,html[lang="ar"] .btn,html[lang="ar"] .desktop-nav a{letter-spacing:0;text-transform:none}
html[lang="ar"] .desktop-nav{padding:0}
html[lang="ar"] .hero-title{line-height:1.24}
html[lang="ar"] .hero-name{font-size:clamp(59px,7.8vw,115px);letter-spacing:0;white-space:normal;line-height:1.27}
html[lang="ar"] .hero-connector{margin:-2px 0;line-height:1.05}
html[lang="ar"] .hero-invite{font-style:normal;line-height:1.55}
html[lang="ar"] .hero-description{font-style:normal;line-height:1.6;margin:15px auto 19px;max-width:670px}
html[lang="ar"] .hero-date{font-size:13px;line-height:1.8;gap:11px}
html[lang="ar"] .hero-date b{font-size:10px}
html[lang="ar"] .hero-primary{margin-top:26px}
html[lang="ar"] .note-main{line-height:1.52;font-size:clamp(31px,3.9vw,56px)}
html[lang="ar"] .note-sub{line-height:1.9;font-size:clamp(17px,1.9vw,22px)}
html[lang="ar"] .countdown-card h2{line-height:1.4}
html[lang="ar"] .countdown-unit strong{font-family:'Cormorant Garamond',Georgia,serif}
html[lang="ar"] .countdown-unit span{letter-spacing:0;font-size:12px}
html[lang="ar"] .countdown-caption{letter-spacing:0;font-size:13px}
html[lang="ar"] .section-title{line-height:1.5}
html[lang="ar"] .section-description{line-height:1.9}
html[lang="ar"] .detail-card h3{line-height:1.5;letter-spacing:0;font-size:clamp(27px,2.7vw,40px)}
html[lang="ar"] .detail-lead{line-height:1.6}
html[lang="ar"] .detail-caption,html[lang="ar"] .text-link{font-size:13px}
html[lang="ar"] .venue-banner{text-align:right}
html[lang="ar"] .venue-banner .btn{margin-right:auto;margin-left:0}
html[lang="ar"] .venue-banner h3{line-height:1.55}
html[lang="ar"] .final-section h2{line-height:1.52}
html[lang="ar"] .final-section p{line-height:1.7}
html[lang="ar"] .final-couple{line-height:1.25}
html[lang="ar"] .gate-title{line-height:1.4;letter-spacing:0;font-size:clamp(43px,5.6vw,73px)}
html[lang="ar"] .gate-details{letter-spacing:0;font-size:15px;line-height:1.7}
html[lang="ar"] .gate-prelude{font-size:13px}
html[lang="ar"] .scroll-prompt{letter-spacing:0}
html[lang="ar"] .footer a{letter-spacing:0}
html[lang="ar"] .brand-crest,html[lang="ar"] .footer-mark{font-family:'Cormorant Garamond',Georgia,serif}
@media(max-width:760px){
  .gate-emblem{width:99px;height:99px;font-size:42px;margin-bottom:23px}
  .gate-prelude{font-size:9px;letter-spacing:.22em}
  .gate-title{font-size:clamp(37px,9.8vw,53px)}
  .gate-details{font-size:12px;letter-spacing:.045em}
  .gate-open{min-width:213px}
  html[lang="ar"] .hero{padding-top:111px;padding-bottom:105px}
  html[lang="ar"] .hero-name{font-size:clamp(47px,10.4vw,83px)}
  html[lang="ar"] .hero-title{line-height:1.22}
  html[lang="ar"] .hero-date{font-size:11px;gap:5px}
  html[lang="ar"] .hero-description{font-size:19px}
  html[lang="ar"] .note-main{font-size:clamp(32px,7vw,48px)}
  html[lang="ar"] .countdown-card h2{font-size:38px}
  html[lang="ar"] .countdown-unit span{font-size:10px}
  html[lang="ar"] .section-title{font-size:57px}
  html[lang="ar"] .venue-banner{text-align:center}
  html[lang="ar"] .venue-banner .btn{margin:10px auto 0}
  html[lang="ar"] .final-section h2{font-size:clamp(39px,8vw,57px)}
}
@media(max-width:395px){
  html[lang="ar"] .hero-name{font-size:clamp(43px,10vw,55px)}
  html[lang="ar"] .hero-date{font-size:10px;gap:4px}
  html[lang="ar"] .brand-date{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.gate-content,.gate-emblem{animation:none}.invitation-gate{transition:none!important}}
