:root{--paper:#fbf5e8;--wine:#4b1425;--gold:#a77937;--ink:#483c35;--line:#d9c3a0}body{background:var(--paper);font-size:15px}header{background:#35121deF;backdrop-filter:blur(15px);border-bottom:1px solid #d1ac6350;color:#f4e5c4;padding:14px 6%;position:absolute;left:0;right:0}.monogram{color:#edce90}nav a{font-size:11px}nav a:hover{color:#e6c183}.hero{min-height:1000px;background:#2c0d19 url('mandap.webp') center/cover no-repeat;padding:130px 25px 100px;color:#f2e1bf;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero:before{inset:0;border:0;background:linear-gradient(90deg,#23091425,#23091425),linear-gradient(0deg,#230914 0%,transparent 22%,transparent 75%,#23091430);z-index:-1}.hero:after{inset:85px 30px 28px;border-color:#e2be7338;z-index:-1}.hero-content{width:min(720px,100%);padding:30px 20px;background:radial-gradient(ellipse,#290c18b5,transparent 72%)}.vine{display:none}.hero .telugu,.hero .eyebrow{color:#e8c988}.hero .blessing{font-size:12px}.hero .intro{color:#f3e2c6;font-size:13px;margin-bottom:25px}.hero .ornament{color:#edca87;font-size:32px}.hero h1{font-size:clamp(65px,7.5vw,108px);color:#fff2d3;line-height:.9;font-weight:400;letter-spacing:-.035em;margin:30px 0 20px;text-shadow:0 3px 30px #18040f}.hero h1 .dr{font-size:14px;letter-spacing:.3em;margin:20px 0 15px}.hero h1 small{font-size:45px;margin:14px;color:#d9b06b}.hero-telugu{font-size:17px;margin-top:30px}.hero-date{color:#f5dfb0;margin-top:30px}.hero-date span{border-color:#dab07166;font-size:10px}.hero-date strong{font-size:62px}.location{font-size:10px;color:#d8c6ad}.muhurtham{font:italic 19px 'Cormorant Garamond',serif;color:#efd9b0}.hero .button{background:#e7c58a;border-color:#e7c58a;color:#39101f}.hero .button.outline{background:#2b0c1750;color:#f3deba;border-color:#c49f65}.hero-bottom{position:absolute;bottom:48px;font-size:8px;letter-spacing:.28em;color:#d3b787}.button{border-radius:2px;transition:transform .2s,box-shadow .2s,background .2s;padding:14px 25px}.button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #35101b20}.reading-progress{position:fixed;top:0;left:0;height:3px;background:#d0a253;width:0;z-index:20}section{padding:110px 8%}.section-flower{color:var(--gold);font-size:60px;line-height:1.4;margin-bottom:22px}.invitation{max-width:1100px;background:radial-gradient(ellipse at center,#fffaf0,transparent)}.invitation>h2{font-size:38px;margin-top:25px}.invitation>p:not(.parents):not(.telugu){font:22px/1.7 'Cormorant Garamond';max-width:570px}.parents{font-size:29px}.couple{gap:60px;margin-top:60px}.couple>div{position:relative;padding:34px 20px;border:1px solid var(--line);border-radius:180px 180px 3px 3px;background:#fffaf155}.couple>div+div{border-left:1px solid var(--line);margin-top:45px}.couple h3{font-size:35px}.initial{display:block;font:italic 100px/1.3 'Cormorant Garamond';color:#b58c49;opacity:.8}.couple .sub{font-size:13px;line-height:2}.invitation>.telugu{padding-top:35px;font-size:18px}.countdown{background:radial-gradient(ellipse at 50% 150%,#683045,#30101d);padding:58px 20px;position:relative;border-block:5px double #b5905855}.clock{gap:55px;margin-top:26px}.clock>div{min-width:85px}.clock strong{font-size:66px;line-height:1.3}.clock span{color:#ceae7a}.events{max-width:1400px}.events h2{font-size:55px}.event-grid{gap:0;border:1px solid var(--line);margin-top:55px}.event{padding:40px 30px;border:0;background:#fff9ed}.event+.event{border-left:1px solid var(--line)}.event.featured{background:#4b1728;color:#e9d9bd}.event.featured h3,.event.featured .telugu,.event.featured .text-link{color:#f5d59b}.event-date{display:flex;align-items:center;gap:16px;border-bottom:1px solid #c39b6150;padding-bottom:25px;margin-bottom:25px;color:var(--gold)}.event-date strong{font:68px/1 'Cormorant Garamond'}.event-date span{font-size:9px;letter-spacing:.15em;line-height:1.8}.featured .event-date{color:#e2c187}.event h3{font-size:34px}.event p{font-size:13px;line-height:1.9}.event .text-link{display:inline-block;margin-top:15px}.venue{background:#ece3d1;gap:90px}.venue h2{font-size:58px}.venue-art{background:linear-gradient(#f9f0df,#e8d8ba);padding:55px 25px;border-radius:200px 200px 0 0;outline:0;box-shadow:12px 12px 0 #dbc8a44d}.venue-art svg{margin-top:40px;stroke-width:1}.venue-art p{font-size:8px}.venue .sub{font-size:13px}.vows{max-width:none;background:#30121e;color:#e7d3b2;position:relative;overflow:hidden}.vows:before{content:'❦';position:absolute;font-size:600px;line-height:1;opacity:.025;right:-80px;top:0}.vows h2{color:#f5e6c6;font-size:58px}.vows .eyebrow{color:#d2ae73}.vows .quote{color:#c8af91;max-width:650px;margin:30px auto;font-size:26px}.vow-list{counter-reset:promise;display:grid;grid-template-columns:repeat(4,1fr);max-width:1050px;margin:50px auto 0;gap:30px}.vow-list span{counter-increment:promise;padding:20px 15px;color:#e8d6b9;border-top:1px solid #c4a16e40;line-height:1.7;font:20px 'Cormorant Garamond'}.vow-list span:before{content:'0' counter(promise);display:block;font:12px 'DM Sans';color:#bb9357;margin-bottom:18px;letter-spacing:.2em}.vow-list span:last-child{grid-column:2/4}.contact{padding-bottom:45px;border:0}.contact h2{font-size:56px}.contact .sub{font-size:13px}.share-row{text-align:center;padding-bottom:65px}.share-row p{font-size:12px}.contact .actions{margin-top:30px}footer{background:#efe4d0;color:#7c582e;padding:26px}.envelope{padding:58px 70px;text-align:center;border:1px solid #c5a26a;outline:1px solid #b58c4950;outline-offset:-10px;max-width:600px;background:radial-gradient(ellipse at top,#5d263a,#2b0e1b);color:#eedfbe;position:relative}.envelope:before,.envelope:after{content:'❦';position:absolute;top:28px;color:#b68d52;font-size:45px}.envelope:before{left:28px}.envelope:after{right:28px;transform:scaleX(-1)}dialog{border:0;padding:0;background:transparent;max-width:calc(100% - 36px);max-height:calc(100dvh - 32px);box-shadow:0 25px 120px #0009;color:inherit}dialog::backdrop{background:#1e0a15e8;backdrop-filter:blur(10px)}.envelope .eyebrow{color:#cda769;font-size:8px;letter-spacing:.18em}.seal{margin:35px auto 30px;width:110px;height:110px;border-radius:50%;border:4px double #ceaa66;background:linear-gradient(135deg,#c49a53,#efd9a0,#ae7935);color:#442118;display:flex;align-items:center;justify-content:center;font:38px 'Cormorant Garamond';box-shadow:0 6px 30px #0005;transform:rotate(-10deg)}.seal span{font-size:21px;margin:0 3px}.envelope h2{font-size:39px;color:#f8e9c9;margin:20px 0 8px}.envelope .telugu{color:#d4b47c;font-size:13px}.envelope>p{font-size:12px}.envelope .envelope-date{letter-spacing:.35em;color:#dcba7c;margin:24px}.envelope .button{background:#e8cb91;color:#391522;border-color:#e8cb91;margin:8px auto}.envelope .envelope-note{font-size:9px;letter-spacing:.1em;opacity:.6;margin-top:25px}.opening{animation:envelope-open .7s ease both}.petal{position:fixed;pointer-events:none;top:-30px;z-index:9;width:9px;height:16px;background:#d1a16c;border-radius:80% 0 80% 0;animation:fall 5s ease-in forwards;opacity:.6}@keyframes fall{to{transform:translate(90px,110vh) rotate(480deg);opacity:0}}@keyframes envelope-open{to{opacity:0;transform:translateY(30px) scale(.96)}}@media(max-width:750px){header{padding:14px 5%}.hero{min-height:940px;padding:125px 16px 100px;background-position:center}.hero:after{inset:75px 12px 22px}.hero-content{padding:25px 8px;background:radial-gradient(ellipse,#290c18cf,transparent 80%)}.hero h1{font-size:66px}.hero .blessing{font-size:10px}.hero-bottom{font-size:6px;letter-spacing:.16em;bottom:43px}.hero .actions{gap:10px}.hero .button{font-size:9px;padding:13px 16px}.hero-date{gap:15px}.hero-date span{font-size:8px}.hero-telugu{font-size:15px}section{padding:70px 6%}.parents{font-size:25px}.couple{gap:15px;margin-top:40px}.couple>div{padding:25px 9px}.couple h3{font-size:26px}.couple .sub{font-size:11px}.initial{font-size:75px}.couple>div+div{padding-left:9px}.clock{gap:12px}.clock>div{min-width:60px}.clock strong{font-size:47px}.clock span{font-size:8px}.events h2,.venue h2,.vows h2,.contact h2{font-size:42px}.event-grid{grid-template-columns:1fr;gap:0}.event{padding:32px}.event+.event{border-left:0;border-top:1px solid var(--line)}.event-date strong{font-size:58px}.venue{gap:45px}.venue-art{padding-top:45px}.vow-list{grid-template-columns:1fr 1fr;gap:16px}.vow-list span{font-size:19px;padding:17px 5px}.vow-list span:last-child{grid-column:1/3}.envelope{padding:38px 24px}.envelope h2{font-size:33px}.envelope:before,.envelope:after{font-size:28px;top:30px}.envelope:before{left:15px}.envelope:after{right:15px}.envelope .eyebrow{max-width:230px;margin-inline:auto}.seal{margin-block:28px}.hero .intro{font-size:12px}.invitation>h2{font-size:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.petal{display:none}}
h1:focus{outline:none}@media(max-width:750px){.hero{background-size:100% 100%}}
@media(max-width:750px){.hero{background-size:auto 100%}.hero h1{font-size:clamp(50px,16vw,66px)}header nav{gap:12px}nav a{font-size:9px}}
/* Motion is decorative; content remains visible when scripts or motion are disabled. */
.hero-glow{position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 50% 35%,#ebbf6a18,transparent 60%);opacity:0}.hero.is-celebrating .hero-glow{animation:wedding-glow 4.5s ease-in-out both}.hero-spark{position:absolute;width:4px;height:4px;border-radius:50%;background:#efd69d;box-shadow:0 0 12px #edbd69;pointer-events:none;opacity:0}.hero.is-celebrating .hero-spark{animation:wedding-spark 4s ease-in-out both;animation-delay:var(--spark-delay,0s)}.envelope .seal{animation:seal-arrive 1.2s cubic-bezier(.2,.7,.2,1) both}.event{transition:transform .35s ease,box-shadow .35s ease}.event:hover{transform:translateY(-5px);box-shadow:0 16px 35px #3c10251a;z-index:1}.text-link{transition:text-decoration-color .25s,color .25s}.text-link:hover{text-decoration-color:var(--gold)}
@keyframes wedding-glow{0%,100%{opacity:0}35%,65%{opacity:1}}
@keyframes wedding-spark{0%{opacity:0;transform:translateY(12px) scale(.5)}25%,60%{opacity:.8}100%{opacity:0;transform:translateY(-35px) scale(.2)}}
@keyframes seal-arrive{from{opacity:0;transform:translateY(-15px) rotate(-22deg) scale(.85)}to{opacity:1;transform:translateY(0) rotate(-10deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.hero-glow,.hero-spark{display:none}.event:hover{transform:none}}
