/* Self-hosted Hanken Grotesk (variable, 400-800). Subset files from Google Fonts; no third-party request. */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/hanken-grotesk-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20B8,U+20BA-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/hanken-grotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Metric-matched fallback (Arial tuned to Hanken Grotesk): no layout shift when the web font swaps in. */
@font-face{font-family:"Hanken Fallback";font-style:normal;font-weight:100 600;src:local("Arial"),local("ArialMT"),local("Helvetica");size-adjust:100.3%;ascent-override:99.7%;descent-override:30.2%;line-gap-override:0%}
@font-face{font-family:"Hanken Fallback";font-style:normal;font-weight:700 900;src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold");size-adjust:95%;ascent-override:105.3%;descent-override:31.9%;line-gap-override:0%}
/* ═══════════════════════════════════════════════════════════════
   M&B Chetty India — site.css (design system v2)
   Palette: navy-teal + gold on white/light grey. Font: Hanken Grotesk.
   No inline styles anywhere (strict CSP). Mobile-first.
   ═══════════════════════════════════════════════════════════════ */

:root{
  /* Palette: one dark (navy-teal) + one accent (gold) on white / light grey. Keep it calm. */
  --ink:#0f2a3a; --ink-2:#163a4f; --ink-soft:#2a4a5c; --text:#1d232a;
  --paper:#ffffff; --paper-2:#f3f5f7; --paper-3:#e8ecef; --white:#fff;
  --brass:#c8962e; --brass-deep:#8f6220; --brass-icon:#a67a1f; --brass-soft:#fbf3e3; --brass-line:rgba(200,150,46,.5);
  --green:#1a7f4b; --green-deep:#146b3c; --green-soft:#e7f5ec; --wa:#1fa855; --wa-deep:#178a46; --red:#c62828; --red-soft:#fdecea;
  --muted:#5c6771; --line:rgba(15,42,58,.12); --line-strong:rgba(15,42,58,.24);
  --sans:'Hanken Grotesk','Hanken Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --serif:var(--sans);
  --maxw:1180px; --r:14px; --r-sm:9px; --r-pill:40px;
  --shadow:0 24px 50px -30px rgba(15,29,46,.35);
  --shadow-sm:0 10px 24px -16px rgba(15,29,46,.35);
  --topbar-h:38px; --header-h:74px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{font-family:var(--sans);background:var(--paper);color:var(--text);line-height:1.65;word-spacing:.01em;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;font-size:16px}
html{overflow-x:hidden;overflow-x:clip}
img,video{max-width:100%;display:block}
svg{max-width:100%;display:inline-block;vertical-align:-.15em;flex:0 0 auto}
.process-flow{display:block;width:100%;height:auto}
img{height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
button{font-family:inherit;cursor:pointer}
ul,ol{list-style:none}
strong,b{font-weight:700}
h1,h2,h3,.h-serif{font-family:var(--sans);font-weight:700;line-height:1.15;letter-spacing:-.01em;color:var(--ink);word-spacing:.02em}
h4{color:var(--ink);font-weight:700}
.hero h1 em,.page-hero h1 em{font-style:normal;color:var(--brass-deep)}
.brand-logo{height:34px;width:auto;display:block}
.brand-logo.lg{height:44px}
.dropdown a small,.f label,.checks label{color:var(--text)}
h1{font-size:clamp(2rem,4.6vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}
h3,.h3{font-size:clamp(1.2rem,2vw,1.5rem)}
.h3{font-family:var(--sans);font-weight:700;color:var(--ink);margin-bottom:.6rem}
h4{font-family:var(--sans);font-weight:700;font-size:1.15rem;line-height:1.25;letter-spacing:-.01em}
p{margin:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;opacity:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;min-width:0}
@media(min-width:720px){.wrap{padding:0 28px}}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:1000}
.skip:focus{left:8px}

/* ── Typography helpers ── */
.eyebrow{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--brass-deep);display:inline-flex;align-items:center;gap:.7em;margin-bottom:.9rem}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--brass)}
.eyebrow.center{justify-content:center}
.lead{font-size:clamp(1rem,1.3vw,1.15rem);color:var(--muted);max-width:none;line-height:1.7}
.muted{color:var(--muted)}
.small{font-size:.86rem}
.tamil{font-family:'Noto Sans Tamil','Latha','Nirmala UI',var(--sans);font-weight:500}
.text-center{text-align:center}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2.2rem}.mt-5{margin-top:3rem}
.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}
.flex{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.center{justify-content:center}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:var(--r-pill);font-weight:700;font-size:.95rem;line-height:1.2;border:1.5px solid transparent;transition:transform .18s,background .18s,color .18s,border-color .18s,box-shadow .18s;white-space:nowrap;text-align:center}
.btn svg{width:18px;height:18px;flex:0 0 auto}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--ink);color:var(--paper);box-shadow:0 12px 26px -14px rgba(15,29,46,.7)}
.btn-primary:hover{background:var(--brass-deep);color:#fff}
.btn-brass{background:var(--brass);color:var(--ink)}
.btn-brass:hover{background:var(--paper);color:var(--ink)}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-ghost.on-dark{border-color:rgba(255,255,255,.5);color:#fff}
.btn-ghost.on-dark:hover{background:#fff;color:var(--ink)}
.btn-wa{background:#fff;color:var(--ink);border-color:var(--line-strong)}
.btn-wa svg{color:var(--wa)}
.btn-wa:hover{border-color:var(--wa);background:var(--green-soft);color:var(--ink)}
.btn-call{background:#fff;color:var(--ink);border-color:var(--line-strong)}
.btn-call:hover{border-color:var(--ink);background:var(--paper-2);color:var(--ink)}
.section.dark .btn-wa,.section.dark .btn-call,.cta-band .btn-wa,.cta-band .btn-call{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.section.dark .btn-wa:hover,.cta-band .btn-wa:hover,.section.dark .btn-call:hover,.cta-band .btn-call:hover{background:#fff;color:var(--ink)}
.cta-band .btn-primary,.section.dark .btn-primary{background:#fff;color:var(--ink);box-shadow:none}
.cta-band .btn-primary:hover,.section.dark .btn-primary:hover{background:var(--brass-deep);color:#fff}
.btn-sm{padding:9px 16px;font-size:.85rem}
.btn-lg{padding:16px 30px;font-size:1.02rem}
.btn-block{width:100%}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}

/* ── Top bar ── */
.topbar{background:var(--ink);color:rgba(255,255,255,.85);font-size:.8rem;height:var(--topbar-h);display:flex;align-items:center}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;width:100%}
.topbar a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#fff}
.topbar a:hover{color:var(--brass)}
.topbar svg{width:14px;height:14px}
.topbar .areas{color:rgba(255,255,255,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}
.topbar a{flex:0 0 auto}
@media(max-width:900px){.topbar .areas.hours{display:none}}
.topbar .areas b{color:var(--brass);font-weight:700}
@media(max-width:720px){.topbar .areas{display:none}.topbar .wrap{justify-content:center;gap:22px}}

/* ── Header / nav ── */
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 8px 30px -20px rgba(15,29,46,.4)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--header-h)}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--sans);font-size:1.15rem;font-weight:800;letter-spacing:-.01em;line-height:1;white-space:nowrap}
.brand .mark{width:40px;height:38px;border-radius:8px;flex:0 0 auto;background:linear-gradient(135deg,var(--ink),var(--ink-2));color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:600;box-shadow:inset 0 0 0 1px rgba(183,135,59,.5)}
.brand small{display:block;font-family:var(--sans);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-top:3px}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links>li{position:relative}
.nav-links a,.nav-links button.sub-toggle{display:flex;align-items:center;gap:5px;font-size:.92rem;font-weight:600;color:var(--ink-soft);padding:10px 12px;border-radius:8px;background:none;border:0;line-height:1.2}
.nav-links a:hover,.nav-links button.sub-toggle:hover,.nav-links a[aria-current=page]{color:var(--ink);background:rgba(15,29,46,.05)}
.nav-links .sub-toggle svg{width:12px;height:12px;transition:transform .2s}
.nav-links li.open .sub-toggle svg{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px;display:none;z-index:50}
.dropdown.wide{min-width:520px;columns:2;column-gap:4px}
.dropdown li{break-inside:avoid}
.dropdown a{display:block;padding:8px 12px;font-size:.88rem;border-radius:8px;white-space:nowrap}
.dropdown a small{display:block;font-weight:500;color:var(--muted);font-size:.76rem}
.nav-links li.open>.dropdown{display:block}
@media(hover:hover){.nav-links li:hover>.dropdown{display:block}}
.nav-cta{background:var(--ink)!important;color:var(--paper)!important;padding:10px 18px!important;border-radius:var(--r-pill)!important;margin-left:6px}
.nav-cta:hover{background:var(--brass-deep)!important;color:#fff!important}
.nav-phone{display:none}
.nav-close{display:none}
.burger{display:none;background:none;border:0;width:44px;height:44px;border-radius:10px;color:var(--ink);align-items:center;justify-content:center}
.burger svg{width:26px;height:26px}
@media(max-width:1020px){
  .burger{display:inline-flex}
  .nav-links{position:fixed;top:0;right:0;bottom:0;height:100vh;height:100dvh;width:min(86vw,360px);background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;padding:14px 18px 120px;transform:translateX(102%);visibility:hidden;pointer-events:none;transition:transform .32s,visibility 0s .32s;box-shadow:-20px 0 60px -30px rgba(0,0,0,.45);z-index:300;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav-close{display:flex;justify-content:space-between;align-items:center;padding:6px 4px 14px;margin-bottom:6px;border-bottom:1px solid var(--line)}
  .nav-close span{font-weight:800;color:var(--ink);font-size:1.05rem}
  .nav-close button{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);display:grid;place-items:center}
  .nav-overlay{z-index:290}
  .nav-links.open{transform:none;visibility:visible;pointer-events:auto;transition:transform .32s}
  .nav-links a,.nav-links button.sub-toggle{padding:12px 14px;font-size:1rem;width:100%;justify-content:space-between}
  .dropdown,.dropdown.wide{position:static;box-shadow:none;border:0;background:transparent;min-width:0;width:100%;columns:1;padding:0 0 6px 8px;display:none}
  .dropdown a{white-space:normal;padding:8px 10px}
  .dropdown a small{white-space:normal}
  .nav-links li.open>.dropdown{display:block}
  .nav-cta{margin:10px 0 0!important;text-align:center;justify-content:center}
  .nav-phone{display:flex;justify-content:center;margin-top:8px;font-weight:700}
  .nav-phone a{justify-content:center;gap:8px}
  .nav-links a svg{width:18px;height:18px}
  .nav-overlay{position:fixed;inset:0;background:rgba(15,42,58,.5);z-index:290;display:none}
  body.nav-open .nav-overlay{display:block}
  body.nav-open{overflow:hidden}
  /* FIX: the open drawer (z300) lives inside the sticky header, whose own stacking context is z100 — below the body-level overlay (z290). That made the backdrop sit on top of the menu and swallow every tap, so nothing navigated on mobile. Lift the header above the overlay while the menu is open (still below the modal at z400). */
  body.nav-open .site-header{z-index:350}
}

/* ── Hero ── */
.hero{padding:clamp(40px,6vw,76px) 0 clamp(40px,6vw,70px);position:relative;overflow:hidden;isolation:isolate;background:var(--paper)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--paper-2) 0%,#fff 70%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr;gap:30px}}
.hero h1{max-width:none;margin:.4rem 0 1.3rem}
.hero h1 em{font-style:italic;color:var(--brass-deep)}
.hero .lead{margin-bottom:1.6rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-note{margin-top:14px;font-size:.84rem;color:var(--muted)}
.hero-tamil{margin-top:18px;font-size:.98rem;color:var(--muted)}
.hero-media{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:var(--ink)}
.hero-media picture,.mat-card .mat-img picture{display:block;height:100%}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media .tag{position:absolute;left:14px;bottom:14px;background:rgba(15,29,46,.82);color:#fff;font-size:.78rem;padding:7px 12px;border-radius:8px;backdrop-filter:blur(4px)}

/* Trust strip */
.trust{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}
.trust div{display:flex;gap:10px;align-items:flex-start}
.trust svg{width:22px;height:22px;color:var(--brass-icon);flex:0 0 auto;margin-top:2px}
.trust b{display:block;font-family:var(--serif);font-size:1.15rem;font-weight:500;line-height:1.1}
.trust small{font-size:.76rem;color:var(--muted);letter-spacing:.03em;line-height:1.3;display:block;margin-top:2px}
@media(max-width:940px){.trust{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.trust{grid-template-columns:1fr 1fr;gap:18px 12px}.trust div{flex-direction:column;gap:4px}.trust svg{margin-top:0}.trust b{font-size:1.08rem}}

/* ── Quote card / forms ── */
.quote-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 22px;box-shadow:var(--shadow);width:100%}
.quote-card .qc-head{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.15rem;font-weight:500;margin-bottom:2px}
.quote-card .qc-head svg{width:20px;height:20px;color:var(--brass-icon)}
.quote-card .qc-sub{font-size:.8rem;color:var(--muted);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:480px){.f-row{grid-template-columns:1fr}}
.f{display:flex;flex-direction:column;margin-bottom:12px}
.f label{font-size:.76rem;font-weight:700;color:var(--ink-soft);margin-bottom:5px;letter-spacing:.02em}
.f label .req{color:var(--red)}
.f input,.f select,.f textarea{padding:11px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);font-family:var(--sans);font-size:16px;background:var(--paper);color:var(--ink);width:100%;transition:border-color .2s,background .2s}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--brass);background:#fff;outline:none;box-shadow:0 0 0 3px rgba(183,135,59,.18)}
.f select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235a6776' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.f textarea{min-height:90px;resize:vertical}
.f .hint{font-size:.74rem;color:var(--muted);margin-top:4px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--paper)}
.checks label{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--ink-soft);cursor:pointer;padding:3px 0;font-weight:500;margin:0}
.checks input{accent-color:var(--brass-deep);width:16px;height:16px;flex:0 0 auto;padding:0}
.f label.checks-inline{display:flex;align-items:flex-start;gap:9px;font-size:.82rem;font-weight:500;color:var(--muted);letter-spacing:0;cursor:pointer}
.f label.checks-inline input{width:16px;height:16px;flex:0 0 auto;margin-top:3px;padding:0;accent-color:var(--ink)}
.form-status{font-size:.86rem;text-align:center;min-height:1.3em;margin-top:10px;font-weight:600}
.form-status.err{color:var(--red)}
.form-status.ok{color:var(--green)}
.form-foot{font-size:.74rem;color:var(--muted);text-align:center;margin-top:10px}
.form-alt{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}

/* ── Sections ── */
.section{padding:clamp(56px,7vw,96px) 0}
.section.tight{padding:clamp(36px,5vw,60px) 0}
.section.alt{background:var(--paper-2)}
.section.dark{background:var(--ink);color:#fff}
.section.dark h2,.section.dark h3{color:#fff}
.section.dark .lead,.section.dark .muted{color:rgba(246,242,234,.72)}
.section.dark .eyebrow{color:var(--brass)}
.section-head{max-width:none;margin-bottom:clamp(28px,4vw,48px)}
.section-head.two{max-width:none;display:block}
.section-head.two .eyebrow,.section-head.two .actions{grid-column:1/-1}
.section-head.two h2{grid-column:1}
.section-head.two p{margin-top:.9rem;max-width:none}
@media(max-width:820px){.section-head.two{display:block}.section-head.two p{margin-top:.9rem}}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}
.section-head p{margin-top:.9rem}
.section-head .actions{margin-top:1.2rem;display:flex;gap:10px;flex-wrap:wrap}
.section-head.center .actions{justify-content:center}

/* ── Grids & cards ── */
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){.grid-4,.grid-5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.grid-3,.grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative}
.card.hover:hover,a.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--brass-line)}
.card .ic{width:48px;height:48px;border-radius:11px;background:var(--paper-2);display:grid;place-items:center;color:var(--brass-icon);margin-bottom:16px}
.card .ic svg{width:24px;height:24px}
.card h3,.card h4{margin-bottom:.5rem}
.card p{color:var(--muted);font-size:.94rem;line-height:1.6}
.card .more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:700;font-size:.88rem;color:var(--brass-deep)}
.card .more svg{width:14px;height:14px}
.card.dark{background:var(--ink);color:var(--paper);border-color:transparent}
.card.dark p{color:rgba(246,242,234,.72)}
.card.dark h3,.card.dark h4{color:#fff}
.card.brass{background:var(--paper-2);border-color:var(--line)}

/* Material card */
.mat-card{display:flex;flex-direction:column;padding:0;overflow:hidden}
.mat-card .mat-img{aspect-ratio:16/10;background:var(--paper-2);position:relative;overflow:hidden}
.mat-card .mat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mat-card:hover .mat-img img{transform:scale(1.04)}
.mat-card .mat-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.mat-card h3{font-size:1.25rem;margin-bottom:.35rem}
.mat-card .mat-use{font-size:.86rem;color:var(--muted);flex:1}
.mat-card .mat-price{display:flex;align-items:baseline;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.mat-card .mat-price b{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--brass-deep)}
.mat-card .mat-price small{font-size:.74rem;color:var(--muted)}
.mat-card .mat-actions{display:flex;gap:8px;margin-top:12px}
.mat-card .mat-actions .btn{flex:1;padding:9px 10px;font-size:.82rem}
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--ink);color:#fff}
.badge.green{background:var(--green-soft);color:var(--green-deep)}
.badge.ink{background:var(--ink);color:var(--paper)}
.badge.abs{position:absolute;top:12px;left:12px;z-index:2}

/* Location card */
.loc-card{display:flex;gap:16px;align-items:flex-start}
.loc-card .pin{flex:0 0 auto;width:46px;height:46px;border-radius:11px;background:var(--paper-2);display:grid;place-items:center;color:var(--brass-icon)}
.loc-card .pin svg{width:22px;height:22px}
.loc-card h3{font-size:1.2rem;margin-bottom:.2rem}
.loc-card .km{font-size:.78rem;color:var(--brass-deep);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.loc-card p{font-size:.9rem;margin-top:.4rem}
.loc-card .more{margin-top:8px}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step .n{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--brass);color:var(--brass-deep);display:grid;place-items:center;font-family:var(--serif);font-size:1.2rem;margin-bottom:16px;background:var(--paper)}
.section.dark .step .n{background:transparent;color:var(--brass)}
.step h3{font-size:1.15rem;line-height:1.25;margin-bottom:.4rem}
.step p{color:var(--muted);font-size:.92rem}
.section.dark .step p{color:rgba(246,242,234,.7)}

/* Stats band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:800px){.stats{grid-template-columns:1fr 1fr}}
.stat{padding:26px 22px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r)}
.stat .big{font-family:var(--serif);font-size:2.4rem;color:var(--brass);line-height:1}
.stat h3{font-family:var(--sans);font-weight:700;font-size:1rem;line-height:1.25;margin:.6rem 0 .3rem;color:#fff}
.stat p{font-size:.86rem;color:rgba(246,242,234,.65)}

/* ── Tables ── */
.table-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r);background:#fff;width:100%;max-width:100%;min-width:0}
table.tbl{width:100%;border-collapse:collapse;font-size:.94rem;min-width:520px}
@media(max-width:640px){
  table.tbl.stack{min-width:0;display:block}
  table.tbl.spec{min-width:0}
  .tbl.spec td{padding:10px 12px;font-size:.9rem;overflow-wrap:anywhere}
  .tbl.spec td:first-child{width:36%}
  .tbl.stack thead{display:none}
  .tbl.stack tbody,.tbl.stack tr{display:block}
  .tbl.stack tr{padding:12px 16px;border-bottom:1px solid var(--line)}
  .tbl.stack tr:last-child{border-bottom:0}
  .tbl.stack td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:5px 0;border:0;text-align:right;font-size:.92rem}
  .tbl.stack td::before{content:attr(data-label);flex:0 0 42%;text-align:left;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.5}
  .tbl.stack td.idx{display:none}
  .tbl.stack td.idx+td,.tbl.stack td:first-child:not(.idx){display:block;text-align:left;padding-bottom:8px}
  .tbl.stack td.idx+td::before,.tbl.stack td:first-child:not(.idx)::before{display:none}
  .tbl.stack td[data-label=""]{justify-content:flex-end;padding-top:10px}
  .tbl.stack td[data-label=""]::before{display:none}
  .tbl.stack td .sub{display:block;text-align:right}
  .tbl.stack td.idx+td .sub,.tbl.stack td:first-child:not(.idx) .sub{text-align:left}
  .tbl.stack .num{font-size:1.05rem}
  .tbl.stack tbody tr:hover td{background:none}
  .tbl.stack .btn-sm{width:100%}
  .table-wrap{overflow:visible}
  .btn{white-space:normal}
}
.tbl th{text-align:left;padding:13px 16px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);border-bottom:2px solid var(--line);white-space:nowrap}
.tbl td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:rgba(246,242,234,.55)}
.tbl .r{text-align:right}
.tbl .num{font-family:var(--serif);font-size:1.12rem;color:var(--brass-deep);white-space:nowrap}
.tbl .sub{display:block;font-size:.74rem;color:var(--muted);font-family:var(--sans)}
.tbl .mat{font-family:var(--serif);font-size:1.05rem}
.tbl.spec td:first-child{font-weight:600;color:var(--ink-soft);width:38%}
.tbl.compact td,.tbl.compact th{padding:9px 12px;font-size:.88rem}
.price-note{background:var(--ink);color:rgba(255,255,255,.9);padding:14px 20px;border-radius:var(--r) var(--r) 0 0;font-size:.84rem;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}
.price-note b{color:var(--brass)}
.price-note+.table-wrap{border-radius:0 0 var(--r) var(--r);border-top:0}
.price-foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:16px 20px;background:var(--paper);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r) var(--r);font-size:.84rem}
.price-foot b{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.updated{font-size:.78rem;color:var(--muted);margin-top:10px;text-align:right}

/* Notice */
.notice{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:12px;background:var(--paper-2);border:1px solid var(--line);font-size:.88rem;color:var(--ink-soft);line-height:1.55}
.notice svg{width:20px;height:20px;flex:0 0 auto;color:var(--brass-icon);margin-top:1px}
.notice.info{background:#eef4fb;border-color:rgba(15,29,46,.2)}
.notice.danger{background:var(--red-soft);border-color:rgba(176,0,32,.3)}
.notice.success{background:var(--green-soft);border-color:rgba(26,102,65,.3)}

/* ── Calculator ── */
.calc{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.calc-grid{display:grid;grid-template-columns:1.1fr .9fr}
@media(max-width:820px){.calc-grid{grid-template-columns:1fr}}
.calc-in{padding:26px 24px;display:flex;flex-direction:column}
.qpick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 18px;font-size:.8rem;color:var(--muted)}
.qpick button{border:1.5px solid var(--line);background:#fff;border-radius:20px;padding:6px 12px;font-size:.8rem;font-weight:600;color:var(--ink);transition:border-color .2s,background .2s}
.qpick button:hover{border-color:var(--ink);background:var(--paper-2)}
.calc-notes{margin-top:auto;border-top:1px solid var(--line);padding-top:16px;display:grid;gap:9px;font-size:.84rem;color:var(--muted);line-height:1.5}
.calc-notes li{display:flex;gap:9px;align-items:flex-start}
.calc-notes svg{margin-top:3px;color:var(--brass-icon)}
.calc-out{background:var(--ink);color:#fff;padding:26px 24px;display:flex;flex-direction:column}
.calc-out h3{color:#fff;font-size:1.15rem;margin-bottom:14px}
.calc-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.92rem}
.calc-line span:first-child{color:rgba(246,242,234,.75)}
.calc-line b{font-family:var(--serif);font-weight:500;font-size:1.05rem;white-space:nowrap}
.calc-total{margin-top:auto;padding-top:16px}
.calc-total .lbl{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,242,234,.6)}
.calc-total .val{font-family:var(--serif);font-size:2.2rem;color:var(--brass);line-height:1.1}
.calc-total .per{font-size:.84rem;color:rgba(246,242,234,.7);margin-top:4px}
.calc-foot{font-size:.74rem;color:rgba(246,242,234,.55);margin-top:14px;line-height:1.5}
.calc-cta{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}
.calc-cta .btn{flex:1}
.seg{display:flex;border:1.5px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.seg label{flex:1;text-align:center;padding:10px 4px;font-size:.8rem;font-weight:700;color:var(--muted);cursor:pointer;margin:0;background:var(--paper);white-space:nowrap}
.seg input{position:absolute;opacity:0;width:0;height:0}
.seg input:checked+label{background:var(--ink);color:#fff}

/* ── FAQ ── */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:18px 44px 18px 0;font-family:var(--sans);font-size:1.05rem;font-weight:600;color:var(--ink);position:relative;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:1.5px solid var(--brass);color:var(--brass-deep);display:grid;place-items:center;font-family:var(--sans);font-size:1.1rem;transition:transform .25s,background .25s}
.faq details[open] summary::after{content:"–";background:var(--brass);color:var(--ink)}
.faq .a{padding:0 0 20px;color:var(--ink-soft);font-size:.96rem;max-width:none;padding-right:56px}
.faq .a p+p{margin-top:.6rem}
.faq .a a{color:var(--brass-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* ── Breadcrumbs ── */
.crumbs{font-size:.8rem;color:var(--muted);padding:14px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumbs a{color:var(--ink-soft);font-weight:600}
.crumbs a:hover{color:var(--brass-deep)}
.crumbs span.sep{color:var(--muted)}

/* ── Page hero (inner pages) ── */
.page-hero{padding:clamp(28px,4vw,56px) 0 clamp(28px,4vw,44px);background:var(--paper-2);border-bottom:1px solid var(--line)}
.page-hero h1{max-width:none;margin:.3rem 0 .9rem}
.page-hero .lead{max-width:none}
.page-hero .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.page-hero .meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:18px;font-size:.88rem;color:var(--ink-soft)}
.page-hero .meta span{display:inline-flex;align-items:center;gap:7px}
.page-hero .meta svg{color:var(--brass-icon)}
.page-hero .meta b{color:var(--brass-deep);white-space:nowrap}
.page-hero .meta b span{display:inline}
.page-hero.split{padding-bottom:clamp(28px,4vw,56px)}
.page-hero .split-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
@media(max-width:900px){.page-hero .split-grid{grid-template-columns:1fr}}

/* Banner side card */
.side-card{padding:22px 22px 20px}
.side-card .eyebrow{margin-bottom:.6rem}
.side-card .rows{display:grid}
.side-card .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.side-card .row:last-child{border-bottom:0}
.side-card .row a{font-weight:600;color:var(--ink)}
.side-card .row a:hover{color:var(--brass-deep)}
.side-card .row b{color:var(--brass-deep);white-space:nowrap;text-align:right}
.side-card .actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.side-card .actions .btn{flex:1;padding:11px 14px;font-size:.88rem}
.page-hero .split-grid{align-items:center}
@media(min-width:901px){.page-hero .split-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}}
/* Two-column content with aside */
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:start}
@media(max-width:960px){.content-grid{grid-template-columns:minmax(0,1fr)}}
.content-grid>*,.grid>*,.hero-grid>*,.split-grid>*,.calc-grid>*{min-width:0}
.aside-sticky{position:sticky;top:calc(var(--header-h) + 16px);align-self:start;max-height:calc(100vh - var(--header-h) - 24px);overflow-y:auto;overflow-x:hidden;padding-right:2px}
.aside-sticky::-webkit-scrollbar{width:6px}.aside-sticky::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}
.link-list li>a small{display:block;font-weight:500;color:var(--muted);font-size:.8rem}
.link-list li>span b{color:var(--ink)}
@media(max-width:960px){.aside-sticky{position:static}}

/* Prose */
.prose{max-width:none;font-size:1.02rem;color:var(--ink-soft);line-height:1.75}
.prose h2{margin:2.2rem 0 .8rem;color:var(--ink);font-size:clamp(1.5rem,2.6vw,2rem)}
.prose h3{margin:1.7rem 0 .6rem;color:var(--ink)}
.prose p{margin:0 0 1rem}
.prose ul,.prose ol{margin:0 0 1.1rem 1.3rem}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{margin:.35rem 0}
.prose a{color:var(--brass-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.prose table{margin:1rem 0}
.prose blockquote{border-left:3px solid var(--brass);padding:6px 18px;margin:1.2rem 0;color:var(--ink);font-family:var(--serif);font-size:1.15rem}
.prose .table-wrap{margin:1rem 0 1.4rem}
.prose img{border-radius:var(--r);margin:1rem 0}
.prose .callout{background:var(--brass-soft);border:1px solid var(--brass-line);border-radius:12px;padding:16px 18px;margin:1.2rem 0;font-size:.95rem}
.prose .callout b{color:var(--ink)}

/* Spec list */
.spec-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.spec-list div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.spec-list b{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.spec-list span{font-family:var(--serif);font-size:1.1rem}

/* Chips / link lists */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a,.chips span{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:20px;background:#fff;border:1px solid var(--line);font-size:.84rem;font-weight:600;color:var(--ink-soft);transition:border-color .2s,background .2s,color .2s}
.chips a:hover{border-color:var(--brass);background:var(--brass-soft);color:var(--ink)}
.section.dark .chips a{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.section.dark .chips a:hover{background:var(--brass);color:var(--ink);border-color:var(--brass)}
.link-list li{padding:9px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:10px;line-height:1.55}
.link-list li>svg{margin-top:5px;color:var(--brass-icon)}
.link-list li>a{flex:1}
.link-list a{display:flex;justify-content:space-between;gap:10px;font-weight:600;color:var(--ink-soft)}
.link-list a:hover{color:var(--brass-deep)}
.link-list a small{color:var(--muted);font-weight:500}

/* Team */
.person{text-align:center}
.person .avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,var(--ink),var(--ink-2));color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:1.8rem;box-shadow:inset 0 0 0 2px rgba(183,135,59,.5);overflow:hidden}
.person .avatar img{width:100%;height:100%;object-fit:cover}
.person h3{font-size:1.2rem;line-height:1.25}
.person .role{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--brass-deep);margin:.3rem 0 .7rem}
.person p{font-size:.9rem}

/* ── CTA band ── */
.cta-band{background:var(--ink);color:#fff;padding:clamp(52px,7vw,84px) 0;position:relative;overflow:hidden;text-align:center}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 0%,rgba(183,135,59,.28),transparent 60%)}
.cta-band .wrap{position:relative;z-index:1}
.cta-band h2{color:#fff;max-width:none;margin:0 auto 1rem}
.cta-band p{color:rgba(246,242,234,.75);max-width:none;margin:0 auto 1.8rem}
.cta-band .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ── Contact ── */
.contact-row{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line);align-items:flex-start}
.contact-row:first-child{border-top:0;padding-top:0}
.contact-row .ic{flex:0 0 auto;width:40px;height:40px;border-radius:10px;background:var(--paper-2);display:grid;place-items:center;color:var(--brass-icon)}
.contact-row .ic svg{width:19px;height:19px}
.contact-row small{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:2px}
.contact-row span,.contact-row a{font-size:1rem;color:var(--ink);font-weight:500}
.contact-row a:hover{color:var(--brass-deep)}
.contact-row a svg,.prose a svg{vertical-align:-.1em}
.map-embed{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10;background:var(--paper-2)}
.map-embed iframe{width:100%;height:100%;border:0;display:block}

/* ── Footer ── */
.site-footer{background:#0b1f2b;color:rgba(255,255,255,.66);padding:56px 0 110px;font-size:.9rem}
@media(min-width:900px){.site-footer{padding-bottom:32px}}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:34px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1)}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.site-footer .brand{color:#fff;margin-bottom:14px}
.site-footer .brand small{color:rgba(246,242,234,.58)}
.site-footer h5,.site-footer .foot-title{font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-bottom:14px}
.site-footer li{margin-bottom:8px}
.site-footer a:hover{color:var(--brass)}
.foot-nap p{margin-bottom:8px;line-height:1.5}
.foot-nap a{color:#fff;font-weight:600}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:.8rem;color:rgba(246,242,234,.58)}
.foot-bottom a{color:rgba(246,242,234,.7)}
.foot-tamil{margin-top:10px;font-size:.84rem;color:rgba(246,242,234,.55)}

/* ── Sticky mobile bar ── */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:6px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line);box-shadow:0 -8px 24px -16px rgba(15,42,58,.35)}
.mobile-bar a,.mobile-bar button{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 8px;border-radius:10px;font-weight:700;font-size:.86rem;color:var(--ink);border:1.5px solid var(--line-strong);background:#fff}
.mobile-bar svg{width:18px;height:18px}
.mobile-bar .mb-wa svg{color:var(--wa)}
.mobile-bar .mb-quote{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(min-width:900px){.mobile-bar{display:none}}
@media(max-width:899px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}}

/* ── Modal ── */
.modal{position:fixed;inset:0;z-index:400;display:none;align-items:flex-start;justify-content:center;padding:24px 14px;overflow-y:auto;background:rgba(15,29,46,.6);backdrop-filter:blur(3px)}
.modal.open{display:flex}
.modal-box{background:#fff;border-radius:18px;width:100%;max-width:560px;margin:auto;box-shadow:0 40px 80px -30px rgba(0,0,0,.5);position:relative;animation:modalIn .22s ease}
@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:var(--paper-2);color:var(--muted);font-size:1.3rem;display:grid;place-items:center}
.modal-close:hover{background:var(--red-soft);color:var(--red)}
.modal-box .quote-card{box-shadow:none;border:0}

/* ── Reveal ── */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}
.reveal.in,.no-js .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ── Blog ── */
.post-card .date{font-size:.76rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin-bottom:8px;display:block}
.post-meta{font-size:.84rem;color:var(--muted);margin-bottom:1.4rem}
.toc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:22px}
.toc b{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.toc li{margin:4px 0;font-size:.9rem}
.toc a{color:var(--ink-soft);font-weight:600}

/* ── Thank you ── */
.thanks{text-align:center;max-width:none;margin:0 auto;padding:clamp(48px,8vw,90px) 0}
.thanks .check{width:76px;height:76px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;margin:0 auto 22px}
.thanks .check svg{width:36px;height:36px}
.thanks p{color:var(--muted);margin-top:.8rem}

/* ── 404 ── */
.nf{text-align:center;padding:clamp(60px,10vw,120px) 0}
.nf .big{font-family:var(--serif);font-size:clamp(4rem,12vw,8rem);color:var(--brass-deep);line-height:1}

/* ── Print ── */
@media print{.topbar,.site-header,.mobile-bar,.modal,.cta-band,.site-footer .foot-grid{display:none!important}body{background:#fff}.reveal{opacity:1!important;transform:none!important}}

/* ── Phone safety net (must stay last) ── */
@media(max-width:900px){.page-hero .split-grid{grid-template-columns:minmax(0,1fr)}.hero-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px){.section-head.two{display:block}.calc-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:minmax(0,1fr)}.trust{grid-template-columns:1fr 1fr}.f-row{grid-template-columns:minmax(0,1fr)}.checks{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.side-card .flex>.btn,.quote-card .flex>.btn,.card .flex>.btn{flex:1 1 100%}}
@media(max-width:400px){.checks{grid-template-columns:1fr}.trust{grid-template-columns:1fr 1fr}.page-hero h1{font-size:1.75rem}.hero h1{font-size:2rem}}
.f .hint.err{color:var(--red)}
.f input[aria-invalid="true"]{border-color:var(--red)}

/* ═══════════════════════════════════════════════════════════════
   Components of the new page types (areas, prices, items, guides, calculators), drawn in the 18e619f design
   (owner, 2026-10-01: "keep the old design"). Concatenated after site.css by build.js. Only the old tokens are used:
   navy var(--ink) #0f2a3a, gold var(--brass) #c8962e, Hanken Grotesk, radius var(--r) 14px / 12px / pills, the
   site.css spacing (.section, .mt-*, 20px grid gaps). No inline styles (strict CSP).
   ═══════════════════════════════════════════════════════════════ */
[hidden]{display:none!important}

/* ── answer-first lead (BLUF) in the banner: the old .lead, prices in bold ── */
.lead[data-bluf] b{color:var(--ink-soft)}
.page-hero .lead[data-bluf]{max-width:none}

/* ── "On this page" jump links: a row of the old chips ── */
.toc.jump{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:transparent;border:0;border-radius:0;padding:0;margin:22px 0 0}
.toc.jump>b{margin:0;font-size:.7rem}
.toc.jump li{margin:0;font-size:.84rem}
.toc.jump .chips a{color:var(--ink-soft)}
.toc.jump .chips a:hover{color:var(--ink)}
.compact-toc{margin-top:18px}
article>.toc.jump{margin:22px 0 4px}
.spec-list.terms-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}

/* ── small text lines and notes ── */
.next-q{margin-top:1.1rem;font-size:.9rem;color:var(--muted);max-width:none;line-height:1.6}
.next-q b{color:var(--ink-soft);font-weight:600}
.next-q a,.notice a,.link-note a{color:var(--brass-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.notice ul{list-style:disc;margin:.4rem 0 0 1.1rem;display:grid;gap:4px}
.notice li b,.notice p b{color:var(--ink)}
.notice .insight-src{font-size:.78rem;color:var(--muted);margin-top:.55rem}
.notice>div{min-width:0}
.cta-band p.cta-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:1.6rem auto 0;max-width:none;font-size:.9rem}
.cta-band .cta-links a{color:var(--brass);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cta-band .cta-links a:hover{color:#fff}

/* ── content blocks of the guides and item pages (prose) ── */
.steps-list{list-style:decimal;margin:.6rem 0 1rem 1.4rem}
.steps-list li{margin:.45rem 0;padding-left:.2rem}
.bullets{list-style:disc;margin:.6rem 0 1rem 1.3rem}
.bullets li{margin:.35rem 0}
.faq .a ol.steps-list{margin-top:.2rem}
.verdict{display:block;padding:16px 18px;border-radius:12px;background:var(--green-soft);border:1px solid rgba(26,102,65,.3);color:var(--ink-soft);margin:1rem 0;font-size:.95rem}
.estimate-label{font-size:.9rem;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:.6rem 0 1rem;color:var(--ink-soft)}
.callout{background:var(--brass-soft);border:1px solid var(--brass-line);border-radius:12px;padding:16px 18px;margin:1.2rem 0;font-size:.95rem}
.callout b{color:var(--ink)}
.prose.wide{max-width:none}
.prose .tbl{font-size:.92rem}
.tbl.wrap-head th{white-space:normal;vertical-align:bottom;line-height:1.35}
.tbl caption{caption-side:top;text-align:left;font-size:.8rem;font-weight:700;color:var(--muted);padding:12px 16px 6px;letter-spacing:.02em}
@media(max-width:640px){.tbl.stack caption{display:block}}
.guide-figure{margin:1.2rem 0}
.guide-figure figcaption{font-size:.84rem;color:var(--muted);margin-top:6px}
.guide-fig{display:block;width:100%;height:auto;max-width:560px;margin:0 auto}

/* simple SVG diagrams of the guides (build/lib/visuals.js) */
.vz-fig{margin:1.2rem 0}
.vz{display:block;width:100%;height:auto;max-width:720px}
@media(max-width:640px){.vz-fig .vz-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.vz-fig .vz{min-width:560px}}
.vz-fig figcaption{font-size:.84rem;color:var(--muted);margin-top:6px;max-width:none}
.vz-stone{fill:#cfd6dc;stroke:var(--ink-soft);stroke-width:1.2}
.vz-sand{fill:#e7d8b5;stroke:var(--brass-deep);stroke-width:1}
.vz-on{fill:var(--brass);stroke:var(--brass-deep);stroke-width:2}
.vz-base{stroke:var(--line-strong);stroke-width:1}
.vz-t{font:600 13px var(--sans);fill:var(--ink)}
.vz-tb{fill:var(--brass-deep)}
.vz-s{font:12px var(--sans);fill:var(--muted)}
.vz-tw{font:700 15px var(--sans);fill:#fff}
.vz-truck rect,.vz-truck path{fill:var(--ink)}
.vz-truck circle{fill:var(--ink-soft);stroke:#fff;stroke-width:3}
.vz-unit{fill:var(--brass-soft);stroke:var(--brass);stroke-width:1.5}

/* ── grids instead of long single-column lists ── */
.link-list.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));column-gap:28px}
.link-list.cols li{min-width:0}
.link-list.cols a{flex-direction:column;justify-content:flex-start;gap:0}
.mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.mini-grid>*{min-width:0}
.card.mini{padding:16px 18px;display:flex;flex-direction:column;gap:2px}
.card.mini h3{font-size:1.05rem;margin:0}
.card.mini .km{font-size:.74rem;color:var(--brass-deep);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.card.mini .price{font-size:1.12rem;color:var(--brass-deep);margin-top:6px;white-space:nowrap}
.card.mini small{display:block;font-size:.76rem;color:var(--muted);line-height:1.4}
.card.zone{padding:20px 20px 18px}
.card.zone h3{font-size:1.12rem;margin-bottom:.15rem}
.card.zone .km{font-size:.74rem;color:var(--brass-deep);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.card.zone p{font-size:.86rem;margin-top:.5rem}
.group-chips{columns:3 280px;column-gap:20px}
.group-chips>.card{break-inside:avoid;padding:18px 20px;margin-bottom:20px;display:inline-block;width:100%}
.group-chips h3{font-size:1.02rem;margin-bottom:.6rem}
.group-chips .chips a{font-size:.8rem;padding:6px 11px}
.partner-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.yard-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.yard-list .card h3{font-size:1.1rem}
@media(max-width:560px){.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card.mini{padding:12px 14px}.card.mini h3{font-size:.95rem}.card.mini .price{font-size:1rem}.partner-cats{grid-template-columns:minmax(0,1fr)}.group-chips>.card{margin-bottom:12px}}

/* ── banner photo (the old .hero-media figure, used in the banner of item and price pages) ── */
.hero-media.photo{aspect-ratio:4/3}
.hero-media figcaption.tag{max-width:calc(100% - 28px)}

/* ── maps: map and coordinates side by side from 768 px, stacked on phones (fixed boxes: no layout shift) ── */
.geo-map{margin:0;display:grid;gap:20px}
.map-box{position:relative;aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--paper-2)}
@media(max-width:767px){.map-box{aspect-ratio:4/3}}
.map-box .map-canvas{position:absolute;inset:0}
.map-box .mbr-map-lite{height:100%;overflow:auto;padding:10px}
.map-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:.9rem;padding:16px;text-align:center;pointer-events:none}
.map-live .map-ph{display:none}
.geo-map figcaption{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;display:flex;flex-direction:column;min-width:0}
.ml-head{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--brass-deep);margin-bottom:6px}
.map-legend{display:grid;margin:0}
.map-legend li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);line-height:1.5}
.map-legend li:last-child{border-bottom:0}
.ml-body{min-width:0;font-size:.88rem;color:var(--ink-soft)}
.ml-name{color:var(--ink)}
.ml-name small{color:var(--muted);font-size:.78rem}
.ml-note{font-size:.84rem;color:var(--brass-deep);font-weight:600}
.map-legend .coords{font-variant-numeric:tabular-nums;font-size:.82rem;color:var(--muted)}
.ml-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:2px;font-size:.82rem}
.ml-links a{color:var(--brass-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.map-attrib{margin-top:auto;padding-top:10px;font-size:.74rem}
.map-attrib a{text-decoration:underline}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line-strong);flex:0 0 auto;margin-top:5px}
.dot-area{background:#0f2a3a}.dot-works{background:#c8962e}.dot-yard{background:#1a7f4b}.dot-factory{background:#7c4dbd}.dot-source{background:#3a6ea5}.dot-office{background:#c62828}
@media(min-width:768px){
  .geo-map{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:stretch}
  .geo-map .map-box{aspect-ratio:auto;min-height:340px;height:100%}
  .geo-map.many figcaption{max-height:520px;overflow-y:auto}
}

/* ── price finder: the old delivered-cost calculator box (.calc) with filters instead of free inputs ── */
.pfinder .calc-out h3{margin-bottom:6px}
.pfinder .pf-what{font-size:.84rem;color:rgba(246,242,234,.7);margin-bottom:10px}
.pfinder .calc-line b{text-align:right}
.pfinder .calc-line.tot span:first-child{color:#fff;font-weight:600}
.pfinder .calc-line.tot b{color:var(--brass)}
.pfinder .calc-total{margin-top:14px;padding-top:6px}
.pfinder .qpick{margin:4px 0 16px}
.pfinder .qpick button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.pfinder .calc-cta .btn{flex:1 1 150px}
.pfinder .pf-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:var(--brass);font-weight:700;font-size:.88rem;text-decoration:underline;text-underline-offset:3px}
.no-js .pfinder .pf-sel,.no-js .pfinder .qpick{display:none}

/* the complete tables, collapsed (crawlable, native <details>) — the old FAQ disclosure look */
.all-prices{margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.all-prices>summary{list-style:none;cursor:pointer;padding:18px 44px 18px 0;font-size:1.05rem;font-weight:600;color:var(--ink);position:relative;line-height:1.35}
.all-prices>summary::-webkit-details-marker{display:none}
.all-prices>summary small{display:block;font-weight:500;font-size:.84rem;color:var(--muted);margin-top:2px}
.all-prices>summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:1.5px solid var(--brass);color:var(--brass-deep);display:grid;place-items:center;font-size:1.1rem;transition:background .25s}
.all-prices[open]>summary::after{content:"–";background:var(--brass);color:var(--ink)}
.all-prices .ap-body{padding:0 0 24px;min-width:0}
.all-prices .ap-body>h3{font-size:1.1rem;margin:1.4rem 0 .6rem}
.all-prices .ap-body>h3:first-child{margin-top:.4rem}

/* ── quote wizard: the old quote card, one short question per step ── */
.wz-top{margin:0 0 14px}
.wz-count{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.76rem;color:var(--muted);margin-bottom:7px}
.wz-count b{color:var(--ink-soft);font-weight:700;text-align:right}
.wz-bar{height:4px;border-radius:4px;background:var(--paper-3);overflow:hidden}
.wz-bar i{display:block;height:100%;width:25%;border-radius:4px;background:var(--brass);transition:width .3s ease}
form[data-step="2"] .wz-bar i{width:50%}form[data-step="3"] .wz-bar i{width:75%}form[data-step="4"] .wz-bar i{width:100%}
.wz-step{border:0;margin:0;padding:0;min-width:0}
.wz-step>legend{padding:0;margin:0 0 10px;font-size:.95rem;font-weight:700;color:var(--ink)}
.wz-on .wz-step>legend{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
form:not(.wz-on) .wz-step+.wz-step{margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}
.wz-group{font-size:.76rem;font-weight:700;color:var(--ink-soft);margin:0 0 5px;letter-spacing:.02em}
.wz-step .checks{margin-bottom:10px}
.wz-more{border:1.5px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;margin:0 0 12px;background:var(--paper)}
.wz-more>summary{cursor:pointer;font-weight:600;font-size:.84rem;color:var(--ink-soft)}
.wz-more[open]>summary{margin-bottom:8px}
.wz-more .partner-pick{display:block;font-size:.76rem;font-weight:700;color:var(--ink-soft);margin-bottom:5px}
.wz-more select{padding:11px 30px 11px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);font-family:var(--sans);font-size:16px;background:#fff;color:var(--ink);width:100%}
.wz-more .hint{font-size:.74rem;color:var(--muted);margin-top:5px}
.wz-step .qpick{margin:8px 0 0}
.wz-err{color:var(--red);font-size:.84rem;font-weight:600;margin:0 0 10px}
.wz-err:empty{display:none}
/* the send button never runs out of a narrow card (side / hero quote cards at step 4): it moves to its own row below Back and
   its label wraps when even that row is too narrow */
.wz-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.wz-nav .btn{flex:1 1 auto;min-width:0;white-space:normal}
.wz-nav [data-wz-back]{flex:0 0 auto}
.wz-review{display:grid;margin:0 0 12px;border-top:1px solid var(--line)}
.wz-review>div{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:.88rem}
.wz-review dt{color:var(--muted);font-size:.76rem;font-weight:700}
.wz-review dd{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.wz-edit{border:0;background:none;padding:0;color:var(--brass-deep);font-weight:700;font-size:.8rem;text-decoration:underline;text-underline-offset:2px}
.f select[aria-invalid="true"],.f textarea[aria-invalid="true"]{border-color:var(--red)}
.checks input[aria-invalid="true"],.f label.checks-inline input[aria-invalid="true"]{outline:2px solid var(--red);outline-offset:2px}
@media(max-width:400px){.wz-review>div{grid-template-columns:minmax(0,1fr) auto}.wz-review dt{grid-column:1/-1}}

/* ── calculators page (B2 tools, old form and table styles) ── */
table.tbl.calc-table{width:100%;min-width:0;background:transparent;margin-bottom:6px;table-layout:fixed}
.flabel{display:block;font-size:.76rem;font-weight:700;color:var(--ink-soft);margin-bottom:5px;letter-spacing:.02em}
.f-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:480px){.f-row.three{grid-template-columns:minmax(0,1fr)}}
.qcalc{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:26px 24px;margin:20px 0 0}
.qcalc .qc-form{display:grid;gap:4px;margin-bottom:10px}
.qcalc .qc-out td{font-variant-numeric:tabular-nums}
.qcalc .qc-total td{font-weight:700;color:var(--ink);background:var(--paper-2)}
.calc-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.calc-index a{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-weight:600;color:var(--ink-soft);transition:border-color .2s,background .2s}
.calc-index a:hover{border-color:var(--brass);background:var(--brass-soft);color:var(--ink)}
.calc-index svg{color:var(--brass-icon)}

/* ── "From our team" (runtime, admin → Expert notes): old cards ── */
.team-notes .tn-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:20px}
.team-notes.inline{margin:2rem 0}
.tn-card{display:flex;flex-direction:column;gap:10px}
.tn-kind{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-deep)}
.tn-card h3{font-size:1.1rem}
.tn-card .tn-text{color:var(--ink-soft);white-space:pre-line}
.tn-card blockquote.tn-text{border-left:3px solid var(--brass);padding-left:12px}
.tn-card img{border-radius:12px;width:100%;height:auto;max-height:340px;object-fit:cover}
.tn-card figcaption{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.84rem;color:var(--muted);margin-top:auto}
.tn-card figcaption b{color:var(--ink)}

/* ── image credits page ── */
.cr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.cr-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.cr-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--paper-2)}
.cr-img img{width:100%;height:100%;object-fit:cover}
.cr-body{padding:16px 18px;display:grid;gap:4px}
.cr-body p{font-size:.88rem}
.cr-alt{font-weight:600;color:var(--ink)}
.cr-body a{color:var(--brass-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* ── Customer reviews (concatenated after site.css) ── */
[hidden]{display:none!important}
.stars{display:inline-flex;gap:2px;line-height:1;vertical-align:middle}
.star{display:inline-flex;color:var(--brass);line-height:1}
.star svg{fill:none;stroke:var(--brass);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:0;flex:0 0 auto}
.star.on svg{fill:var(--brass)}

/* Badge: "★★★★★ 4.8 · 37 Google reviews" */
.rating-badge{display:inline-flex;align-items:center;max-width:100%}
.rating-badge .rb{display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border:1px solid var(--line);border-radius:20px;background:#fff;font-size:.86rem;font-weight:600;color:var(--ink-soft);line-height:1.2;transition:border-color .2s,background .2s;white-space:nowrap;max-width:100%}
.rating-badge .rb:hover{border-color:var(--brass);background:var(--brass-soft);color:var(--ink)}
.rating-badge .rb-t{white-space:nowrap}
.rating-badge b{color:var(--ink);font-weight:700}
.side-card .rating-badge{margin-top:12px}
.page-hero .actions .rating-badge{align-self:center}
.site-footer .rating-badge{margin:2px 0 12px}
.site-footer .rating-badge .rb{background:transparent;border-color:rgba(255,255,255,.28);color:rgba(255,255,255,.82)}
.site-footer .rating-badge .rb:hover{border-color:var(--brass);background:rgba(255,255,255,.06);color:#fff}
.site-footer .rating-badge b{color:#fff}

/* Section head: badge + buttons under the heading (full-width heads, owner 2026-10-02) */
.section-head.two .rv-side{margin-top:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.section-head .rv-side .actions{margin-top:0}
@media(max-width:820px){.section-head.two .rv-side{margin-top:1rem}}

/* Review cards */
.rv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.rv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.rv-grid{grid-template-columns:minmax(0,1fr)}}
.review-card{display:flex;flex-direction:column;gap:14px;margin:0;padding:22px 22px 20px}
.review-card .rv-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.review-card .rv-src{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.review-card blockquote{margin:0;flex:1;color:var(--ink-soft);font-size:.96rem;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}
.review-card figcaption{border-top:1px solid var(--line);padding-top:12px;font-size:.84rem;color:var(--muted);line-height:1.45}
.review-card figcaption b{display:block;color:var(--ink);font-size:.95rem}
.review-card figcaption span{display:block}
.review-card figcaption .rv-when{margin-top:2px;font-size:.78rem}
.rv-empty{margin-top:4px}
.rv-grid:empty+.rv-empty{margin-top:0}

/* Write-a-review form: star radios */
.rate{border:0;padding:0;margin:0 0 12px;min-width:0}
.rate legend{font-size:.76rem;font-weight:700;color:var(--ink-soft);margin-bottom:5px;letter-spacing:.02em;padding:0}
.rate legend .req{color:var(--red)}
.rate-row{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap}
.rate-stars{display:inline-flex;gap:0;position:relative}
.rate-stars input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}
.rate-stars label{width:44px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;border-radius:8px;margin:0;color:var(--muted);transition:background .15s}
.rate-stars label:hover{background:var(--brass-soft)}
.rate-stars label .star svg{width:26px;height:26px;transition:fill .12s}
.rate-stars label small{font-size:.66rem;font-weight:700;line-height:1;color:var(--muted)}
.rate-stars label.on .star svg,.rate-stars input:checked+label .star svg{fill:var(--brass)}
.rate-stars input:checked+label small{color:var(--brass-deep)}
.rate-stars input:focus-visible+label{outline:3px solid var(--brass);outline-offset:1px}
/* no-JS fill of the stars to the left of the chosen one */
.rate-stars:has(input[value="2"]:checked) label:nth-of-type(-n+2) .star svg,
.rate-stars:has(input[value="3"]:checked) label:nth-of-type(-n+3) .star svg,
.rate-stars:has(input[value="4"]:checked) label:nth-of-type(-n+4) .star svg,
.rate-stars:has(input[value="5"]:checked) label:nth-of-type(-n+5) .star svg{fill:var(--brass)}
.rate-hint{font-size:.84rem;font-weight:600;color:var(--ink-soft);min-height:1.3em}
.quote-card .notice{margin-bottom:16px}
.quote-card .notice p{font-size:.9rem}
.quote-card .notice a{color:var(--brass-deep);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.notice.success svg{color:var(--green)}
/* No-JS: review.php redirects to /reviews/?sent=1#rv-sent or ?error=…#rv-error, so the notice opens via :target */
.no-js #rv-sent:target,.no-js #rv-error:target{display:flex!important}
.notice.danger svg{color:var(--red)}
