/* ============================================================
   subzerorepairmontclair.com — "Minimal Luxury Repair"
   Site-specific system. Prefix: sz-montclair / szm-.
   Self-hosted fonts. No .wrap/.hero/.card/.btn from old generator.
   ============================================================ */

@font-face{font-family:'Crimson Text';src:url(assets/fonts/crimson-text-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Crimson Text';src:url(assets/fonts/crimson-text-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Crimson Text';src:url(assets/fonts/crimson-text-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Roboto';src:url(assets/fonts/roboto.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --szm-ink:hsl(148,24%,14%);
  --szm-ink-2:hsl(150,14%,30%);
  --szm-accent:hsl(138,54%,32%);
  --szm-action:hsl(175,58%,46%);
  --szm-action-ink:hsl(175,72%,16%);
  --szm-surface:hsl(318,18%,96%);
  --szm-surface-2:hsl(332,22%,90%);
  --szm-line:hsl(208,16%,76%);
  --szm-warning:hsl(250,65%,43%);
  --szm-paper:#ffffff;
  --szm-shell:1040px;
  --szm-r-primary:2px;
  --szm-r-form:4px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--szm-surface);color:var(--szm-ink);
  font-family:'Roboto',system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  font-size:17px;line-height:1.72;font-weight:400;
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Crimson Text',Georgia,'Times New Roman',serif;font-weight:600;line-height:1.16;color:var(--szm-ink);margin:0 0 .5em}
h1{font-size:clamp(2rem,4.2vw,2.85rem);letter-spacing:0}
h2{font-size:clamp(1.5rem,3vw,1.95rem);margin-top:1.7em}
h3{font-size:1.22rem;color:var(--szm-ink)}
h4{font-size:1.02rem;font-family:'Roboto';font-weight:700;text-transform:none}
p{margin:0 0 1.05em}
a{color:var(--szm-accent);text-underline-offset:2px}
a:hover{color:var(--szm-action-ink)}
strong,b{font-weight:700}
img,svg{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--szm-action);outline-offset:2px}
.szm-skip{position:absolute;left:-999px;top:0;background:var(--szm-ink);color:#fff;padding:10px 16px;z-index:200}
.szm-skip:focus{left:8px;top:8px}

/* ---------- shell ---------- */
.szm-shell{max-width:var(--szm-shell);margin:0 auto;padding:0 22px}
.szm-band{padding:54px 0}
.szm-band--tight{padding:34px 0}
.szm-band--surface2{background:var(--szm-surface-2)}
.szm-band--ink{background:var(--szm-ink);color:var(--szm-surface)}
.szm-band--ink h2,.szm-band--ink h3{color:#fff}
.szm-eyebrow{font-family:'Roboto';font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--szm-accent);margin:0 0 .8em}
.szm-band--ink .szm-eyebrow{color:var(--szm-action)}
.szm-lede{font-size:1.16rem;line-height:1.62;color:var(--szm-ink-2)}
.szm-measure{max-width:68ch}
.szm-muted{color:var(--szm-ink-2);font-size:.92rem}

/* ---------- two-row header ---------- */
.szm-head{background:var(--szm-paper);border-bottom:1px solid var(--szm-line);position:sticky;top:0;z-index:100}
.szm-head__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;max-width:var(--szm-shell);margin:0 auto}
.szm-brand{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1.15;min-width:0}
.szm-brand__mark{width:44px;height:44px;object-fit:cover;border-radius:4px;border:1px solid var(--szm-line);background:#fff;flex:none}
.szm-brand__copy{display:flex;flex-direction:column;min-width:0}
.szm-brand b{font-family:'Crimson Text';font-weight:600;font-size:1.24rem;color:var(--szm-ink)}
.szm-brand span{font-size:.74rem;color:var(--szm-ink-2);letter-spacing:.02em}
.szm-head__actions{display:flex;align-items:center;gap:12px;flex:none}
.szm-head__phone{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;line-height:1.1}
.szm-head__phone .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--szm-ink-2)}
.szm-head__phone .num{font-family:'Crimson Text';font-weight:600;font-size:1.28rem;color:var(--szm-accent)}
.szm-head__book{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1.5px solid var(--szm-ink);border-radius:var(--szm-r-primary);color:var(--szm-ink);font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap}
.szm-head__book:hover{background:var(--szm-ink);color:#fff}
.szm-nav{border-top:1px solid var(--szm-line);background:var(--szm-paper)}
.szm-nav ul{max-width:var(--szm-shell);margin:0 auto;padding:0 14px;list-style:none;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.szm-nav ul::-webkit-scrollbar{display:none}
.szm-nav a{display:block;white-space:nowrap;padding:10px 8px;font-size:.84rem;color:var(--szm-ink-2);text-decoration:none;border-bottom:2px solid transparent}
.szm-nav a:hover{color:var(--szm-ink)}
.szm-nav a[aria-current="page"]{color:var(--szm-ink);border-bottom-color:var(--szm-accent);font-weight:500}

/* ---------- search trust strip ---------- */
.szm-toptrust{background:var(--szm-paper);border-bottom:1px solid var(--szm-line)}
.szm-toptrust__inner{display:flex;align-items:center;gap:10px;min-height:54px;padding-top:8px;padding-bottom:8px;overflow-x:auto;scrollbar-width:none}
.szm-toptrust__inner::-webkit-scrollbar{display:none}
.szm-toptrust__inner>span,.szm-google-badge{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;border:1px solid var(--szm-line);border-radius:var(--szm-r-primary);background:var(--szm-surface);padding:7px 10px;color:var(--szm-ink);font-size:.82rem;line-height:1.2}
.szm-google-badge{background:#fff}
.szm-google-badge b{display:block;font-size:.82rem}
.szm-google-badge small{display:block;max-width:260px;color:var(--szm-ink-2);font-size:.68rem;line-height:1.25}
.szm-gmark{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;background:#fff;border:2px solid #4285f4;color:#1a73e8;font-weight:800;font-size:.9rem}

/* ---------- buttons / CTA ---------- */
.szm-btn{display:inline-flex;align-items:center;gap:.5em;font-family:'Roboto';font-weight:600;font-size:1rem;
  text-decoration:none;padding:13px 22px;border-radius:var(--szm-r-primary);border:1.5px solid transparent;cursor:pointer;transition:filter .15s,background .15s}
.szm-btn--call{background:var(--szm-accent);color:#fff}
.szm-btn--call:hover{filter:brightness(1.08);color:#fff}
.szm-btn--book{background:transparent;color:var(--szm-ink);border-color:var(--szm-ink)}
.szm-btn--book:hover{background:var(--szm-ink);color:#fff}
.szm-band--ink .szm-btn--book{color:#fff;border-color:rgba(255,255,255,.6)}
.szm-band--ink .szm-btn--book:hover{background:#fff;color:var(--szm-ink)}
.szm-ctarow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:1.2em 0 .3em}
.szm-ico{width:1.05em;height:1.05em;flex:none;vertical-align:-.15em}

/* ---------- answer capsule ---------- */
.szm-answer{background:var(--szm-paper);border:1px solid var(--szm-line);border-left:4px solid var(--szm-accent);
  padding:20px 24px;font-size:1.1rem;line-height:1.62;border-radius:var(--szm-r-primary)}
.szm-answer .q{display:block;font-family:'Roboto';font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--szm-accent);margin-bottom:.5em}

/* ---------- hero (answer-led, NOT gradient-only) ---------- */
.szm-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:46px 0 40px}
.szm-hero__media{margin:0}
.szm-hero__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--szm-r-primary);border:1px solid var(--szm-line)}
.szm-hero__media figcaption{font-size:.82rem;color:var(--szm-ink-2);margin-top:8px}

/* ---------- symptom router ---------- */
.szm-router{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.szm-tile{display:flex;flex-direction:column;background:var(--szm-paper);border:1px solid var(--szm-line);border-radius:var(--szm-r-primary);padding:18px 18px 16px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.szm-tile:hover{border-color:var(--szm-accent);transform:translateY(-2px)}
.szm-tile h3{margin:.1em 0 .35em;font-size:1.08rem;color:var(--szm-ink)}
.szm-tile .means{font-size:.92rem;color:var(--szm-ink-2);margin:0 0 .5em}
.szm-tile .dont{font-size:.82rem;color:var(--szm-warning);margin:0 0 .7em}
.szm-tile .go{margin-top:auto;font-size:.84rem;font-weight:600;color:var(--szm-accent)}

/* ---------- figure / proof ---------- */
.szm-figure{margin:0}
.szm-figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--szm-r-primary);border:1px solid var(--szm-line);background:var(--szm-paper)}
.szm-figure figcaption{font-size:.86rem;color:var(--szm-ink-2);margin-top:8px;line-height:1.5}
.szm-proofrow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.szm-band--full-media{padding:0}
.szm-band--full-media img{width:100%;height:min(54vw,520px);object-fit:cover;display:block;border-radius:0;border:0}

/* ---------- diagnostic steps ---------- */
.szm-steps{counter-reset:szm;list-style:none;padding:0;margin:14px 0;display:grid;gap:14px}
.szm-steps li{position:relative;background:var(--szm-paper);border:1px solid var(--szm-line);border-radius:var(--szm-r-primary);padding:16px 18px 16px 58px}
.szm-steps li::before{counter-increment:szm;content:counter(szm);position:absolute;left:14px;top:14px;width:30px;height:30px;
  background:var(--szm-ink);color:#fff;border-radius:var(--szm-r-primary);display:flex;align-items:center;justify-content:center;font-family:'Crimson Text';font-weight:600}
.szm-steps li b{display:block;margin-bottom:.15em}
.szm-noguess{border-left:4px solid var(--szm-warning);background:var(--szm-paper);padding:14px 18px;border-radius:var(--szm-r-primary);margin:14px 0}
.szm-noguess b{color:var(--szm-warning)}

/* ---------- layout with technical sidebar ---------- */
.szm-with-aside{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}
.szm-aside{position:sticky;top:120px;background:var(--szm-paper);border:1px solid var(--szm-line);border-radius:var(--szm-r-primary);padding:18px}
.szm-aside h4{margin:.2em 0 .5em;color:var(--szm-accent)}
.szm-aside ul{margin:0;padding-left:18px;font-size:.92rem;color:var(--szm-ink-2)}
.szm-note{background:var(--szm-surface-2);border-radius:var(--szm-r-primary);padding:14px 16px;font-size:.88rem;margin:14px 0}
.szm-note .szm-figure img{border-color:var(--szm-line)}

/* ---------- tables ---------- */
.szm-tablewrap{overflow-x:auto;margin:16px 0;border:1px solid var(--szm-line);border-radius:var(--szm-r-primary)}
.szm-table{width:100%;border-collapse:collapse;min-width:560px;background:var(--szm-paper)}
.szm-table th,.szm-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--szm-line);vertical-align:top;font-size:.93rem}
.szm-table th{font-family:'Roboto';font-weight:700;color:var(--szm-ink);background:var(--szm-surface)}
.szm-table tr:last-child td{border-bottom:0}
.szm-table td:last-child{color:var(--szm-ink-2)}

/* ---------- ranked causes ---------- */
.szm-causes{list-style:none;padding:0;margin:14px 0;counter-reset:c}
.szm-causes li{border:1px solid var(--szm-line);border-radius:var(--szm-r-primary);background:var(--szm-paper);padding:16px 18px;margin-bottom:12px}
.szm-causes li h3{margin:0 0 .4em;font-size:1.06rem}
.szm-causes dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:.92rem}
.szm-causes dt{font-weight:700;color:var(--szm-accent)}
.szm-causes dd{margin:0;color:var(--szm-ink-2)}

/* ---------- pricing slot ---------- */
.szm-pricegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0}
.szm-pricecard{border:1px solid var(--szm-line);border-radius:var(--szm-r-primary);background:var(--szm-paper);padding:16px}
.szm-pricecard b{display:block;font-family:'Crimson Text';font-weight:600;font-size:1.3rem;color:var(--szm-accent)}
.szm-pricecard span{font-size:.9rem;color:var(--szm-ink-2)}

/* ---------- FAQ ---------- */
.szm-faq details{border-bottom:1px solid var(--szm-line);padding:4px 0}
.szm-faq summary{cursor:pointer;font-family:'Crimson Text';font-weight:600;font-size:1.12rem;padding:14px 30px 14px 0;position:relative;list-style:none;color:var(--szm-ink)}
.szm-faq summary::-webkit-details-marker{display:none}
.szm-faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-family:'Roboto';color:var(--szm-accent);font-size:1.4rem;line-height:1}
.szm-faq details[open] summary::after{content:"–"}
.szm-faq details p{margin:0 0 16px;color:var(--szm-ink-2)}

/* ---------- local notes / neighborhoods ---------- */
.szm-localgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 34px}
.szm-localgrid h3{font-size:1.05rem;margin-bottom:.2em}
.szm-localgrid p{font-size:.95rem;color:var(--szm-ink-2);margin:0}
.szm-strip{display:flex;flex-wrap:wrap;gap:10px}
.szm-strip span{font-size:.85rem;background:var(--szm-surface-2);padding:6px 12px;border-radius:var(--szm-r-primary)}

/* ---------- map ---------- */
.szm-map{border:1px solid var(--szm-line);border-radius:var(--szm-r-primary);overflow:hidden;background:var(--szm-paper)}
.szm-map iframe{display:block;width:100%;height:380px;border:0;filter:grayscale(.18)}

/* ---------- case study ---------- */
.szm-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.szm-case{border:1px solid var(--szm-line);border-radius:var(--szm-r-primary);background:var(--szm-paper);padding:18px}
.szm-case .tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--szm-accent);font-weight:700}
.szm-case h3{font-size:1.04rem;margin:.3em 0 .4em}
.szm-case p{font-size:.9rem;color:var(--szm-ink-2);margin:0 0 .5em}
.szm-case .outcome{font-size:.86rem;color:var(--szm-ink);font-weight:500}

/* ---------- review evidence ---------- */
.szm-reviewgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}
.szm-reviewcard{background:var(--szm-paper);border:1px solid var(--szm-line);border-radius:var(--szm-r-primary);padding:18px}
.szm-reviewcard h3{font-size:1.04rem;margin:.15em 0 .4em}
.szm-reviewcard p{font-size:.92rem;color:var(--szm-ink-2);margin:0}
.szm-stars{color:#b8860b;font-size:.9rem;letter-spacing:0;margin-bottom:.35em}

/* ---------- breadcrumbs ---------- */
.szm-crumbs{max-width:var(--szm-shell);margin:0 auto;font-size:.8rem;color:var(--szm-ink-2);padding:14px 22px 0}
.szm-crumbs a{color:var(--szm-ink-2)}
.szm-crumbs span{color:var(--szm-ink)}

/* ---------- footer ---------- */
.szm-foot{background:var(--szm-ink);color:hsl(150,12%,72%);margin-top:0;padding:46px 0 96px}
.szm-foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.szm-foot h4{color:#fff;font-family:'Crimson Text';font-weight:600;font-size:1.1rem;margin:0 0 .6em}
.szm-foot a{color:hsl(150,12%,78%);text-decoration:none;display:block;padding:3px 0;font-size:.92rem}
.szm-foot a:hover{color:#fff}
.szm-foot__lockup{display:flex;align-items:center;gap:10px;margin-bottom:.5em}
.szm-foot__lockup img{width:42px;height:42px;object-fit:cover;border-radius:4px;background:#fff}
.szm-foot__brand b{font-family:'Crimson Text';font-weight:600;font-size:1.2rem;color:#fff;display:block}
.szm-foot__disc{border-top:1px solid hsl(150,14%,24%);margin-top:30px;padding-top:18px;font-size:.78rem;color:hsl(150,10%,56%);line-height:1.6}

/* ---------- sticky mobile call bar ---------- */
.szm-callbar{display:none}
@media(max-width:760px){
  .szm-callbar{display:grid;grid-template-columns:1fr 1fr;gap:1px;position:fixed;left:0;right:0;bottom:0;z-index:150;background:var(--szm-line);box-shadow:0 -2px 14px rgba(0,0,0,.16)}
  .szm-callbar a{display:flex;align-items:center;justify-content:center;gap:.45em;padding:14px 8px;font-weight:700;font-size:1rem;text-decoration:none}
  .szm-callbar .call{background:var(--szm-accent);color:#fff}
  .szm-callbar .book{background:var(--szm-ink);color:#fff}
}

/* ---------- responsive ---------- */
@media(max-width:920px){
  .szm-hero{grid-template-columns:1fr;gap:22px}
  .szm-with-aside{grid-template-columns:1fr}
  .szm-aside{position:static}
  .szm-router,.szm-cases{grid-template-columns:repeat(2,1fr)}
  .szm-foot__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  body{font-size:16px}
  .szm-band{padding:38px 0}
  .szm-router,.szm-proofrow,.szm-cases,.szm-localgrid,.szm-pricegrid,.szm-foot__grid{grid-template-columns:1fr}
  .szm-reviewgrid{grid-template-columns:1fr}
  .szm-toptrust__inner{padding-left:16px;padding-right:16px}
  .szm-google-badge small{max-width:220px}
  .szm-head__top{flex-wrap:wrap;gap:8px;padding:10px 16px}
  .szm-head__actions{width:100%;justify-content:space-between}
  .szm-head__phone{align-items:flex-start}
  .szm-head__phone .num{font-size:1.12rem}
  .szm-head__actions{gap:8px}
  .szm-head__book{min-height:34px;padding:7px 10px;font-size:.82rem}
  .szm-brand__mark{width:38px;height:38px}
  .szm-brand__copy>span{display:none}
  .szm-brand b{font-size:1.08rem}
  .szm-hero{padding:30px 0 26px}
}
@media print{.szm-head,.szm-nav,.szm-callbar,.szm-map{display:none}}
