@font-face{font-family:DiwaliSerif;src:url("assets/fonts/diwali-serif.ttf") format("truetype");font-display:swap}
@font-face{font-family:DiwaliSans;src:url("assets/fonts/diwali-sans.ttf") format("truetype");font-display:swap}
:root{--navy:#071126;--navy2:#101a38;--gold:#f0c66d;--gold2:#b98232;--cream:#fff4dc;--muted:#e8d7b5}
*{box-sizing:border-box}
html{background:#030916}
body{margin:0;padding:34px 14px 50px;background:radial-gradient(ellipse at 50% 12%,#1c2b50 0,#09142c 44%,#030916 100%);color:var(--cream);font-family:DiwaliSans,Arial,sans-serif;min-height:100vh}
.card{position:relative;isolation:isolate;overflow:hidden;width:min(100%,820px);margin:0 auto;padding:40px clamp(20px,5vw,58px) 28px;border:1px solid #c58c36;border-radius:22px;background:linear-gradient(180deg,rgba(5,13,32,.30),rgba(5,13,32,.88)),url("assets/images/navy-gold-atmosphere.webp") center top/cover, var(--navy);box-shadow:0 28px 90px #0009;text-align:center}
.frame{position:absolute;pointer-events:none;z-index:-1;border:1px solid #d5a44e88;border-radius:15px}
.frame-one{inset:10px}.frame-two{inset:17px;border-color:#d5a44e44}
.top-garland{color:#d7a94f;letter-spacing:.55em;font-size:1.05rem;margin:0 auto 12px;text-shadow:0 0 18px #f7c76b}
.eyebrow{font-size:.67rem;letter-spacing:.24em;color:#f4d99f;text-transform:uppercase}
.hero-title h1{font:clamp(3.8rem,10vw,6.8rem)/.88 DiwaliSerif,Georgia,serif;margin:17px 0 4px;color:#fff1cf;text-shadow:0 4px 25px #e6a83b55;font-weight:400}
.hero-title h1 em{display:block;font-weight:700;color:#efbd55}
.ornament{display:block;width:230px;max-width:65%;height:38px;margin:8px auto 12px}
.deity-scene{position:relative;width:100%;max-width:690px;margin:0 auto;overflow:hidden;border-radius:18px;mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 91%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 91%,transparent 100%)}
.deity-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07112633,transparent 22%,transparent 78%,#07112633),linear-gradient(0deg,#071126bb,transparent 32%);pointer-events:none}
.deity-scene img{display:block;width:100%;height:auto;max-height:430px;object-fit:cover;object-position:center 48%;filter:saturate(1.05) contrast(1.02)}
.personal-message{position:relative;z-index:2;max-width:690px;margin:-12px auto 0;padding:12px clamp(10px,3vw,30px) 18px;background:linear-gradient(180deg,rgba(8,17,40,.74),rgba(8,17,40,.96));border-top:1px solid #d5a44e77;border-bottom:1px solid #d5a44e77;border-radius:3px 3px 18px 18px}
.recipient{font:clamp(1.55rem,4vw,2.25rem) DiwaliSerif,Georgia,serif;margin:3px 0 7px;color:#fff2d6}
.recipient strong{color:#f3c76b}
.divider{display:block;width:170px;height:24px;margin:0 auto 8px}
.blessing,.quote{font:clamp(1rem,2.3vw,1.25rem)/1.55 DiwaliSerif,Georgia,serif;max-width:610px;margin:10px auto;color:#fff8eb}
.blessing strong{color:#f2c76d}
.quote{color:#f2c76d;font-style:italic;margin-top:14px}
.signoff{font:1.12rem DiwaliSerif,Georgia,serif;color:#f7e4bd;margin:18px 0 8px}
.sender-plaque{display:inline-block;max-width:100%;padding:10px 30px;border:1px solid #e9bb5e;border-radius:40px;background:linear-gradient(100deg,#321c20,#111b34,#321c20);box-shadow:0 0 0 4px #d8a34a1c,0 0 24px #dba64c25;color:#ffdc8d;font:clamp(1.25rem,3.5vw,1.75rem) DiwaliSerif,Georgia,serif}
.bottom-scene{height:165px;position:relative;margin:4px auto 0;max-width:600px}
.rangoli{position:absolute;width:210px;height:210px;left:calc(50% - 105px);top:-22px;opacity:.42}
.diya{position:absolute;width:90px;height:90px;bottom:6px;filter:drop-shadow(0 0 18px #ffad39aa);animation:flame 2.4s ease-in-out infinite alternate}
.diya-left{left:4%}.diya-center{width:110px;height:110px;left:calc(50% - 55px);bottom:-1px}.diya-right{right:4%;animation-delay:1.1s}
.lotus{position:absolute;width:90px;height:60px;left:calc(50% - 45px);bottom:0;opacity:.75}
.actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin:12px auto 0;position:relative;z-index:3}
.btn{appearance:none;border:1px solid #d9ae5b;border-radius:30px;padding:12px 17px;background:linear-gradient(180deg,#1a2441,#0a142b);color:#fff2d8;font:600 .85rem DiwaliSans,Arial,sans-serif;cursor:pointer;box-shadow:0 5px 18px #0004;transition:transform .2s,border-color .2s,filter .2s}
.btn:hover{transform:translateY(-2px);border-color:#ffe0a0;filter:brightness(1.13)}
.btn-whatsapp{background:linear-gradient(180deg,#16975d,#087544);border-color:#70dfa7}
.btn-gold{background:linear-gradient(180deg,#e9bd67,#a76b24);color:#1d1420;border:0}
.status{min-height:20px;color:#f5d58f;font-size:.82rem;margin:8px 0 0}
.personalizer{width:min(100%,820px);margin:18px auto 0;border:1px solid #b98232;border-radius:14px;background:#0b1730;color:#f7e6c3;padding:15px 18px}
.personalizer summary{cursor:pointer;color:#f4ce7b;font-weight:700}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;align-items:end}
.form-grid label{display:grid;gap:6px;font-size:.85rem;color:#e9d7b4}
.form-grid input{width:100%;border:1px solid #8d6b37;border-radius:8px;padding:11px 12px;background:#050e20;color:#fff;font:inherit}
.form-grid input:focus{outline:2px solid #e9bd67;outline-offset:2px}
.form-grid .btn{grid-column:1/-1}
.hint{font-size:.78rem;color:#bcae91;margin:10px 0 0}
@keyframes flame{from{transform:translateY(0) scale(.98);filter:drop-shadow(0 0 10px #ff9b2d88)}to{transform:translateY(-4px) scale(1.03);filter:drop-shadow(0 0 24px #ffd16daa)}}
@media(max-width:600px){body{padding:12px 8px 30px}.card{padding:28px 16px 20px;border-radius:15px}.eyebrow{font-size:.55rem;letter-spacing:.16em}.deity-scene img{max-height:310px}.personal-message{margin-top:-5px;padding:10px 8px 15px}.bottom-scene{height:125px}.diya{width:65px;height:65px}.diya-center{width:82px;height:82px;left:calc(50% - 41px)}.rangoli{width:165px;height:165px;left:calc(50% - 82px)}.actions{gap:8px}.btn{font-size:.75rem;padding:10px 12px}.form-grid{grid-template-columns:1fr}.form-grid .btn{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
