@import url('/fonts.css');
:root{--maroon:#591c2a;--deep:#40121e;--gold:#d7b675;--ivory:#fcf7ed;--ink:#542330;--muted:#846c66}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.65 Georgia,serif}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:var(--maroon);color:var(--ivory);border-bottom:1px solid #d7b67533}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b38738;outline-offset:4px}.brand{font-size:25px;letter-spacing:8px;text-decoration:none}.brand span{color:var(--gold)}nav{display:flex;gap:32px;font:12px/1.4 Arial,sans-serif;letter-spacing:1px}nav a{text-decoration:none}.nav-rsvp{color:var(--gold)}.hero{background:var(--maroon);color:var(--ivory);text-align:center;padding:40px 20px 25px;position:relative;overflow:hidden;background-image:radial-gradient(circle at 10px 10px,#d7b67518 1px,transparent 2px);background-size:34px 34px}.arch{border:1px solid #d7b67566;outline:1px solid #d7b67533;outline-offset:9px;border-radius:46% 46% 0 0 / 27% 27% 0 0;max-width:760px;margin:12px auto 0;padding:36px 30px 26px;position:relative}.garland{color:#efe4c7;font-size:30px;letter-spacing:10px;margin-bottom:28px;text-shadow:0 4px 12px #0004}.eyebrow{font:10px/1.7 Arial,sans-serif;letter-spacing:2.7px;font-weight:600}.hero .eyebrow{color:var(--gold)}.tamil{color:var(--gold);font-size:20px;letter-spacing:5px;margin:26px 0 4px}h1{font-size:clamp(52px,7.8vw,91px);font-weight:400;line-height:1.08;margin:0}h1 em{color:#e6c991;font-weight:400}.ornament{color:var(--gold);letter-spacing:8px;margin:22px 0}.tagline{font-size:25px;line-height:1.45;font-style:italic;margin:15px 0}.intro{color:#e6d6d1;font-size:14px;margin:22px 0 28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;background:var(--maroon);color:var(--ivory);border:1px solid var(--maroon);padding:15px 25px;text-decoration:none;cursor:pointer;font:12px/1.4 Arial,sans-serif;letter-spacing:.8px;min-height:49px}.button:hover{filter:brightness(1.12)}.button:disabled{opacity:.6;cursor:wait}.gold{background:var(--gold);border-color:var(--gold);color:var(--deep)}.host{font:9px/1.8 Arial,sans-serif;letter-spacing:2px;margin:25px 0 8px;color:#d7bdad}.host strong{font:17px/1.8 Georgia,serif;letter-spacing:.5px;color:var(--ivory)}.feet{width:58px;height:47px;color:var(--gold);opacity:.8}.hero-bottom{font:8px Arial,sans-serif;letter-spacing:3px;color:var(--gold);margin:28px 0 5px}h2{font-size:clamp(32px,4vw,46px);font-weight:400;line-height:1.2;margin:15px 0 18px}.details{padding:85px 24px;text-align:center;max-width:1050px;margin:auto}.section-intro{color:var(--muted)}.details-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:42px}.details-grid article{padding:5px 30px}.details-grid article+article{border-left:1px solid #cbbda7}.detail-icon{font-size:28px;color:#a47c36}h3{font-weight:400;font-size:24px;margin:4px}small{color:var(--muted);font-size:12px}.details a{font-size:13px}.rsvp-section{background:#f1e7d7;padding:75px max(24px,calc((100vw - 1000px)/2));display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.rsvp-copy h2{font-size:60px}.rsvp-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:300px}.kolam{text-align:center;width:200px;font-size:33px;line-height:.95;color:#b08a49;margin-top:45px;letter-spacing:10px}.form-card{background:#fffcf6;padding:32px;border:1px solid #dacbae;box-shadow:0 12px 40px #58232a08}label,legend{display:block;font:12px/1.5 Arial,sans-serif;color:var(--ink);margin-bottom:18px}label span{color:var(--muted);font-size:11px}input:not([type=radio]),textarea{display:block;width:100%;margin-top:7px;padding:12px;background:#fffcf6;border:1px solid #d5c9b8;border-radius:0;font:14px/1.5 Arial,sans-serif;color:var(--ink)}textarea{resize:vertical}fieldset{border:0;margin:0 0 18px;padding:0}legend{margin-bottom:10px}.choices{display:flex;gap:20px;flex-wrap:wrap}.choices label{margin:0}input[type=radio]{accent-color:var(--maroon);width:16px;height:16px;vertical-align:middle;margin-right:6px}.count-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.privacy{font:11px/1.7 Arial,sans-serif;color:var(--muted)}form .button{width:100%;margin-top:5px}#error{color:#a2222c;font:13px/1.5 Arial,sans-serif}.trap{position:absolute;left:-10000px}.confirm-icon{font-size:42px;color:#a47c36}#confirmation{text-align:center;padding:35px 0}.outline{background:transparent;color:var(--maroon);margin-top:12px}footer{text-align:center;padding:35px 20px;background:var(--deep);color:#e3c89a}footer p{font-size:14px}footer small{color:#c9b39b}.admin{max-width:1100px;margin:45px auto;padding:0 24px}.admin header{padding:0 24px}.admin-card{max-width:450px;margin:70px auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:30px 0}.stat{background:#f1e7d7;padding:20px}.stat strong{display:block;font-size:32px}.stat span{font:12px Arial,sans-serif}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font:13px/1.6 Arial,sans-serif}th,td{text-align:left;padding:14px;border-bottom:1px solid #d5c9b8;vertical-align:top;min-width:90px;overflow-wrap:anywhere}td:nth-child(5),td:nth-child(6){min-width:180px;white-space:pre-wrap}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}[hidden]{display:none!important}@media(max-width:650px){header{height:70px;padding:0 22px}nav{gap:18px;font-size:10px}nav a:first-child{display:none}.hero{padding:30px 22px 22px}.arch{padding:35px 12px 20px;border-radius:48% 48% 0 0 / 19% 19% 0 0}.garland{font-size:21px;letter-spacing:4px;margin-bottom:30px}.eyebrow{font-size:9px;letter-spacing:1.8px}h1{font-size:55px}.tagline{font-size:22px}.intro{font-size:13px}.details{padding:60px 25px}.details-grid{grid-template-columns:1fr;gap:30px}.details-grid article+article{border-left:0;border-top:1px solid #d5c9b8;padding-top:26px}.rsvp-section{grid-template-columns:1fr;gap:25px;padding:45px 20px}.rsvp-copy h2{font-size:45px}.rsvp-copy h2 br{display:none}.rsvp-copy>p:not(.eyebrow){max-width:none}.kolam{display:none}.form-card{padding:25px 20px}.stats{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep the family message comfortably readable over the decorative art. */
.hero .intro{max-width:470px;margin:22px auto 28px;line-height:1.8;text-wrap:pretty}.hero .arch{background:rgba(67,17,31,.24)}

.hero{background-image:linear-gradient(90deg,transparent,rgba(50,10,24,.12) 30%,rgba(50,10,24,.12) 70%,transparent),url('/images/celebration-wide.png');background-size:cover;background-position:center;background-repeat:no-repeat;padding-top:65px;padding-bottom:38px}
.hero .arch{background:rgba(67,17,31,.38);padding-top:55px;padding-bottom:36px}.garland{display:none}
@media(max-width:650px){.hero{padding:58px 22px 35px}.hero .arch{padding:48px 17px 28px;background:rgba(67,17,31,.48)}.hero .intro{font-size:14px;line-height:1.75}.hero h1{font-size:clamp(43px,13vw,55px)}.brand{letter-spacing:5px}}

@media(max-width:650px){.hero{background-image:linear-gradient(90deg,transparent,rgba(50,10,24,.12) 30%,rgba(50,10,24,.12) 70%,transparent),url('/images/celebration-background.png');background-size:cover}}
