:root{--forest:#16442e;--gold:#c4974b;--cream:#fcf4df;--shadow:#160b02}
*{box-sizing:border-box}
html{min-height:100%;background:#311a0a}
body{margin:0;min-height:100%;font-family:Georgia,'Times New Roman',serif;color:var(--forest)}
.welcome-stage{position:relative;z-index:0;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(18px,4vh,44px) 18px 22px;isolation:isolate;overflow:hidden}
.welcome-stage::before{content:"";position:fixed;inset:0;z-index:-2;background-image:url('ceremony-background.webp');background-size:cover;background-position:center center}
.welcome-stage::after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,7,0,.20),rgba(17,9,3,.27) 43%,rgba(14,7,2,.19));pointer-events:none}
.brand-corner{position:fixed;top:20px;left:24px;color:#fff0d2;font-size:clamp(12px,1.1vw,17px);font-weight:700;letter-spacing:.09em;text-shadow:0 2px 7px #000d;opacity:.92}
.brand-corner span{font-weight:400}
.invitation{width:min(713px,100%);position:relative;max-width:100%}
.invitation::before{content:"";pointer-events:none;position:absolute;z-index:-1;inset:-5px;border:2px solid rgba(248,184,71,.90);border-radius:26px;box-shadow:0 2px 0 #ffe8a8,0 0 22px #b8742c80,0 22px 70px #090400b0}
.card-frame{position:relative;isolation:isolate;width:100%;background:radial-gradient(ellipse at 46% 41%,#fffdf4 0%,#fff8e9 55%,#f1dfbd 100%);border:2px solid #d19b3d;border-radius:23px;box-shadow:inset 0 0 0 4px #fdf3d5,inset 0 0 0 6px #d6a44b;text-align:center;padding:13px clamp(25px,3.1vw,49px) 19px;overflow:hidden}
.card-frame::before,.card-frame::after{content:"";position:absolute;pointer-events:none;width:30px;height:30px;border:3px double #cb8b2c;z-index:3;opacity:.8}
.card-frame::before{left:12px;top:12px;border-right:0;border-bottom:0;border-radius:13px 0 0 0}
.card-frame::after{right:12px;bottom:12px;border-left:0;border-top:0;border-radius:0 0 13px 0}
.festival-emblem{display:block;position:relative;width:clamp(190px,23vw,305px);height:clamp(184px,22.3vw,300px);object-fit:contain;margin:-5px auto 6px;filter:drop-shadow(0 3px 4px rgba(78,29,0,.18))}
.overline{display:flex;align-items:center;justify-content:center;gap:17px;font-size:clamp(13px,1.4vw,21px);font-weight:700;letter-spacing:.28em;line-height:1.4;margin:1px auto 11px;white-space:nowrap}
.overline-rule{width:37px;height:1px;background:var(--gold);display:inline-block;flex-shrink:0}
h1{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:-.042em;line-height:.98;color:#15462c;font-size:clamp(30px,3.35vw,46px);margin:0 auto 13px;text-wrap:balance}
.blessing{font-size:clamp(18px,1.85vw,26px);font-style:italic;line-height:1.22;margin:0 auto 10px;white-space:nowrap;letter-spacing:.012em}
.event-date{font-size:clamp(15px,1.5vw,20px);line-height:1.35;letter-spacing:.02em;margin:0 auto 8px}
.ornament{display:flex;align-items:center;gap:11px;justify-content:center;color:var(--gold);margin:5px auto 12px;width:85%;max-width:444px}
.ornament span{height:1px;background:linear-gradient(to right,transparent,#c39746);flex:1}
.ornament span:last-child{transform:rotate(180deg)}
h2{font-size:clamp(22px,2.3vw,29px);letter-spacing:-.029em;line-height:1.17;margin:5px 0 12px;color:#16452c}
.actions{display:grid;gap:9px;max-width:575px;margin:0 auto}
.choice{border-radius:17px;min-height:62px;border:2px solid #ffdc7d;box-shadow:inset 0 0 0 1px #ffffffb3,0 2px 0 #a6640f,0 5px 11px #703c0a50;color:#fff!important;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;position:relative;padding:9px 35px 9px 26px;font-size:clamp(18px,2vw,27px);line-height:1.12;transition:transform .2s,box-shadow .2s,filter .2s;text-shadow:0 1px 1px #5025006a}
.choice-visit{background:linear-gradient(105deg,#ffb007 0%,#ee8305 33%,#c84a00 100%)}
.choice-support{background:linear-gradient(108deg,#236c48 0%,#155438 45%,#0b3827 100%)}
.choice .chevron{position:absolute;right:18px;top:50%;transform:translateY(-57%);font-family:Arial,sans-serif;font-size:35px;font-weight:400}
.choice:hover{transform:translateY(-2px);filter:brightness(1.075);box-shadow:inset 0 0 0 1px #ffffffb3,0 3px 0 #a6640f,0 10px 21px #703c0a70}
.choice:focus-visible,.privacy-link:focus-visible{outline:3px solid #c54c00;outline-offset:4px}
.continue-note{font-size:clamp(15px,1.42vw,19px);margin:10px 0 0;line-height:1.3}
.foot-ornament{width:100%;max-width:610px;margin:11px auto 0;gap:8px}
.footnote{font-size:clamp(13px,1.12vw,16px);font-style:italic;color:#455c47;margin:1px 0 0;line-height:1.3}
.privacy-link{color:#fff4d6;text-shadow:0 1px 8px #000;align-self:center;text-decoration:none;font-size:12px;letter-spacing:.04em;margin-top:14px;opacity:.85}
.privacy-link:hover{text-decoration:underline;opacity:1}
/* Follow-on visit and support pages reuse the same styling without a framework. */
.content-shell{min-height:100svh;padding:clamp(25px,6vh,80px) 17px;display:grid;place-items:center;background:linear-gradient(#22140889,#221408ac),url('ceremony-background.webp') center/cover fixed}
.content-card{width:min(760px,100%);background:#fff9ea;box-shadow:0 24px 90px #000b;border:2px solid #d9a54f;border-radius:20px;text-align:center;padding:clamp(25px,4.5vw,50px)}
.content-card h1{line-height:1.1;font-size:clamp(32px,4.5vw,48px)}
.content-card p{line-height:1.65;font-size:18px}
.content-card .content-detail{border-block:1px solid #d9c092;padding:18px 0;margin:25px auto;max-width:550px}
.content-card .mini-logo{height:140px;width:140px;object-fit:contain}
.content-card .content-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}
.content-card .content-buttons a{background:#16452e;color:white;text-decoration:none;padding:14px 23px;border-radius:8px;font:600 16px system-ui,sans-serif}
.content-card .content-buttons a.secondary{background:#b36e17}
/* Dedicated hand-off to the existing full Mahamagham website (GitHub Pages). */
.full-website-entry{max-width:575px;margin:26px auto 0;padding:23px 20px 21px;border:1px solid #dfc18e;border-radius:15px;background:linear-gradient(150deg,#fffdf4 0%,#f8eccf 100%)}
.full-website-entry h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(21px,2.5vw,27px);line-height:1.15;margin:0 0 6px;color:#16442e}
.content-card .full-website-entry p{font-size:16px;line-height:1.5;margin:0 auto 17px;max-width:450px}
.full-website-btn{display:flex;align-items:center;justify-content:center;position:relative;gap:12px;max-width:490px;min-height:57px;margin:0 auto;padding:13px 39px 13px 25px;border:2px solid #e5ac4b;border-radius:12px;background:linear-gradient(110deg,#246849 0%,#10442f 100%);box-shadow:0 4px 13px #16442e2f;color:#fff!important;text-decoration:none;font:700 clamp(17px,2vw,20px)/1.2 system-ui,-apple-system,sans-serif;transition:transform .18s ease,filter .18s ease}
.full-website-btn span:last-child{position:absolute;right:19px;font-size:22px;line-height:1}
.full-website-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.full-website-entry small{display:block;font:13px/1.4 system-ui,-apple-system,sans-serif;color:#56694d;margin-top:11px}
@media(max-width:520px){.full-website-entry{padding:18px 13px}.content-card .full-website-entry p{font-size:15px}.full-website-btn{padding:14px 35px 14px 15px;min-height:58px;font-size:16px}.content-card .content-buttons a{flex:1;min-width:150px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.full-website-btn{transition:none}}

.content-card a:focus-visible{outline:3px solid #b36e17;outline-offset:4px}
.info-link{color:#17472c;overflow-wrap:anywhere}
@media(max-width:720px){.welcome-stage{padding:22px 11px 18px;justify-content:flex-start}.brand-corner{display:none}.invitation{width:min(510px,100%)}.card-frame{padding:14px 20px 18px}.festival-emblem{height:clamp(145px,36vw,225px);width:clamp(145px,38vw,232px);margin:0 auto 3px}.overline{font-size:13px;letter-spacing:.2em;gap:8px}.overline-rule{width:26px}h1{font-size:clamp(29px,6.75vw,39px);line-height:1.03}.desktop-break{display:none}.blessing{font-size:clamp(15px,4vw,20px);white-space:normal}.event-date{font-size:15px}.ornament{margin:4px auto 10px}h2{font-size:clamp(21px,5.2vw,25px)}.choice{min-height:60px;font-size:clamp(17px,4.6vw,23px);padding-left:16px;padding-right:34px}.choice .chevron{right:11px}.continue-note{font-size:14px}.footnote{font-size:13px}.privacy-link{font-size:12px}}
@media(max-width:380px){.card-frame{padding:13px 15px 15px}.festival-emblem{height:128px;width:138px}h1{font-size:27px}.overline{font-size:11px;letter-spacing:.14em}.choice{font-size:16px;min-height:58px}.event-date{font-size:14px}}
@media(max-height:900px) and (min-width:721px){.welcome-stage{padding:16px 14px}.festival-emblem{width:222px;height:216px}.card-frame{padding-top:10px;padding-bottom:13px}h1{font-size:40px}.blessing{font-size:21px}.event-date{font-size:17px}.ornament{margin:4px auto 7px}.choice{min-height:55px}.foot-ornament{margin-top:7px}}
@media(prefers-reduced-motion:reduce){.choice{transition:none}}
