:root{--ink:#571f24;--gold:#906b32;--paper:#f5e7cb;--line:rgba(144,107,50,.34)}
body{background:var(--paper)}
.journey-blend{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;background:linear-gradient(to bottom,transparent 55%,rgba(245,231,203,.2) 72%,#f5e7cb 100%)}
.scene{z-index:3}.scroll-note,.journey-progress{z-index:4}
.topbar{transition:background .5s,color .5s;text-shadow:0 1px 12px #000;font-size:.75rem}
.in-invitation .topbar{color:var(--ink);text-shadow:none;background:#f5e7cbf0;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.floral-invitation{position:relative;background:#f5e7cb;color:var(--ink);isolation:isolate}
.blessings-section{position:relative;background:transparent;padding:clamp(12rem,25vw,22rem) clamp(1.5rem,9vw,9rem) 5rem;isolation:isolate}
.blessings-section::before{content:"";position:absolute;inset:0 0 auto;height:clamp(750px,85vw,1250px);z-index:-1;background:url("assets/floral-frame.webp") center top/100% auto no-repeat;mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 68%,transparent 100%)}
.blessings-heading{max-width:950px;margin:0 auto}.blessings-heading h2{font-size:clamp(3.4rem,6.5vw,6rem);line-height:1.03;margin-bottom:3rem}
.eyebrow{font-size:.875rem;letter-spacing:.17em}
.parents-grid{background:#fff6e5d9;box-shadow:0 12px 50px #6941190a;border:1px solid var(--line);outline:1px solid #906b322b;outline-offset:7px}
.parents-grid article{padding:2.5rem 1.5rem;min-height:14rem}.parents-grid h3{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.1}.parents-grid .eyebrow{color:#80561f}
.countdown-wrap{margin-top:5rem}.countdown strong{color:#805b25}.countdown span{font-size:.8rem;letter-spacing:.14em}.countdown>div{gap:1rem}
.wedding-section{background:transparent;padding-top:4rem;padding-bottom:5rem;scroll-margin-top:5rem}.section-heading h2{font-size:clamp(4rem,8vw,7rem);line-height:1}.telugu{color:var(--ink)}
.wedding-card{background:#fff7e7d9;border:1px solid var(--line);outline:1px solid #906b3255;outline-offset:8px;padding:clamp(2rem,5vw,4rem);margin-top:3rem;gap:3rem;box-shadow:0 20px 55px #754f1912}
.date-block,.event-time{font-size:.875rem;line-height:1.7}.event-copy h3{font-size:clamp(2.8rem,5vw,4.5rem);line-height:1.06}.date-block strong{font-size:7rem}.event-copy address{color:#543c30}
.primary-button,.secondary-button{font-size:.8rem;letter-spacing:.09em;border-radius:999px;padding:1rem 1.3rem;min-height:3.5rem}.primary-button{background:#69151f;border-color:#69151f;color:#fff5de}.secondary-button{border-color:#9b793e;color:#571f24}.primary-button:hover{background:#842631}.secondary-button:hover{background:#ead6af}
.guest-grid{background:transparent;color:var(--ink);margin:1rem clamp(1.5rem,7vw,7rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.info-panel{min-height:auto;padding:4rem clamp(1.5rem,4vw,4rem)}.info-panel+.info-panel{border-left:1px solid var(--line)}.info-panel h2{font-size:clamp(3.5rem,5vw,5.5rem);line-height:1}.info-panel>p:not(.eyebrow){color:#543c30}.placeholder-link,.stay-link{border-color:var(--line)}.placeholder-link small,.stay-link span,.info-panel>small{color:#6a5141;font-size:.875rem}.placeholder-link span,.stay-link strong{color:#69151f}
.rsvp-section{background:transparent;padding-top:6rem;padding-bottom:6rem;scroll-margin-top:4rem}.rsvp-intro h2{font-size:clamp(4.5rem,8vw,7rem);line-height:.92}.rsvp-intro em,footer em{color:#91632e}.rsvp-form{padding:2rem;background:#fff7e7b3;border:1px solid var(--line);outline:1px solid #906b322b;outline-offset:7px}.rsvp-form label{font-size:.875rem;letter-spacing:.08em;line-height:1.4}.form-note{color:#71564a;font-size:.8125rem}
footer{position:relative;isolation:isolate;background:transparent;overflow:hidden;padding:7rem 1.5rem 8rem;border-top:1px solid var(--line)}
footer::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#f5e7cb 0%,#f5e7cbcc 60%,#f5e7cb88),url("assets/floral-frame.webp") center bottom/cover no-repeat;opacity:.7}footer h2{font-size:clamp(3.5rem,7vw,6rem);line-height:1}footer>p:last-child{font-size:.8125rem;line-height:1.8}
.music-control,.music-control[aria-pressed="true"]{background:#69151fee;border-color:#d3b374;font-size:.75rem}
@media(max-width:760px){.topbar{font-size:.75rem}.blessings-section{padding-top:12rem;padding-left:1.5rem;padding-right:1.5rem}.blessings-section::before{height:800px;background-size:auto 630px}.blessings-heading h2{font-size:3.6rem}.blessings-heading .eyebrow{max-width:220px;margin:0 auto}.parents-grid article{padding:2.1rem 1rem;min-height:0}.parents-grid h3{font-size:clamp(2rem,8.5vw,3rem)}.countdown-wrap{margin-top:4rem}.countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.countdown>div{padding:.5rem .2rem}.countdown>div:nth-child(3){border-left:1px solid var(--line)}.countdown strong{font-size:clamp(2.6rem,12vw,4.6rem)}.countdown span{font-size:.75rem;letter-spacing:.02em}.wedding-card{padding:2.3rem 1.3rem;gap:2rem}.date-block{justify-items:center}.event-copy{text-align:center}.guest-grid{margin:0 1.5rem}.info-panel{padding:3rem .5rem}.info-panel+.info-panel{border-left:0;border-top:1px solid var(--line)}.rsvp-section{padding:4rem 1.5rem}.rsvp-form{padding:1.5rem 1rem}.eyebrow{letter-spacing:.13em}.scroll-note{font-size:.75rem}}
@media(max-width:760px){.blessings-section::before{background-size:100% auto}.blessings-section{padding-top:clamp(10rem,42vw,18rem)}}
