/* Layout: warm two-column hero (promise left, Panditji's photo right), then services, about, steps and booking in one 1160px column. Single light look by choice.
   This file used to be inline in the homepage; it is a separate file now so the site can use a strict Content-Security-Policy. */
:root{
  --paper:#FBF6EE; --surface:#FFFDF9; --ink:#2A1A14; --muted:#6B574A; --line:#EADFCB;
  --maroon:#7A1E2C; --maroon-dk:#561320; --gold:#B7861F; --saffron:#C9441C; --on-dark:#FBF1E2; --on-dark-muted:#E6D2B5;
  --display:"Philosopher","Tiro Devanagari Hindi",Georgia,serif;
  --body:"Mukta","Noto Sans Devanagari",system-ui,sans-serif;
  --brand:"Cinzel",Georgia,serif;
  --label:"Jost","Mukta",system-ui,sans-serif;
  color-scheme:light;
}
:lang(mr){--display:"Philosopher","Tiro Devanagari Marathi",Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.15;margin:0;text-wrap:balance}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{max-width:1160px;margin:0 auto;padding-inline:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:999px;font:600 17px/1.2 var(--body);text-decoration:none;cursor:pointer;border:2px solid var(--maroon);background:var(--maroon);color:#fff;transition:background .15s,color .15s}
.btn:hover{background:var(--maroon-dk);border-color:var(--maroon-dk)}
.btn.ghost{background:transparent;color:var(--ink);border-color:#CDBBA3}
.btn.ghost:hover{border-color:var(--maroon);color:var(--maroon)}
.eyebrow{display:flex;align-items:center;gap:10px;font:500 14px/1.3 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--maroon);margin:0 0 14px}
:lang(hi) .eyebrow,:lang(mr) .eyebrow{letter-spacing:.02em;font-size:16px;font-family:var(--body);font-weight:600}
.om{font-family:"Tiro Devanagari Hindi",serif;color:var(--gold);font-size:22px;letter-spacing:0;line-height:1}

/* top strip + header */
.strip{background:var(--maroon-dk);color:var(--on-dark-muted);font-size:14px}
.strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px}
.langs{display:flex;align-items:center;gap:4px;margin-left:auto}
.langs span{margin-right:6px}
.langs a{display:inline-flex;align-items:center;font:500 14px/1 var(--body);color:var(--on-dark);text-decoration:none;border:1px solid transparent;border-radius:999px;padding:6px 12px;min-height:32px}
.langs a[aria-current="true"]{background:var(--on-dark);color:var(--maroon-dk);font-weight:700}
.langs a:hover{border-color:var(--on-dark-muted)}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,253,249,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2) blur(6px)}
header.top .wrap{display:flex;align-items:center;gap:20px;min-height:84px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.logo svg{width:42px;height:59px;flex-shrink:0}
.logo b{display:block;font:600 22px/1 var(--brand);letter-spacing:.04em;color:#9B1C1C}
.logo small{display:block;margin-top:6px;font:500 10.5px/1.2 var(--label);letter-spacing:.24em;color:var(--ink)}
:lang(hi) .logo small,:lang(mr) .logo small{letter-spacing:.02em;font:500 13px/1.2 var(--body)}
#menu{display:flex;align-items:center;gap:6px;margin-left:auto}
#menu a{text-decoration:none;font-weight:500;font-size:16px;padding:10px 12px;border-radius:8px}
#menu a:hover{color:var(--maroon);background:var(--paper)}
#menu a.btn{color:#fff;margin-left:8px;padding:10px 20px;min-height:44px}
#menu a.btn:hover{background:var(--maroon-dk)}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;color:var(--ink)}

/* hero */
.hero{background:var(--paper)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;padding-block:56px 72px}
.hero h1{font-size:clamp(34px,4.3vw,54px);color:var(--ink);margin-bottom:20px}
.hero .lead{font-size:19px;color:var(--muted);max-width:33em;margin:0 0 32px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.photo{position:relative;margin:0}
.photo picture{display:block}
.photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:22px;background:#E9D9C6}
.photo figcaption{position:absolute;left:18px;bottom:18px;right:18px;max-width:max-content;background:rgba(255,253,249,.95);border-radius:14px;padding:12px 16px;box-shadow:0 6px 24px rgba(42,26,20,.14)}
.photo figcaption b{display:block;font-family:var(--display);font-size:18px;line-height:1.2}
.photo figcaption span{font-size:14px;color:var(--muted)}

/* facts */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}
.facts div{padding:26px 20px 26px 0;min-width:0}
.facts div+div{padding-left:22px;border-left:1px solid var(--line)}
.facts b{display:block;font-family:var(--display);font-size:24px;line-height:1.2;color:var(--maroon)}
.facts span{font-size:15px;color:var(--muted)}

section{padding-block:80px}
.head{max-width:40em;margin-bottom:36px}
.head h2{font-size:clamp(30px,3.8vw,42px);margin-bottom:10px}
.head p{margin:0;color:var(--muted)}

/* services */
.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.card{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}
.card .ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--paper);border:1px solid var(--line);color:var(--maroon);margin-bottom:6px}
.card h3{font-size:23px}
.card p{margin:0;color:var(--muted);flex:1}
.card .foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:12px;padding-top:18px;border-top:1px dashed var(--line)}
.price{font-family:var(--display);font-weight:700;font-size:22px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.price small{display:block;margin-top:6px;font:500 14px/1.2 var(--body);color:var(--muted)}
.card .btn{min-height:44px;padding:10px 22px;font-size:16px}

.pujas{margin-top:72px;padding-top:56px;border-top:1px solid var(--line)}
.pujas .head{margin-bottom:12px}
.pgroup{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px 32px;padding-block:22px;border-bottom:1px dashed var(--line)}
.pgroup:last-child{border-bottom:0}
.pgroup h3{font-size:19px;color:var(--maroon);padding-top:9px}
.chips{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);text-decoration:none;font-size:16px;font-weight:500;line-height:1.3}
.chip:hover{border-color:var(--gold);color:var(--maroon);background:var(--surface)}
/* about */
.about{background:var(--paper)}
.about .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.about h2{font-size:clamp(30px,3.6vw,40px);margin-bottom:18px}
.about .text p{margin:0 0 16px;color:var(--muted);max-width:34em}
.promises{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
.promises div{min-width:0}
.promises h3{font-size:20px;margin-bottom:6px;display:flex;gap:10px;align-items:baseline}
.promises h3::before{content:"";flex-shrink:0;width:9px;height:9px;border-radius:50%;background:var(--gold);transform:translateY(-2px)}
.promises p{margin:0;color:var(--muted);font-size:16.5px}

/* steps */
ol.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;counter-reset:s}
ol.steps li{counter-increment:s;min-width:0}
ol.steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:2px solid var(--gold);color:var(--maroon);font:700 20px/1 var(--display);margin-bottom:16px}
ol.steps b{display:block;font-family:var(--display);font-size:21px;margin-bottom:4px}
ol.steps span{color:var(--muted)}

/* faq */
.faq{background:var(--paper)}
.faq-list{max-width:820px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font:600 19px/1.4 var(--body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex-shrink:0;font:400 30px/1 var(--body);color:var(--gold);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--maroon)}
.faq details p{margin:0 0 22px;color:var(--muted);max-width:44em}

/* booking */
.book{background:var(--maroon-dk);color:var(--on-dark)}
.bk-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.stepper{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:0;padding:0}
.stepper li{display:flex;align-items:center;gap:10px;color:var(--on-dark-muted);font-weight:500;font-size:16px}
.stepper li span:first-child{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(251,241,226,.4);font-weight:700;font-size:15px}
.stepper li[aria-current="step"]{color:var(--on-dark)}
.stepper li[aria-current="step"] span:first-child{background:#F0C85A;border-color:#F0C85A;color:var(--ink)}
.step{display:contents}
#stepper,.confirm{scroll-margin-top:110px}
.subhead{font:700 21px/1.3 var(--display);color:var(--on-dark)}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.actions.mt{margin-top:16px}
.book .btn.back{background:transparent;color:var(--on-dark);border-color:rgba(251,241,226,.45)}
.book .btn.back:hover{border-color:var(--on-dark);background:rgba(251,241,226,.08)}
.summary{position:sticky;top:calc(env(safe-area-inset-top,0px) + 108px);background:rgba(251,241,226,.06);border:1px solid rgba(240,200,90,.35);border-radius:18px;padding:26px 24px}
.summary h3{font:700 22px/1.2 var(--display);margin:0 0 16px}
.summary dl{margin:0;display:grid;gap:10px}
.summary dl div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.summary dt{color:var(--on-dark-muted);min-width:0}
.summary dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.summary .tot{padding-top:12px;border-top:1px dashed rgba(251,241,226,.25)}
.summary .adv dt{color:var(--on-dark);font-weight:600}
.summary .adv dd{font:700 26px/1 var(--display);color:#F0C85A}
.trust{list-style:none;margin:20px 0 0;padding:18px 0 0;border-top:1px solid rgba(251,241,226,.16);display:grid;gap:10px;font-size:15.5px;color:var(--on-dark-muted)}
.trust li{display:flex;gap:10px;align-items:flex-start}
.trust svg{flex-shrink:0;margin-top:3px;color:#F0C85A}
.trust a{color:var(--on-dark);font-weight:600}

/* sticky bar on phones, WhatsApp button on larger screens */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,253,249,.97);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(42,26,20,.08);transition:transform .2s}
.mbar.off{transform:translateY(110%)}
.mbar .btn{flex:1}
.wa-btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border-radius:999px;background:#1E8E4F;color:#fff}
.wa-float{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:30;width:56px;height:56px;box-shadow:0 8px 24px rgba(30,142,79,.35)}
.wa-float:hover,.mbar .wa-btn-icon:hover{background:#17733F}
.mbar .call-icon{background:var(--maroon)}
.mbar .call-icon:hover{background:var(--maroon-dk)}
.book .head p{color:var(--on-dark-muted)}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:780px}
label{display:grid;gap:6px;font-weight:500;font-size:16px;min-width:0}
.full{grid-column:1/-1}
input,select,textarea{font:inherit;font-size:17px;color:var(--ink);background:var(--surface);border:2px solid transparent;border-radius:10px;padding:12px 14px;min-height:50px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
textarea{min-height:100px;resize:vertical}
.book .btn{background:#F0C85A;border-color:#F0C85A;color:var(--ink)}
.book .btn:hover{background:#FFD978;border-color:#FFD978}
.book .btn:disabled{opacity:.6;cursor:wait}
[hidden]{display:none!important}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.tab{min-height:46px;padding:10px 22px;border-radius:999px;border:1px solid rgba(251,241,226,.35);background:transparent;color:var(--on-dark);font:600 16px/1.2 var(--body);cursor:pointer}
.tab:hover{border-color:var(--on-dark)}
.tab[aria-selected="true"]{background:#F0C85A;border-color:#F0C85A;color:var(--ink)}
.kindset{display:contents;border:0;margin:0;padding:0;min-width:0}
.group{display:grid;gap:10px;min-width:0;align-content:start}
.glabel{font-weight:500;font-size:16px}
.hint{font-size:14.5px;color:var(--on-dark-muted);margin-top:-6px}
.choice{display:flex;flex-wrap:wrap;gap:10px}
.book label.opt{display:flex;align-items:center;gap:10px;min-height:50px;padding:10px 16px;border:1px solid rgba(251,241,226,.3);border-radius:10px;background:rgba(251,241,226,.06);font-weight:500;cursor:pointer}
.book label.opt:has(input:checked){border-color:#F0C85A;background:rgba(240,200,90,.14)}
.opt input{width:20px;height:20px;min-height:0;padding:0;margin:0;flex-shrink:0;accent-color:#F0C85A}
.birth{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.coupon{display:flex;gap:10px;max-width:440px}
.coupon input{text-transform:uppercase;min-width:0}
.coupon .btn{flex-shrink:0}
#status{margin:0;min-height:1.6em;color:#FFE3A6}
.confirm{border:1px solid #F0C85A;border-radius:12px;background:rgba(240,200,90,.12);padding:20px 22px}
.confirm p{margin:0}
.confirm #cf-head{font:700 21px/1.4 var(--body);margin-bottom:14px}
.confirm #cf-head b{white-space:nowrap;color:#F0C85A}
.confirm dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 18px;margin:0 0 14px}
.confirm dt{color:var(--on-dark-muted)}
.confirm dd{margin:0;overflow-wrap:anywhere}
.wa{color:var(--on-dark-muted);font-size:16px}
.wa a{color:var(--on-dark);font-weight:600}

footer.site-foot{background:#2E0B12;color:var(--on-dark-muted);padding-block:56px 28px;font-size:16px;border-top:1px solid rgba(240,200,90,.22)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);gap:40px}
.site-foot .logo b{color:var(--on-dark)}
.site-foot .logo small{color:var(--on-dark-muted)}
.foot-brand p{margin:18px 0 0;max-width:30em;line-height:1.6}
.foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.foot-col h3{font:600 13px/1.2 var(--label);letter-spacing:.16em;text-transform:uppercase;color:#F0C85A;margin:0 0 12px}
:lang(hi) .foot-col h3,:lang(mr) .foot-col h3{font:600 15px/1.2 var(--body);letter-spacing:.02em}
.foot-col a{color:var(--on-dark);text-decoration:none;padding:6px 0}
.foot-col a:hover{text-decoration:underline}
.foot-col a.foot-num{font-variant-numeric:tabular-nums;margin-bottom:8px;padding-top:0}
.foot-col a.wa-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid rgba(251,241,226,.35);border-radius:999px;margin-bottom:8px}
.foot-col a.wa-btn:hover{background:rgba(251,241,226,.08);text-decoration:none}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:40px;padding-top:20px;border-top:1px solid rgba(251,241,226,.14);font-size:14px}

/* information pages: about, pricing, contact and the policies */
main.doc{padding-block:56px 88px}
.doc .wrap{max-width:860px}
.doc h1{font-size:clamp(32px,4.2vw,46px);margin-bottom:14px}
.doc h2{font-size:clamp(23px,2.8vw,28px);margin:40px 0 12px}
.doc .lead{font-size:19.5px;color:var(--ink);margin:0 0 22px;max-width:40em}
.doc .updated{margin:0 0 26px;font-size:15px;color:var(--muted)}
.doc p{margin:0 0 14px;color:var(--muted);max-width:44em}
.doc ul{margin:0 0 14px;padding-left:1.25em;display:grid;gap:10px;color:var(--muted);max-width:44em}
.doc li b{color:var(--ink)}
.doc a:not(.btn){color:var(--maroon);font-weight:600}
.doc .actions{margin:26px 0 8px}
.doc .promises{margin-top:8px}
.doc .promises h3{color:var(--ink)}
.doc-photo{max-width:420px;margin:8px 0 28px}
.info-list{margin:28px 0;border-top:1px solid var(--line)}
.info-list div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.info-list dt{color:var(--muted);font-weight:500}
.info-list dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.table-scroll{overflow-x:auto;margin:26px 0 22px}
.price-table{width:100%;border-collapse:collapse;font-size:17px;min-width:560px}
.price-table th,.price-table td{text-align:left;vertical-align:top;padding:14px 18px 14px 0;border-bottom:1px solid var(--line)}
.price-table thead th{font-size:15px;font-weight:600;color:var(--muted)}
.price-table tbody th{font-family:var(--display);font-size:19px;color:var(--ink)}
.price-table td{color:var(--muted)}
.price-table td.num{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-table td.num small{display:block;font-weight:500;color:var(--muted);font-size:14.5px}

/* 404 */
.nf{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px 20px;text-align:center;background:var(--paper)}
.nf img{margin-bottom:8px}
.nf-brand{margin:0;font:600 20px/1 var(--brand);letter-spacing:.04em;color:#9B1C1C}
.nf h1{font-size:clamp(28px,4vw,38px);margin:14px 0 4px}
.nf p{margin:0;font-size:19px;color:var(--muted)}
.nf .actions{justify-content:center;margin-top:24px}

/* sample invoice (print to PDF for the Razorpay review) */
.inv-page{background:var(--paper)}
.inv-help{max-width:820px;margin:24px auto 0;padding:0 20px;color:var(--muted);font-size:16px}
.invoice{max-width:820px;margin:16px auto 48px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:40px;font-size:16px}
.invoice p{margin:0 0 4px}
.inv-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:2px solid var(--maroon)}
.inv-brand{font:600 22px/1.2 var(--brand);letter-spacing:.04em;color:#9B1C1C}
.inv-meta{text-align:right}
.inv-meta h1{font-size:30px;margin-bottom:8px}
.inv-to{padding:22px 0}
.inv-label{font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.inv-table{width:100%;border-collapse:collapse}
.inv-table th,.inv-table td{text-align:left;padding:12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.inv-table thead th{font-size:14px;color:var(--muted)}
.inv-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:24px}
.inv-table tfoot th{font-weight:500}
.inv-table tfoot tr:first-child th,.inv-table tfoot tr:first-child td{font-weight:700;border-top:2px solid var(--ink)}
.inv-note{margin-top:24px!important;color:var(--muted);font-size:14.5px}
@media print{
  .no-print{display:none!important}
  .inv-page{background:#fff}
  .invoice{border:0;margin:0;padding:0;max-width:none}
}

/* Turnstile box (the "are you a person" check) and the WhatsApp fallback under the booking form */
.ts:empty{display:none}
.ts{min-height:65px}
#fallback .btn{background:#1E8E4F;border-color:#1E8E4F;color:#fff}
#fallback .btn:hover{background:#17733F;border-color:#17733F}

/* customer account page */
.acc .panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;max-width:560px;margin-top:8px}
.acc-tabs{display:flex;gap:8px;margin-bottom:24px}
.acc-tab{min-height:46px;padding:10px 22px;border-radius:999px;border:1px solid #CDBBA3;background:transparent;color:var(--ink);font:600 16px/1.2 var(--body);cursor:pointer}
.acc-tab[aria-selected="true"]{background:var(--maroon);border-color:var(--maroon);color:#fff}
.acc-form{display:grid;gap:16px;max-width:none}
.acc-form h2{margin:0;font-size:24px}
.acc label{color:var(--ink)}
.acc input{border:2px solid var(--line);background:#fff}
.acc .msg{margin:0;min-height:1.6em;color:#A3261B;font-weight:500}
.acc .note{margin:0;font-size:15.5px}
.acc .links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0}
.link{background:none;border:0;padding:6px 0;color:var(--maroon);font:600 16px/1.4 var(--body);text-decoration:underline;cursor:pointer}
.acc .who{margin:0 0 4px;color:var(--muted)}
.acc .btn:disabled{opacity:.6;cursor:wait}

/* admin page (owner only, English) */
.admin-page{background:var(--paper)}
.admin{max-width:1200px;margin:0 auto;padding:32px 20px 64px}
.admin h1{font-size:30px;margin:0 0 24px}
.admin h2{font-size:21px;margin:0 0 16px}
.admin .panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:24px}
.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;align-items:end;max-width:none}
.admin-form label{font-size:15px;font-weight:600}
.admin-form input,.admin-form select{border:2px solid var(--line);background:#fff;min-height:44px;padding:9px 12px}
.admin .msg{margin:14px 0 0;min-height:1.5em;font-weight:600}
.admin .msg.bad{color:#A3261B}
.admin .msg.good{color:#256B3A}
.admin .hint{color:var(--muted);font-size:15px;font-weight:400}
.admin-table{border-collapse:collapse;width:100%;font-size:15px}
.admin-table th,.admin-table td{text-align:left;vertical-align:top;padding:10px 14px 10px 0;border-bottom:1px solid var(--line)}
.admin-table th{color:var(--muted);font-size:14px;white-space:nowrap}
.admin-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.admin-table .pre{white-space:pre-line;min-width:160px}
.admin-table tr.off td,.admin-table tr.st-order_failed td,.admin-table tr.st-cancelled td{color:var(--muted)}
.admin-table tr.st-paid td:nth-child(3){color:#256B3A;font-weight:600}
.btn.small{min-height:36px;padding:5px 14px;font-size:14.5px}

@media (max-width:960px){
  .hero .wrap{gap:36px}
  .about .wrap{grid-template-columns:minmax(0,1fr);gap:36px}
  #menu a:not(.btn){padding:10px 8px}
  .bk-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .summary{position:static;max-width:780px}
  .foot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:860px){
  .mbar{display:flex}
  .wa-float{display:none}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .burger{display:inline-flex}
  #menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:2px;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 20px 18px;box-shadow:0 12px 24px rgba(42,26,20,.08)}
  #menu.open{display:flex}
  #menu a{padding:14px 8px;font-size:17px}
  #menu a.btn{margin:8px 0 0}
  header.top .wrap{position:relative;min-height:76px}
  .hero .wrap{grid-template-columns:minmax(0,1fr);padding-block:36px 48px}
  .photo img{aspect-ratio:1/1;max-height:460px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts div,.facts div+div{padding:20px 14px 20px 0;border-left:0}
  .facts div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
  .facts div:nth-child(n+3){border-top:1px solid var(--line)}
  .svc{grid-template-columns:minmax(0,1fr)}
  ol.steps{grid-template-columns:minmax(0,1fr);gap:24px}
  section{padding-block:56px}
  .pujas{margin-top:48px;padding-top:40px}
  .pgroup{grid-template-columns:minmax(0,1fr);gap:12px;padding-block:18px}
  .pgroup h3{padding-top:0}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
  .foot-brand{grid-column:1/-1}
  main.doc{padding-block:40px 64px}
  .info-list div{grid-template-columns:minmax(0,1fr);gap:2px}
}
@media (max-width:560px){
  body{font-size:17px}
  .strip .area{display:none}
  .langs span{display:none}
  .logo svg{width:36px;height:50px}
  .logo b{font-size:19px}
  .logo small{font-size:9.5px;letter-spacing:.16em}
  .hero .lead{font-size:18px}
  .cta .btn{flex:1 1 100%}
  .promises{grid-template-columns:minmax(0,1fr);gap:22px}
  form{grid-template-columns:minmax(0,1fr)}
  .birth{grid-template-columns:minmax(0,1fr)}
  .tab{flex:1 1 auto;padding:10px 14px}
  .card{padding:22px}
  .chip{font-size:15px;padding:8px 14px}
  .invoice{padding:24px}
  .inv-meta{text-align:left}
  /* phones: Explore and Policies side by side, Contact (with its wide buttons) on its own row below */
  .foot-contact{grid-column:1/-1;order:3}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.mbar,.faq summary::after{transition:none}}
