:root{--clay:#b4532a;--clay-d:#8f3f1e;--char:#24231f;--ink:#2b2a28;--mute:#5f5a52;--sand:#f4ead8;--sand2:#eadbc0;--paper:#fffdf8;--line:#e3d6bf;--ok:#3d6b3a;--r:4px;--w:1180px;--col:780px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Archivo,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--clay-d)}
a:hover{color:var(--clay)}
h1,h2,h3{font-family:Archivo,system-ui,sans-serif;line-height:1.2;color:var(--char)}
h1{font-size:clamp(1.9rem,4.2vw,2.9rem);font-weight:800;margin:.2em 0 .35em;letter-spacing:-.01em}
h2{font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:800;margin:1.9em 0 .5em}
h3{font-size:1.18rem;font-weight:700;margin:1.4em 0 .35em}
p,ul,ol{margin:0 0 1em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 16px}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
/* top strip + header */
.topbar{background:var(--char);color:#eadfcd;font-size:.86rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:700;text-decoration:none}
header.site{background:#fff;border-bottom:4px solid var(--clay);position:relative}
.hd{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--char)}
.brand img{width:46px;height:auto}
.brand b{display:block;font-size:1.32rem;font-weight:900;letter-spacing:.02em;line-height:1}
.brand small{display:block;font-size:.72rem;letter-spacing:.32em;color:var(--clay);font-weight:700;margin-top:3px}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}
nav.main a,nav.main span{display:block;padding:8px 11px;color:var(--char);text-decoration:none;font-weight:600;font-size:.95rem;border-radius:var(--r);cursor:pointer}
nav.main a:hover,nav.main span:hover{background:var(--sand)}
nav.main a.cta{background:var(--clay);color:#fff;margin-left:6px}
nav.main a.cta:hover{background:var(--clay-d)}
.has-sub{position:relative}
.has-sub ul{display:none!important;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(0,0,0,.08);min-width:240px;z-index:20;flex-direction:column;align-items:stretch!important;padding:6px!important}
.has-sub:hover ul,.has-sub:focus-within ul{display:flex!important}
.nav-toggle,.hamburger{display:none}
@media(max-width:900px){
 .hamburger{display:block;border:2px solid var(--char);padding:6px 12px;font-weight:700;border-radius:var(--r);cursor:pointer}
 nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:4px solid var(--clay);z-index:30}
 .nav-toggle:checked~nav.main{display:block}
 nav.main ul{flex-direction:column;align-items:stretch;padding:8px 16px}
 .has-sub ul{display:flex!important;position:static;box-shadow:none;border:0;padding:0 0 0 12px!important}
 nav.main a.cta{margin:6px 0 0}
}
/* breadcrumbs */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 0;margin:0;font-size:.86rem;color:var(--mute)}
.crumbs li+li:before{content:"/";margin-right:6px;color:#b9ab93}
/* hero */
.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:start;padding:14px 0 26px}
.hero .lede{font-size:1.1rem}
.facts{list-style:none;padding:0;margin:0 0 1.2em}
.facts li{padding:6px 0 6px 30px;position:relative;border-bottom:1px dashed var(--line)}
.facts li:before{content:"";position:absolute;left:4px;top:13px;width:14px;height:8px;background:var(--clay);box-shadow:0 0 0 2px var(--sand2)}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.btn{display:inline-block;padding:12px 18px;border-radius:var(--r);font-weight:700;text-decoration:none;border:2px solid var(--clay);color:#fff;background:var(--clay)}
.btn:hover{background:var(--clay-d);border-color:var(--clay-d);color:#fff}
.btn.line{background:transparent;color:var(--clay-d)}
.btn.line:hover{background:var(--sand);color:var(--clay-d)}
.hero .formcard{position:sticky;top:12px}
.formcard{background:#fff;border:1px solid var(--line);border-top:6px solid var(--clay);padding:18px 18px 10px;box-shadow:0 10px 30px rgba(60,40,20,.08)}
.formcard h2{margin:0 0 .3em;font-size:1.3rem}
.formcard .fine,.fine{font-size:.85rem;color:var(--mute)}
.herofig{margin:0 0 8px}
.herofig img,.fig img{border-radius:var(--r)}
figcaption{font-size:.85rem;color:var(--mute);padding:6px 2px 0}
@media(max-width:900px){.hero{grid-template-columns:1fr}}
/* body column */
.col{max-width:var(--col)}
main section{scroll-margin-top:20px}
.fig{margin:1.2em 0}
.answer{background:var(--sand);border-left:6px solid var(--clay);padding:14px 18px;margin:0 0 1.2em}
/* price strip */
.pricestrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px;margin:1em 0 1.4em}
.pricestrip a{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-bottom:4px solid var(--clay);padding:12px 14px}
.pricestrip b{display:block;white-space:nowrap;font-size:1.12rem;color:var(--clay-d);font-weight:800}
.pricestrip span{font-size:.88rem}
/* tables */
.tbl{overflow-x:auto;margin:0 0 1.2em}
table{border-collapse:collapse;width:100%;font-size:.95rem;background:#fff}
th,td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
th{background:var(--char);color:#fff;font-weight:700}
tr:nth-child(even) td{background:#fbf6ec}
/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin:1em 0}
.card{background:#fff;border:1px solid var(--line);padding:0 0 12px}
.card img{aspect-ratio:16/9;object-fit:cover}
.card h3{margin:.6em 14px .2em;font-size:1.08rem}
.card p{margin:0 14px;font-size:.95rem}
/* steps */
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding:4px 0 14px 54px;border-left:3px solid var(--sand2);margin-left:18px}
.steps li:before{content:counter(s);position:absolute;left:-19px;top:0;width:36px;height:36px;background:var(--clay);color:#fff;font-weight:800;display:grid;place-items:center;border-radius:var(--r)}
/* layers diagram */
.layers{margin:1.2em 0;background:#fff;border:1px solid var(--line);padding:10px}
/* areas */
.pills{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}
.pills a{display:block;padding:7px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:600;font-size:.93rem}
.pills a:hover{background:var(--sand)}
/* faq */
details.faq{border:1px solid var(--line);background:#fff;margin:0 0 8px}
details.faq summary{cursor:pointer;padding:12px 14px;font-weight:700;list-style:none}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary:after{content:"+";float:right;color:var(--clay);font-weight:800}
details.faq[open] summary:after{content:"\2013"}
details.faq div{padding:0 14px 6px}
/* calculator */
.calc{background:var(--sand);border:1px solid var(--sand2);padding:16px;margin:1em 0 1.4em}
.calc label{display:block;font-weight:700;margin:0 0 10px}
.calc input,.calc select{display:block;width:100%;max-width:360px;padding:10px;font:inherit;border:1px solid #c9b896;border-radius:var(--r);background:#fff;margin-top:4px}
.calc output{display:block;background:#fff;border-left:6px solid var(--clay);padding:12px 14px;margin-top:10px;font-size:1.02rem}
/* cta band */
.band{background:var(--char);color:#efe5d3;margin:2.4em 0 0;padding:28px 0}
.band h2{color:#fff;margin-top:0}
.band a:not(.btn){color:#ffd9b8}
.band .grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center}
.band .btn.line{color:#fff;border-color:#fff}.band .btn.line:hover{background:#3a3731}
@media(max-width:900px){.band .grid{grid-template-columns:1fr}}
/* fallback form */
form.clfb label{display:block;font-size:.9rem;font-weight:600;margin:0 0 8px}
form.clfb input,form.clfb select,form.clfb textarea{display:block;width:100%;padding:9px;font:inherit;border:1px solid #c9b896;border-radius:var(--r);margin-top:3px}
form.clfb button{background:var(--clay);color:#fff;border:0;padding:12px 18px;font-weight:700;border-radius:var(--r);cursor:pointer}
.callline{font-size:.95rem;margin:8px 0 6px}
/* footer */
footer.site{background:#1b1a17;color:#cfc4b1;font-size:.92rem;padding:30px 0 80px}
footer.site .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
footer.site h3{color:#fff;font-size:1rem;margin:0 0 .6em}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin:0 0 5px}
footer.site a{color:#eadfcd;text-decoration:none}
footer.site a:hover{color:#fff;text-decoration:underline}
footer.site .legal{border-top:1px solid #3a3731;margin-top:22px;padding-top:14px;font-size:.84rem}
@media(max-width:900px){footer.site .cols{grid-template-columns:1fr 1fr}}
/* mobile action bar */
.mbar{position:fixed;left:0;right:0;bottom:0;display:none;grid-template-columns:1fr 1fr 1fr;z-index:50;box-shadow:0 -4px 14px rgba(0,0,0,.15)}
.mbar a{padding:13px 4px;text-align:center;font-weight:800;color:#fff;text-decoration:none;font-size:.95rem}
.mbar a:nth-child(1){background:var(--char)}.mbar a:nth-child(2){background:#2f7d4f}.mbar a:nth-child(3){background:var(--clay)}
@media(max-width:700px){.mbar{display:grid}}
.cardtitle{font-family:Archivo,system-ui,sans-serif;font-weight:800;font-size:1.3rem;color:var(--char);margin:0 0 .3em}
.bandtitle{font-family:Archivo,system-ui,sans-serif;font-weight:800;font-size:clamp(1.4rem,2.6vw,1.85rem);color:#fff;margin:0 0 .5em;line-height:1.2}
footer.site .fh{color:#fff;font-weight:700;font-size:1rem;margin:0 0 .6em}
.pricestrip div{background:#fff;border:1px solid var(--line);border-bottom:4px solid var(--clay);padding:12px 14px}
.pricestrip div b{display:block;white-space:nowrap;font-size:1.12rem;color:var(--clay-d);font-weight:800}
.pricestrip div span{font-size:.88rem}
