@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/cormorant-garamond.woff2") format("woff2");}
@font-face{font-family:"Great Vibes";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/great-vibes.woff2") format("woff2");}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/manrope.woff2") format("woff2");}
@font-face{font-family:"Noto Serif Kannada";font-style:normal;font-weight:400 600;font-display:swap;src:url("fonts/noto-serif-kannada.woff2") format("woff2");}

:root{--ivory:#faf7ef;--ivory-deep:#f2ead9;--green:#304d3d;--green-light:#5e7865;--gold:#b9975b;--gold-light:#d9c28d;--brown:#40362c;--brown-light:#766b5d;--white:#fffdf8;--line:rgba(185,151,91,.35);--shadow:rgba(45,39,29,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--brown);font-family:Manrope,Arial,sans-serif}
body.lock{overflow:hidden;height:100vh;height:100svh;position:fixed;width:100%}
button,input,select,textarea{font-family:inherit}
h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:500}
h1{font-size:clamp(58px,13vw,125px);line-height:.82;letter-spacing:-2px;margin:25px 0}
h2{font-size:clamp(42px,8vw,72px);line-height:.95;margin:15px 0}
h3{font-size:29px;margin:8px 0;color:var(--green)}
p{line-height:1.7}
.container{width:min(100%,1000px);position:relative;z-index:5;text-align:center}
.eyebrow{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--green-light);font-weight:600}
.script{font-family:"Great Vibes",cursive;font-size:clamp(38px,7vw,68px);color:var(--gold);line-height:1.15}
.kannada{font-family:"Noto Serif Kannada",serif;font-size:14px;letter-spacing:2px;color:var(--green)}
.date{font-family:"Cormorant Garamond",serif;font-size:25px;letter-spacing:5px;color:var(--green)}
.muted{font-family:"Cormorant Garamond",serif;font-size:20px;line-height:1.7;color:var(--brown-light)}
.green{color:var(--green)}.gold{color:var(--gold)}
section{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:100px 20px;position:relative;overflow:hidden}
.hero{background:var(--ivory)}.soft{background:#f5f0e5}.white{background:var(--white)}
.green-section{background:var(--green);color:#f9f5e9}.green-section h2,.green-section h3{color:#fffaf0}.green-section .muted{color:#e4dfd0}
.texture{background-image:radial-gradient(rgba(185,151,91,.10) 1px,transparent 1px);background-size:28px 28px}
.top-line{position:absolute;top:30px;left:7%;right:7%;height:1px;background:var(--line)}.bottom-line{position:absolute;bottom:30px;left:7%;right:7%;height:1px;background:var(--line)}
.mandala{position:absolute;width:min(620px,100vw);height:min(620px,100vw);border:1px solid rgba(185,151,91,.18);border-radius:50%;z-index:1}
.mandala:before{content:"";position:absolute;inset:9%;border:1px solid rgba(185,151,91,.12);border-radius:50%}
.mandala:after{content:"✦";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:18px;color:var(--gold)}
.ornament{display:flex;align-items:center;justify-content:center;gap:12px;width:180px;margin:28px auto}.ornament:before,.ornament:after{content:"";height:1px;flex:1;background:var(--gold-light)}.ornament span{color:var(--gold);font-size:12px}
.card{background:rgba(255,253,248,.9);border:1px solid var(--line);border-radius:2px;padding:40px 30px;box-shadow:0 25px 60px var(--shadow)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin-top:30px}.tile{padding:25px 18px;border:1px solid var(--line);background:rgba(250,247,239,.7)}.tile .ico{font-size:26px;margin-bottom:8px;filter:grayscale(.2)}
.btn{border:1px solid var(--green);border-radius:30px;padding:13px 22px;margin:6px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:10px;letter-spacing:1px;cursor:pointer;background:var(--green);color:white;transition:.3s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.10)}.btn.gold-btn{background:var(--gold);border-color:var(--gold);color:white}.btn.light{background:transparent;color:var(--green)}
.divider{width:150px;height:1px;margin:28px auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.count{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:35px 0}.unit{min-width:86px;padding:17px 10px;border:1px solid var(--line);background:var(--white)}.unit b{display:block;font:500 34px "Cormorant Garamond";color:var(--green)}.unit span{font-size:8px;letter-spacing:2px;color:var(--brown-light)}
.timeline{max-width:760px;margin:35px auto;text-align:left}.tlitem{border-left:1px solid var(--gold);padding:0 0 35px 28px;margin-left:15px;position:relative}.tlitem:before{content:"";position:absolute;left:-5px;top:2px;width:9px;height:9px;border-radius:50%;background:var(--gold)}.tlitem:last-child{padding-bottom:0}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}.photo{height:300px;overflow:hidden;border:1px solid var(--line);background:#eee7d7;display:flex;align-items:center;justify-content:center;font:21px "Cormorant Garamond";color:#817564}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.photo:hover img{transform:scale(1.03)}
input,select,textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:2px;margin:6px 0 15px;background:white;font-size:13px;color:var(--brown)}textarea{min-height:100px}label{font-size:10px;letter-spacing:1px;color:var(--green)}
nav{position:fixed;z-index:40;top:14px;left:50%;transform:translateX(-50%);padding:5px;border:1px solid var(--line);border-radius:30px;background:rgba(255,253,248,.92);backdrop-filter:blur(12px);display:flex;gap:2px;box-shadow:0 8px 25px rgba(0,0,0,.06)}nav a{font-size:9px;color:var(--green);text-decoration:none;padding:9px 11px;border-radius:20px;transition:.25s}nav a:hover{background:var(--green);color:white}
.float{position:fixed;z-index:40;bottom:18px;width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);background:var(--white);color:var(--green);box-shadow:0 8px 25px rgba(0,0,0,.12);cursor:pointer}.music{right:18px}.share{left:18px}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .9s ease,transform .9s ease}.reveal.show{opacity:1;transform:none}
#splash{position:fixed;inset:0;z-index:100;background:linear-gradient(135deg,#faf7ef,#eee3cd);display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;transition:opacity .8s ease,visibility .8s ease;touch-action:none;overscroll-behavior:none}
.splash-logo{width:245px;height:245px;object-fit:contain;display:block;margin:0 auto 20px;filter:drop-shadow(0 8px 15px rgba(80,65,35,.10))}
footer{padding:55px 20px;background:var(--green);color:#eee7d8;text-align:center}footer .script{color:var(--gold-light)}
.rsvp-card{max-width:560px;margin:auto;text-align:left}.loved-ones{text-align:center}.closing-title{font-size:clamp(48px,10vw,90px)}
@media(max-width:600px){section{padding:90px 16px}nav a{padding:9px 8px;font-size:8px}nav a:nth-child(n+5){display:none}.gallery{grid-template-columns:1fr}.photo{height:280px}h1{font-size:clamp(54px,16vw,90px)}.card{padding:32px 18px}.unit{min-width:75px}.splash-logo{width:300px;height:300px;margin-bottom:18px}#splash{padding:20px}#splash h2{font-size:44px}#splash .muted{font-size:18px;margin-top:10px;margin-bottom:18px}}
