:root{--paper:#faf6ee;--ink:#423d34;--muted:#777063;--gold:#896e42;--line:#dacdb6;--rose:#c8938b;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:#e7c8b1}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1}h2{font-size:clamp(38px,5vw,60px)}.punjabi{font-family:'Noto Sans Gurmukhi',sans-serif;font-size:14px;line-height:1.9}.sanskrit{font-family:'Noto Serif Devanagari',serif}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:8px;left:8px;padding:12px;background:var(--paper);z-index:20;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{position:absolute;top:0;width:100%;z-index:10;padding:23px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(137,110,66,.13)}.monogram{font-family:var(--serif);font-size:30px;letter-spacing:-2px;color:var(--gold)}.monogram span{font-style:italic;font-size:21px;margin:0 5px}.site-header nav{display:flex;gap:35px}.site-header nav a{font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:8px 0}.site-header nav a:hover{color:var(--gold)}.menu-toggle{display:none;background:none;border:0;padding:12px}.menu-toggle span{display:block;width:23px;height:1px;background:var(--ink);margin:6px 0}.hero{position:relative;min-height:850px;min-height:max(850px,100svh);display:grid;place-items:center;overflow:hidden;padding:145px 24px 120px;background:radial-gradient(ellipse at 50% 40%,#fffdf7 10%,#faf6ee 65%,#f1e7da)}.hero-border{position:absolute;top:114px;bottom:79px;left:50%;transform:translateX(-50%);width:min(690px,77%);border:1px solid var(--line);border-radius:350px 350px 3px 3px}.hero-border:after{content:'';position:absolute;inset:12px;border:1px solid #e6dbca;border-radius:inherit}.botanical{position:absolute;bottom:35px;width:clamp(190px,29vw,435px);height:auto;pointer-events:none}.botanical-left{left:-25px;transform:rotate(-9deg)}.botanical-right{right:-25px;transform:scaleX(-1) rotate(-9deg)}.hero-content{z-index:1;text-align:center;position:relative;max-width:750px}.hero-ornament{color:var(--gold);font-size:27px;margin-bottom:19px}.eyebrow{font-size:10px;letter-spacing:3px;line-height:1.7;color:var(--gold);font-weight:500}.hero-punjabi{color:var(--muted);font-size:12px;margin-top:10px}.hero h1{font-size:clamp(65px,8.5vw,112px);margin:24px 0 15px;letter-spacing:-3px;display:flex;flex-direction:column;line-height:.88}.ampersand{font-size:54px;font-style:italic;color:var(--rose);margin:13px 0 17px}.hero-tagline{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--muted);margin:28px 0}.date-line{display:flex;gap:19px;align-items:center;justify-content:center}.date-line>span{height:1px;width:33px;background:var(--line)}.date-line p{font-family:var(--serif);font-size:27px}.date-line i{font-style:normal;margin:0 4px}.button{display:inline-flex;gap:30px;justify-content:center;align-items:center;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-size:10px;letter-spacing:1.8px;text-transform:uppercase;padding:17px 25px;transition:background .25s,transform .25s}.button:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}.hero .button{margin-top:29px}.button span{font-size:17px;line-height:1}.scroll-cue{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);gap:5px;white-space:nowrap}.scroll-cue span{font-size:19px}.hero-side-note{position:absolute;left:31px;top:210px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:var(--muted)}.section{padding:100px 6%;text-align:center}.blessing{max-width:1200px;margin:auto}.lotus{width:68px;height:48px;color:var(--gold);margin-bottom:20px}.invocation{font-size:23px;line-height:1.8;margin:19px 0 22px;color:var(--gold)}.shlok{font-size:clamp(19px,2.3vw,26px);line-height:2;color:var(--ink)}.blessing-translation{font-size:13px;line-height:1.9;color:var(--muted);margin-top:20px}.blessing-translation.punjabi{font-size:12px;margin-top:15px}.fine-rule{display:flex;align-items:center;gap:19px;max-width:500px;margin:70px auto;color:var(--gold)}.fine-rule:before,.fine-rule:after{content:'';height:1px;background:var(--line);flex:1}.family-invitation h2{font-size:clamp(35px,4vw,50px);margin-top:18px}.section-subtitle{color:var(--gold);margin-top:15px}.family-grid{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:15px;margin:48px auto 36px;max-width:900px}.family-grid h3{font-size:52px}.relationship{font-size:11px;color:var(--muted);margin:15px 0 6px}.parents{font-family:var(--serif);font-size:23px}.parents span{color:var(--gold)}.family-ampersand{font-family:var(--serif);font-size:54px;font-style:italic;color:var(--rose)}.invitation-copy{font-size:13px;line-height:1.9;color:var(--muted)}.invitation-copy.punjabi{font-size:12px;margin:17px auto 0;max-width:760px}.countdown-section{position:relative;overflow:hidden;background:#ece5d7;border-top:1px solid #ded3c1;border-bottom:1px solid #ded3c1}.countdown-content{position:relative}.countdown-watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--serif);font-size:clamp(220px,40vw,580px);color:#e2d8c5;white-space:nowrap;pointer-events:none;line-height:1}.countdown-section h2{margin-top:15px}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:25px;margin:44px 0 31px}.countdown>div{min-width:95px}.countdown-number{display:block;font-family:var(--serif);font-size:clamp(54px,7vw,86px);line-height:1.1;color:var(--gold);font-variant-numeric:tabular-nums}.countdown-label{display:block;font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-top:10px}.countdown-label span{display:block;font-family:'Noto Sans Gurmukhi',sans-serif;letter-spacing:0;font-size:11px;margin-top:4px;color:var(--muted)}.countdown-separator{font-family:var(--serif);font-size:42px;color:#b6a384;margin-top:10px}.wedding-date{font-family:var(--serif);font-size:28px;margin-bottom:5px}.countdown-section>.punjabi{color:var(--muted)}.countdown-message{font-family:var(--serif);font-size:20px;font-style:italic;margin-top:17px;color:var(--muted)}.button-light{background:transparent;color:var(--ink);border-color:#b8a789;margin-top:27px}.button-light:hover{color:var(--paper)}.section-heading h2{margin-top:17px}.section-intro{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--muted);margin-top:23px}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;max-width:1160px;margin:50px auto 0;text-align:left}.event-card{--tone:#f2e5df;--accent:#9e7168;position:relative;background:var(--tone);border:1px solid rgba(137,110,66,.15);padding:30px 30px 25px;overflow:hidden;transition:transform .25s,box-shadow .25s}.event-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #423d340b}.event-card:after{content:'';position:absolute;right:-46px;top:-43px;width:185px;height:185px;border:1px solid currentColor;opacity:.07;border-radius:50%;pointer-events:none}.event-card[data-tone=plum]{--tone:#ede5ec;--accent:#866a85}.event-card[data-tone=saffron]{--tone:#f5ecd4;--accent:#9d813f}.event-card[data-tone=sage]{--tone:#e8ecdf;--accent:#718064}.event-card[data-tone=sand]{--tone:#eee7db;--accent:#918165}.event-top{display:flex;align-items:center;justify-content:space-between;height:50px;color:var(--accent);margin-bottom:28px}.event-number{font-family:var(--serif);font-style:italic;font-size:23px}.event-symbol{font-family:var(--serif);font-size:43px;line-height:1}.event-lotus{width:56px;height:42px}.event-kicker{font-size:8px;letter-spacing:1.9px;color:var(--accent);min-height:28px}.event-card h3{font-size:39px;margin-top:7px}.event-punjabi{font-size:14px;color:var(--accent);margin-top:8px}.event-copy{font-size:12px;line-height:1.85;color:var(--muted);margin-top:18px;min-height:68px}.event-details{border-top:1px solid rgba(137,110,66,.22);margin-top:22px;padding-top:17px;font-size:11px;color:var(--accent)}.event-details .punjabi{font-size:10px;margin-top:5px}.schedule-note{margin-top:35px;font-size:11px;color:var(--muted)}.schedule-note span{display:block;font-size:11px;margin-top:8px}footer{text-align:center;background:#42483c;color:#f4ebda;padding:73px 24px 45px}footer .lotus,footer .eyebrow{color:#d0b887}.footer-title{font-family:var(--serif);font-size:clamp(36px,5vw,56px);font-style:italic;margin:18px 0}footer .punjabi{font-size:12px;color:#ded9cc}.footer-names{font-family:var(--serif);font-size:30px;margin-top:42px}.footer-names i{color:#d0b887;margin:0 7px}.footer-date{font-size:9px;letter-spacing:3px;margin-top:7px;color:#d0b887}.music-player{position:fixed;right:24px;bottom:24px;z-index:12;display:flex;align-items:center;gap:12px}.music-player[hidden]{display:none}.music-caption{font-family:var(--serif);font-style:italic;background:var(--paper);padding:4px 13px;box-shadow:0 2px 12px #0001}.music-player button{width:49px;height:49px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--gold);font-size:24px;box-shadow:0 4px 20px #0001}.music-player button[aria-pressed=true]{background:var(--gold);color:var(--paper)}.toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%,15px);background:var(--ink);color:var(--paper);padding:10px 20px;font-size:12px;max-width:calc(100% - 40px);z-index:15;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s}.toast.visible{visibility:visible;opacity:1;transform:translate(-50%,0)}.reveal{opacity:1}.motion-enabled .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.motion-enabled .reveal.is-visible{opacity:1;transform:none}
@media(min-width:1500px){.botanical-left{left:calc(50% - 740px)}.botanical-right{right:calc(50% - 740px)}}
@media(max-width:1000px){.events-grid{grid-template-columns:repeat(2,1fr)}.hero-border{width:72%}.botanical{width:28vw;bottom:70px}.hero-side-note{display:none}.parents{font-size:21px}}
@media(max-width:640px){html{scroll-padding-top:25px}.site-header{padding:15px 23px}.monogram{font-size:27px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:24px;flex-direction:column;gap:14px;box-shadow:0 10px 20px #423d3408}.site-header nav.is-open{display:flex}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:790px;min-height:max(790px,100svh);padding:150px 25px 130px}.hero-border{top:104px;bottom:80px;width:87%}.hero h1{font-size:76px;letter-spacing:-2px}.ampersand{font-size:42px;margin:13px 0 16px}.hero-tagline{font-size:19px;margin-top:26px}.hero .eyebrow{font-size:8px;letter-spacing:2.5px}.hero-punjabi{font-size:10px}.date-line p{font-size:24px}.botanical{width:177px;bottom:15px;opacity:.8}.botanical-left{left:-58px;transform:rotate(-14deg)}.botanical-right{right:-58px;transform:scaleX(-1) rotate(-14deg)}.hero-content{max-width:100%}.hero .button{margin-top:25px}.section{padding:70px 24px}.family-grid{grid-template-columns:1fr;gap:20px;margin:35px auto}.family-grid h3{font-size:46px}.family-ampersand{font-size:40px;line-height:1}.parents{font-size:24px}.relationship{margin-top:10px}.fine-rule{margin:48px auto}.invitation-copy br{display:none}.countdown{gap:9px;margin-top:35px}.countdown>div{min-width:55px}.countdown-number{font-size:54px}.countdown-separator{font-size:25px;margin-top:11px}.countdown-label{font-size:8px;letter-spacing:1px}.countdown-label span{font-size:10px}.wedding-date{font-size:26px}.countdown-section h2{font-size:42px}.events-grid{grid-template-columns:1fr;gap:18px;margin-top:34px}.event-card{padding:26px 28px}.event-top{margin-bottom:21px}.event-copy{min-height:0}.event-kicker{min-height:0}.section-intro{font-size:20px}.music-player{right:16px;bottom:16px}.music-caption{display:none}.schedule-note{line-height:1.8}.shlok{font-size:18px}.invocation{font-size:21px}footer{padding:60px 24px 40px}}
@media(max-width:360px){.hero h1{font-size:65px}.hero-tagline{font-size:17px}.countdown{gap:6px}.countdown>div{min-width:48px}.countdown-number{font-size:47px}.shlok{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion-enabled .reveal{opacity:1;transform:none}}
