/* Erlanger Metal Roof Coating · signature H52-S12-P8-B6-R7-F7-M40-C6-I4-E6 · palette: gunmetal + hi-vis yellow */
:root{
  --brand:#3B4651; --ink:#181C20; --sec:#7A858E; --acc:#F2B90F; --acc-hover:#FFCA2E; --acc-ink:#7A5C00;
  --page:#FFFFFF; --alt:#F3F4F5; --tint:#FBF3D6; --text:#181C20; --muted:#58626B; --border:#C9CED3;
  --focus-light:#181C20; --focus-dark:#F2B90F;
  --head:"Archivo","Arial Black","Helvetica Neue",Arial,sans-serif;
  --body:"Source Sans 3","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --r:10px; --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--page);color:var(--text);font:400 17.5px/1.62 var(--body)}
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(--focus-light);outline-offset:3px}
.bg-d :focus-visible,.site-foot :focus-visible{outline-color:var(--focus-dark)}
h1,h2,h3{font-family:var(--head);line-height:1.15;color:var(--ink);margin:0 0 .5em;overflow-wrap:normal;word-break:normal;hyphens:manual}
h1{font-size:clamp(2rem,1.4rem + 2.4vw,3.25rem);font-weight:800;letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,1.25rem + 1.3vw,2.35rem);font-weight:800}
h3{font-size:clamp(1.18rem,1.05rem + .45vw,1.4rem);font-weight:700}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.narrow{max-width:860px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;background:var(--acc);color:var(--ink);padding:10px 14px;z-index:200;border-radius:6px;font-weight:700}
.skip:focus{top:12px}
.center{text-align:center;margin-top:32px}
svg.ui{width:18px;height:18px;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:48px;padding:12px 22px;border-radius:8px;font:700 1.02rem/1.2 var(--body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;text-align:center}
.btn-primary{background:var(--acc);color:var(--ink);border-color:var(--ink)}
.btn-primary:hover{background:var(--acc-hover);color:var(--ink)}
.btn-call{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-call:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.bg-d .btn-primary,.closing .btn-primary,.ticket .btn-primary{border-color:var(--acc)}
.bg-d .btn-call,.closing .btn-call{background:transparent;border-color:#fff;color:#fff}
.bg-d .btn-call:hover,.closing .btn-call:hover{background:#fff;color:var(--ink)}
.btn-sm{min-height:44px;padding:9px 16px;font-size:.96rem}
.btn-pair{display:flex;flex-wrap:wrap;gap:12px}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #E1E4E7}
body.no-sticky .site-head{position:relative}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:80px}
.logo img{height:56px;width:auto}
.main-nav{display:none}
.nav-links{display:flex;list-style:none;gap:4px;align-items:center}
.nav-links>li>a{display:inline-block;padding:10px 10px;font-weight:600;color:var(--ink);text-decoration:none;border-radius:6px}
.nav-links>li>a:hover{background:var(--alt)}
.has-dd{position:relative;display:flex;align-items:center}
.dd-tog{background:none;border:0;padding:8px 4px;margin-left:-6px;cursor:pointer;color:var(--ink);min-height:44px;border-radius:6px}
.dd{display:none;position:absolute;top:100%;left:0;min-width:260px;background:#fff;border:1px solid #D9DDE1;border-radius:10px;box-shadow:0 14px 34px rgba(24,28,32,.16);list-style:none;padding:8px;z-index:60}
.dd a{display:block;padding:10px 12px;border-radius:6px;color:var(--ink);text-decoration:none;font-weight:600}
.dd a:hover{background:var(--tint)}
.has-dd:hover .dd,.has-dd:focus-within .dd,.has-dd.open .dd{display:block}
.has-dd.closed .dd{display:none}
.nav-cta{display:flex;gap:10px;margin-left:10px}
.burger{width:48px;height:48px;border:2px solid var(--ink);border-radius:8px;background:#fff;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;margin-right:-4px}
.burger span{display:block;width:22px;height:2.5px;background:var(--ink);border-radius:2px}
.m-panel{border-top:1px solid #E1E4E7;background:#fff;max-height:calc(100vh - 80px);overflow-y:auto;padding:8px 20px 24px}
.m-links{list-style:none}
.m-links>li{border-bottom:1px solid #E8EAED}
.m-links a,.m-links summary{display:block;padding:14px 4px;font-weight:700;color:var(--ink);text-decoration:none;cursor:pointer}
.m-links details ul{list-style:none;padding:0 0 10px 14px}
.m-links details a{font-weight:600;padding:10px 4px}
.m-cta{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}
.m-cta .btn{width:100%}
@media (min-width:1200px){.main-nav{display:flex;align-items:center}.burger{display:none}.m-panel{display:none!important}}
@media (max-width:1199px){.logo img{height:50px}.head-row{min-height:72px}}

/* sections */
.sec{padding:clamp(48px,6vw,84px) 0}
.bg-w{background:var(--page)}.bg-a{background:var(--alt)}.bg-t{background:var(--tint)}.bg-d{background:var(--brand);color:#fff}
.sec-head{text-align:center;max-width:800px;margin:0 auto 36px}
.sec-head h2{display:grid;grid-template-columns:1fr auto 1fr;column-gap:16px;align-items:start}
.sec-head h2::before,.sec-head h2::after{content:"";display:block;width:40px;height:2px;background:var(--acc);margin-top:.6em}
.sec-head h2::before{justify-self:end}.sec-head h2::after{justify-self:start}
.bg-t .sec-head h2::before,.bg-t .sec-head h2::after{background:var(--ink)}
@media (max-width:700px){.sec-head h2{column-gap:10px}.sec-head h2::before,.sec-head h2::after{width:20px}}
.sec-intro{color:var(--muted);font-size:1.06rem;margin:0}
.more{font-weight:700;text-decoration:none;color:var(--brand);display:inline-block}
.more:hover{text-decoration:underline}
.mini{display:block;font:700 .78rem/1.3 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--acc-ink);margin-bottom:6px}

/* I4 icons: line icon on a rounded tint tile */
svg.icon{width:44px;height:44px;flex:none;fill:none;stroke:var(--brand);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
svg.icon .tile-bg{fill:var(--tint);stroke:#E9D48A;stroke-width:1}
.bg-d svg.icon .tile-bg{stroke:none}

/* hero H52 */
.hero{background:#fff;padding:clamp(28px,4vw,56px) 0 clamp(40px,5vw,72px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:48px;align-items:center}
.hero-text{text-align:left}
.chip{display:inline-block;background:var(--tint);color:var(--ink);border:1px solid #E9D48A;font:700 .85rem/1.2 var(--body);letter-spacing:.04em;text-transform:uppercase;padding:7px 12px;border-radius:99px;margin-bottom:16px}
.hero h1{text-align:left}
.hero-intro{font-size:1.14rem;color:#2E353C;max-width:34em}
.hero .btn-pair{justify-content:flex-start;margin-top:8px}
.hero-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.step-photo{margin:0;position:relative;border-radius:14px;overflow:hidden;box-shadow:0 16px 36px rgba(24,28,32,.18)}
.step-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.sp2{margin-top:84px}
.step-tag{position:absolute;left:12px;bottom:12px;right:12px;display:flex;align-items:center;gap:10px;background:var(--brand);color:#fff;font:700 .95rem/1.25 var(--body);padding:8px 12px 8px 8px;border-radius:8px;width:max-content;max-width:calc(100% - 24px)}
.step-tag b{background:var(--acc);color:var(--ink);width:28px;height:28px;border-radius:5px;display:inline-grid;place-items:center;flex:none}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:.92rem;color:var(--muted);margin-bottom:14px}
.crumbs li+li::before{content:"/";margin-right:6px;color:#9AA3AB}
.crumbs a{color:var(--muted)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:28px}.sp2{margin-top:44px}.hero .btn-pair{display:grid;grid-template-columns:1fr}.hero .btn{width:100%}
  .step-tag{font-size:.82rem;gap:6px;padding:6px 8px 6px 6px}.step-tag b{width:24px;height:24px}}

/* facts */
.c-facts{padding:26px 0}
.facts{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.facts li{display:flex;align-items:center;gap:12px;font-weight:700;line-height:1.3}
@media (max-width:900px){.facts{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.facts{grid-template-columns:1fr}}

/* S12 building-chip cards */
.s12-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.s12-card{grid-column:span 2;background:#fff;border:1px solid #DADEE2;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(24,28,32,.06)}
.s12-grid.n5 .s12-card:nth-child(4){grid-column:2/span 2}
.s12-grid.n4{grid-template-columns:repeat(4,1fr)}
.s12-photo{margin:0;position:relative}
.s12-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.corner-tag{position:absolute;top:12px;left:12px;background:var(--acc);color:var(--ink);font:700 .8rem/1.2 var(--body);letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:5px;border:1px solid var(--ink)}
.s12-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.bchips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.bchips li{font-size:.84rem;font-weight:600;background:var(--alt);border:1px solid #D5D9DD;border-radius:99px;padding:3px 10px}
.bf{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 14px;font-size:.95rem}
.ticks{list-style:none}
.ticks li{position:relative;padding-left:18px;margin-bottom:4px;line-height:1.4}
.ticks li::before{content:"";position:absolute;left:2px;top:.55em;width:8px;height:8px;border-radius:2px;background:var(--brand)}
.ticks.warn li::before{background:var(--acc);border:1px solid var(--ink)}
.s12-body .more{margin-top:auto}
@media (max-width:1000px){.s12-grid{grid-template-columns:1fr 1fr}.s12-card,.s12-grid.n5 .s12-card:nth-child(4){grid-column:auto}.s12-grid.n5 .s12-card:nth-child(5){grid-column:1/-1}}
@media (max-width:700px){.s12-grid,.s12-grid.n4{grid-template-columns:1fr}.s12-grid.n5 .s12-card:nth-child(5){grid-column:auto}.bf{grid-template-columns:1fr}}

/* R7 zone columns */
.zones{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:4px solid var(--brand);background:#fff;border-radius:0 0 var(--r) var(--r);box-shadow:0 6px 18px rgba(24,28,32,.06)}
.zone{padding:24px 20px 26px;border-right:1px solid #E1E4E7;position:relative}
.zone:last-child{border-right:0}
.zone::before{content:"";position:absolute;top:-10px;left:20px;width:16px;height:16px;background:var(--acc);border:2px solid var(--ink);border-radius:50%}
.zone svg.icon{margin:10px 0 12px}
.zone h3{font-size:1.12rem}
.zone p{font-size:.97rem;margin:0}
@media (max-width:1100px){.zones{grid-template-columns:repeat(6,1fr)}.zone{grid-column:span 2;border-bottom:1px solid #E1E4E7}.zone:nth-child(4){grid-column:2/span 2}.zone:nth-child(3){border-right:0}}
@media (max-width:700px){.zones{grid-template-columns:1fr;border-top:0;background:none;box-shadow:none;gap:14px}.zone,.zone:nth-child(4){grid-column:auto;background:#fff;border:1px solid #DADEE2;border-top:4px solid var(--brand);border-radius:var(--r)}}

/* K3 VS cards */
.vs-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;position:relative;align-items:stretch}
.vs-card{background:#fff;border:2px solid #D3D8DC;border-radius:var(--r);overflow:hidden}
.vs-card.feat{border-color:var(--ink)}
.vs-card figure{margin:0}
.vs-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.vs-body{padding:20px 24px 24px}
.vs-body dl{margin:0;display:grid;gap:0}
.vs-body dl div{display:grid;grid-template-columns:132px 1fr;gap:12px;padding:10px 0;border-top:1px solid #E4E7EA}
.vs-body dt{font-weight:700;color:var(--muted);font-size:.92rem;text-transform:uppercase;letter-spacing:.04em}
.vs-body dd{margin:0;line-height:1.45}
.vs-badge{position:absolute;left:50%;top:120px;transform:translateX(-50%);width:64px;height:64px;border-radius:50%;background:var(--acc);border:4px solid #fff;box-shadow:0 0 0 2px var(--ink);display:grid;place-items:center;font:800 1.15rem var(--head);color:var(--ink);z-index:2}
.vs-note{text-align:center;max-width:720px;margin:28px auto 0;color:var(--muted)}
@media (max-width:860px){.vs-wrap{grid-template-columns:1fr;gap:44px}.vs-badge{position:relative;left:auto;top:auto;transform:none;margin:-22px auto}.vs-body dl div{grid-template-columns:1fr;gap:2px}}

/* C6 stub band */
.c-c6{padding:clamp(44px,5vw,64px) 0}
.ticket{display:grid;grid-template-columns:1fr 280px;max-width:940px;margin:0 auto;background:#fff;color:var(--ink);border-radius:14px;overflow:hidden}
.t-main{padding:28px 32px;display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:start}
.t-main svg.icon{grid-row:span 2}
.t-main h2{font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);margin:0 0 6px}
.t-main p{margin:0;color:#3A4249}
.t-stub{border-left:3px dashed var(--sec);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;background:var(--tint);position:relative}
.t-stub::before,.t-stub::after{content:"";position:absolute;left:-14px;width:26px;height:26px;border-radius:50%;background:var(--brand)}
.t-stub::before{top:-13px}.t-stub::after{bottom:-13px}
.t-stub .btn{width:100%}
.t-stub .btn-call{background:var(--brand);border-color:var(--brand);color:#fff}
.t-phone{font-weight:700;color:var(--ink);font-size:.95rem}
@media (max-width:760px){.ticket{grid-template-columns:1fr}.t-stub{border-left:0;border-top:3px dashed var(--sec)}.t-stub::before,.t-stub::after{top:-14px;bottom:auto;left:auto}.t-stub::before{left:-13px}.t-stub::after{right:-13px}.t-main{padding:24px 20px}}

/* P8 photo-header step cards */
.p8{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;counter-reset:none}
.p8.n4{grid-template-columns:repeat(4,1fr)}
.step-card{background:#fff;border:1px solid #DADEE2;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.step-card figure{margin:0;position:relative}
.step-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.step-card .num{position:absolute;left:12px;bottom:-18px;width:40px;height:40px;border-radius:8px;background:var(--acc);border:2px solid var(--ink);display:grid;place-items:center;font:800 1.1rem var(--head);color:var(--ink)}
.step-body{padding:28px 18px 20px}
.step-body h3{font-size:1.12rem}
.step-body p{font-size:.96rem;margin:0}
@media (max-width:1100px){.p8,.p8.n4{grid-template-columns:repeat(6,1fr)}.step-card{grid-column:span 2}.p8.n5 .step-card:nth-child(4){grid-column:2/span 2}.p8.n4 .step-card{grid-column:span 3}}
@media (max-width:700px){.p8,.p8.n4{grid-template-columns:1fr}.step-card,.p8.n5 .step-card:nth-child(4),.p8.n4 .step-card{grid-column:auto}}

/* B6 icon tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tile{background:#fff;border:1px solid #DADEE2;border-radius:var(--r);padding:24px 22px;border-bottom:4px solid var(--acc)}
.tile svg.icon{margin-bottom:12px}
.tile h3{font-size:1.15rem}
.tile p{margin:0;font-size:.98rem}
@media (max-width:1000px){.tiles{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.tiles{grid-template-columns:1fr}}

/* M40 town photo cards */
.towns{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.town-card{grid-column:span 2;background:#fff;border:1px solid #DADEE2;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.towns.n5 .town-card:nth-child(4){grid-column:2/span 2}
.towns.n4{grid-template-columns:1fr 1fr}.towns.n4 .town-card{grid-column:auto}
.town-card figure{margin:0}
.town-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.town-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.town-body h3 a{color:var(--ink);text-decoration:none}
.town-body h3 a:hover{text-decoration:underline}
.town-body p{font-size:.98rem}
.town-body .more{margin-top:auto}
@media (max-width:1000px){.towns{grid-template-columns:1fr 1fr}.town-card,.towns.n5 .town-card:nth-child(4){grid-column:auto}.towns.n5 .town-card:nth-child(5){grid-column:1/-1}}
@media (max-width:640px){.towns,.towns.n4{grid-template-columns:1fr}.towns.n5 .town-card:nth-child(5){grid-column:auto}}

/* F7 ledger rows */
.ledger{max-width:1080px;margin:0 auto;border-top:2px solid var(--ink)}
.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:28px;padding:22px 0;border-bottom:1px solid #CFD4D8}
.lq{display:flex;gap:12px;align-items:flex-start}
.ln{font:800 .95rem var(--head);color:var(--acc-ink);background:#fff;border:1px solid #D9C27A;border-radius:6px;padding:4px 7px;flex:none}
.bg-t .ln{background:#fff}
.lq h3{font-size:1.12rem;margin:0}
.la p:last-child{margin:0}
@media (max-width:760px){.ledger-row{grid-template-columns:1fr;gap:10px}}

/* closing */
.closing{background:var(--brand)!important}
.closing-in{text-align:center;max-width:760px;margin:0 auto}
.closing h2{color:#fff}
.closing p{color:#E6E9EC}
.closing .btn-pair,.c-c6 .btn-pair{justify-content:center}
@media (max-width:640px){.closing .btn-pair{display:grid;grid-template-columns:1fr}.closing .btn{width:100%}}
.bg-d h2,.bg-d h3{color:#fff}

/* table */
.tbl-wrap{position:relative;background:#fff;border:1px solid #D3D8DC;border-radius:var(--r);overflow:hidden}
.tbl-wrap>svg.icon{position:absolute;right:14px;top:10px;width:36px;height:36px}
table.spec{width:100%;border-collapse:collapse;font-size:.98rem}
.spec th,.spec td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid #E4E7EA}
.spec thead th{background:var(--brand);color:#fff;font-weight:700}
.spec tbody th{font-weight:700;color:var(--ink);width:22%}
.spec tbody tr:last-child>*{border-bottom:0}
.tbl-after{text-align:center;max-width:760px;margin:22px auto 0;color:var(--muted)}
@media (max-width:760px){.tbl-wrap>svg.icon{display:none}.spec thead{display:none}.spec,.spec tbody,.spec tr,.spec th,.spec td{display:block;width:100%}
  .spec tr{border-bottom:2px solid var(--brand);padding:8px 0}.spec tbody th{width:100%;background:var(--alt)}.spec td{border-bottom:1px solid #EEF0F2}
  .spec td::before{content:attr(data-label);display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}}

/* svc cards */
.svc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.svc-card{grid-column:span 2;background:#fff;border:1px solid #DADEE2;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.svc-grid.n5 .svc-card:nth-child(4){grid-column:2/span 2}
.svc-grid.n4{grid-template-columns:repeat(4,1fr)}.svc-grid.n4 .svc-card{grid-column:auto}
.svc-grid.n2{grid-template-columns:1fr 1fr}.svc-grid.n2 .svc-card{grid-column:auto}
.svc-card figure{margin:0}
.svc-card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.svc-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;border-top:4px solid var(--acc)}
.svc-body p{font-size:.98rem}
.svc-body .more{margin-top:auto}
@media (max-width:1000px){.svc-grid,.svc-grid.n4{grid-template-columns:1fr 1fr}.svc-card,.svc-grid.n5 .svc-card:nth-child(4){grid-column:auto}.svc-grid.n5 .svc-card:nth-child(5),.svc-grid.n3 .svc-card:nth-child(3){grid-column:1/-1}}
@media (max-width:640px){.svc-grid,.svc-grid.n4,.svc-grid.n2{grid-template-columns:1fr}.svc-grid .svc-card:nth-child(n){grid-column:auto}}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.split.rev .split-photo{order:2}
.split-photo{margin:0;border-radius:14px;overflow:hidden;box-shadow:0 14px 32px rgba(24,28,32,.14)}
.split-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.checks{list-style:none;display:grid;gap:12px;margin-top:6px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks svg.icon{width:36px;height:36px}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:26px}.split.rev .split-photo{order:0}}

/* icon cards */
.i-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.i-grid.n4{grid-template-columns:repeat(2,1fr)}
.i-card{background:#fff;border:1px solid #DADEE2;border-radius:var(--r);padding:24px;border-left:5px solid var(--brand)}
.i-card svg.icon{margin-bottom:10px}
.i-card p{margin:0;font-size:.98rem}
@media (max-width:900px){.i-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.i-grid,.i-grid.n4{grid-template-columns:1fr}}

/* checklist */
.cl-wrap{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:start}
.cl-photo{margin:0;border-radius:14px;overflow:hidden}
.cl-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.cl{list-style:none;display:grid;gap:12px}
.cl li{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #DADEE2;border-radius:10px;padding:12px 16px}
@media (max-width:900px){.cl-wrap{grid-template-columns:1fr}.cl-photo img{aspect-ratio:3/2}}

/* text band (FAQ intro) */
.text-band{max-width:860px;margin:0 auto;text-align:center;font-size:1.08rem}
.jump ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.jump a{display:inline-block;padding:9px 14px;border:2px solid var(--ink);border-radius:99px;background:#fff;color:var(--ink);font-weight:700;text-decoration:none;font-size:.95rem}
.jump a:hover{background:var(--acc)}

/* FAQ page */
.faq-cat{max-width:1000px;margin:0 auto 48px;scroll-margin-top:100px}
.faq-cat:last-child{margin-bottom:0}
.faq-cat>h2{display:flex;align-items:center;gap:14px;font-size:clamp(1.4rem,1.15rem + 1vw,1.9rem);border-bottom:3px solid var(--acc);padding-bottom:12px}
.qa{background:#fff;border:1px solid #D9DDE1;border-left:5px solid var(--brand);border-radius:10px;padding:22px 24px;margin-top:16px}
.qa h3{font-size:1.15rem}
.qa p:last-child{margin-bottom:0}
.qa ul{padding-left:22px;margin:0 0 1em}
.qa li{margin-bottom:4px}
.qa .tbl{overflow-x:auto;margin:0 0 1em}
.qa table{border-collapse:collapse;width:100%;font-size:.96rem;min-width:420px}
.qa th,.qa td{border:1px solid #D9DDE1;padding:9px 11px;text-align:left;vertical-align:top}
.qa thead th{background:var(--alt)}
.sources{max-width:1000px;margin:40px auto 0;font-size:.95rem}
.sources ul{padding-left:20px}
@media (max-width:600px){.qa table{min-width:0}.qa th,.qa td{padding:7px}}

/* footer */
.site-foot{background:var(--ink);color:#DDE1E5;padding:56px 0 calc(28px + env(safe-area-inset-bottom))}
.site-foot a{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot-h{font:700 1rem var(--head);color:#fff;margin:0 0 12px}
.site-foot ul{list-style:none}
.site-foot li{margin-bottom:8px}
.site-foot li a{display:inline-block;padding:3px 0}
.logo-plate{display:inline-block;background:#fff;border-radius:10px;padding:10px 14px;margin-bottom:14px}
.logo-plate img{height:52px;width:auto}
.foot-tel{font-weight:700;font-size:1.1rem}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid #3A424A;margin-top:36px;padding-top:20px;font-size:.92rem}
.foot-legal ul{display:flex;gap:20px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(24,28,32,.96);display:none}
.callbar .btn{width:100%}
@media (max-width:1199px){.callbar{display:block}body{padding-bottom:76px}.site-foot{padding-bottom:calc(36px + env(safe-area-inset-bottom))}}
body.menu-open .callbar,body.cb-open .callbar,body.form-active .callbar{display:none}

/* utility pages, forms */
.util-head{padding:40px 0 28px}
.util-head h1{margin-bottom:10px}
.lead{font-size:1.1rem;color:#2E353C;margin:0}
.form-card{background:#fff;border:1px solid #D3D8DC;border-radius:12px;padding:clamp(20px,4vw,36px);max-width:760px;margin:0 auto}
.fld{display:grid;gap:6px;margin-bottom:16px}
.fld label{font-weight:700}
.fld .opt{font-weight:400;color:var(--muted)}
.fld input,.fld textarea{width:100%;font:inherit;font-size:1rem;color:var(--text);background:#fff;border:2px solid #8C959D;border-radius:8px;padding:12px 14px;min-height:48px}
.fld input[aria-invalid=true],.fld textarea[aria-invalid=true]{border-color:#A3271B}
.fld .err{color:#A3271B;font-weight:600;font-size:.94rem}
.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-msg{min-height:1.4em;font-weight:600;margin:0 0 12px}
.form-msg.ok{color:#1D5B33}.form-msg.bad{color:#A3271B}
.contact-grid{display:grid;grid-template-columns:7fr 5fr;gap:32px;align-items:start}
.side-card{background:var(--alt);border:1px solid #D3D8DC;border-radius:12px;padding:24px}
.side-card h2{font-size:1.3rem}
.side-card ul{padding-left:20px}
.side-card li{margin-bottom:6px}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.legal{max-width:860px;margin:0 auto}
.legal h2{font-size:1.45rem;margin-top:1.6em}
.legal ul{padding-left:22px;margin-bottom:1em}
.legal li{margin-bottom:6px}

/* callback dialog */
.cb-backdrop{position:fixed;inset:0;background:rgba(24,28,32,.55);z-index:90}
.callback{position:fixed;z-index:100;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));background:#fff;border-radius:14px;padding:28px 26px 22px;border-top:6px solid var(--acc);box-shadow:0 24px 60px rgba(0,0,0,.3)}
.callback h2{font-size:1.4rem;padding-right:28px}
.callback .btn{width:100%}
.cb-close{position:absolute;right:10px;top:8px;width:44px;height:44px;border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--ink)}
.cb-direct{margin:12px 0 0;text-align:center;font-weight:600}

/* calculator restyle */
.roof-calc{--calc-font-head:var(--head);--calc-font-body:var(--body);--calc-text:#181C20;--calc-muted:#58626B;--calc-surface:#fff;--calc-surface-alt:#F3F4F5;--calc-border:#8C959D;--calc-accent:#3B4651;--calc-accent-text:#fff;--calc-accent-hover:#181C20;--calc-track:#E1E4E7;--calc-focus:#181C20;--calc-radius:12px}
.roof-calc .calc-card{border-top:6px solid var(--acc)}
.roof-calc .calc-btn-primary{background:var(--acc)!important;color:var(--ink)!important;border:2px solid var(--ink)!important}
.roof-calc .calc-btn-primary:hover{background:var(--acc-hover)!important}
.roof-calc .choice-card:has(input:checked){border-color:var(--ink);background:var(--tint)}
.calc-wrap{padding:8px 0 64px}
.calc-intro{max-width:760px;margin:0 auto 18px;color:var(--muted)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.form-note{font-size:.92rem;color:var(--muted);margin:14px 0 0}
.contact-form .btn{width:100%}
.qa .rel{margin:12px 0 0;font-weight:600}
.cat-link{margin:18px 0 0;font-weight:600}
.faq-cat>h2 svg.icon{width:40px;height:40px}
ol.ledger{list-style:none;padding:0}
.ans-note{border-left:4px solid var(--acc);background:var(--alt);padding:10px 14px;border-radius:0 8px 8px 0;margin:0 0 1em}
.ans-note p{margin:0}
.bg-d .ticket h2{color:var(--ink)}
.t-main{align-items:center}
body.no-callbar{padding-bottom:0}
