/* ============================================================
   sz-moraga.css — Sub-Zero Repair Moraga
   Genre: Magazine Repair Guide. Self-hosted type, no generator classes.
   Prefix: sz-  (no .wrap/.hero/.card/.btn anywhere)
   ============================================================ */

@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
  src:url('/assets/fonts/spacegrotesk-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2122,U+2191,U+2192,U+2212,U+2215;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('/assets/fonts/inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2122,U+2191,U+2192,U+2212,U+2215;
}

:root{
  --sz-ink:hsl(78,24%,14%);
  --sz-ink-soft:hsl(80,12%,32%);
  --sz-accent:hsl(68,56%,32%);
  --sz-accent-deep:hsl(68,58%,24%);
  --sz-action:hsl(105,58%,46%);
  --sz-action-deep:hsl(105,60%,34%);
  --sz-surface:hsl(248,18%,96%);
  --sz-surface2:hsl(262,22%,90%);
  --sz-paper:#fff;
  --sz-line:hsl(138,16%,76%);
  --sz-line-soft:hsl(138,14%,86%);
  --sz-warn:hsl(180,65%,43%);
  --sz-warn-deep:hsl(180,70%,26%);
  --sz-shell:1160px;
  --sz-r-media:8px;
  --sz-r-square:2px;
  --sz-gap:clamp(1.5rem,4vw,2.75rem);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--sz-ink);
  background:var(--sz-paper);
  font-size:17px;
  line-height:1.66;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,.sz-display{
  font-family:'Space Grotesk','Inter',system-ui,sans-serif;
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.012em;
  color:var(--sz-ink);
  margin:0 0 .5em;
  text-wrap:balance;
}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.05rem)}
h2{font-size:clamp(1.5rem,1.2rem + 1.3vw,2.05rem);margin-top:1.6em}
h3{font-size:1.2rem;margin-top:1.7em}
h4{font-size:1.02rem;letter-spacing:0}
p{margin:0 0 1.05em}
a{color:var(--sz-accent-deep);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--sz-action-deep)}
p a,li a,.sz-muted a,.sz-strip__note a,.sz-faq__a a,.sz-foot p a{text-decoration-line:underline}
.sz-nav a,.sz-brand,.sz-act,.sz-call,.sz-ghost,.sz-tile{text-decoration:none}
strong,b{font-weight:600;color:var(--sz-ink)}
img,svg{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--sz-action-deep);outline-offset:2px}
hr.sz-rule{border:0;border-top:1px solid var(--sz-line);margin:2.4rem 0}

/* ---- Shell / layout ---- */
.sz-shell{max-width:var(--sz-shell);margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem)}
.sz-shell--narrow{max-width:760px}
.sz-band{padding:clamp(2.4rem,5vw,4rem) 0}
.sz-band--surface{background:var(--sz-surface)}
.sz-band--ink{background:var(--sz-ink);color:var(--sz-surface)}
.sz-band--ink h1,.sz-band--ink h2,.sz-band--ink h3{color:#fff}
.sz-skip{position:absolute;left:-999px;top:0;background:var(--sz-ink);color:#fff;padding:10px 16px;z-index:60}
.sz-skip:focus{left:8px;top:8px}

/* ---- Top bar / nav ---- */
.sz-topbar{border-bottom:1px solid var(--sz-line);background:var(--sz-paper);position:relative}
.sz-topbar__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;flex-wrap:wrap}
.sz-brand{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.62rem;text-decoration:none;line-height:1.15}
.sz-brand__logo{display:block;width:42px;height:42px;object-fit:cover;border-radius:6px;border:1px solid var(--sz-line-soft);background:#fff;box-shadow:0 1px 5px rgba(20,30,10,.12)}
.sz-brand__copy{display:flex;flex-direction:column;min-width:0}
.sz-brand__name{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.12rem;color:var(--sz-ink);letter-spacing:-.01em}
.sz-brand__tag{font-size:.72rem;color:var(--sz-ink-soft);letter-spacing:.02em}
.sz-nav{display:flex;flex-wrap:wrap;gap:.1rem .35rem;align-items:center}
.sz-nav a{font-size:.86rem;color:var(--sz-ink-soft);text-decoration:none;padding:.34rem .55rem;border-radius:var(--sz-r-square);font-weight:500}
.sz-nav a:hover{color:var(--sz-ink);background:var(--sz-surface)}
.sz-nav a[aria-current="page"]{color:var(--sz-accent-deep);box-shadow:inset 0 -2px 0 var(--sz-accent)}
.sz-topbar__cta{display:flex;gap:.5rem;align-items:center}
@media(max-width:719px){.sz-topbar__cta{display:none}}

/* ---- Buttons (square, not pill) ---- */
.sz-act,.sz-call,.sz-ghost{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.96rem;
  padding:.72em 1.15em;border-radius:var(--sz-r-square);text-decoration:none;
  border:2px solid transparent;cursor:pointer;line-height:1.1;transition:transform .08s,background .15s;
}
.sz-act{background:var(--sz-action);color:#0c1f08;border-color:var(--sz-action-deep)}
.sz-act:hover{background:var(--sz-action-deep);color:#fff}
.sz-call{background:var(--sz-ink);color:#fff;box-shadow:inset 0 -3px 0 var(--sz-accent)}
.sz-call:hover{background:#000;color:#fff}
.sz-ghost{background:transparent;color:var(--sz-ink);border-color:var(--sz-line)}
.sz-ghost:hover{border-color:var(--sz-ink);background:var(--sz-surface)}
.sz-act .sz-i,.sz-call .sz-i{width:1.05em;height:1.05em}
.sz-cta-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:1.3rem 0}

/* ---- Editorial opener (replaces hero) ---- */
.sz-opener{padding:clamp(2rem,4.5vw,3.4rem) 0 clamp(1.6rem,3vw,2.4rem)}
.sz-kicker{display:inline-block;font-family:'Space Grotesk',sans-serif;font-size:.74rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--sz-accent-deep);margin-bottom:.9rem}
.sz-dek{font-size:clamp(1.08rem,1rem + .5vw,1.32rem);line-height:1.5;color:var(--sz-ink-soft);max-width:40ch;margin:.2rem 0 1.2rem}
.sz-opener__grid{display:grid;gap:var(--sz-gap);align-items:start}
@media(min-width:880px){.sz-opener__grid{grid-template-columns:1.15fr .85fr}}
@media(max-width:879px){
  .sz-opener__grid{gap:1.15rem}
  .sz-opener__grid>.sz-aside{position:static}
  .sz-opener .sz-aside__box{padding:.9rem}
}

/* ---- Answer capsule (LLM/answer-led) ---- */
.sz-answer{background:var(--sz-surface);border-left:4px solid var(--sz-accent);
  padding:1.1rem 1.3rem;border-radius:0 var(--sz-r-square) var(--sz-r-square) 0;margin:1.3rem 0;font-size:1.02rem}
.sz-answer p:last-child{margin-bottom:0}
.sz-answer__q{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--sz-accent-deep);display:block;margin-bottom:.4rem}

/* ---- Rating chip ---- */
.sz-rating-chip{display:flex;align-items:center;flex-wrap:wrap;gap:.42rem .55rem;width:max-content;max-width:100%;
  border:1px solid var(--sz-line);background:#fff;border-radius:6px;padding:.38rem .55rem;margin:.15rem 0 1rem;
  box-shadow:0 4px 14px rgba(20,30,10,.06);font-size:.86rem;color:var(--sz-ink-soft)}
.sz-rating-chip__mark{display:grid;place-items:center;flex:none;width:1.7rem;height:1.7rem;border-radius:4px;
  background:conic-gradient(from 210deg,#4285f4 0 25%,#34a853 0 48%,#fbbc05 0 72%,#ea4335 0 100%);
  color:#fff;font-family:Arial,sans-serif;font-weight:700;line-height:1}
.sz-rating-chip strong{font-family:'Space Grotesk',sans-serif;font-size:1rem;color:var(--sz-ink)}
.sz-rating-chip__count{color:var(--sz-accent-deep);font-weight:600}
.sz-stars{display:inline-flex;gap:.03rem;color:#f6ad00;line-height:1}
.sz-stars span{display:inline-block}

/* ---- Table of contents nav under hero ---- */
.sz-toc{border-top:1px solid var(--sz-line);border-bottom:1px solid var(--sz-line);padding:.7rem 0;margin-top:1.4rem}
.sz-toc__label{font-family:'Space Grotesk',sans-serif;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sz-ink-soft);margin-right:.6rem}
.sz-toc ol{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem .9rem;margin:.4rem 0 0;padding:0;counter-reset:toc}
.sz-toc li{counter-increment:toc}
.sz-toc a{font-size:.86rem;text-decoration:none;color:var(--sz-ink-soft)}
.sz-toc a::before{content:counter(toc,decimal-leading-zero);color:var(--sz-accent);font-family:'Space Grotesk',sans-serif;font-weight:600;margin-right:.35em;font-size:.78em}
.sz-toc a:hover{color:var(--sz-ink)}

/* ---- Figures / diagrams ---- */
.sz-figure{margin:0;border:1px solid var(--sz-line);border-radius:var(--sz-r-media);overflow:hidden;background:var(--sz-paper)}
.sz-figure__media{display:block;width:100%;background:var(--sz-surface2)}
.sz-figure figcaption,.sz-figcaption{font-size:.84rem;line-height:1.45;color:var(--sz-ink-soft);
  padding:.7rem .9rem;border-top:1px solid var(--sz-line-soft);background:var(--sz-surface)}
.sz-figcaption b{color:var(--sz-accent-deep)}
.sz-figrow{display:grid;gap:1.1rem}
@media(min-width:760px){.sz-figrow--3{grid-template-columns:repeat(3,1fr)}.sz-figrow--2{grid-template-columns:repeat(2,1fr)}}

/* ---- Symptom router ---- */
.sz-router{display:grid;gap:1px;background:var(--sz-line);border:1px solid var(--sz-line);border-radius:var(--sz-r-media);overflow:hidden}
@media(min-width:620px){.sz-router{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.sz-router{grid-template-columns:repeat(3,1fr)}}
.sz-tile{background:var(--sz-paper);padding:1.2rem 1.25rem;display:flex;flex-direction:column;gap:.45rem;text-decoration:none;color:inherit}
.sz-tile:hover{background:var(--sz-surface)}
.sz-tile__h{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.04rem;color:var(--sz-ink);margin:0}
.sz-tile__mean{font-size:.9rem;color:var(--sz-ink-soft);margin:0}
.sz-tile__warn{font-size:.82rem;color:var(--sz-warn-deep);margin:0}
.sz-tile__go{font-family:'Space Grotesk',sans-serif;font-size:.82rem;font-weight:600;color:var(--sz-accent-deep);margin-top:auto}

/* ---- Diagnostic sequence (steps) ---- */
.sz-seq{list-style:none;counter-reset:seq;padding:0;margin:1.4rem 0;display:grid;gap:.1rem}
.sz-seq>li{counter-increment:seq;position:relative;padding:1rem 0 1rem 3.1rem;border-top:1px solid var(--sz-line-soft)}
.sz-seq>li:first-child{border-top:0}
.sz-seq>li::before{content:counter(seq,decimal-leading-zero);position:absolute;left:0;top:1rem;
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;color:var(--sz-accent);
  border:2px solid var(--sz-line);border-radius:var(--sz-r-square);width:2.2rem;height:2.2rem;display:grid;place-items:center}
.sz-seq h3{margin:0 0 .25rem;font-size:1.04rem}
.sz-seq p{margin:0;font-size:.95rem;color:var(--sz-ink-soft)}

/* ---- Pull quote / explainer ---- */
.sz-pull{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(1.25rem,1.1rem + .7vw,1.6rem);
  line-height:1.32;color:var(--sz-ink);border-top:2px solid var(--sz-accent);border-bottom:2px solid var(--sz-accent);
  padding:1.2rem 0;margin:2rem 0;max-width:24ch}
.sz-explainer{background:var(--sz-surface);border-radius:var(--sz-r-media);padding:1.3rem 1.4rem;margin:1.6rem 0}
.sz-explainer h3{margin-top:0}

/* ---- Diagnostic matrix (manual table) ---- */
.sz-matrix-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;contain:inline-size;border:1px solid var(--sz-line);border-radius:var(--sz-r-media);margin:1.5rem 0}
.sz-matrix{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
.sz-matrix caption{text-align:left;font-size:.82rem;color:var(--sz-ink-soft);padding:.7rem .9rem;border-bottom:1px solid var(--sz-line)}
.sz-matrix th,.sz-matrix td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--sz-line-soft);vertical-align:top}
.sz-matrix thead th{font-family:'Space Grotesk',sans-serif;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--sz-accent-deep);background:var(--sz-surface);position:sticky;top:0}
.sz-matrix tbody tr:last-child td{border-bottom:0}
.sz-matrix td:first-child{font-weight:600;color:var(--sz-ink)}

/* ---- Pricing ---- */
.sz-price{width:100%;border-collapse:collapse;margin:1.3rem 0}
.sz-price th,.sz-price td{text-align:left;padding:.7rem .6rem;border-bottom:1px solid var(--sz-line-soft)}
.sz-price thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--sz-accent-deep)}
.sz-price td,.sz-price th{overflow-wrap:anywhere}
.sz-price td:last-child{text-align:right;font-family:'Space Grotesk',sans-serif;font-weight:600;white-space:normal}
.sz-slot{background:var(--sz-surface2);color:var(--sz-ink-soft);font-style:italic;padding:0 .35em;border-radius:2px}

/* ---- Warning / note callouts ---- */
.sz-warnbox{border:1px solid var(--sz-warn);border-left:5px solid var(--sz-warn);background:hsl(180,55%,96%);
  padding:1rem 1.2rem;border-radius:0 var(--sz-r-square) var(--sz-r-square) 0;margin:1.5rem 0}
.sz-warnbox h3{margin-top:0;color:var(--sz-warn-deep)}
.sz-note{border:1px dashed var(--sz-line);background:var(--sz-surface);padding:.9rem 1.1rem;border-radius:var(--sz-r-square);margin:1.3rem 0;font-size:.93rem}

/* ---- Two-column article + sidebar ---- */
.sz-with-aside{display:grid;gap:var(--sz-gap)}
@media(min-width:920px){.sz-with-aside{grid-template-columns:1fr 300px}}
.sz-aside{align-self:start}
@media(min-width:920px){.sz-aside{position:sticky;top:1rem}}
.sz-aside__box{border:1px solid var(--sz-line);border-radius:var(--sz-r-media);padding:1.1rem 1.2rem;margin-bottom:1.1rem;background:var(--sz-paper)}
.sz-aside__box h3{margin-top:0;font-size:1rem}
.sz-aside__box h3+.sz-figure{margin:.65rem 0 .85rem}
.sz-aside__title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1rem;line-height:1.12;color:var(--sz-ink);margin:0 0 .65rem}
.sz-aside__title+.sz-figure{margin:.65rem 0 .85rem}
.sz-aside__box ul{margin:.4rem 0 0;padding-left:1.1rem;font-size:.9rem;color:var(--sz-ink-soft)}

/* ---- Local proof strip ---- */
.sz-strip{display:grid;gap:1px;background:var(--sz-line);border:1px solid var(--sz-line);border-radius:var(--sz-r-media);overflow:hidden}
@media(min-width:620px){.sz-strip{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.sz-strip{grid-template-columns:repeat(4,1fr)}}
.sz-strip__cell{background:var(--sz-paper);padding:1.05rem 1.15rem}
.sz-strip__place{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.98rem;margin:0 0 .3rem;color:var(--sz-ink)}
.sz-strip__note{font-size:.86rem;color:var(--sz-ink-soft);margin:0}

/* ---- Reviews ---- */
.sz-reviews-head{display:grid;gap:1rem;align-items:end;margin-bottom:1.25rem}
@media(min-width:760px){.sz-reviews-head{grid-template-columns:minmax(0,1fr) minmax(260px,360px)}}
.sz-reviews-head h2{margin-top:0}
.sz-rating-panel{display:flex;align-items:center;gap:.85rem;border:1px solid var(--sz-line);border-radius:8px;
  background:var(--sz-surface);padding:.9rem 1rem;min-width:0}
.sz-rating-panel__score{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:2rem;line-height:1;color:var(--sz-ink)}
.sz-rating-panel p{margin:.25rem 0 0;font-size:.82rem;line-height:1.35;color:var(--sz-ink-soft)}
.sz-review-grid{display:grid;gap:1rem}
@media(min-width:760px){.sz-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sz-review{border:1px solid var(--sz-line);border-radius:8px;background:#fff;padding:1.05rem 1.1rem;display:flex;flex-direction:column;min-width:0}
.sz-review__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--sz-ink-soft);font-size:.8rem}
.sz-review h3{font-size:1.02rem;margin:.8rem 0 .45rem;letter-spacing:0}
.sz-review p{font-size:.92rem;line-height:1.55;color:var(--sz-ink-soft);margin:0 0 1rem}
.sz-review footer{border-top:1px solid var(--sz-line-soft);padding-top:.75rem;margin-top:auto;display:grid;gap:.1rem;font-size:.84rem;color:var(--sz-ink-soft)}
.sz-review footer strong{font-size:.92rem}

/* ---- Map ---- */
.sz-map{border:1px solid var(--sz-line);border-radius:var(--sz-r-media);overflow:hidden;background:var(--sz-surface2)}
.sz-map iframe{display:block;width:100%;height:380px;border:0;filter:saturate(.9)}
.sz-map__cap{font-size:.82rem;color:var(--sz-ink-soft);padding:.7rem .9rem;border-top:1px solid var(--sz-line-soft);background:var(--sz-surface)}

/* ---- FAQ (details) ---- */
.sz-faq{margin:1.4rem 0;border-top:1px solid var(--sz-line)}
.sz-faq details{border-bottom:1px solid var(--sz-line)}
.sz-faq summary{cursor:pointer;list-style:none;padding:1rem .2rem;font-family:'Space Grotesk',sans-serif;
  font-weight:600;font-size:1.02rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.sz-faq summary::-webkit-details-marker{display:none}
.sz-faq summary::after{content:'+';font-size:1.4rem;color:var(--sz-accent);line-height:1}
.sz-faq details[open] summary::after{content:'\2212'}
.sz-faq details[open] summary{color:var(--sz-accent-deep)}
.sz-faq__a{padding:0 .2rem 1.1rem;color:var(--sz-ink-soft);font-size:.97rem}
.sz-faq__a p:last-child{margin-bottom:0}

/* ---- Booking form ---- */
.sz-form{display:grid;gap:1rem}
@media(min-width:680px){.sz-form{grid-template-columns:1fr 1fr}.sz-form .sz-field--full{grid-column:1/-1}}
.sz-field label{display:block;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.84rem;margin-bottom:.3rem}
.sz-field input,.sz-field select,.sz-field textarea{width:100%;padding:.7rem .75rem;border:1px solid var(--sz-line);
  border-radius:0;font:inherit;font-size:.95rem;background:var(--sz-paper);color:var(--sz-ink)}
.sz-field input:focus,.sz-field select:focus,.sz-field textarea:focus{border-color:var(--sz-accent);outline:2px solid var(--sz-action)}
.sz-field textarea{min-height:96px;resize:vertical}
.sz-field__hint{font-size:.78rem;color:var(--sz-ink-soft);margin-top:.25rem}

/* ---- Checklist ---- */
.sz-checks{list-style:none;padding:0;margin:1.1rem 0;display:grid;gap:.55rem}
.sz-checks li{display:grid;grid-template-columns:1.15em minmax(0,1fr);gap:.6em;align-items:flex-start;font-size:.96rem;overflow-wrap:anywhere}
.sz-checks li::before{content:'';flex:none;width:1.15em;height:1.15em;margin-top:.18em;border-radius:var(--sz-r-square);
  background:var(--sz-action);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/82% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/82% no-repeat;}

/* ---- Breadcrumb ---- */
.sz-crumbs{font-size:.8rem;color:var(--sz-ink-soft);padding:.9rem 0}
.sz-crumbs a{color:var(--sz-ink-soft);text-decoration:none}
.sz-crumbs a:hover{color:var(--sz-ink);text-decoration:underline}
.sz-crumbs span[aria-current]{color:var(--sz-ink)}

/* ---- CTA block ---- */
.sz-cta-block{border:2px solid var(--sz-ink);border-radius:var(--sz-r-media);padding:clamp(1.4rem,3vw,2.2rem);margin:2rem 0;background:var(--sz-paper)}
.sz-cta-block h2{margin-top:0}
.sz-cta-block__phone{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.5rem;color:var(--sz-ink);text-decoration:none;display:inline-block}
.sz-cta-block__phone:hover{color:var(--sz-accent-deep)}

/* ---- Sticky mobile call bar ---- */
.sz-callbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;gap:.5rem;
  padding:.55rem .7rem;background:var(--sz-paper);border-top:1px solid var(--sz-line);box-shadow:0 -4px 16px rgba(20,30,10,.1)}
.sz-callbar .sz-act,.sz-callbar .sz-call{flex:1;justify-content:center;padding:.78em .5em;font-size:.92rem}
@media(max-width:719px){.sz-callbar{display:flex}body{padding-bottom:4.4rem}}

/* ---- Footer (distinct DOM) ---- */
.sz-foot{background:var(--sz-ink);color:hsl(80,10%,72%);margin-top:3rem;padding:2.6rem 0 1.6rem;font-size:.9rem}
.sz-foot a{color:hsl(80,10%,80%);text-decoration:none}
.sz-foot a:hover{color:#fff;text-decoration:underline}
.sz-foot__cols{display:grid;gap:1.6rem;grid-template-columns:1fr}
@media(min-width:680px){.sz-foot__cols{grid-template-columns:1.4fr 1fr 1fr}}
.sz-foot h4{color:#fff;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .8rem}
.sz-foot__heading{font-family:'Space Grotesk',sans-serif;font-weight:700;color:#fff;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .8rem}
.sz-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.sz-foot__brand{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;color:#fff;margin:0 0 .4rem}
.sz-foot__office{font-size:.78rem;color:hsl(80,8%,62%);line-height:1.45;margin-top:.75rem}
.sz-foot__legal{border-top:1px solid hsl(80,12%,24%);margin-top:1.8rem;padding-top:1.1rem;font-size:.76rem;color:hsl(80,8%,58%)}
.sz-foot__legal a{color:hsl(80,8%,68%)}

/* ---- utility ---- */
.sz-lead{font-size:1.1rem;color:var(--sz-ink-soft)}
.sz-i{display:inline-block;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sz-muted{color:var(--sz-ink-soft);font-size:.85rem}
.sz-grid-2{display:grid;gap:var(--sz-gap)}
@media(min-width:760px){.sz-grid-2{grid-template-columns:1fr 1fr}}
.sz-prose>*{max-width:68ch}
.sz-prose .sz-matrix-wrap,.sz-prose .sz-router,.sz-prose .sz-figrow,.sz-prose .sz-strip,.sz-prose .sz-figure,.sz-prose .sz-map{max-width:none}
