/* North Platte Commercial Roofing — H11-S9-P8-B2-R5-F7-M48-C5-I6-E6 · hunter green + safety orange */
@font-face{font-family:"Plus Jakarta Sans";src:url(/assets/fonts/plus-jakarta-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(/assets/fonts/plus-jakarta-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/assets/fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/assets/fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
  --brand:#284434; --hdr:#254431; --sec:#6C8272; --accent:#F07020; --accent-hover:#F48A45; --accent-ink:#9A420C;
  --ink:#132017; --muted:#4A5A4F; --page:#FFFFFF; --alt:#F1F4F0; --tint:#E6EEE7; --otint:#FDF0E6; --line:#C9D3CB;
  --on-dark:#FFFFFF; --on-dark-2:#D5DFD7; --chip-dark:#F7A36A;
  --hf:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --bf:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:6px; --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;font-family:var(--bf);font-size:17px;line-height:1.6;color:var(--ink);background:var(--page);padding-bottom:68px}
@media (min-width:900px){body{font-size:18px;padding-bottom:0}}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.bg-brand :focus-visible,.bg-ink :focus-visible,.site-header :focus-visible,.bridge-card :focus-visible{outline-color:#FFFFFF}
b,strong{font-weight:700}
h1,h2,h3,h4{font-family:var(--hf);line-height:1.22;margin:0 0 .5em;color:var(--ink);font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(30px,2.4vw + 18px,48px)}
h2{font-size:clamp(25px,1.4vw + 18px,36px)}
h3{font-size:20px;font-weight:700}
@media (min-width:900px){h3{font-size:21px}}
p{margin:0 0 1em;max-width:70ch}
ul,ol{padding:0;margin:0;list-style:none}
.vh{position:absolute!important;color:inherit;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--ink);padding:10px 14px;z-index:100;border-radius:4px}
.skip:focus{left:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 18px}
@media (min-width:900px){.wrap{padding:0 28px}}

/* icons (I6 hex line icons) */
svg.icon{width:48px;height:48px;flex:none}
svg.icon .hex{fill:var(--tint);stroke:var(--brand);stroke-width:1.5}
svg.icon .glyph{fill:none;stroke:var(--brand);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
svg.icon.sm{width:28px;height:28px}
svg.icon.on-dark .hex,.bg-brand svg.icon .hex,.bg-ink svg.icon .hex,.raised svg.icon .hex{fill:rgba(255,255,255,.08);stroke:var(--chip-dark)}
svg.icon.on-dark .glyph,.bg-brand svg.icon .glyph,.bg-ink svg.icon .glyph{stroke:#FFFFFF}
.chev,.ui-phone,.ui-arrow{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 24px;border-radius:var(--r);
  font-family:var(--hf);font-weight:700;font-size:17px;line-height:1.2;text-decoration:none;border:2px solid transparent;cursor:pointer;text-align:center;transition:background-color .15s,color .15s}
.btn-primary{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn-ghost:hover{background:var(--brand);color:#fff}
.btn-ghost-dark{background:transparent;color:#fff;border-color:#fff}
.btn-ghost-dark:hover{background:#fff;color:var(--ink)}
.btn-sm{min-height:48px;padding:10px 18px;font-size:16px}
.btn-block{width:100%}
.btn-pair{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.btn-pair .btn{width:100%}
@media (min-width:600px){.btn-pair{flex-direction:row;justify-content:center}.btn-pair .btn{width:auto;min-width:220px}}
.center-btn{text-align:center;margin-top:32px}
.center-btn .btn{width:100%}
@media (min-width:600px){.center-btn .btn{width:auto}}
.text-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-family:var(--hf);color:var(--brand);min-height:48px}

/* header */
.site-header{background:var(--hdr);color:#fff;position:relative;z-index:40}
.hdr{display:flex;align-items:center;gap:20px;min-height:72px}
.logo{display:block;flex:none;margin-right:auto}
.logo img{height:52px;width:auto}
@media (min-width:1200px){.logo img{height:62px}.hdr{min-height:84px}}
.desk-nav,.hdr-cta{display:none}
@media (min-width:1200px){.desk-nav{display:block}.hdr-cta{display:flex;gap:10px}.burger{display:none!important}}
.desk-nav>ul{display:flex;gap:4px;align-items:center}
.desk-nav a{color:#fff;text-decoration:none;font-family:var(--hf);font-weight:600;font-size:16px;padding:12px 10px;display:inline-block}
.desk-nav a:hover{color:var(--chip-dark)}
.has-sub{position:relative;display:flex;align-items:center}
.sub-toggle{background:none;border:0;color:#fff;width:32px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-left:-6px}
.sub{display:none;position:absolute;top:100%;left:0;min-width:260px;background:#fff;border-radius:var(--r);box-shadow:0 12px 30px rgba(0,0,0,.18);padding:8px;z-index:50;border-top:4px solid var(--accent)}
.has-sub.open .sub,.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.sub a{color:var(--ink);display:block;padding:10px 12px;border-radius:4px}
.sub a:hover{background:var(--alt);color:var(--ink)}
.burger{display:inline-flex;color:#fff;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:2px solid rgba(255,255,255,.7);border-radius:var(--r);cursor:pointer;margin-right:-2px}
.bars{display:grid;gap:5px}.bars span{display:block;width:22px;height:2px;background:#fff;border-radius:2px}
.mnav{background:var(--hdr);border-top:1px solid rgba(255,255,255,.15);max-height:calc(100vh - 72px);overflow:auto;padding:8px 18px 20px}
.mnav a{color:#fff;text-decoration:none;font-family:var(--hf);font-weight:600;font-size:18px;display:flex;align-items:center;min-height:48px}
.mnav li{border-bottom:1px solid rgba(255,255,255,.12)}
.m-row{display:flex;align-items:center;justify-content:space-between}
.m-toggle{background:none;border:1px solid rgba(255,255,255,.35);border-radius:var(--r);color:#fff;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center}
.m-toggle[aria-expanded=true] .chev{transform:rotate(180deg)}
.m-sub{padding-left:14px;padding-bottom:6px}.m-sub li{border:0}.m-sub a{font-size:17px;font-weight:600;color:var(--on-dark-2)}
.m-cta{display:grid;gap:10px;margin-top:18px}
body.menu-open .callbar{display:none}

/* sections */
.sec{padding:52px 0}
@media (min-width:900px){.sec{padding:84px 0}}
.bg-page{background:var(--page)}.bg-alt{background:var(--alt)}.bg-otint{background:var(--otint)}
.bg-brand{background:var(--brand);color:#fff}.bg-ink{background:var(--ink);color:#fff}
.bg-brand h2,.bg-brand h3,.bg-ink h2,.bg-ink h3{color:#fff}
.sec-head{text-align:center;max-width:820px;margin:0 auto 32px}
.sec-head .intro{margin:0 auto;color:var(--muted)}
.intro{font-size:18px}
/* E6 flanked rule */
h2.e6{display:flex;align-items:center;justify-content:center;gap:16px;text-align:center}
h2.e6::before,h2.e6::after{content:"";flex:none;width:20px;height:2px;background:var(--accent)}
@media (min-width:900px){h2.e6::before,h2.e6::after{width:40px}}
h2.e6 span{min-width:0}
/* L2 / L3 / L4 left-aligned heading layouts */
.L4 .sec-head,.L2 .sec-head,.L3 .sec-head{text-align:left;margin-left:0}
.L4 .sec-head .intro,.L2 .sec-head .intro,.L3 .sec-head .intro{margin-left:0}
.L2 h2.e6,.L3 h2.e6,.L4 h2.e6{justify-content:flex-start;text-align:left}
.L2 h2.e6::after,.L3 h2.e6::after,.L4 h2.e6::after{display:none}
@media (min-width:1000px){
  .L2>.wrap,.L3>.wrap{display:grid;grid-template-columns:minmax(0,34fr) minmax(0,66fr);gap:48px;align-items:start}
  .L3>.wrap{grid-template-columns:minmax(0,66fr) minmax(0,34fr)}
  .L3>.wrap>.sec-head{order:2}
  .L2 .sec-head,.L3 .sec-head{position:sticky;top:24px;margin-bottom:0}
  .L2 .grid.g4,.L3 .grid.g4,.L2 .grid.g6,.L3 .grid.g6{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.L5 .wrap{max-width:820px}

/* grids */
.grid{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.grid.g2,.grid.g4,.grid.g6,.grid.g3,.grid.g5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid.g3>:last-child:nth-child(odd),.grid.g5>:last-child{grid-column:1 / -1}}
@media (min-width:1100px){
  .grid.g3,.grid.g6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid.g3>:last-child:nth-child(odd){grid-column:auto}
  .grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid.g5{grid-template-columns:repeat(6,minmax(0,1fr))}
  .grid.g5>*{grid-column:span 2}
  .grid.g5>:nth-child(4){grid-column:2 / span 2}
  .grid.g5>:last-child{grid-column:4 / span 2}
}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.bg-page .card{background:var(--alt);border-color:#D6DED8}
.bg-page .card .card-head.tint{background:#fff}
.card-head.tint{background:var(--tint);display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:3px solid var(--accent)}
.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.card-body p:last-child{margin-bottom:0}
.card-body .text-link{margin-top:auto}
.card-photo img{aspect-ratio:3/2;object-fit:cover;width:100%}
.tag{font-family:var(--hf);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink)}
.bg-page .card .tag{color:var(--accent-ink)}
.eyebrow{display:block;font-family:var(--hf);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:6px}
.label{font-family:var(--hf);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}

/* H11 bridge card hero */
.hero-h11{padding:0;background:var(--page)}
.hero-stack{display:flex;flex-direction:column}
.hero-photo{order:2}
.hero-photo img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card-wrap{order:1;padding:0}
.bridge-card{background:var(--brand);color:#fff;padding:22px 18px 26px;text-align:center}
.bridge-card h1{color:#fff;margin:10px 0 8px}
.hero-sub{font-size:21px;color:var(--on-dark-2);font-weight:600;margin:0 0 10px;line-height:1.3}
.hero-intro{margin:0 auto;max-width:62ch;color:#fff}
.chip{display:inline-block;font-family:var(--hf);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--chip-dark);border:1.5px solid var(--chip-dark);border-radius:999px;padding:4px 12px}
.crumbs ol{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;font-size:14px;margin-bottom:12px;color:var(--on-dark-2)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--on-dark-2)}
.crumbs a{color:#fff}
@media (min-width:900px){
  .hero-photo{order:1}.card-wrap{order:2;padding:0 28px}
  .hero-photo img{aspect-ratio:auto;height:500px}
  .bridge-card{max-width:880px;margin:-170px auto 0;position:relative;border-radius:var(--r);padding:34px 48px 38px;box-shadow:0 20px 40px rgba(19,32,23,.25);border-top:5px solid var(--accent)}
  .hero-sub{font-size:24px}
}

/* fact strip */
.facts-sec{padding:28px 0}
.facts{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
.facts li{display:flex;align-items:center;gap:12px;font-family:var(--hf);font-weight:600;font-size:17px}
@media (min-width:700px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.facts{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* K7 raised column table */
.k7{display:flex;flex-direction:column;gap:16px}
.k7-labels{display:none}
.k7-col{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.k7-col.raised{order:-1;background:var(--brand);color:#fff;border:0;border-top:5px solid var(--accent);box-shadow:0 14px 30px rgba(19,32,23,.22)}
.k7-col.raised h3{color:#fff}
.k7-name h3{margin:0 0 8px}
.k7-tag{display:inline-block;font-family:var(--hf);font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--chip-dark);margin-bottom:4px}
.k7-cell{padding:10px 0;border-top:1px solid var(--line)}
.raised .k7-cell{border-color:rgba(255,255,255,.2)}
.k7-in{display:block;font-family:var(--hf);font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.raised .k7-in{color:var(--on-dark-2)}
.k7-v{display:block}
.k7-note{margin-top:18px;color:var(--muted)}
@media (min-width:1000px){
  .k7{display:grid;grid-template-columns:200px repeat(3,minmax(0,1fr));gap:0 16px;align-items:stretch}
  .k7>div{display:grid;grid-template-rows:subgrid}
  .k7-labels{display:grid}
  .k7-col.raised{order:0;transform:translateY(-10px)}
  .k7-in{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .k7-lab{padding:12px 0;border-top:1px solid var(--line);font-family:var(--hf);font-weight:700;font-size:16px;color:var(--muted);display:flex;align-items:center}
  .k7-cell{display:flex;align-items:center;padding:12px 0}
  .k7-name{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:6px}
}

/* P8 step cards */
.step-head{justify-content:space-between}
.num{font-family:var(--hf);font-weight:700;font-size:28px;color:var(--accent-ink)}
.steps .card-body h3{margin-bottom:8px}

/* C5 two-choice band */
.band .c5{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.band .c5{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
.c5-half{border:1px solid rgba(255,255,255,.25);border-radius:var(--r);padding:26px 24px;text-align:center;display:flex;flex-direction:column;align-items:center}
.c5-half h3{margin:12px 0 6px}
.c5-half p{color:var(--on-dark-2);margin:0 auto 18px}
.c5-half .btn{width:100%;margin-top:auto}
@media (min-width:600px){.c5-half .btn{width:auto;min-width:240px}}

/* S9 roof-type selector */
.s9-sel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:32px}
@media (min-width:900px){.s9-sel{grid-template-columns:repeat(4,minmax(0,1fr))}}
.s9-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;background:#fff;border:1px solid var(--line);border-radius:var(--r);
  text-decoration:none;color:var(--ink);font-family:var(--hf);font-weight:700;font-size:16px;text-align:center;min-height:48px}
.s9-tile:hover{border-color:var(--accent)}
.s9-panels{display:grid;gap:24px}
.s9-panel{display:grid;grid-template-columns:minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;scroll-margin-top:20px}
.s9-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.s9-text{padding:22px}
.fit2{display:grid;gap:16px;margin:6px 0 10px}
@media (min-width:700px){.fit2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:900px){.s9-panel{grid-template-columns:minmax(0,42fr) minmax(0,58fr)}.s9-panel:nth-child(even) .s9-photo{order:2}.s9-text{padding:30px 34px}}
.ticks li{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}
.ticks li svg{margin-top:-1px}

/* B2 table */
.tbl-wrap{overflow:visible}
table.b2{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.b2 th,.b2 td{padding:14px 16px;text-align:left;vertical-align:top;border-top:1px solid var(--line);font-size:17px}
.b2 thead th{background:var(--brand);color:#fff;font-family:var(--hf);font-size:16px;border-top:0}
.b2 thead th.hl{background:var(--ink)}
.b2 tbody th{font-family:var(--hf);font-weight:700;width:24%}
.b2 td.hl{background:var(--otint)}
@media (max-width:760px){
  .b2 thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .b2,.b2 tbody,.b2 tr,.b2 th,.b2 td{display:block;width:100%}
  .b2 tr{border-top:3px solid var(--accent)}
  .b2 tbody th{width:100%;background:var(--alt)}
  .b2 td::before{content:attr(data-label);display:block;font-family:var(--hf);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
}

/* M48 figure cards */
.fig-card{padding:22px;background:#fff}
.bg-page .fig-card{background:var(--alt)}
.fig{font-family:var(--hf);font-weight:700;font-size:40px;line-height:1.1;color:var(--brand);margin:0}
.fig-label{font-family:var(--hf);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink);margin:2px 0 12px}
.fig-card h3{margin-bottom:6px}.fig-card h3 a{text-decoration:none}
.aside{display:inline-flex;align-items:center;gap:10px;margin:12px auto 0;padding:8px 14px;background:#fff;border-radius:var(--r);border:1px solid var(--line);font-size:17px}
.L2 .aside,.L3 .aside,.L4 .aside{margin-left:0}

/* F7 ledger */
.ledger{border-top:2px solid var(--ink);list-style:none;margin:0;padding:0}
.led-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:20px 0;border-bottom:1px solid var(--line)}
.led-q{display:flex;gap:12px;align-items:baseline}
.led-q h3{margin:0;font-size:20px}
.led-n{font-family:var(--hf);font-weight:700;font-size:15px;color:var(--accent-ink);flex:none;min-width:26px}
.led-a p:last-child{margin-bottom:0}
@media (min-width:900px){.led-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px}}

/* closing */
.closing-in{text-align:center;max-width:820px;margin:0 auto}
.closing-in p{margin:0 auto;color:var(--on-dark-2)}
h2.on-dark{color:#fff}

/* split */
.split{display:grid;gap:28px;grid-template-columns:minmax(0,1fr);align-items:center}
.split-photo img{border-radius:var(--r);width:100%;aspect-ratio:4/3;object-fit:cover}
@media (min-width:1000px){.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.split.left .split-photo{order:-1}}
.split-btn{margin-top:18px}
.split-btn .btn{width:100%}
@media (min-width:600px){.split-btn .btn{width:auto}}
.L2 .split,.L3 .split{grid-column:1 / -1}
.split-text h2.e6{justify-content:flex-start;text-align:left}
.split-text h2.e6::after{display:none}

/* checklist */
.checks{display:grid;gap:14px}
.checks li{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r);padding:16px 18px}
.bg-page .checks li{background:var(--alt)}
.checks h3{margin:0 0 4px;font-size:19px}
.checks p{margin:0}

/* FAQ page */
.jump{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}
.jump a{display:inline-flex;align-items:center;min-height:48px;padding:8px 16px;border:1.5px solid rgba(255,255,255,.6);border-radius:999px;color:#fff;text-decoration:none;font-family:var(--hf);font-weight:600;font-size:16px}
.jump a:hover{background:#fff;color:var(--ink)}
.bg-brand .intro,.bg-brand p{color:var(--on-dark-2)}
.faq-cat{margin-bottom:44px;scroll-margin-top:20px}
.faq-cat:last-child{margin-bottom:0}
.faq-cat>h2{margin-bottom:14px}

/* forms */
.form-wrap{display:grid;gap:32px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.form-wrap{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}}
.lead-form{background:#fff;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:var(--r);padding:24px 20px}
@media (min-width:700px){.lead-form{padding:32px}}
.field{display:flex;flex-direction:column;margin-bottom:18px}
.field label{font-family:var(--hf);font-weight:700;font-size:17px;margin-bottom:6px}
.field .opt{font-weight:600;color:var(--muted);font-size:16px}
.field input,.field textarea{font:inherit;font-size:17px;min-height:52px;padding:12px 14px;border:1.5px solid #6C7A70;border-radius:var(--r);background:#fff;color:var(--ink);width:100%}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--brand)}
.field [aria-invalid=true]{border-color:#B3261E}
.err{color:#B3261E;font-size:16px;margin-top:6px;font-weight:700}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-form .btn{width:100%}
.form-status{margin-top:16px;padding:14px 16px;border-radius:var(--r);font-size:17px}
.form-status.busy{background:var(--alt)}
.form-status.ok{background:#E3F1E6;border:1px solid #2E6B3D}
.form-status.bad{background:#FBE9E7;border:1px solid #B3261E}
.side-card{background:var(--alt);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.side-card .side-body{padding:22px}
.side-card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.page-head{background:var(--brand);color:#fff;padding:36px 0 30px}
.page-head h1{color:#fff;margin:0 0 8px}
.page-head p{color:var(--on-dark-2);margin:0}
.page-head .crumbs ol{justify-content:flex-start}
.utility{padding:44px 0 64px}
.legal-body h2{font-size:26px;margin-top:1.4em}
.legal-body p,.legal-body li{max-width:75ch}
.legal-body ul{list-style:disc;padding-left:22px;margin-bottom:1em}

/* footer */
.site-footer{background:var(--hdr);color:#fff;padding:48px 0 20px}
.foot{display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}
@media (min-width:800px){.foot{grid-template-columns:2fr 1fr 1fr 1fr}}
.foot-brand img{height:64px;width:auto;margin-bottom:12px}
.site-footer p{color:var(--on-dark-2);font-size:16px}
.foot-h{font-family:var(--hf);font-weight:700;color:#fff!important;font-size:16px;margin-bottom:8px}
.site-footer a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;font-size:16px}
.site-footer a:hover{text-decoration:underline}
.foot-phone a{font-family:var(--hf);font-weight:700;font-size:20px}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.15);margin-top:24px;padding-top:12px}
.foot-legal ul{display:flex;gap:18px}

/* mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--ink);padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:3px solid var(--accent)}
.callbar a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;color:#fff;text-decoration:none;font-family:var(--hf);font-weight:700;font-size:20px}
@media (min-width:900px){.callbar{display:none}}
@media (min-width:900px){
  .L2>.wrap>.sec-head{grid-column:1;grid-row:1 / span 3}
  .L2>.wrap>:not(.sec-head){grid-column:2}
  .L3>.wrap>.sec-head{grid-column:2;grid-row:1 / span 3}
  .L3>.wrap>:not(.sec-head){grid-column:1}
  .L2 ol.steps.grid,.L3 ol.steps.grid{grid-template-columns:minmax(0,1fr)}
  .L2 ol.steps.grid>*,.L3 ol.steps.grid>*{grid-column:1 / -1!important}
  .L2 .step-card,.L3 .step-card{display:grid;grid-template-columns:150px minmax(0,1fr)}
  .L2 .step-card .step-head,.L3 .step-card .step-head{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;border-bottom:0;border-right:3px solid var(--accent)}
  .L2 .center-btn,.L3 .center-btn{text-align:left;justify-content:flex-start}
}
