:root{--paper:#f7edd9;--ink:#3e3728;--gold:#a3874b;--teal:#214b48}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Georgia,'Times New Roman',serif;line-height:1.75}body.unopened{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;cursor:pointer}h1,h2,h3,h4,p{margin:0}h2{font-weight:400;font-size:clamp(30px,4vw,44px);line-height:1.25;margin:15px auto 32px}h3{font-weight:400;font-size:32px}h4{font-size:27px;font-weight:400}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;line-height:1.7;color:#8c794d}.italic{font-style:italic;font-size:17px}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#fff6e6 0,#f4e6cb 100%)}.corner{position:absolute;width:24%;max-width:330px;z-index:4;top:0;pointer-events:none}.left{left:0}.right{right:0}.hero-art{position:relative;width:min(760px,100%);height:1120px;margin:auto}.arch{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:3}.hero-art>.arch{top:45px;height:1060px}.hero-text{position:absolute;top:290px;left:12%;width:76%;text-align:center;z-index:5}.names{font-size:76px;font-weight:400;line-height:1.03;letter-spacing:-.04em}.names span{display:block;font-size:36px;color:var(--gold);font-style:italic;line-height:1.7}.hero-text .eyebrow:first-child{margin-bottom:20px}.venue-label{margin:24px 0 10px}.hero-text .italic{max-width:340px;margin:auto}.palace{position:absolute;bottom:0;left:5%;width:90%;z-index:2}.peacock{position:absolute;left:0;bottom:45px;width:27%;z-index:4}.scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:6;text-decoration:none;text-align:center;white-space:nowrap;font-size:10px;letter-spacing:.19em;text-transform:uppercase;background:#f7edd9de;padding:10px 22px;border-radius:30px}.scroll span{display:block;font-size:22px;line-height:1}.cloud{position:absolute;opacity:.35;z-index:1;width:45%;pointer-events:none}.cloud-one{top:200px;left:15%;animation:float 15s ease-in-out infinite alternate}.cloud-two{right:-16%;top:120px;animation:float 19s ease-in-out infinite alternate-reverse}.section{position:relative;text-align:center;padding:105px 24px;overflow:hidden}.date-section{padding-top:95px}.date-reveal{width:270px;padding:20px;margin:0 auto 55px;border-top:1px solid #bca46a;border-bottom:1px solid #bca46a}.date-reveal .weekday{text-transform:uppercase;letter-spacing:.25em;font-size:12px}.date-reveal strong{font-size:95px;font-weight:400;line-height:1.25}.date-reveal>p:last-child{font-size:22px}.countdown-title{margin-bottom:25px}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:20px}.countdown strong{font-weight:400;font-size:46px;line-height:1.3}.countdown span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.19em;color:#8b7957}.countdown i{font-size:30px;font-style:normal;color:#bba779}.invitation{background:#f1e4c9;padding-top:80px;padding-bottom:95px}.invitation>*:not(.section-flower){position:relative;z-index:1}.section-flower{position:absolute;width:24%;top:0;opacity:.75;pointer-events:none}.finial{width:65px;height:100px;object-fit:contain;margin-bottom:20px}.invitation-copy{max-width:620px;margin:auto;font-size:18px;line-height:1.9}.couple-script{font-size:clamp(42px,7vw,64px);margin:25px auto;color:#28504a}.couple-script em{font-size:.65em;color:var(--gold)}.ornament{color:var(--gold);font-size:22px;margin-top:35px}.families{padding-bottom:55px}.family-grid{display:flex;justify-content:center;align-items:center;gap:65px;margin:55px auto 15px}.family-grid article{width:260px}.family-grid h3{margin:13px 0 20px}.family-grid p:not(.eyebrow){margin:17px 0;color:#776b50;font-size:16px}.family-grid strong{font-size:18px;font-weight:400;color:var(--ink)}.family-and{font-size:40px;font-style:italic;color:var(--gold)}.feather{width:120px;height:150px;object-fit:contain;margin-top:35px}.celebration{background:#e9e8d6}.event{background:#faf3e5;border:1px solid #c3ad7a;outline:1px solid #c3ad7a;outline-offset:8px;max-width:560px;margin:45px auto 5px;padding:38px 35px 48px;box-shadow:0 20px 50px #6f67400a}.rings{width:130px;color:#aa8c48;margin-bottom:15px}.event h3{font-size:42px;margin:10px 0 12px}.event-date{font-size:18px}.fine-line{width:45px;height:1px;background:var(--gold);margin:25px auto}.event h4{margin:0 0 10px}.event .italic{margin:25px 0 30px;color:#7e745d}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:25px}.button{display:inline-block;text-decoration:none;border:1px solid var(--teal);background:var(--teal);color:#fbf4e5;padding:12px 20px;font-size:12px;letter-spacing:.06em;transition:background .2s,transform .2s;line-height:1.5}.button:hover{background:#32645e;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--teal)}.button.secondary:hover{background:#e7e3d3}.button:focus-visible,.lamp:focus-visible,a:focus-visible{outline:3px solid #c09343;outline-offset:5px}.location{display:flex;align-items:center;justify-content:center;gap:30px;padding-bottom:70px}.location>div{max-width:600px}.location h3{font-size:26px;margin:25px 0 10px}.location>img{width:180px}.status{height:30px;font-size:13px;color:var(--teal);margin-top:12px}footer{text-align:center;padding:45px 24px 30px;background:#eee2c9}.seal{width:100px;height:100px;object-fit:contain;margin-bottom:20px}.regards{font-size:25px;margin:12px 0}.regards+p{font-size:14px;color:#7f735b}.footer-names{font-size:40px;color:var(--teal);margin-top:30px}.footer-date{letter-spacing:.28em;font-size:12px;margin:7px 0 45px}.credit{font-size:10px;text-decoration:none;letter-spacing:.07em;color:#8c7e61}.welcome{position:fixed;inset:0;background:linear-gradient(#070d28 0%,#211d4c 57%,#75516d 100%);z-index:100;overflow:hidden;transition:opacity 1.2s,visibility 1.2s}.welcome.gone{opacity:0;visibility:hidden;pointer-events:none}.night-arch{position:relative;width:min(560px,100vw);height:100svh;max-height:1050px;min-height:620px;margin:auto;filter:drop-shadow(0 0 30px #8e6dce12)}.night-arch>.arch{filter:brightness(.5) sepia(.2) hue-rotate(150deg);height:100%}.night-arch .palace,.night-arch .peacock{filter:brightness(.45) sepia(.3) hue-rotate(155deg)}.night-arch .palace{width:94%;left:3%;bottom:0}.night-arch .peacock{bottom:20px;width:29%;left:1%}.welcome-names{position:absolute;z-index:5;top:24%;width:100%;text-align:center;color:#f3ead5}.welcome-names .eyebrow{color:#cec3bc;font-size:10px;margin-bottom:18px}.welcome-names .names{font-size:49px}.welcome-names .names span{font-size:26px;color:#c5bbb3;line-height:1.2}.moon{position:absolute;width:55px;height:55px;border-radius:50%;background:#f6e4ae;box-shadow:0 0 40px #e7c79540;top:11%;right:29%;z-index:2}.lamp{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);border:0;background:none;z-index:7;width:280px;color:#f2e3bf;padding:0}.lamp img{width:90%;display:block;margin:auto;filter:drop-shadow(0 0 20px #e9b34c55)}.lamp-label{position:relative;display:block;border:1px solid #d9ba7760;border-radius:30px;background:#14172bdf;padding:10px 15px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;margin-bottom:5px}.flame{opacity:0;position:absolute;width:20px;height:40px;background:#fff3b0;border-radius:80% 20% 70% 30%;left:28%;top:30%;box-shadow:0 0 35px 25px #ffcd4b88;transition:opacity .3s}.welcome.lit .flame{opacity:1}.welcome.lit{background:linear-gradient(#27203b,#bd8965)}@keyframes float{to{transform:translateX(25px) translateY(10px)}}@media(min-width:1500px){.hero-art{height:1180px}.hero-art>.arch{height:1120px}.hero-text{top:310px}}@media(max-width:600px){.hero-art{height:850px}.hero-art>.arch{top:65px;height:780px;width:112%;left:-6%}.hero-text{top:240px;left:10%;width:80%}.names{font-size:57px}.names span{font-size:29px}.hero-text .italic{font-size:14px;max-width:255px}.hero-text .eyebrow{font-size:9px;letter-spacing:.18em}.hero-art .palace{width:112%;left:-6%}.hero-art .peacock{width:32%;left:-6%;bottom:65px}.corner{width:36%}.venue-label{margin-top:20px}.section{padding:75px 22px}.family-grid{flex-direction:column;gap:15px;margin-top:35px}.family-grid article{width:100%}.family-and{font-size:30px}.family-grid h3{font-size:30px}.feather{margin-top:15px}.invitation-copy{font-size:16px}.section-flower{width:34%;opacity:.5}.countdown{gap:12px}.countdown strong{font-size:36px}.countdown i{font-size:24px}.event{padding:25px 18px 35px;margin-left:8px;margin-right:8px}.event h3{font-size:37px}.event-date{font-size:16px}.location{flex-direction:column;padding-bottom:25px}.location>img{width:140px;margin-top:5px}.location h2{font-size:30px}.location>div>p:not(.eyebrow){font-size:15px}.night-arch{min-height:590px;width:min(480px,100vw)}.welcome-names{top:26%}.welcome-names .names{font-size:43px}.welcome-names .eyebrow{font-size:8px}.lamp{width:235px}.lamp-label{font-size:8px}.moon{width:42px;height:42px;top:12%;right:27%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.hero-art>.palace{height:420px;object-fit:fill}.hero-art>.peacock{bottom:30px;width:25%}@media(max-width:600px){.hero-art>.palace{height:275px}.hero-art>.peacock{width:29%;bottom:30px}}

.music-toggle{position:fixed;right:18px;bottom:18px;z-index:110;width:46px;height:46px;border-radius:50%;border:1px solid #baab80;background:#214b48ed;color:#fff4dc;font-size:20px;line-height:1;box-shadow:0 3px 14px #0002}.music-toggle:focus-visible{outline:3px solid #c09343;outline-offset:4px}
@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url('assets/great-vibes.ttf') format('truetype')}
.names,.couple-script,.footer-names,.event h3,.family-grid h3{font-family:'Great Vibes',cursive;font-weight:400;letter-spacing:0}.names{font-size:84px;line-height:1.02}.names span{font-family:'Great Vibes',cursive;font-style:normal;font-size:35px;line-height:1.5}.welcome-names .names{font-size:60px;line-height:1.08}.welcome-names .names span{font-size:28px;line-height:1.15}.couple-script{font-size:70px;line-height:1.5}.couple-script em{font-style:normal}.family-grid h3{font-size:40px;line-height:1.4}.event h3{font-size:54px;line-height:1.35}.footer-names{font-size:54px;line-height:1.4}@media(max-width:600px){.names{font-size:66px}.names span{font-size:29px;line-height:1.35}.welcome-names .names{font-size:53px}.welcome-names .names span{font-size:26px}.couple-script{font-size:55px}.family-grid h3{font-size:38px}.event h3{font-size:49px}.footer-names{font-size:48px}}
/* Engagement garden palette and handwritten names */
:root{--ink:#526f69;--gold:#a27644;--teal:#346e66}h2,h4,.regards{color:#8f5364}h3{color:#346e66}.eyebrow{color:#956b42}.hero-text .names,.couple-script,.event h3,.footer-names,.family-grid h3{color:#9d5570}.hero-text .italic,.invitation-copy{color:#57756d}.family-grid p:not(.eyebrow){color:#697f73}.family-grid strong{color:#50736c}.event .italic,.regards+p,.credit{color:#687e70}.countdown strong,.date-reveal strong{color:#9d5570}
@font-face{font-family:'Alex Brush';font-style:normal;font-weight:400;font-display:swap;src:url('assets/alex-brush.ttf') format('truetype')}.names,.names span,.couple-script,.footer-names,.event h3,.family-grid h3{font-family:'Alex Brush',cursive}.names{font-size:90px}.welcome-names .names{font-size:67px}.couple-script{font-size:74px}.family-grid h3{font-size:43px}.event h3{font-size:58px}
.ganesh-blessing{position:absolute;z-index:6;top:150px;left:25%;width:50%;text-align:center;color:#af7c42}.ganesh-icon{display:block;width:63px;height:63px;margin:0 auto 9px}.ganesh-blessing p{font-size:12px;letter-spacing:.12em;color:#9c6746;line-height:1.4}.hero-text{top:300px}
.scratch-intro{font-size:16px;line-height:1.8;color:#687e70;margin:-8px 0 30px}.scratch-card{position:relative;width:min(330px,100%);height:285px;margin:0 auto;border:1px solid #c6a565;border-radius:22px;box-shadow:0 12px 45px #b69b631a;isolation:isolate;background:linear-gradient(145deg,#fff9ee,#f1e5cb)}.scratch-card .date-reveal{border:0;margin:0;width:100%;height:100%;padding:30px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center}.scratch-card .date-reveal strong{font-size:90px;line-height:1.2}.scratch-card .date-reveal p:last-child{font-size:24px}#scratch-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;border-radius:21px;touch-action:none;transition:opacity .65s}.scratch-access{position:absolute;inset:0;width:100%;background:none;border:0;z-index:3;color:#fff9e9;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:crosshair;border-radius:21px;touch-action:none;transition:opacity .3s;text-shadow:0 1px 2px #775c2660}.scratch-access>span:first-child{font-size:30px;line-height:1.4}.scratch-access>span:nth-child(2){font-size:24px}.scratch-access small{font-size:10px;letter-spacing:.04em}.scratch-access.scratching{color:transparent;text-shadow:none}.scratch-card.revealed #scratch-canvas,.scratch-card.revealed .scratch-access{opacity:0;pointer-events:none}.scratch-status{font-size:13px;font-style:italic;margin:22px 0 50px;min-height:24px;color:#966c72}.scratch-card.revealed{box-shadow:0 12px 50px #ad855b33}.scratch-access:focus-visible{outline:3px solid #8c5369;outline-offset:7px}
#petals{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:105;contain:strict}.petal{position:absolute;top:-8vh;border-radius:85% 12% 75% 18%;background:radial-gradient(ellipse at 30% 30%,#f7c4c7,#d98f9f);box-shadow:inset 1px 1px 3px #fff6;opacity:0;animation:petal-fall var(--duration) var(--delay) linear infinite;will-change:transform}.petal.gold{background:radial-gradient(ellipse at 30% 30%,#f5d9a3,#cfac73)}@keyframes petal-fall{0%{opacity:0;transform:translate3d(0,-5vh,0) rotate(0deg)}8%{opacity:.65}50%{transform:translate3d(var(--sway),50vh,0) rotate(180deg)}90%{opacity:.5}100%{opacity:0;transform:translate3d(calc(var(--sway) * -.4),115vh,0) rotate(380deg)}}#confetti-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:150;pointer-events:none}
@media(max-width:600px){.names{font-size:70px}.welcome-names .names{font-size:59px}.hero-text{top:260px}.ganesh-blessing{top:144px;left:22%;width:56%}.ganesh-icon{width:49px;height:49px;margin-bottom:6px}.ganesh-blessing p{font-size:10px;letter-spacing:.07em}.couple-script{font-size:59px}.family-grid h3{font-size:40px}.event h3{font-size:52px}.scratch-card{width:min(310px,100%);height:270px}.scratch-intro{font-size:14px}.hero-art{height:890px}.hero-art>.arch{height:825px}.hero-art>.palace{height:265px}}
@media(prefers-reduced-motion:reduce){.petal{display:none}#confetti-canvas{display:none}}

.welcome-monogram{position:absolute;z-index:6;top:12%;left:50%;transform:translateX(-50%);width:75px;height:100px;object-fit:contain;filter:brightness(1.7)}.invitation-monogram{display:block;width:95px;height:120px;object-fit:contain;margin:30px auto 0}.footer-monogram{width:105px;height:130px;object-fit:contain;margin-bottom:20px}@media(max-width:600px){.welcome-monogram{width:62px;height:83px;top:12%}}

.scratch-card .date-reveal>p:nth-child(3){font-size:24px}.scratch-card .date-reveal .scratch-time{font-size:14px;color:#8f5364;letter-spacing:.06em;margin-top:8px}.event-time{color:#9d5570;font-size:18px;margin-top:6px}.scratch-card .date-reveal{padding:20px 15px}
.welcome-monogram{filter:brightness(0) invert(1) drop-shadow(0 0 8px #fff9) drop-shadow(0 0 20px #ffedc655)}

.event-illustration{display:block;width:calc(100% + 70px);max-width:none;height:auto;aspect-ratio:4/5;object-fit:cover;margin:-38px -35px 35px}.creator-phone{display:block;width:max-content;margin:7px auto 0;color:#8f5364;text-decoration:none;font-size:13px;letter-spacing:.12em}.creator-phone:hover{text-decoration:underline}@media(max-width:600px){.event-illustration{width:calc(100% + 36px);margin:-25px -18px 28px}}
/* Corner arrangements frame each section while keeping the invitation readable. */
.section-florals{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.floral-accent{position:absolute;width:clamp(110px,19vw,240px);height:auto;opacity:.52;pointer-events:none}.floral-accent-left{top:0;left:0;transform:translate(-12%,-10%)}.floral-accent-right{bottom:0;right:0;transform:rotate(180deg) translate(-12%,-10%)}.date-section> :not(.section-florals),.families> :not(.section-florals),.celebration> :not(.section-florals),footer> :not(.section-florals){position:relative;z-index:1}footer{position:relative;overflow:hidden}.welcome-floral{position:absolute;top:0;width:32%;z-index:4;opacity:.7;filter:brightness(.7) saturate(.7);pointer-events:none}.welcome-floral-left{left:-10%}.welcome-floral-right{right:-10%}@media(max-width:600px){.floral-accent{width:120px;opacity:.36}.floral-accent-left{transform:translate(-35%,-15%)}.floral-accent-right{transform:rotate(180deg) translate(-35%,-15%)}.welcome-floral{width:34%;opacity:.6}}
