@font-face{font-family:Vazirmatn;src:url('vendor/Vazirmatn-Regular.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#edf4fc;--ink:#283b59;--olive:#385d91;--gold:#a34d76;--muted:#59677e;--line:#c7d4e7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Vazirmatn,Tahoma,sans-serif;line-height:1.95}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a:hover{color:var(--gold)}:focus-visible{outline:3px solid #a34d76;outline-offset:5px}.container{max-width:1140px}.sample{text-align:center;font-size:11px;background:#f5dfe9;padding:6px 12px;color:#654f68}.site-header{display:flex;justify-content:space-between;align-items:center;padding-top:28px;padding-bottom:22px;border-bottom:1px solid var(--line)}.brand{font-size:23px}.brand span{color:var(--gold);margin-right:12px}nav{display:flex;gap:32px;font-size:13px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;min-height:710px;padding-top:55px;padding-bottom:60px}.hero-art{order:2;text-align:center}.arch{height:525px;position:relative;background:#dae6f6;border-radius:240px 240px 8px 8px;box-shadow:inset 0 0 0 12px var(--paper),inset 0 0 0 13px #b58da9;overflow:hidden}.arch:before{content:'';position:absolute;inset:34px;border:1px solid #cbd7eb;border-radius:220px 220px 0 0}.arch img{width:100%;height:100%;position:relative;object-fit:contain}.seal{position:absolute;top:43%;left:calc(50% - 60px);width:120px;height:120px;border-radius:50%;background:#fff4faed;border:1px solid #c291af;display:flex;flex-direction:column;justify-content:center;font-size:28px;color:#7a4261;transform:rotate(-9deg);box-shadow:0 8px 30px #3b456912}.seal small{font-size:11px}.art-caption{display:inline-block;position:relative;background:var(--paper);padding:0 22px;top:-17px;font-size:12px;letter-spacing:2px}.hero-copy{text-align:center}.eyebrow{font-size:12px;letter-spacing:1px;color:var(--gold);margin-bottom:22px}.invitation{font-size:14px;color:var(--muted)}h1{display:flex;align-items:center;justify-content:center;gap:18px;font-size:clamp(50px,6vw,84px);font-weight:400;margin:32px 0 26px;line-height:1.6}h1 em{font-size:32px;color:var(--gold);font-style:normal}.fine-line{width:90px;height:1px;background:var(--gold);margin:0 auto 27px}.intro{font-size:15px;line-height:2.3}.hero-date{font-size:14px;margin:24px 0}.btn{border-radius:3px;padding:12px 24px;font-size:13px;line-height:1.8}.btn-olive{background:var(--olive);color:white;border:1px solid var(--olive)}.btn-olive:hover,.btn-olive:focus{background:#294772;color:white}.btn-olive span{margin-right:25px}.btn-outline-olive{border:1px solid var(--olive);color:var(--olive)}.btn-outline-olive:hover{background:#dce7f8}.more{display:block;margin-top:20px;font-size:12px;color:var(--muted)}.count-section{text-align:center;background:#dce8f8;padding:45px 0 28px;border-block:1px solid #c1d1e9}h2{font-size:30px;font-weight:400;line-height:1.8;margin:14px 0 20px}.count-section h2{font-size:22px}.count-section .eyebrow{margin:0}.countdown{display:flex;direction:rtl;align-items:center;justify-content:center;gap:32px;margin-top:24px}.countdown div{min-width:70px}.countdown b{display:block;font-size:42px;font-weight:400;line-height:1.6;font-variant-numeric:tabular-nums}.countdown span{font-size:11px;color:var(--muted)}.countdown i{font-size:25px;color:#8b9dbb;font-style:normal}.section-space{padding-top:85px;padding-bottom:85px}.section-heading{text-align:center}.section-number{font-size:11px;letter-spacing:1px;color:var(--gold)}.section-heading p,.muted{color:var(--muted);font-size:13px}.details-row{margin-top:35px}.detail{text-align:center;padding:12px 25px;height:100%;border-inline-end:1px solid var(--line)}.details-row>div:last-child .detail{border:0}.detail-icon{font-size:34px;color:var(--gold)}h3{font-size:18px;font-weight:400;margin:15px 0}.detail p{font-size:14px}.detail small{font-size:12px;color:var(--muted)}.text-button{border:0;border-bottom:1px solid #c292ae;background:none;font-size:12px;padding:3px 0;color:var(--olive)}.quote-section{text-align:center;padding:50px 15px;background:#f8e3ed}.quote-section>span{font-size:40px;color:var(--gold)}blockquote{font-size:26px;line-height:2.1;margin:12px 0}.quote-section p{font-size:11px;color:var(--muted)}.venue-title{margin-top:25px}.location-art{height:320px;border:8px solid #d0ddef;position:relative;background:repeating-linear-gradient(35deg,#e1eafa 0,#e1eafa 50px,#cad9ef 50px,#cad9ef 53px);overflow:hidden}.road{position:absolute;background:#fff4fa;border:1px solid #b8c9e1;height:30px;width:140%;left:-20%}.road-one{top:100px;transform:rotate(-27deg)}.road-two{top:180px;transform:rotate(38deg)}.road-three{top:240px;transform:rotate(-10deg)}.map-label{position:absolute;inset:60px 15% auto;text-align:center;background:#fff8fcf2;padding:20px;box-shadow:0 6px 25px #3b456920}.map-label span,.map-label strong,.map-label small{display:block}.map-label span{font-size:30px;color:var(--gold)}.map-label strong{font-size:16px;font-weight:400}.map-label small{font-size:10px;color:var(--muted)}.location-art>p{position:absolute;bottom:0;background:#f5f8ffed;margin:0;width:100%;font-size:10px;text-align:center;padding:6px}.rsvp-section{background:#f5e4ee;padding:75px 0}.rsvp-section h2{font-size:34px}.rsvp-section p{font-size:14px}.rsvp-flower{font-size:90px;color:#c791b0;line-height:1.5}.form-note{border-right:2px solid var(--gold);padding-right:12px;color:#654f68;font-size:12px!important}.form-label{font-size:12px}.form-control,.form-select{background-color:#fcfaff;border:1px solid #c6bad0;border-radius:3px;min-height:46px;color:var(--ink);font-size:14px}.form-control:focus,.form-select:focus{background-color:#ffffff;border-color:var(--olive);box-shadow:0 0 0 3px #385d9122}.consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;margin:20px 0}.consent input{margin-top:5px;accent-color:var(--olive)}footer{padding-top:45px;padding-bottom:100px;text-align:center}footer p{font-size:25px;margin:0}.heart{color:var(--gold);padding:0 14px}footer small{font-size:11px;color:var(--muted)}footer>a{display:block;font-size:11px;margin-top:20px}.music-toggle{position:fixed;bottom:22px;left:24px;background:#fff4fa;border:1px solid #d4b4ca;border-radius:40px;padding:10px 18px;box-shadow:0 5px 20px #3b456912;display:flex;gap:10px;align-items:center;z-index:10;color:var(--ink);font-size:11px}.music-toggle>span:first-child{font-size:21px}.music-toggle[aria-pressed=true]{background:var(--olive);color:#fff}.skip{position:absolute;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}.noscript{padding:20px;background:#e2eafb}.hero-copy{animation:arrive 1s ease both}.hero-art{animation:arrive 1.2s ease both}@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){.container{padding-inline:22px}.site-header{padding-block:20px}.brand{font-size:18px}nav{gap:16px;font-size:11px}.hero{grid-template-columns:1fr;gap:20px;padding-top:35px;padding-bottom:45px}.hero-art{order:0}.arch{height:290px;max-width:285px;margin:auto}.arch img{transform:scale(1.1)}.seal{transform:scale(.75) rotate(-9deg);top:34%}.art-caption{font-size:10px}.hero-copy{order:1}h1{margin:15px 0;font-size:60px}.eyebrow{margin-bottom:12px}.hero-date{margin:18px 0}.countdown{gap:10px}.countdown div{min-width:55px}.countdown b{font-size:32px}.count-section h2{font-size:18px}.section-space{padding-block:55px}h2{font-size:26px}.detail{border-inline-end:0;border-bottom:1px solid var(--line);padding-bottom:28px}.details-row{margin-top:15px}blockquote{font-size:22px}.rsvp-section{padding:50px 0}.rsvp-section h2{font-size:28px}.rsvp-flower{display:none}.music-toggle{left:14px;bottom:14px}.location-art{height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Portrait: preserve the entire photograph and keep faces clear of the frame. */
.arch.portrait-frame{height:auto;aspect-ratio:2/3;max-width:400px;margin-inline:auto;border-radius:190px 190px 6px 6px;box-shadow:0 14px 44px #3b456918;border:1px solid #c392b0;padding:7px;background:#f3dfe9}
.arch.portrait-frame:before{display:none}
.arch.portrait-frame .couple-portrait{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit;transform:none}
@media(max-width:767px){.arch.portrait-frame{max-width:310px}.hero-art{margin-bottom:4px}}


/* Twenty-second opening celebration; never blocks the invitation controls. */
.opening-celebration{position:fixed;inset:0;z-index:30;overflow:hidden;pointer-events:none;contain:strict}
.celebration-flake{position:absolute;left:var(--x);top:var(--start);width:var(--size);height:var(--size);border-radius:50%;background:var(--color);box-shadow:0 0 3px #5274a333;opacity:0;animation:celebration-fall 20s linear both;will-change:transform,opacity}
.celebration-flake:nth-child(3n){border-radius:2px;height:calc(var(--size)*1.6)}
@keyframes celebration-fall{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}12%{opacity:.95}72%{opacity:.85}100%{opacity:0;transform:translate3d(var(--drift),135vh,0) rotate(var(--turn))}}
@media(prefers-reduced-motion:reduce){.opening-celebration{display:none}.celebration-flake{animation:none}}




/* Smaller surnames below the couple’s first names. */
.person-name{display:inline-flex;flex-direction:column;align-items:center;gap:3px}.person-name small{font-size:17px;line-height:1.8;color:var(--muted);font-weight:400;white-space:nowrap}#hero-title{align-items:center}@media(max-width:767px){.person-name small{font-size:14px}}

/* Wedding calligraphy; information and form fields retain their readable local font. */
:root{--calligraphy:"Noto Nastaliq Urdu",Vazirmatn,Tahoma,serif}
#hero-title{font-family:var(--calligraphy);font-size:clamp(48px,5.7vw,70px);font-weight:400;line-height:2.5;gap:30px;margin:12px 0 34px;overflow:visible}
#hero-title .person-name{gap:0;min-width:0}
#hero-title .person-name>span{display:block;padding:0 7px}
#hero-title .person-name small{font-family:Vazirmatn,Tahoma,sans-serif;font-size:14px;line-height:2;margin-top:5px;color:var(--gold)}
#hero-title em{font-family:var(--calligraphy);font-size:26px;align-self:center}
.brand{font-family:var(--calligraphy);font-size:24px;line-height:2.3}
.section-heading h2,.rsvp-section h2,blockquote{font-family:var(--calligraphy);font-weight:400;font-size:27px;line-height:2.6}
.rsvp-section h2{font-size:29px}
.section-heading h2{margin-bottom:24px}
.hero-copy .eyebrow{font-family:var(--calligraphy);font-size:17px;line-height:2.6;letter-spacing:0}
@media(max-width:767px){#hero-title{font-size:51px;gap:18px;line-height:2.6;margin-bottom:28px}#hero-title .person-name small{font-size:12px}#hero-title em{font-size:22px}.brand{font-size:20px}.section-heading h2,.rsvp-section h2,blockquote{font-size:23px;line-height:2.6}}
@media(max-width:359px){#hero-title{font-size:43px;gap:12px}}



.guest-dedication{margin:18px 0 22px;padding:16px 20px;border-block:1px solid var(--line);text-align:center;overflow-wrap:anywhere}.guest-dedication p{margin:0}.guest-dedication>p:first-child{font-size:21px;color:var(--ink);line-height:2}.guest-companions{font-size:14px;color:var(--muted);line-height:2}.reception-note{color:var(--gold);font-size:16px;margin:12px 0 22px}@media(max-width:767px){.guest-dedication>p:first-child{font-size:18px}}
