@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600&family=Italiana&display=swap');
:root{color-scheme:dark;--cream:#f7f4ea;--muted:#d4d5ca;--line:#ffffff30}*{box-sizing:border-box}body{margin:0;background:#252a22;color:var(--cream);font-family:'DM Sans',sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}.backdrop,.veil{position:fixed;inset:0;pointer-events:none}.backdrop{background:url('/assets/garden.jpg') center/cover no-repeat;transform:scale(1.035);animation:arrive 1.8s ease-out}.veil{background:linear-gradient(90deg,rgba(14,25,18,.75),rgba(22,27,18,.25) 65%,rgba(17,25,19,.3)),linear-gradient(0deg,#142017b0,transparent 35%,#17201860)}.shell{position:relative;min-height:100svh;display:flex;flex-direction:column;padding:0 clamp(24px,5.5vw,88px)}header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:'Italiana',Georgia,serif;color:inherit;text-decoration:none;font-size:34px;letter-spacing:-3px}.brand span{font-size:22px;margin:0 5px}.header-note,.header-heart{font-size:12px;letter-spacing:2.5px}.header-heart{font-size:28px}main{flex:1;display:flex}.page{width:100%;animation:reveal .65s cubic-bezier(.2,.7,.3,1) both}.page[hidden]{display:none!important}.landing{min-height:calc(100svh - 181px);display:flex;align-items:center;position:relative;padding:48px 0 70px}.invitation{padding-left:4vw}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:500;display:flex;align-items:center;gap:12px}.eyebrow span{width:28px;height:1px;background:#d4d5ca88}h1,h2,.signature{font-family:'Italiana',Georgia,serif;font-weight:400}h1{font-size:clamp(76px,8.7vw,142px);line-height:.94;letter-spacing:-4px;margin:36px 0 28px}h1 em{font-size:.62em;font-weight:400}em{font-weight:400}h2{font-size:clamp(46px,4.8vw,72px);line-height:1.04;letter-spacing:-1.5px;margin:22px 0}h2 em{color:#e1dfc9}.intro{line-height:1.8;color:#e6e7dd;font-size:17px}.hero-action{margin-top:34px}.primary{border:0;background:var(--cream);color:#273327;border-radius:40px;padding:20px 24px;font:500 16px 'DM Sans',sans-serif;display:flex;align-items:center;justify-content:space-between;gap:50px;cursor:pointer;min-height:60px;transition:transform .2s,opacity .2s}.primary span{font-size:23px;line-height:1}.primary:active{transform:scale(.98)}.primary:disabled{opacity:.42;cursor:not-allowed}.deadline{font-size:14px;color:#d4d7ca;margin-top:18px}.deadline strong{font-weight:500;color:var(--cream)}.bottom-note{position:absolute;right:0;bottom:56px;display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);padding-top:24px;width:250px}.little-star{font-size:40px}.bottom-note p{margin:0;font-size:14px;line-height:1.8}.bottom-note p span{color:#d0d4c6}footer{min-height:69px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:2px;color:#d2d6ca}.reservation{max-width:1160px;margin:auto;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:80px;padding:42px 0}.back,.text-button{background:none;border:0;color:inherit;cursor:pointer;font:400 14px 'DM Sans',sans-serif;padding:0}.back{display:flex;gap:10px;align-items:center;margin-bottom:50px}.form-heading>p:not(.eyebrow){color:var(--muted);line-height:1.7;max-width:270px}.date-note{display:flex;align-items:center;gap:16px;margin-top:34px}.date-note>span{border:1px solid var(--line);border-radius:50%;padding:13px;font-size:24px}.date-note p{font-size:14px;line-height:1.8;color:var(--muted)}.date-note strong{font-weight:500;color:var(--cream)}.glass{border:1px solid #ffffff40;background:linear-gradient(135deg,#bac0a52c,#68726430);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);box-shadow:0 18px 70px #07110b30;border-radius:30px}form{padding:30px}.form-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#e1e4d5;padding-bottom:23px;border-bottom:1px solid var(--line);margin-bottom:25px}.field{margin-bottom:20px;min-width:0}label,legend{font-size:14px;font-weight:500}label>span,legend>span{color:#ced2bc}input:not([type=radio]),select{display:block;width:100%;font:400 16px 'DM Sans',sans-serif;background:#ffffff12;border:1px solid #ffffff36;border-radius:13px;padding:15px;color:var(--cream);outline:none;margin-top:9px;min-height:52px}input::placeholder{color:#d0d4c0}input:focus,select:focus{border-color:#f4efce;box-shadow:0 0 0 3px #f4efce20}select{appearance:none;padding-right:30px}option{color:#fff;background:#384132}.select-wrap{position:relative}.select-wrap:after{content:'⌄';position:absolute;right:14px;top:14px;pointer-events:none}fieldset{border:0;padding:0;margin:0 0 22px}legend{margin-bottom:11px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;opacity:0}.choices label>span{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:15px 11px;border:1px solid #ffffff36;border-radius:13px;font-size:13px;color:var(--cream);min-height:52px;transition:.2s}.choices i{font-style:normal}.choices input:checked+span{background:var(--cream);color:#283526;border-color:var(--cream)}.choices input:focus-visible+span{outline:2px solid white;outline-offset:3px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}small{display:block;margin-top:7px;color:#d0d4c6;font-size:12px}.submit{width:100%;margin-top:8px}.privacy{text-align:center;font-size:12px;color:#d5d8cb;line-height:1.8;margin:16px 0 0}.error{color:#ffe1c7;font-size:14px;line-height:1.5}.error:empty{display:none}.thanks{display:flex;justify-content:center;align-items:center;padding:45px 0;min-height:calc(100svh - 181px)}.thank-card{text-align:center;max-width:620px;width:100%;padding:45px 32px}.seal{border:1px solid #ffffff55;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;font-size:36px;margin:0 auto 26px}.thank-card .eyebrow{justify-content:center}.thank-card>p:not(.eyebrow):not(.signature){line-height:1.8;color:var(--muted)}.signature{font-size:32px;margin:26px 0}.receipt{font-size:14px;margin-top:22px;color:#f4efdb}.text-button{border-bottom:1px solid #ffffff50;padding-bottom:6px}.backdrop{transition:filter .7s}body:has(.reservation:not([hidden])) .backdrop{filter:blur(4px)}dialog{color:var(--cream);width:min(500px,calc(100% - 36px));padding:42px 30px;background:linear-gradient(140deg,#3b4435ee,#29332bef)!important}dialog::backdrop{background:#0c160c99;backdrop-filter:blur(6px)}dialog h2{font-size:48px}dialog p{line-height:1.8;color:var(--muted)}.close{position:absolute;right:18px;top:12px;background:none;color:white;border:0;font-size:30px;cursor:pointer}.phone-link{display:block;color:var(--cream);text-decoration:none;border:1px solid var(--line);padding:15px 20px;border-radius:25px;margin-top:12px}.dialog-sign{font-size:14px;margin-bottom:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #f7f4ea;outline-offset:5px}@keyframes reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes arrive{from{transform:scale(1.08);opacity:.5}to{transform:scale(1.035);opacity:1}}@media(max-width:760px){.shell{padding:0 24px}header{height:85px}.header-note{font-size:9px;letter-spacing:1.5px}.header-heart{font-size:22px}.brand{font-size:29px}.landing{min-height:calc(100svh - 145px);padding:52px 0 44px;align-items:center}.invitation{padding-left:0;width:100%}h1{font-size:clamp(76px,21vw,118px);margin:30px 0;letter-spacing:-2px}.eyebrow{font-size:10px;letter-spacing:2px}.intro{font-size:16px}.hero-action{margin-top:30px}.primary{width:100%}.deadline{text-align:center;font-size:13px}.bottom-note{display:none}.veil{background:linear-gradient(90deg,#132016aa,#14201755),linear-gradient(0deg,#111e18bb,transparent 70%,#17201860)}footer{min-height:60px;font-size:8px;letter-spacing:1px}.reservation{grid-template-columns:1fr;gap:25px;padding:24px 0 35px}.back{margin-bottom:30px}.form-heading h2{font-size:50px;margin:18px 0}.form-heading>p:not(.eyebrow){max-width:none;font-size:15px;margin-bottom:0}.date-note{display:none}form{padding:24px 20px;border-radius:25px}.field-row{gap:10px}.field-row label{font-size:13px}.choices label>span{font-size:12px;padding:14px 10px}select{font-size:16px;padding-left:10px}.thanks{min-height:calc(100svh - 145px);padding:28px 0}.thank-card{padding:35px 20px}.thank-card h2{font-size:52px}.thank-card>p:not(.eyebrow){font-size:15px}.thank-card .signature{font-size:30px}.header-note{max-width:190px;text-align:center;line-height:1.8}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@supports(padding:max(0px)){.shell{padding-left:max(24px,env(safe-area-inset-left),5.5vw);padding-right:max(24px,env(safe-area-inset-right),5.5vw)}footer{padding-bottom:env(safe-area-inset-bottom)}}

.submit{gap:15px}.select-wrap:after{content:none}.select-wrap{background:linear-gradient(45deg,transparent 50%,#eee 50%) calc(100% - 16px) 24px/5px 5px no-repeat,linear-gradient(135deg,#eee 50%,transparent 50%) calc(100% - 11px) 24px/5px 5px no-repeat}
/* Parisam invitation: maroon, warm beige, and restrained antique gold. */

:root{--cream:#f5e8d0;--muted:#e3c9b5;--line:#d6af7855;color-scheme:dark}body{background:#641c2b}.backdrop{background-image:url('/assets/couple-maroon.png');background-size:auto 100%;background-position:center bottom;background-color:#641c2b;transform:none;animation:none}.veil{background:linear-gradient(90deg,#430d20f2 0%,#521429cf 38%,#641c2b08 68%),linear-gradient(0deg,#3f0b20a8,transparent 30%)}.shell{padding:0 clamp(24px,4vw,68px)}header{height:90px;border-bottom-color:#d6af7840}.header-note{color:#e8c48f;letter-spacing:3px}.header-heart{color:#d9b476}.brand{color:#f5e8d0}h1,h2,.signature{font-family:'Cormorant Garamond','Italiana',Georgia,serif}h1{font-size:clamp(68px,6.2vw,100px);letter-spacing:-2px;line-height:.88;margin:23px 0 20px}h1 em{display:block;font-size:.48em;line-height:1.4;color:#dcb47c}h2 em{color:#e6c28d}.landing{min-height:calc(100svh - 150px);padding:35px 0;align-items:center}.invitation{padding:30px 0 30px 2vw;max-width:610px;width:48%;text-align:center}.invitation .eyebrow{justify-content:center;color:#e6c28d;font-size:10px;letter-spacing:2.5px}.eyebrow span{background:#d9b47680}.intro{font-size:15px;line-height:1.7;color:#eed9c2}.event-details{max-width:410px;margin:24px auto 0;background:#f3e3ca;color:#681c2d;border:1px solid #d5ad75;outline:1px solid #d5ad7550;outline-offset:5px;border-radius:3px;padding:18px 20px}.event-date{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 18px;border-bottom:1px solid #681c2d25;padding-bottom:13px}.event-date span{font-size:10px;letter-spacing:1.6px}.event-date strong{font-family:Georgia,serif;font-weight:400;font-size:22px}.event-venue{padding-top:13px}.event-venue strong{font-family:Georgia,serif;font-size:18px;font-weight:400}.event-venue p{font-size:12px;line-height:1.6;margin:7px 0 0;color:#754335}.hero-action{max-width:410px;margin:24px auto 0}.primary{background:#f5e8d0;color:#641c2b;box-shadow:0 5px 30px #34071320;min-height:54px;padding:16px 23px}.hero-action .primary{width:100%}.deadline{color:#dfc3ae;font-size:12px;text-align:center;margin:14px 0 0}.deadline strong{color:#f5e8d0}footer{min-height:60px;color:#e4c5aa;border-color:#d6af7840}.glass{background:linear-gradient(135deg,#6c243bd9,#401020cf);border-color:#d6af7860;box-shadow:0 18px 70px #25030b40}.reservation{gap:65px}.form-top,.privacy,small{color:#e6cbb3}.field label,.field legend{color:#f5e8d0}input:not([type=radio]),select{background:#f5e8d014;border-color:#e2be9440;color:#f5e8d0}input::placeholder{color:#e1bda9}option{background:#641c2b}.choices label>span{border-color:#e2be9440;color:#f5e8d0}.choices input:checked+span{background:#f5e8d0;color:#641c2b;border-color:#f5e8d0}.date-note p{color:#e6cbb3}.date-note strong{color:#f5e8d0}.form-heading .form-event{font-size:14px;line-height:1.9;color:#ecc998;border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.thank-card{max-width:600px}.thank-card .thanks-event{border-top:1px solid var(--line);padding-top:20px;color:#e9c795!important;font-size:14px}.seal{color:#e9c795;border-color:#d6af7860}.receipt{color:#f5e8d0}.signature{color:#e9c795}.thank-card h2{font-size:64px}dialog{background:linear-gradient(140deg,#72283bf5,#440e24f5)!important}dialog::backdrop{background:#260711b0}.phone-link{color:#f5e8d0}.close{color:#f5e8d0}body:has(.reservation:not([hidden])) .backdrop{filter:blur(3px)}
@media(min-width:761px){.backdrop{background-position:right bottom!important;background-size:auto 105%}.form-heading{padding:24px;background:linear-gradient(90deg,#500f25c9,transparent);border-radius:20px}.thanks{justify-content:flex-start;padding-left:4vw}}
@media(max-width:760px){.shell{padding:0 22px}.backdrop{background-size:100% auto;background-position:center bottom!important}.veil{background:linear-gradient(180deg,#641c2bf5 0%,#641c2bef 31%,#54122770 66%,#410d2180 100%)}header{height:74px}.header-note{font-size:10px;letter-spacing:1.6px}.landing{min-height:calc(100svh - 129px);align-items:flex-start;padding:28px 0 42px}.invitation{width:100%;max-width:none;padding:0}.invitation .eyebrow{font-size:9px;letter-spacing:1.7px;gap:8px}.eyebrow span{width:18px}h1{font-size:clamp(62px,17vw,90px);line-height:.88;letter-spacing:-1.8px;margin:24px 0 18px}h1 em{line-height:1.25;font-size:.43em}.intro{font-size:13px;line-height:1.65;margin:0}.event-details{margin-top:22px;padding:15px 15px;background:#f3e3caef}.event-date{gap:7px 13px}.event-date strong{font-size:21px}.event-date span{font-size:9px;letter-spacing:1px}.event-venue strong{font-size:17px}.event-venue p{font-size:11px}.hero-action{margin-top:24px}.primary{font-size:15px}.deadline{font-size:12px;text-shadow:0 1px 10px #340713}.reservation{padding-top:24px;gap:22px}.form-heading h2{font-size:48px}.form-heading .form-event{font-size:13px;margin-top:18px;padding-top:14px}.form-heading>p:not(.eyebrow){color:#f0d8c1}.glass{background:linear-gradient(135deg,#76283be6,#460c22dc)}.thank-card h2{font-size:52px}footer{min-height:55px;font-size:8px;letter-spacing:.8px}.thanks{min-height:calc(100svh - 129px)}}
/* Seamless centred composition across invitation, RSVP and confirmation. */
.heart-icon{display:block;width:24px;height:24px;flex-shrink:0}.header-heart{display:flex;align-items:center}.seal .heart-icon{width:32px;height:32px}.date-note>span{display:grid;place-items:center;width:50px;height:50px;padding:12px;flex-shrink:0}.date-note .heart-icon{width:24px;height:24px}.tamil-title{font-family:'Noto Serif Tamil',serif;font-size:22px;line-height:1.7;color:#e6c28d;margin:14px 0}.header-note [lang=ta]{letter-spacing:0;font-size:13px}.backdrop{background-image:var(--mobile-photo,url('/assets/couple-maroon.png'))}.form-heading,#rsvp,.thank-card{background:none!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0}.form-heading{padding:0}.form-top{font-size:12px}.privacy{font-size:13px}.choices label>span{font-size:14px}.event-venue p{font-size:14px}.event-date span{font-size:12px}.deadline{font-size:14px}body:has(.reservation:not([hidden])) .backdrop{filter:none}.thanks{padding-left:0;justify-content:center}.thank-card{padding:32px 0}.reservation{max-width:560px;display:block;margin:auto;padding:30px 0 45px}.form-heading{text-align:center}.form-heading .eyebrow{justify-content:center}.form-heading h2{font-size:48px;margin:15px 0}.form-heading h2 br{display:none}.form-heading>p:not(.eyebrow){max-width:none}.form-heading .form-event{margin:15px 0;padding-top:12px;font-size:14px;line-height:1.6}.back{margin-bottom:24px}.date-note{display:none}#rsvp{padding:14px 0 0}.field-row{gap:16px}.submit{white-space:nowrap}.form-top{margin-bottom:20px;padding-bottom:16px}.field{margin-bottom:18px}.thanks{max-width:560px;margin:auto}.invitation{margin:auto;padding:0;width:100%;max-width:520px}.landing{justify-content:center;padding:28px 0}.veil{background:linear-gradient(0deg,#3d0c2033,transparent 35%)}h1{font-size:clamp(62px,5.5vw,88px);margin:20px 0 12px;line-height:.86}h1 em{line-height:1.05;font-size:.44em}.intro{font-size:15px}.event-details{margin-top:20px;padding:16px 20px}.hero-action{margin-top:22px}.header-note{display:flex;align-items:center;gap:8px}.header-note [lang=ta]{font-family:'Noto Serif Tamil',serif}
@media(min-width:761px){.backdrop{background-image:url('/assets/couple-desktop-v2.png')!important;background-size:100% auto!important;background-position:center bottom!important;background-color:#641c2b}.shell{padding:0 4vw}.invitation{max-width:40vw}.event-details,.hero-action{max-width:400px}.reservation{max-width:min(560px,43vw)}.thanks{max-width:43vw}.form-heading h2{font-size:42px}.veil{background:linear-gradient(0deg,#430c201f,transparent 40%)} }
@media(max-width:760px){.backdrop{background-size:100% auto!important;background-position:center bottom!important}.veil{background:linear-gradient(180deg,#641c2bf5 0%,#641c2be8 42%,#54122785 100%)}.invitation{max-width:100%;padding:0}.landing{padding:24px 0 36px}.tamil-title{font-size:19px;margin:12px 0}.header-note{font-size:9px;letter-spacing:1px;gap:6px}.header-note [lang=ta]{font-size:11px}h1{font-size:clamp(60px,17vw,86px)}.event-date span{font-size:11px}.event-date strong{font-size:21px}.event-venue p{font-size:13px}.deadline{font-size:13px}.reservation{max-width:100%;padding:24px 0 35px}.form-heading h2{font-size:42px}.field-row{grid-template-columns:1fr}.choices{grid-template-columns:1fr}.choices label>span{font-size:14px}.thanks{max-width:100%}.thank-card{padding:30px 0}.privacy{font-size:12px}.intro{font-size:14px}.back{margin-bottom:25px}.form-top{font-size:11px}.event-details{padding:16px 12px}.header-heart .heart-icon{width:21px;height:21px}}
@media(prefers-reduced-motion:reduce){.page{animation:none}}
@media(min-width:761px){.backdrop{top:auto;height:calc(100vw * 941 / 1672);background-size:100% 100%!important;mask-image:linear-gradient(to bottom,transparent,black 12%);-webkit-mask-image:linear-gradient(to bottom,transparent,black 12%)}}
.form-heading h2 em{display:inline-block;margin-left:.2em}.form-heading h2{line-height:1.15}
body:has(.landing:not([hidden])) .veil{background:linear-gradient(0deg,rgba(36,37,39,.52) 0%,rgba(56,56,58,.3) 18%,rgba(80,80,82,.12) 38%,rgba(80,80,82,0) 62%)}
body:has(.reservation:not([hidden])) .veil,
body:has(.thanks:not([hidden])) .veil{background:linear-gradient(0deg,#430c201f,transparent 40%)}
@media(max-width:760px){body:has(.landing:not([hidden])) .veil{background:linear-gradient(0deg,rgba(36,37,39,.6) 0%,rgba(55,55,57,.34) 24%,rgba(80,80,82,.1) 52%,rgba(80,80,82,0) 76%)}
body:has(.reservation:not([hidden])) .veil,
body:has(.thanks:not([hidden])) .veil{background:linear-gradient(180deg,#641c2bf5 0%,#641c2be8 42%,#54122785 100%)}}
.admin-login{display:grid;place-items:center;min-height:calc(100svh - 150px);padding:32px 0}.admin-panel{width:min(460px,100%);padding:26px 0}.admin-panel h2{font-size:52px;margin:14px 0}.admin-copy{color:#f0d8c1;line-height:1.7;margin:0 0 24px;text-align:center}.admin-home{display:block;margin:18px auto 0}.admin{min-height:calc(100svh - 150px);display:grid;place-items:center;padding:30px 0 48px}.admin-shell{width:min(1040px,100%)}.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.admin-head .eyebrow{justify-content:flex-start}.admin-head h2{font-size:50px;margin:10px 0 0}.admin-actions{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.admin-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:20px 0}.admin-cards article{border:1px solid #d6af7855;background:#f5e8d00d;padding:20px;border-radius:16px}.admin-cards span{display:block;color:#e3c9b5;font-size:12px;letter-spacing:1.8px;text-transform:uppercase}.admin-cards strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:44px;font-weight:400;line-height:1;color:#f5e8d0;margin-top:10px}.admin-tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:18px}.admin-tab{border:1px solid #d6af7855;background:transparent;color:#f5e8d0;border-radius:999px;padding:10px 18px;font:500 14px 'DM Sans',sans-serif;cursor:pointer}.admin-tab.is-active{background:#f5e8d0;color:#641c2b;border-color:#f5e8d0}.admin-view{color:#f0d8c1}.table-wrap{overflow:auto;border:1px solid #d6af7855;border-radius:16px;background:#4d10240f}table{width:100%;border-collapse:collapse;min-width:820px}th,td{text-align:left;padding:15px 14px;border-bottom:1px solid #d6af7838;font-size:14px;white-space:nowrap}th{color:#e9c795;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500}td{color:#f5e8d0}td a{color:#f5e8d0;text-decoration:none}tr:last-child td{border-bottom:0}
body:has(.login:not([hidden])) .veil,
body:has(.admin:not([hidden])) .veil{background:linear-gradient(0deg,#430c2052,transparent 45%)}
@media(max-width:760px){.admin-login,.admin{min-height:calc(100svh - 129px);padding:24px 0 36px}.admin-panel{padding-top:10px}.admin-panel h2,.admin-head h2{font-size:42px}.admin-head{display:block;text-align:center}.admin-head .eyebrow{justify-content:center}.admin-actions{justify-content:center;margin-top:14px}.admin-cards{grid-template-columns:1fr}.admin-cards strong{font-size:38px}.admin-tab{flex:1}.table-wrap{border-radius:12px}th,td{padding:13px 12px}}
@media(max-width:760px){body:has(.reservation:not([hidden])) .veil{background:linear-gradient(180deg,#641c2bf8 0%,#641c2bed 34%,#541227d6 100%)}.reservation{background:linear-gradient(180deg,#641c2be8,#4a1024e8);border:1px solid #d6af7852;border-radius:26px;padding:22px 16px 26px!important;margin:18px auto 34px;box-shadow:0 24px 70px #2d061450}.form-heading{padding:0 4px 10px!important}.form-heading .form-event{background:#f5e8d00d;border:1px solid #d6af783b;border-radius:16px;padding:13px 12px!important}.back{background:#f5e8d010;border:1px solid #d6af783b;border-radius:999px;padding:10px 14px;margin-bottom:20px!important}#rsvp{background:transparent!important;padding-top:10px!important}input:not([type=radio]),select{background:#f5e8d01f;border-color:#f1c99780;box-shadow:inset 0 1px 0 #ffffff12}.choices label>span{background:#f5e8d010;border-color:#f1c99772}.privacy{color:#f2d9bf}.submit{box-shadow:0 12px 34px #26061355}}
h1:focus,h2:focus{outline:0}.form-heading h2:focus-visible,.thank-card h2:focus-visible,.admin-panel h2:focus-visible,.admin-head h2:focus-visible{outline:0}.admin-panel{text-align:center}.admin-panel .eyebrow{justify-content:center}.admin-panel h2{line-height:.98;margin:12px 0 18px}.admin-panel h2 em{display:inline;color:#e6c28d}.admin-panel .field{text-align:left}.admin-panel .primary{text-align:left}.admin-copy{margin-left:auto;margin-right:auto;max-width:420px}
@media(max-width:760px){.admin-panel h2{font-size:48px;line-height:1.02}.admin-copy{text-align:center}.form-heading h2{font-size:40px!important;line-height:1.05}.form-heading h2 em{display:inline;margin-left:.12em}}
.admin-cards{align-items:stretch}.admin-cards article{aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:space-between}.table-wrap{max-height:min(560px,62svh);overflow:auto;background:#f3e3ca;border-color:#d5ad75;box-shadow:0 18px 60px #2d061430}.table-wrap table{background:#f3e3ca}.table-wrap th{position:sticky;top:0;z-index:1;background:#ead5b6;color:#681c2d;border-bottom:1px solid #681c2d30}.table-wrap td{color:#681c2d;border-bottom:1px solid #681c2d24}.table-wrap td a{color:#681c2d}.table-wrap tr:nth-child(even) td{background:#f8ecd7}
@media(max-width:760px){.admin-cards{grid-template-columns:repeat(3,1fr)!important;gap:9px}.admin-cards article{padding:11px 9px;border-radius:12px}.admin-cards span{font-size:8px;letter-spacing:.9px;line-height:1.25}.admin-cards strong{font-size:30px;margin-top:6px}.table-wrap{max-height:58svh}.table-wrap table{min-width:760px}th,td{font-size:12px}}
/* Keep the main invitation header in normal page flow on every screen. */
.shell>header{position:relative!important;top:auto!important;z-index:auto!important}
.shell>header:after{content:none!important}
/* Admin summary cards: beige invitation-card treatment with maroon text. */
.admin-cards article{background:#f3e3ca!important;border-color:#d5ad75!important;color:#681c2d!important;box-shadow:0 18px 50px #2d061430}
.admin-cards span{color:#7d3140!important}
.admin-cards strong{color:#681c2d!important}
@media(max-width:760px){
  .admin-tabs,
  #admin-table{display:none!important}
  #admin-summary{display:block!important}
  .admin-cards article{box-shadow:0 10px 28px #2d06142b}
}
/* Mobile header balance: center Vanakkam against the screen, not between unequal side items. */
@media(max-width:760px){
  .shell>header{position:relative!important}
  .brand,.header-heart{position:relative;z-index:2}
  .header-note{position:absolute;left:50%;transform:translateX(-50%);justify-content:center;text-align:center;white-space:nowrap;max-width:58vw;z-index:1}
}
/* Mobile keyboard hardening for Safari/iOS and Android browsers. */
html,body{overflow-x:hidden}
@media(max-width:760px){
  body:has(.reservation:not([hidden])) .shell{min-height:auto;display:block;padding-bottom:max(14px,env(safe-area-inset-bottom))}
  body:has(.reservation:not([hidden])) main{display:block;min-height:auto}
  body:has(.reservation:not([hidden])) footer{display:none!important}
  body:has(.reservation:not([hidden])) .reservation{margin:14px auto 18px!important;padding-bottom:18px!important}
  body:has(.reservation:not([hidden])) #rsvp{padding-bottom:0!important}
  body:has(.reservation:not([hidden])) input,
  body:has(.reservation:not([hidden])) select{scroll-margin-top:22px;scroll-margin-bottom:24dvh}
}
@supports(height:100dvh){
  @media(max-width:760px){
    body:has(.reservation:not([hidden])) .backdrop,
    body:has(.reservation:not([hidden])) .veil{height:100dvh}
  }
}
/* While typing on mobile Safari, remove tall decorative content so the active field stays visible. */
@media(max-width:760px){
  body.keyboard-open:has(.reservation:not([hidden])) .shell{padding-top:0!important}
  body.keyboard-open:has(.reservation:not([hidden])) header,
  body.keyboard-open:has(.reservation:not([hidden])) .form-heading{display:none!important}
  body.keyboard-open:has(.reservation:not([hidden])) .reservation{margin:0 auto 10px!important;padding-top:12px!important;border-radius:0 0 22px 22px}
  body.keyboard-open:has(.reservation:not([hidden])) .form-top{margin-bottom:14px;padding-bottom:12px}
}
/* Let the couple photo show through the landing event card more on mobile. */
@media(max-width:760px){
  .landing .event-details{background:rgba(224,196,150,.68)!important;border-color:rgba(213,173,117,.78);outline-color:rgba(213,173,117,.32);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  .landing .event-date strong,.landing .event-venue strong{color:#5b1426}
  .landing .event-date span,.landing .event-venue p{color:#6d302d}
}
