/* Shared site foundation. Brands override variables and selected components. */
@font-face{font-family:"Inter";src:url(/fonts/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-600.woff2) format("woff2");font-weight:600 700;font-display:swap}
:root{--paper:#fff;--ink:#1b1d1c;--muted:#5b625f;--line:#dcd8cf;--brand:#2f5d50;--accent:#c46a3c;--soft:#f4f1ea;--btn-ink:#fff;--radius:12px;--font-head:"Inter",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--maxw:1160px;--focus:#f59e0b}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--font-body);padding-bottom:64px}
@media (min-width:900px){body{padding-bottom:0}}
img{max-width:100%;height:auto}
a{color:var(--brand);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2,h3{font-family:var(--font-head);line-height:1.15;margin:0 0 .6em;font-weight:600}
h1{font-size:clamp(2rem,5vw,3.3rem);letter-spacing:-.01em}
h2{font-size:clamp(1.3rem,2.6vw,1.75rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.6rem 1rem;z-index:100}.skip:focus{left:1rem}
.preview-bar{background:#fff4d6;color:#5c4300;font-size:.85rem;text-align:center;padding:.4rem 1rem;border-bottom:1px solid #f1d58a}
.muted{color:var(--muted)}.small{font-size:.88rem}.hint{font-size:.88rem;color:var(--muted);margin:.3rem 0 1rem}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--muted);margin-bottom:.8rem}
.lead{font-size:clamp(1.05rem,1.8vw,1.25rem);color:var(--muted);max-width:44rem}
/* header */
.site-head{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;gap:1rem;min-height:64px}
.logo{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font-family:var(--font-head);font-weight:700;font-size:1.25rem;margin-right:auto}
.main-nav ul{list-style:none;margin:0;padding:0}
.nav-toggle>summary{list-style:none;cursor:pointer;padding:.5rem .8rem;border:1px solid var(--line);border-radius:999px;font-size:.92rem}
.nav-toggle>summary::-webkit-details-marker{display:none}
.nav-toggle[open]>ul{position:absolute;left:0;right:0;top:64px;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem 20px 1rem;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.nav-toggle li a{display:block;padding:.7rem 0;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.head-actions{display:flex;align-items:center;gap:.6rem}
.lang{font:inherit;font-size:.88rem;background:none;border:0;color:var(--muted);cursor:pointer;text-decoration:underline;padding:.4rem}
.head-phone{display:none;text-decoration:none;font-weight:600;color:var(--ink)}
.head-cta{display:none}
@media (min-width:980px){
  .nav-toggle>summary{display:none}
  .nav-toggle>ul{display:flex!important;gap:1.3rem}
  .nav-toggle li a{border:0;padding:.3rem 0;font-size:.95rem}
  .nav-toggle li a[aria-current]{color:var(--brand);font-weight:600}
  .main-nav{order:0}.head-phone,.head-cta{display:inline-flex}
}
@media (max-width:979px){.nav-toggle:not([open])>ul{display:none}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:600 1rem var(--font-body);text-decoration:none;cursor:pointer;background:var(--brand);color:var(--btn-ink);border:2px solid var(--brand);border-radius:var(--radius);padding:.75rem 1.3rem;min-height:48px;transition:filter .15s}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--brand)}
.btn.big{font-size:1.08rem;padding:.9rem 1.6rem;width:100%}
@media (min-width:640px){.btn.big{width:auto}}
.btn.wide{width:100%}
.cta-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0}
/* sections */
main section{padding:clamp(2rem,6vw,4.5rem) 0 0}
main>section:last-child{padding-bottom:clamp(2rem,6vw,4.5rem)}
.page-head{padding-top:clamp(2rem,5vw,3.5rem)!important}
.band{background:var(--soft);padding:clamp(2rem,6vw,4rem) 0!important;margin-top:clamp(2rem,6vw,4.5rem)}
.band+section{padding-top:clamp(2rem,6vw,4.5rem)}
.section-h{margin-bottom:1.2rem}
.two-col{display:grid;gap:2rem}
@media (min-width:860px){.two-col{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.two-col.even{grid-template-columns:1fr 1fr}}
.side-box{border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;background:var(--paper);align-self:start}
.note-box{background:var(--soft);border-left:4px solid var(--accent);padding:.9rem 1.1rem;border-radius:6px}
.demo-note{background:#fff4d6;border:1px dashed #d9a400;padding:.6rem .9rem;border-radius:8px;font-size:.9rem}
.ticks{list-style:none;padding:0;margin:0 0 1rem}.ticks li{padding:.35rem 0 .35rem 1.8rem;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.75rem;width:1rem;height:.55rem;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}
.values{display:grid;gap:1.5rem}@media (min-width:760px){.values{grid-template-columns:repeat(3,1fr)}}
.value h2{font-size:1.15rem}
.svc-list,.area-grid,.svc-tiles,.pro-grid{display:grid;gap:1rem}
@media (min-width:700px){.svc-list,.svc-tiles,.pro-grid{grid-template-columns:repeat(2,1fr)}.area-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.svc-tiles{grid-template-columns:repeat(3,1fr)}.area-grid{grid-template-columns:repeat(4,1fr)}}
.svc,.area-card,.tile,.pro-item{border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;background:var(--paper);text-decoration:none;color:var(--ink);display:block}
.tile{position:relative}.tile span{position:absolute;right:1rem;bottom:.8rem;color:var(--brand)}
.tile:hover,.area-card:hover{border-color:var(--brand)}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:1.2rem}
@media (min-width:860px){.steps.compact{grid-template-columns:repeat(5,1fr)}}
.steps li{position:relative;padding-top:.2rem}
.step-n{display:inline-flex;width:2.1rem;height:2.1rem;border-radius:50%;align-items:center;justify-content:center;background:var(--brand);color:var(--btn-ink);font-weight:700;margin-bottom:.6rem}
.driver-list{display:grid;gap:1rem;margin:0}@media (min-width:760px){.driver-list{grid-template-columns:repeat(3,1fr)}}
.driver-list dt{font-weight:600}.driver-list dd{margin:0;color:var(--muted)}
.models{display:grid;gap:1rem;margin-bottom:1.5rem}@media (min-width:760px){.models{grid-template-columns:repeat(3,1fr)}}
.model{border-top:3px solid var(--accent);padding-top:.7rem}
.levels{margin:2rem 0}.levels-grid{display:grid;gap:1rem}@media (min-width:700px){.levels-grid{grid-template-columns:1fr 1fr}}
.level{border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}.level.strong{border:2px solid var(--brand)}
.faq details{border-bottom:1px solid var(--line);padding:.9rem 0}.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::after{content:"+";color:var(--brand);font-size:1.3rem;line-height:1}.faq details[open] summary::after{content:"–"}.faq summary::-webkit-details-marker{display:none}
.faq details p{margin:.6rem 0 0;color:var(--muted)}
.table{width:100%;border-collapse:collapse;margin:1rem 0}.table th,.table td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.table .num{text-align:right;white-space:nowrap}
.cta-band{background:var(--brand);color:var(--btn-ink);margin-top:clamp(2rem,6vw,4.5rem);padding:2.2rem 0!important}
.cta-band .cta-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.cta-text{font-size:1.2rem;margin:0;max-width:36rem}
.cta-band .btn{background:var(--btn-ink);color:var(--brand);border-color:var(--btn-ink)}.cta-band .btn.ghost{background:transparent;color:var(--btn-ink)}
.prose{max-width:46rem}
/* forms */
.form label{display:block;font-weight:600;margin:1rem 0 .3rem;font-size:.95rem}
.form input[type=text],.form input:not([type]),.form input[type=email],.form input[type=tel],.form input[type=number],.form input[type=date],.form select,.form textarea{width:100%;font:inherit;padding:.75rem .8rem;border:1.5px solid #9b978e;border-radius:10px;background:#fff;color:var(--ink);min-height:48px}
.form input[type=file]{font:inherit;width:100%;padding:.6rem;border:1.5px dashed #9b978e;border-radius:10px;background:var(--soft)}
.form input[aria-invalid=true]{border-color:#b42318;background:#fff7f7}
.form fieldset{border:0;padding:0;margin:1.3rem 0 0}.form legend{font-weight:600;margin-bottom:.4rem;padding:0}
.req{color:#b42318}
.row-2,.row-3{display:grid;gap:0 1rem}@media (min-width:640px){.row-2{grid-template-columns:1fr 1fr}.row-3{grid-template-columns:1fr 1fr 1fr}}
.choice-grid{display:grid;gap:.6rem}@media (min-width:560px){.choice-grid{grid-template-columns:1fr 1fr}.choice-grid.small{grid-template-columns:repeat(4,1fr)}}
.choice{display:flex!important;align-items:center;gap:.6rem;margin:0!important;font-weight:500!important;border:1.5px solid var(--line);border-radius:10px;padding:.75rem .9rem;cursor:pointer;min-height:48px;background:#fff}
.choice:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,#fff)}
.choice input{width:1.2rem;height:1.2rem;accent-color:var(--brand)}
.choice.wide{margin:.4rem 0!important}
.check{display:flex!important;gap:.6rem;align-items:flex-start;font-weight:400!important}.check input{width:1.25rem;height:1.25rem;margin-top:.2rem;accent-color:var(--brand);flex:0 0 auto}
.inline-radios label{display:inline-flex!important;align-items:center;gap:.4rem;margin:.2rem 1rem .2rem 0!important;font-weight:400!important}
.inline-radios input{accent-color:var(--brand);width:1.1rem;height:1.1rem}
.more{margin:1.2rem 0;border:1px solid var(--line);border-radius:10px;padding:.2rem 1rem 1rem}.more summary{cursor:pointer;font-weight:600;padding:.7rem 0}
.field-error{color:#b42318;font-size:.9rem;margin:.3rem 0 0}
.form-errors{border:2px solid #b42318;background:#fff7f7;padding:1rem 1.2rem;border-radius:10px;margin-bottom:1rem}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.result{margin:1.5rem 0}.result-label{font-weight:600;margin:0}.result-range{font-family:var(--font-head);font-size:clamp(1.8rem,5vw,2.6rem);font-weight:700;color:var(--brand);margin:.2rem 0 .5rem}
.small-range{font-size:1.4rem}
.result-manual{background:var(--soft);padding:1rem;border-radius:10px}
.send-box{border-top:2px solid var(--line);margin-top:1.5rem;padding-top:1rem}
.calc.loading .result{opacity:.5}
/* footer + action bar */
.site-foot{border-top:1px solid var(--line);margin-top:0;padding:2.5rem 0 1rem;background:var(--soft);font-size:.92rem}
.foot-grid{display:grid;gap:1.5rem}@media (min-width:760px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.foot-grid ul{list-style:none;margin:0;padding:0}.foot-grid li{margin:.3rem 0}.foot-brand{font-family:var(--font-head);font-weight:700;font-size:1.2rem;margin:0}.foot-h{font-weight:600}
.foot-small{color:var(--muted);font-size:.82rem;padding-top:1.5rem}
.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;background:var(--paper);border-top:1px solid var(--line);padding:.4rem;gap:.4rem;padding-bottom:max(.4rem,env(safe-area-inset-bottom))}
.action-bar a{flex:1;text-align:center;padding:.7rem .4rem;border-radius:10px;text-decoration:none;font-weight:600;border:1.5px solid var(--brand);color:var(--brand);min-height:48px;display:flex;align-items:center;justify-content:center}
.action-bar a.primary{background:var(--brand);color:var(--btn-ink)}
@media (min-width:900px){.action-bar{display:none}}
.portal-main{padding:2rem 20px 3rem}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-head,.action-bar,.site-foot,.cta-band{display:none}}
/* header contact links (all brands) */
.ic{flex:0 0 auto;vertical-align:-.15em}
.head-wa,.head-phone{display:none;align-items:center;gap:.35rem;text-decoration:none;font-weight:600;color:var(--ink);font-size:.95rem;padding:.4rem .2rem}
.head-wa{color:#128c4b}
@media (min-width:1100px){.head-wa,.head-phone{display:inline-flex}}
.action-bar a{gap:.35rem}.action-bar a.wa{border-color:#1a9b56;color:#137a43}
.foot-contact a{display:inline-flex;align-items:center;gap:.3rem;margin:.15rem 0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
