:root{--bg:#f5f0e8;--bg-accent:#ece2d2;--text:#2b1e10;--muted:#8a7355;--primary:#8b6914;--primary-2:#8b1a1a;--gold-lt:#c9a84c;--ink-light:#5a3e28;--ring:rgba(139,105,20,0.25);--card:rgba(43,30,16,0.035);--border:rgba(43,30,16,0.12)}*{box-sizing:border-box}html,body{height:100%}html{scrollbar-gutter:stable both-edges}body{margin:0;background:radial-gradient(60% 50% at 50% 0%,rgba(139,105,20,6%),transparent 60%),linear-gradient(180deg,var(--bg),var(--bg-accent));background-attachment:fixed,fixed;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,helvetica neue,Arial,noto sans,apple color emoji,segoe ui emoji;line-height:1.6;font-size-adjust:.52}.page,.hero,.section,.footer{position:relative;z-index:2}.hearts{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:1;opacity:.3;mix-blend-mode:multiply}.hearts span{position:absolute;bottom:-10vh;left:var(--x);color:var(--primary-2);filter:drop-shadow(0 2px 4px rgba(139,26,26,.2));animation:rise var(--dur,18s)linear infinite;animation-delay:var(--delay,0s);transform:translate3d(0,0,0);will-change:transform,opacity}.hearts span::before{content:'❤';font-size:var(--size,18px)}@keyframes rise{0%{transform:translateY(0)translateX(0)scale(.9);opacity:0}10%{opacity:.9}100%{transform:translateY(-120vh)translateX(var(--drift,0px))scale(1.2);opacity:0}}.container{width:min(1100px,92%);margin:0 auto}.muted{color:var(--muted)}.cta-row{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);text-decoration:none;font-weight:600;transition:transform .12s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-1px);border-color:var(--ring);box-shadow:0 0 0 6px var(--ring)}.btn.primary{background:linear-gradient(90deg,var(--primary),var(--primary-2));border-color:transparent}.btn.ghost{background:0 0}.countdown{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));gap:.75rem;width:min(700px,96%);margin:2rem auto 0;text-align:center}.countdown .segment{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1rem}.countdown .num{display:block;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.countdown .label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.section{padding:3.5rem 0}.details.section{padding-top:5rem}.section-title{font-family:playfair display,Georgia,serif;font-size:clamp(1.6rem,3.5vw,2.1rem);margin:0 0 1.25rem}.sub{margin:0 0 .5rem;color:var(--text);font-weight:700}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.venue-text{color:var(--text);opacity:.92}.chip-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.chip{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:.4rem .75rem;text-decoration:none;cursor:pointer}.chip:hover{border-color:var(--ring);box-shadow:0 0 0 4px var(--ring)}.families-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.families-grid ul{list-style:none;padding:0;margin:0}.families-grid li{padding:.4rem 0;border-bottom:1px dashed var(--border)}.footer{padding:2.5rem 0;color:var(--muted);text-align:center}.om-wrap{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin-bottom:.75rem}.ganesha-logo{width:360px;height:auto;display:block;filter:drop-shadow(0 6px 20px rgba(43,30,16,.18))}.om-text{font-weight:700;letter-spacing:.06em;color:var(--text);opacity:.9}@media(max-width:720px){.details-grid,.families-grid{grid-template-columns:1fr}.countdown{grid-template-columns:repeat(2,1fr)}.details.section{padding-top:4rem}}.page.slideshow{position:relative;height:100vh;height:100svh;overflow:hidden}.slides-track{display:flex;height:100%;transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform;touch-action:pan-y}.slides-track>.slide{flex:0 0 100%;width:100%;height:100%;overflow-y:auto;padding:2.5rem 0 2.75rem}.slide-nav{position:fixed;top:50%;transform:translateY(-50%);z-index:20;width:44px;height:44px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:1.4rem;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);transition:transform .12s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease}.slide-nav.prev{left:1rem}.slide-nav.next{right:1rem}.slide-nav:hover:not(:disabled){transform:translateY(-50%)translateY(-1px);border-color:var(--ring);box-shadow:0 0 0 6px var(--ring)}.slide-nav:disabled{opacity:.3;cursor:default}.slide-dots{position:fixed;top:calc(1rem + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:20;display:flex;gap:.5rem}.slide-dots .dot{width:9px;height:9px;padding:0;border-radius:999px;border:1px solid var(--border);background:var(--card);cursor:pointer;transition:width .2s ease,background .2s ease,border-color .2s ease}.slide-dots .dot.active{width:22px;background:linear-gradient(90deg,var(--primary),var(--primary-2));border-color:transparent}@media(max-width:640px){.slide-nav{width:38px;height:38px;font-size:1.2rem}.slide-nav.prev{left:.5rem}.slide-nav.next{right:.5rem}}.slide{position:relative;isolation:isolate;display:grid;align-content:center;align-content:safe center;justify-items:center;min-height:100%}.slide::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(60% 50% at 50% 0%,rgba(139,105,20,5%),transparent 60%);pointer-events:none}.slide .container{position:relative;z-index:1}.slide-om .ganesha-logo{width:clamp(120px,22vw,220px)}.slide-om .om-text{font-family:noto serif devanagari,playfair display,Georgia,serif;font-weight:800;font-size:clamp(1.2rem,4vw,2.2rem);letter-spacing:.02em;color:#ff4f00;text-shadow:0 6px 30px rgba(255,79,0,.25)}.countdown-sticky{position:fixed;left:0;right:0;bottom:0;z-index:10;background:linear-gradient(180deg,rgba(245,240,232,0),rgba(245,240,232,.85) 16%,rgba(245,240,232,.97));backdrop-filter:blur(6px);border-top:1px solid var(--border);padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom))}.countdown-sticky-inner{width:min(900px,96%);margin:0 auto;display:grid;grid-template-columns:repeat(4,max-content);gap:.75rem;align-items:center;justify-content:center}.countdown-sticky .piece{display:grid;grid-template-columns:max-content max-content;gap:.35rem;align-items:baseline;background:rgba(255,255,255,.55);border:1px solid var(--border);padding:.35rem .6rem;border-radius:999px}.countdown-sticky .num{color:var(--primary-2);font-weight:800;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.countdown-sticky .label{color:var(--ink-light);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}@media(max-width:720px){.countdown-sticky-inner{gap:.5rem}.countdown-sticky .piece{padding:.3rem .5rem}}.made-with-love{font-size:.9rem;color:var(--muted);text-align:center;margin-top:2rem}.invitation-card{width:min(560px,92%);margin:0 auto;background:rgba(255,255,255,.55);border:1px solid var(--border);border-radius:18px;padding:clamp(1.25rem,4vw,2.25rem);box-shadow:0 10px 40px rgba(43,30,16,.12),inset 0 0 0 1px rgba(255,255,255,.6);text-align:center}.invite-card{position:relative;width:min(440px,92vw);margin:0 auto;background:var(--bg);padding:2.6rem 1.5rem 2rem;display:flex;flex-direction:column;align-items:center;font-family:cormorant garamond,Georgia,serif;color:var(--text);box-shadow:0 14px 50px rgba(43,30,16,.2);border-radius:6px;--pt:clamp(0.78px, 0.4px + 0.125vw, 1px)}.invite-card::before{content:'';position:absolute;inset:.55rem;border:1.5px solid var(--primary);pointer-events:none}.invite-card::after{content:'';position:absolute;inset:.8rem;border:.5px solid var(--gold-lt);pointer-events:none}.corner{position:absolute;width:26px;height:26px;z-index:2}.corner svg{width:100%;height:100%}.corner.tl{top:.45rem;left:.45rem}.corner.tr{top:.45rem;right:.45rem;transform:scaleX(-1)}.corner.bl{bottom:.45rem;left:.45rem;transform:scaleY(-1)}.corner.br{bottom:.45rem;right:.45rem;transform:scale(-1,-1)}.deity-block{text-align:center;margin-bottom:.6rem}.deity-name{font-family:cinzel,serif;font-size:calc(10 * var(--pt));font-weight:500;letter-spacing:.12em;color:var(--primary-2);text-transform:uppercase}.rule{width:80%;height:1px;background:linear-gradient(to right,transparent,var(--primary),transparent);margin:.6rem auto;flex-shrink:0}.rule-double{width:74%;position:relative;margin:.6rem auto;flex-shrink:0}.rule-double::before,.rule-double::after{content:'';display:block;height:1px}.rule-double::before{background:linear-gradient(to right,transparent,var(--primary),transparent)}.rule-double::after{background:linear-gradient(to right,transparent,var(--gold-lt),transparent);margin-top:3px}.from-block{text-align:center;margin-bottom:.5rem}.from-small{font-size:calc(9 * var(--pt));font-weight:600;letter-spacing:.03em;color:var(--ink-light)}.from-main{font-family:cinzel,serif;font-size:calc(12 * var(--pt));font-weight:500;letter-spacing:.06em;color:var(--text);margin-top:.25rem}.invite-copy{font-size:calc(9 * var(--pt));font-style:italic;letter-spacing:.02em;color:var(--ink-light);line-height:1.55;text-align:center}.from-cordial{margin-top:.4rem}.couple{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.5rem 0;width:100%}.person{text-align:center;flex:1;min-width:0}.person-prefix{font-size:calc(9 * var(--pt));font-style:italic;color:var(--ink-light);display:block;margin-bottom:.3rem}.person-name{font-family:mea culpa,cursive;font-size:calc(28 * var(--pt));line-height:1.15;margin-bottom:.8rem;color:var(--primary-2);display:block;overflow-wrap:break-word}.person-parents{font-size:calc(7.5 * var(--pt));color:var(--ink-light);display:block;margin-top:2px;line-height:1.4}.ampersand{font-family:mea culpa,cursive;font-size:calc(22 * var(--pt));color:var(--primary);flex-shrink:0;margin-top:-.3rem}.events{display:flex;align-items:flex-start;justify-content:space-between;width:100%;gap:.4rem;margin-top:.5rem}.event-block{flex:1;text-align:center}.event-label{font-family:cinzel,serif;font-size:calc(7 * var(--pt));letter-spacing:.13em;text-transform:uppercase;color:var(--primary);margin-bottom:4px}.event-date{font-size:calc(9 * var(--pt));font-weight:600;color:var(--text);line-height:1.4}.event-time{font-size:calc(9.5 * var(--pt));color:var(--primary-2);font-weight:700;letter-spacing:.02em}.event-venue{font-size:calc(8 * var(--pt));color:var(--ink-light);line-height:1.5;margin-top:3px}.qr-col{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px}.qr-link{display:inline-block;text-decoration:none;border-radius:4px;transition:transform .12s ease,box-shadow .2s ease}.qr-link:hover,.qr-link:focus-visible{transform:translateY(-1px);box-shadow:0 0 0 4px var(--ring);outline:none}#qrcode canvas,#qrcode img{border:1.5px solid var(--gold-lt) !important;padding:3px !important;background:#fff !important;display:block}.qr-label{font-size:calc(7 * var(--pt));color:var(--ink-light);letter-spacing:.05em;text-align:center}.compliments{text-align:center;margin-top:.8rem;width:100%}.comp-heading{font-family:cinzel,serif;font-size:calc(7.5 * var(--pt));letter-spacing:.13em;text-transform:uppercase;color:var(--primary);margin-bottom:4px}.comp-line{font-size:calc(8 * var(--pt));color:var(--ink-light);line-height:1.7}.invite-card .cta-row{margin-top:1.2rem}.invite-card .btn{font-size:calc(9 * var(--pt));padding:.55rem 1.3rem}.invite-card .made-with-love{margin-top:1rem}.rsvp-card .section-title{text-align:center}.rsvp-card>.muted{text-align:center;margin-bottom:1.5rem}.rsvp-form{display:grid;gap:1.1rem;max-width:420px;margin:0 auto;text-align:left}.rsvp-field{display:grid;gap:.4rem;font-weight:600;color:var(--text)}.rsvp-field input[type=text],.rsvp-field input[type=number]{font:inherit;padding:.65rem .9rem;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.6);color:var(--text)}.rsvp-field input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 4px var(--ring)}.rsvp-radio-group{border:none;padding:0;margin:0;display:grid;gap:.4rem}.rsvp-radio-group legend{font-weight:600;padding:0;margin-bottom:.2rem}.rsvp-radio-group label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.rsvp-submit{width:100%;margin-top:.25rem}