:root{--wine:#491e29;--wine-deep:#2f151d;--wine-soft:#713340;--paper:#faf6ec;--cream:#f3ebda;--ivory:#fffbf3;--blush:#eee0d8;--ink:#392b2a;--muted:#706460;--gold:#c7a16a;--gold-light:#e4ca98;--line:#d9c9aa;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--urdu:"Noto Nastaliq Urdu",serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:74px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.lang-ur{font-family:var(--urdu)}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
[hidden]{display:none!important}
::selection{background:#cba775;color:#30161d}
:focus-visible{outline:2px solid #e7c27e;outline-offset:4px}
.ur{display:none!important}
body.lang-ur .en{display:none!important}
body.lang-ur .ur{display:revert!important}
body.lang-ur h2.ur,body.lang-ur h3.ur{font-family:var(--urdu);font-weight:500;line-height:1.95;letter-spacing:0}
body.lang-ur .chapter-label.ur,body.lang-ur .hero-kicker.ur,body.lang-ur .address-label.ur{font-family:var(--urdu);letter-spacing:0;line-height:2}
.skip-link{position:fixed;z-index:1000;left:12px;top:-100px;background:var(--paper);color:var(--wine);padding:12px 18px;border-radius:4px}
.skip-link:focus{top:10px}
.progress{height:2px;background:transparent;position:fixed;top:0;left:0;right:0;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:var(--gold)}
.section-container{width:min(1120px,calc(100% - 80px));margin:0 auto}
.section-pad{padding:128px 0}
.chapter-label{margin:0 0 24px;font:600 10px/1.5 var(--sans);letter-spacing:.28em;color:#986d4c;text-transform:uppercase}
.small-divider{width:72px;height:1px;background:var(--gold);margin:33px auto}

/* An invitation to enter. The artwork is original SVG and CSS. */
.opening{display:none}
.js body:not(.invitation-open){overflow:hidden}
.js .opening{display:flex;position:fixed;z-index:200;inset:0;align-items:center;justify-content:center;min-height:100svh;background:radial-gradient(ellipse at 50% 40%,#713442 0%,#491e29 43%,#28131b 100%);color:#f8efdc;text-align:center;overflow:hidden;isolation:isolate;transition:opacity .9s ease,visibility .9s ease}
.opening::before,.opening::after{content:"";position:absolute;inset:18px;border:1px solid rgba(229,199,143,.33);pointer-events:none}
.opening::after{inset:25px;border-color:rgba(229,199,143,.14)}
.opening.is-revealed{opacity:0;visibility:hidden;pointer-events:none}
.opening-shimmer{position:absolute;inset:0;background:radial-gradient(circle at 50% 25%,rgba(224,179,110,.13),transparent 35%),url("assets/grain.svg");opacity:.48;pointer-events:none}
.opening-frame{position:absolute;inset:auto 50% -80vh auto;transform:translateX(50%);width:min(760px,115vw);height:calc(100svh + 80vh - 45px);border:1px solid rgba(234,203,145,.32);border-radius:48% 48% 0 0 / 18% 18% 0 0;pointer-events:none}
.opening-frame::before{content:"";position:absolute;inset:9px;border:1px solid rgba(234,203,145,.15);border-radius:inherit}
.opening-content{position:relative;z-index:1;width:min(720px,calc(100% - 54px));padding:60px 0;animation:entrance 1.2s ease both}
.bismillah,.hero-invocation{font:500 clamp(18px,2vw,24px)/2.1 var(--urdu);margin:0}
.opening .bismillah{color:#e9c993}
.opening-seal{margin:42px auto 35px;width:104px;height:104px;border:1px solid rgba(233,201,147,.7);border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:0 0 55px rgba(221,172,99,.1)}
.opening-seal::before,.opening-seal::after{content:"";position:absolute;border-radius:50%;inset:6px;border:1px solid rgba(233,201,147,.3)}
.opening-seal::after{inset:-9px;border-color:rgba(233,201,147,.19)}
.opening-seal span{font:500 29px/1 var(--serif);white-space:nowrap}
.opening-seal i{font-weight:400;color:var(--gold-light)}
.overline{font:500 10px/1.5 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:#e6c78c;margin:0 0 12px}
.opening-content h2{font:500 clamp(48px,10vw,92px)/1 var(--serif);letter-spacing:-.025em;margin:0;white-space:nowrap}
.opening-content h2 em{font-weight:400;color:#d4ab70;padding:0 .02em}
.opening-event{font:400 clamp(17px,2.5vw,22px)/1.35 var(--serif);letter-spacing:.04em;color:#f3dcb7;margin:22px 0 36px}
.opening-button{border:1px solid var(--gold-light);background:#e3c58f;color:var(--wine-deep);min-height:51px;padding:13px 20px 13px 26px;display:inline-flex;align-items:center;gap:28px;justify-content:space-between;font:600 10px/1.2 var(--sans);letter-spacing:.17em;text-transform:uppercase;transition:background .25s,transform .25s,box-shadow .25s}
.opening-button:hover{background:#f4dca7;transform:translateY(-3px);box-shadow:0 12px 34px rgba(0,0,0,.15)}
.opening-button>span:last-child{font-size:16px;font-weight:400}
.opening-note{font:400 14px/1.5 var(--serif);color:#dfc6aa;margin:21px 0 0}
@keyframes entrance{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* The compact header stays useful without reading as app navigation. */
.site-header{height:76px;background:var(--paper);padding:0 clamp(20px,4vw,68px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(126,91,68,.14);position:sticky;top:0;z-index:30}
.brand{text-decoration:none;font:500 30px/1 var(--serif);color:var(--wine);letter-spacing:-.055em;white-space:nowrap}
.brand span{font-size:.72em;font-style:italic;padding:0 2px;color:#a77d4d}
.main-nav,.header-right{display:flex;align-items:center;gap:34px}
.main-nav a{text-decoration:none;font:500 10px/1 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:#695850;transition:color .2s}
.main-nav a:hover{color:var(--wine)}
.header-right{gap:19px}
.language-switch{border:1px solid #d2c1aa;display:flex;padding:3px;border-radius:100px;background:#fffaf0}
.language-switch button{border:0;background:transparent;color:#6b5c55;padding:8px 10px;min-width:38px;border-radius:100px;font:600 10px/1 var(--sans)}
.language-switch button[aria-pressed="true"]{background:var(--wine);color:var(--paper)}

/* A double-rule maroon card places the parents first, in the traditional order. */
.hero{width:min(900px,calc(100% - 48px));margin:28px auto 0;background:radial-gradient(ellipse at 50% 41%,#713542 0%,#592633 43%,#3d1b25 86%);color:#f8ecdc;position:relative;isolation:isolate;display:grid;place-items:center;text-align:center;padding:70px 60px 60px;overflow:hidden;box-shadow:0 18px 60px rgba(65,32,24,.13)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 27%,rgba(30,7,16,.35) 100%);z-index:-1}
.hero-noise{position:absolute;inset:0;background:url("assets/grain.svg");opacity:.28;z-index:-1;pointer-events:none}
.hero-floral{position:absolute;width:300px;opacity:.58;pointer-events:none}
.hero-floral-left{left:-135px;top:-65px;transform:scaleY(-1)}
.hero-floral-right{right:-115px;bottom:-75px;transform:scaleX(-1)}
.hero-arch{position:absolute;top:18px;bottom:18px;width:calc(100% - 36px);border:1px solid rgba(228,194,134,.65);pointer-events:none}
.hero-arch::before{content:"";position:absolute;inset:9px;border:1px solid rgba(228,194,134,.13);border-radius:inherit}
.hero-inner{position:relative;width:min(650px,100%);z-index:1}
.hero-invocation{color:#eac994}
.tiny-flower{color:#d3ac6a;font-size:17px;margin:18px 0 22px}
.hero-hosts{margin:0 auto;max-width:650px}
.host-name{font:600 clamp(25px,3.4vw,34px)/1.3 var(--serif);color:#fff6e7;margin:0;text-wrap:balance}
.host-join{font:italic 400 25px/1.2 var(--serif);margin:6px 0;color:#ecd5ad}
.hero h1{display:flex;flex-direction:column;align-items:center;font:italic 500 clamp(80px,11vw,120px)/1.04 var(--serif);letter-spacing:-.045em;margin:0;color:#e7c582;text-shadow:0 10px 35px rgba(22,0,10,.12)}
.hero h1 em{font:italic 400 29px/1.35 var(--serif);color:#ddbb83;letter-spacing:0;margin:3px 0 5px}
.hero-rule{display:flex;align-items:center;justify-content:center;gap:18px;color:#d5af75;margin:28px auto 25px;font-size:18px}
.hero-rule::before,.hero-rule::after{content:"";width:70px;height:1px;background:linear-gradient(90deg,transparent,#d0a970)}
.hero-rule::after{transform:rotate(180deg)}
.hero-invite{font:400 clamp(21px,2.5vw,25px)/1.45 var(--serif);max-width:590px;margin:29px auto 27px;color:#f7e8cf;text-wrap:balance}
.hero-invite strong{font-weight:600}
.hero-weekday{font:500 11px/1.6 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#edd6b0;margin:0 0 7px}
.hero-ceremony-date{font:500 clamp(29px,4.3vw,43px)/1.35 var(--serif);margin:0;color:#fff6e7}
.hero-time{font:500 34px/1.35 var(--serif);margin:0;color:#fff6e7}
.hero-dinner{font:italic 400 24px/1.4 var(--serif);color:#ead7b8;margin:13px 0 26px}
.hero-venue{font:500 clamp(30px,4.2vw,39px)/1.25 var(--serif);margin:0 0 9px;color:#fff6e7}
.hero-address{font:400 22px/1.5 var(--serif);color:#f6e6ce}
.hero-blessing{font:italic 400 21px/1.5 var(--serif);color:#e9d3b1;margin:26px auto 0;text-wrap:balance}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 30px;margin-top:28px}
.hero-explore{text-decoration:none;color:#f4dfb4;display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid rgba(232,194,128,.56);padding-bottom:7px;font:500 10px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.hero-explore:hover{color:white}
.hero-explore .arrow{font:400 21px/1 var(--serif);transition:transform .2s}
.hero-explore:hover .arrow{transform:translateY(4px)}

.welcome{text-align:center;position:relative;background:var(--paper);overflow:hidden;padding:154px 24px 146px}
.welcome::before,.welcome::after{content:"";width:410px;height:410px;border:1px solid #e5d8c4;border-radius:50%;position:absolute;top:-285px;left:50%;transform:translateX(-50%);pointer-events:none}
.welcome::after{width:450px;height:450px;top:-310px;border-color:#eee3d0}
.welcome-ornament{color:var(--gold);font:400 20px/1 var(--serif);margin-bottom:28px}
.welcome h2,.section-intro h2,.venue h2,.personal h2{font:400 clamp(54px,7vw,88px)/.94 var(--serif);letter-spacing:-.04em;margin:0;color:var(--wine)}
.welcome h2 em,.section-intro h2 em,.venue h2 em,.personal h2 em,.count-intro h2 em{font-weight:400}
.welcome-copy{font:400 clamp(20px,2.3vw,27px)/1.45 var(--serif);max-width:620px;margin:0 auto;color:#61514d}
.personal-signature{font:italic 400 32px/1.2 var(--serif);color:var(--wine);margin-top:35px}
.personal-signature span{color:#ad814a}

.celebration{background:#eee4d3;background-image:radial-gradient(circle at 0 5%,rgba(202,171,123,.15),transparent 28%),radial-gradient(circle at 95% 90%,rgba(94,40,52,.06),transparent 35%)}
.section-intro{text-align:center;margin-bottom:54px}
.event-card{display:grid;grid-template-columns:42% 1fr;max-width:1080px;margin:auto;background:var(--ivory);box-shadow:0 24px 75px rgba(77,41,32,.1);border:1px solid #dac9aa;min-height:525px}
.event-date-block{background:radial-gradient(circle at 50% 40%,#78424c,#4d202c 76%);color:#f8e8d1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 22px;text-align:center;overflow:hidden}
.event-date-block::before,.event-date-block::after{content:"";position:absolute;inset:20px;border:1px solid rgba(229,195,132,.36);pointer-events:none}
.event-date-block::after{inset:27px;border-color:rgba(229,195,132,.14)}
.event-topline,.event-month{position:relative;z-index:1;font:500 10px/1.4 var(--sans);letter-spacing:.35em;color:#edd3aa;text-transform:uppercase;white-space:nowrap}
.event-date-block strong{position:relative;z-index:1;display:block;font:400 clamp(120px,13.5vw,190px)/1.12 var(--serif);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.04em;margin:12px 0 18px;color:#fff8e9}
.event-date-ornament{position:relative;color:#d8b77d;font:400 17px/1 var(--serif);letter-spacing:.2em;margin-top:32px}
.event-information{padding:65px clamp(30px,5vw,78px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.event-preface{font:400 22px/1.3 var(--serif);color:#8a7464;margin:0}
.event-information h3{font:400 clamp(72px,8vw,120px)/.95 var(--serif);letter-spacing:-.055em;color:var(--wine);margin:8px 0 13px}
.event-desc{font:400 18px/1.55 var(--serif);color:#6c5a54;margin:0 0 28px;max-width:410px}
.event-meta{display:flex;gap:45px;border-top:1px solid #e4d8c5;border-bottom:1px solid #e4d8c5;padding:20px 0;width:100%}
.event-meta>div{display:flex;align-items:center;gap:12px}
.meta-icon{font-size:26px;color:#ab7d48;align-self:flex-start}
.event-meta small{display:block;font:600 9px/1.5 var(--sans);letter-spacing:.23em;color:#967046}
.event-meta strong{display:block;font:500 24px/1.25 var(--serif);color:var(--wine)}
.text-link{margin-top:28px;color:var(--wine);text-decoration:none;border-bottom:1px solid #ad8256;padding:0 0 5px;display:inline-flex;gap:20px;align-items:center;font:600 10px/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.text-link:hover{color:#a36946}

.count-section{background:var(--ivory);padding:70px 24px;border-bottom:1px solid #e7d9c3}
.count-container{max-width:1080px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}
.count-intro .chapter-label{margin-bottom:11px}
.count-intro h2{font:400 clamp(36px,4.1vw,53px)/1 var(--serif);letter-spacing:-.035em;color:var(--wine);margin:0}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.countdown>div{text-align:center;border-left:1px solid #dfd0bb;padding:8px 2px}
.countdown>div:last-child{border-right:1px solid #dfd0bb}
.countdown strong{font:400 clamp(41px,4.7vw,68px)/1 var(--serif);color:var(--wine);display:block;font-variant-numeric:tabular-nums}
.countdown span{display:block;font:600 9px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#8b7663;margin-top:12px}

.venue{background:radial-gradient(circle at 90% 35%,#623040 0%,#491f2c 45%,#341922 100%);color:#f7eddf;overflow:hidden}
.venue-layout{display:grid;grid-template-columns:49% 1fr;gap:clamp(40px,6vw,100px);align-items:center}
.venue-art{position:relative}
.venue-art::after{content:"";position:absolute;inset:9px;border:1px solid rgba(225,194,136,.32);border-radius:250px 250px 2px 2px;pointer-events:none}
.venue-art img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:250px 250px 2px 2px;border:1px solid rgba(225,194,136,.45)}
.venue .chapter-label{color:#ddbd83}
.venue h2{color:#fff5e6}
.venue-explain{font:400 clamp(21px,2.2vw,26px)/1.35 var(--serif);color:#ddcdbb;max-width:480px;margin:23px 0 40px}
.address{border-top:1px solid rgba(224,190,132,.36);border-bottom:1px solid rgba(224,190,132,.36);padding:27px 0 29px}
.address-label{font:600 9px/1 var(--sans);letter-spacing:.28em;color:#d9b77e}
.address h3{font:400 clamp(37px,4vw,52px)/1.1 var(--serif);margin:12px 0 8px;color:#fff1dc}
.address p{font:400 14px/1.7 var(--sans);color:#e8d9c6;margin:0}
.venue-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:11px;margin-top:31px}
.button{border:1px solid transparent;min-height:49px;padding:13px 17px 13px 21px;display:inline-flex;justify-content:space-between;align-items:center;gap:23px;text-decoration:none;font:600 10px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;transition:transform .2s,background .2s,box-shadow .2s;white-space:nowrap}
.button:hover{transform:translateY(-2px)}
.button-gold{background:#e0bf87;color:var(--wine-deep)}
.button-gold:hover{background:#f4d8a2}
.button-outline{border-color:#bc9568;background:transparent;color:#f7e8d2;list-style:none;cursor:pointer}
.button-outline::-webkit-details-marker{display:none}
.button-outline:hover{background:rgba(255,255,255,.07)}
.calendar-details{position:relative}
.calendar-details[open] .button-outline{background:rgba(255,255,255,.08)}
.calendar-options{position:absolute;top:calc(100% + 8px);left:0;z-index:5;min-width:240px;padding:7px;background:#fbf6eb;color:var(--wine);box-shadow:0 18px 40px rgba(0,0,0,.2)}
.calendar-options a{display:block;padding:11px 13px;text-decoration:none;font:500 12px/1.3 var(--sans);white-space:nowrap}
.calendar-options a:hover,.calendar-options a:focus-visible{background:#f0e5d2}

.personal{background:var(--blush);text-align:center;padding:140px 24px 133px;position:relative;overflow:hidden}
.personal::before,.personal::after{content:"";position:absolute;left:-120px;bottom:-250px;width:400px;height:400px;border:1px solid rgba(162,120,93,.12);border-radius:50%;pointer-events:none}
.personal::after{left:auto;bottom:auto;right:-130px;top:-240px;width:480px;height:480px}
.personal-inner{max-width:800px;margin:auto;position:relative;z-index:1}
.personal-mark{font:400 33px/1 var(--serif);color:#a97e50;margin-bottom:22px}
.personal p:not(.chapter-label){max-width:570px;margin:30px auto 0;font:400 clamp(21px,2.4vw,29px)/1.4 var(--serif);color:#614f4b}
.personal-signature{margin-top:39px}
.keepsake-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:center;position:relative;z-index:1;text-align:start}
.keepsake-preview{display:block;width:min(330px,100%);margin:auto;box-shadow:0 18px 45px rgba(62,30,31,.19);border:1px solid #b58e59}
.keepsake-preview img{width:100%;height:auto}
.personal .keepsake-copy h2{font-size:clamp(44px,5vw,68px);line-height:1.04}
.personal .keepsake-copy p:not(.chapter-label){font-size:23px;line-height:1.45;margin:25px 0;max-width:480px}
.button-wine{background:var(--wine);color:var(--paper)}
.button-wine:hover{background:#633040}
.personal .keepsake-copy p.keepsake-help{font:400 12px/1.7 var(--sans);margin:17px 0 0}

.footer{background:#341922;color:#f1ddc6;padding:72px 24px 78px;text-align:center;display:flex;flex-direction:column;align-items:center}
.footer-ornament{font:400 27px/1 var(--serif);color:#d3ad75}
.footer p{font:400 19px/1.4 var(--serif);margin:17px 0 10px;color:#e1c8a4}
.footer strong{font:400 clamp(54px,8vw,77px)/1 var(--serif);letter-spacing:-.04em;color:#fff4e4}
.footer strong em{color:#d6af7a;font-weight:400}
.footer small{font:500 9px/1.5 var(--sans);letter-spacing:.27em;margin:20px 0 36px;color:#d7bea1}
.footer small span{padding:0 7px}
.footer a{text-decoration:none;border-bottom:1px solid #ae8b62;padding-bottom:5px;color:#e8d0ae;font:500 10px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}

.has-observer .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.has-observer .reveal.in-view{opacity:1;transform:none}
body.lang-ur .opening-event.ur,body.lang-ur .opening-note.ur,body.lang-ur .hero-invite.ur,body.lang-ur .hero-date.ur,body.lang-ur .welcome-copy.ur,body.lang-ur .event-preface.ur,body.lang-ur .event-desc.ur,body.lang-ur .venue-explain.ur,body.lang-ur .address p.ur,body.lang-ur .personal p.ur{font-family:var(--urdu);letter-spacing:0;line-height:2.05}
body.lang-ur .event-information{align-items:flex-end;text-align:right}
body.lang-ur .event-meta{justify-content:flex-end;direction:rtl}
body.lang-ur .event-meta strong.ur{font:500 18px/2 var(--urdu)}
body.lang-ur .venue-copy{text-align:right}
body.lang-ur .venue-actions{justify-content:flex-end}
body.lang-ur .event-topline.ur,body.lang-ur .event-month.ur{font:500 17px/1.8 var(--urdu);letter-spacing:0}
body.lang-ur .event-information h3.ur{font-size:clamp(45px,6vw,72px)}
body.lang-ur .footer p.ur,body.lang-ur .personal p.ur{font-family:var(--urdu)}
body.lang-ur .opening-content h2 .ur{font:500 clamp(34px,6vw,55px)/2 var(--urdu);white-space:normal}
body.lang-ur .hero h1 .ur-hero-names{font:500 clamp(58px,8vw,83px)/1.5 var(--urdu);letter-spacing:0;white-space:nowrap}
body.lang-ur .hero h1 .ur-hero-names i{font-style:normal;color:#e0bf88;font-size:.62em}
body.lang-ur .personal-signature .ur{font:500 23px/2 var(--urdu)}
body.lang-ur .host-name.ur{font:500 clamp(21px,3vw,28px)/2.1 var(--urdu);letter-spacing:0}
body.lang-ur .host-join.ur{font:400 18px/2 var(--urdu);margin:0}
body.lang-ur .hero-weekday.ur{font:400 15px/2 var(--urdu);letter-spacing:0}
body.lang-ur .hero-ceremony-date,body.lang-ur .hero-time{font:500 27px/2 var(--urdu)}
body.lang-ur .hero-dinner.ur,body.lang-ur .hero-address,body.lang-ur .hero-blessing.ur{font:400 18px/2.1 var(--urdu);letter-spacing:0}
body.lang-ur .hero-venue{font:500 28px/2 var(--urdu)}
body.lang-ur .keepsake-copy h2 .ur{font:500 clamp(28px,4vw,40px)/2 var(--urdu);letter-spacing:0}
body.lang-ur .personal .keepsake-copy p.ur{font:400 18px/2.1 var(--urdu)}
body.lang-ur .personal .keepsake-copy p.keepsake-help.ur{font:400 13px/2.1 var(--urdu)}
body.lang-ur .footer strong .ur{font:500 clamp(29px,5vw,46px)/2 var(--urdu);letter-spacing:0}

@media(max-width:950px){.section-container{width:min(100% - 48px,750px)}.section-pad{padding-top:100px;padding-bottom:100px}.venue-layout{grid-template-columns:1fr;gap:60px}.venue-art{width:min(470px,100%);margin:auto}.venue-copy{max-width:650px;margin:auto;width:100%}.count-container{grid-template-columns:1fr;gap:32px;text-align:center}.countdown{max-width:600px;width:100%;margin:auto}.hero-floral{opacity:.45}}
@media(max-width:640px){
  html{scroll-padding-top:62px}
  .site-header{height:64px;padding:0 15px;gap:8px}.brand{font-size:27px}.main-nav{display:none}.header-right{gap:9px}.language-switch button{padding:8px 7px;min-width:34px}
  .section-container{width:calc(100% - 36px)}.section-pad{padding:87px 0}
  .opening::before{inset:12px}.opening::after{inset:18px}.opening-content{width:calc(100% - 55px);padding:25px 0}.opening-seal{margin:30px auto 28px;width:86px;height:86px}.opening-seal span{font-size:24px}.opening-content h2{font-size:clamp(43px,11vw,65px)}.opening-event{margin:16px 0 29px}.opening-frame{width:116vw;border-radius:48% 48% 0 0 / 20% 20% 0 0}
  .hero{width:calc(100% - 24px);margin-top:16px;padding:40px 28px 42px}.hero-arch{width:calc(100% - 18px);top:9px;bottom:9px}.hero-arch::before{inset:5px}.hero-floral{width:210px;opacity:.32}.hero-floral-left{left:-100px;top:-50px}.hero-floral-right{right:-95px;bottom:-50px}.hero-invocation{font-size:18px}.tiny-flower{margin:13px 0 20px}.host-name{font-size:clamp(24px,6.4vw,31px)}.host-join{font-size:23px}.hero h1{font-size:clamp(76px,20vw,110px)}.hero h1 em{font-size:26px;margin:2px 0 4px}.hero-rule{margin:27px auto 22px}.hero-invite{font-size:21px;max-width:360px;margin:25px auto}.hero-invite br{display:none}.hero-ceremony-date{font-size:clamp(29px,7.7vw,38px)}.hero-time{font-size:30px}.hero-dinner{font-size:22px}.hero-venue{font-size:clamp(29px,7.5vw,36px)}.hero-address{font-size:20px}.hero-blessing{font-size:20px}.hero-explore{font-size:9px;min-height:38px}.hero-actions{gap:15px 24px}
  .welcome{padding:105px 22px 105px}.welcome h2,.section-intro h2,.venue h2,.personal h2{font-size:clamp(52px,14vw,72px)}.welcome-copy{font-size:21px}.chapter-label{font-size:9px;margin-bottom:18px}
  .section-intro{margin-bottom:35px}.event-card{grid-template-columns:1fr}.event-date-block{min-height:320px;padding:28px}.event-date-block::before{inset:12px}.event-date-block::after{inset:18px}.event-date-block strong{font-size:clamp(112px,35vw,140px);line-height:1.18;margin:6px 0 14px}.event-date-ornament{margin-top:19px}.event-information{padding:40px 28px 43px}.event-information h3{font-size:86px}.event-preface{font-size:19px}.event-desc{font-size:18px}.event-meta{gap:15px}.event-meta>div{gap:8px;flex:1}.event-meta strong{font-size:22px}.meta-icon{font-size:20px}.count-section{padding:67px 18px}.count-intro h2{font-size:44px}.countdown strong{font-size:45px}.countdown span{font-size:8px;letter-spacing:.08em}
  .venue-layout{gap:50px}.venue-art{width:min(360px,90%)}.venue-art::after{inset:7px}.venue-copy{padding:0 12px}.venue-explain{font-size:22px;margin:21px 0 28px}.address h3{font-size:45px}.venue-actions{gap:9px}.button{font-size:9px;letter-spacing:.08em;gap:10px;padding:12px 11px 12px 13px;min-height:47px}.calendar-options{left:auto;right:0}
  .personal{padding:105px 25px}.personal p:not(.chapter-label){font-size:22px}.footer{padding:66px 18px 73px}
  .personal .keepsake-layout{grid-template-columns:minmax(0,1fr);gap:38px;width:100%;text-align:center}.keepsake-preview{width:min(280px,90%)}.personal .keepsake-copy h2{font-size:clamp(42px,11vw,60px)}.personal .keepsake-copy p:not(.chapter-label){font-size:22px;margin:24px auto}.personal .keepsake-copy p.keepsake-help{font-size:12px}.personal .keepsake-copy .button{min-height:48px;white-space:normal}
  body.lang-ur .hero h1 .ur-hero-names{font-size:clamp(48px,12vw,64px);line-height:1.75}body.lang-ur .hero-invite.ur{font-size:17px}body.lang-ur .event-information h3.ur{font-size:52px}body.lang-ur .welcome h2.ur,body.lang-ur .personal h2.ur,body.lang-ur .venue h2.ur,body.lang-ur .section-intro h2.ur{font-size:clamp(34px,9vw,48px)}body.lang-ur .event-meta strong.ur{font-size:14px}
}
@media(max-width:370px){.hero{padding-left:23px;padding-right:23px}.hero h1{font-size:73px}.hero-invocation{font-size:16px}.hero-address{font-size:18px}.opening-content h2{font-size:41px}.venue-actions{flex-direction:column}.venue-actions>*{width:100%}.venue-actions .button{width:100%}.calendar-options{left:0;right:auto;min-width:100%}}
@media(min-width:641px) and (max-width:820px){.main-nav{gap:15px}.main-nav a{font-size:9px;letter-spacing:.08em}.keepsake-layout{gap:35px}.personal{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.opening-content{animation:none}.opening,.opening-button,.button,.hero-explore .arrow,.has-observer .reveal{transition:none!important;animation:none!important}.has-observer .reveal{opacity:1!important;transform:none!important}}
