
/* Layout: dark instrument-panel look. Real photos up top, the warning-light cluster as the centrepiece, a diagnostic readout for the answer. Orange only for action; amber only for warning lights. */
:root{
  --bg:#0B0C0E; --panel:#131518; --panel-2:#1A1D21; --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --fg:#EEEDEA; --muted:#9BA0A7; --dim:#6B7078;
  --orange:#22C7B4; --orange-deep:#17A595; --amber:#FFB21E; --green:#3FD17A; --red:#FF5252;
  --display:"Archivo", "Arial Narrow", Arial, sans-serif;
  --body:"Atkinson Hyperlegible", Verdana, Arial, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Menlo, monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3,h4{font-family:var(--display);margin:0;text-wrap:balance;letter-spacing:-.015em}
p{margin:0}
a{color:inherit}
.label{font-family:var(--display);font-stretch:110%;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.label.or{color:var(--orange)}
.mono{font-family:var(--mono)}

/* buttons: slanted like the logo bars */
.btn{--sk:-12deg;display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-stretch:110%;font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;padding:16px 26px;border:0;cursor:pointer;text-decoration:none;position:relative;isolation:isolate;color:#fff;background:none}
.btn::before{content:"";position:absolute;inset:0;transform:skewX(var(--sk));z-index:-1;transition:background .2s,box-shadow .2s}
.btn-main{color:#04201C!important}.btn-main::before{background:var(--orange)}
.btn-main:hover::before{background:var(--orange-deep)}
.btn-ghost::before{box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-ghost:hover::before{box-shadow:inset 0 0 0 1px var(--fg)}
.btn:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(11,12,14,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-img{display:block;height:38px;width:auto}
.foot-logo{display:block;height:30px;width:auto;opacity:.85}
@media (max-width:560px){.logo-img{height:32px}}
.bars{display:grid;gap:3px;transform:skewX(-24deg)}
.bars i{display:block;height:5px;background:var(--orange)}
.bars i:nth-child(1){width:30px}.bars i:nth-child(2){width:24px;margin-left:-3px}.bars i:nth-child(3){width:18px;margin-left:-6px}
.word{line-height:.9}
.word b{display:block;font-family:var(--display);font-style:italic;font-weight:900;font-stretch:115%;font-size:25px;letter-spacing:-.01em}
.word small{display:block;font-family:var(--display);font-style:italic;font-weight:800;font-stretch:115%;font-size:10px;letter-spacing:.32em;color:var(--orange)}
nav{display:flex;align-items:center;gap:28px}
nav a{text-decoration:none;font-size:14px;color:var(--muted);transition:color .2s}
nav a:hover{color:var(--fg)}
.call{display:inline-flex!important;align-items:center;gap:8px;font-family:var(--body);font-weight:700;font-size:14px;color:#fff!important;white-space:nowrap;text-decoration:none;padding:11px 18px;border-radius:999px;background:#18A957;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 6px 18px rgba(24,169,87,.35);transition:background .2s,transform .2s}
.call svg{width:16px;height:16px;color:#fff}
.mcallbar{display:none}
@media (max-width:560px){
  .mcallbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px max(16px,env(safe-area-inset-left,0px));background:#18A957;color:#fff;text-decoration:none;font-weight:700;font-size:15px}
  .mcallbar svg{width:16px;height:16px}
  .mcallbar .call-num{font-size:16px}
}
.call-num{font-family:var(--mono);font-weight:600;letter-spacing:.02em;white-space:nowrap}
.call:hover{background:#13924A;transform:translateY(-1px)}
.call:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-img{position:absolute;inset:0;background:url(/img/hero.jpg) center/cover no-repeat;opacity:.55}
.hero-img{background-size:max(72%,720px) auto;background-position:right 55%;opacity:.75;-webkit-mask-image:linear-gradient(to bottom,transparent 34%,#000 58%,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 34%,#000 58%,#000 86%,transparent 100%)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 18%,rgba(11,12,14,.75) 50%,rgba(11,12,14,.15) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 35%)}
.hero .wrap{position:relative;z-index:1;padding-block:96px 72px}
.hero h1{font-size:clamp(42px,6.4vw,82px);font-weight:800;font-stretch:88%;line-height:.96;max-width:12ch;margin-top:18px}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero .lead{margin-top:22px;font-size:20px;color:#C9CCD1;max-width:40ch}
.hero .ctas{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px;padding-left:6px}
.trust{display:flex;gap:36px;flex-wrap:wrap;margin-top:56px;padding-top:22px;border-top:1px solid var(--line);max-width:1000px}
.trust div,.trust a{display:grid;gap:2px}
.trust-diy,.trust-link{text-decoration:none}
.trust-link:hover b{color:var(--orange)}
.sc li a,footer a{color:var(--orange);text-decoration:none}
.sc li a:hover,footer a:hover{text-decoration:underline}
.trust-diy span{color:var(--orange)!important}
.trust-diy:hover b{color:var(--orange)}
.trust b{font-family:var(--display);font-stretch:90%;font-size:26px;font-weight:700}
.trust span{font-size:13px;color:var(--muted)}
.trust .st{color:var(--amber);font-size:15px;letter-spacing:2px}

/* section */
section.band{padding-block:96px;border-bottom:1px solid var(--line)}
.head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:44px}
.head h2{font-size:clamp(32px,4.4vw,54px);font-weight:700;font-stretch:88%;line-height:1;margin-top:14px}
.head > p{color:var(--muted);max-width:46ch;justify-self:end}

/* code box */
.codebox{display:grid;gap:10px;margin-top:18px;padding:22px 24px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.cb-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.codebox input{flex:1 1 220px;min-width:0;background:var(--bg);border:1px solid var(--line-2);border-radius:6px;color:var(--fg);font-size:22px;letter-spacing:.12em;text-transform:uppercase;padding:13px 16px}
.codebox input::placeholder{color:var(--dim);text-transform:none;letter-spacing:.04em}
.codebox input:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:transparent}
.cb-row .btn{margin-left:8px}
.cb-msg{font-size:14px;color:var(--muted)}
.cb-msg.err{color:var(--red)}

/* diagnostics */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.vs-col{background:var(--panel);padding:32px;display:grid;gap:16px;align-content:start}
.vs-col.good{background:linear-gradient(180deg,rgba(34,199,180,.07),var(--panel) 60%)}
.vs-k{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.bad .vs-k{color:var(--red)}.good .vs-k{color:var(--green)}
.vs-col h3{font-size:clamp(24px,2.6vw,30px);font-weight:700;font-stretch:90%;line-height:1.1}
.trail{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:0}
.trail li{position:relative;padding:0 0 22px 30px;display:grid;gap:2px}
.trail li::before{content:"";position:absolute;left:5px;top:8px;width:10px;height:10px;border-radius:50%;border:2px solid var(--dim);background:var(--panel)}
.trail li:not(:last-child)::after{content:"";position:absolute;left:10px;top:22px;bottom:2px;width:2px;background:var(--line-2)}
.good .trail li::before{border-color:var(--green)}
.good .trail li:last-child::before{background:var(--green)}
.bad .trail li:last-child::before{border-color:var(--red);background:var(--red)}
.trail b{font-size:16px}
.trail span{font-size:15px;color:var(--muted)}
.vs-end{font-family:var(--mono);font-size:13px;padding-top:14px;border-top:1px solid var(--line)}
.bad .vs-end{color:var(--red)}.good .vs-end{color:var(--green)}
.process{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;margin-top:64px;align-items:start}
.process > *{min-width:0}
.pr-intro{display:grid;gap:14px;position:sticky;top:110px}
.pr-intro h3{font-size:clamp(26px,3vw,36px);font-weight:700;font-stretch:90%;line-height:1.05}
.pr-intro p:not(.label){color:var(--muted);max-width:40ch}
.pr-intro .btn{justify-self:start;margin:8px 0 0 8px}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;border-top:1px solid var(--line)}
.steps li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:4px 12px;padding:20px 0;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;font-family:var(--mono);font-size:14px;color:var(--orange);padding-top:3px}
.steps b{font-family:var(--display);font-stretch:95%;font-size:20px;font-weight:700}
.steps span{color:var(--muted);font-size:15px}

/* do / don't */
.scope{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.sc{background:var(--panel);padding:32px;display:grid;gap:16px;align-content:start}
.sc h3{font-size:26px;font-weight:700;font-stretch:90%;display:flex;align-items:center;gap:12px}
.sc h3 i{font-style:normal;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:15px}
.sc.yes h3 i{background:rgba(63,209,122,.15);color:var(--green)}
.sc.no h3 i{background:rgba(255,82,82,.14);color:var(--red)}
.sc ul{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.sc li{padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
.sc.no li{color:var(--muted)}
.sc.no li a{color:var(--orange)}
.sc .foot{font-size:14px;color:var(--muted)}

/* instrument cluster (shield cowl, chrome trim, teal backlight, amber warnings) */
.cluster-wrap{position:relative;padding-bottom:6px}
.cluster-wrap::after{content:"";position:absolute;left:12%;right:12%;bottom:-34px;height:70px;background:radial-gradient(40% 60% at 50% 0%,rgba(255,178,30,.28),transparent 70%),radial-gradient(30% 50% at 22% 0%,rgba(34,199,180,.18),transparent 70%),radial-gradient(30% 50% at 78% 0%,rgba(255,59,59,.16),transparent 70%);filter:blur(10px);pointer-events:none}
.cluster{position:relative;padding:5.2% 6.5% 3.2%;isolation:isolate}
.frame{position:absolute;inset:0;width:100%;height:100%;z-index:-1;filter:drop-shadow(0 30px 50px rgba(0,0,0,.7))}
.cowl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr) minmax(0,1fr);grid-template-areas:"dl c dr" "dl l dr";column-gap:2%;align-items:center}
.dl{grid-area:dl}.dr{grid-area:dr}.center{grid-area:c}.lights{grid-area:l}
.dial svg{width:100%;height:auto;display:block}
.center{display:grid;gap:12px;min-width:0;padding-top:4px}
.scr-top,.scr-bot{display:flex;justify-content:space-between;align-items:center;color:#DDE6E8;font-variant-numeric:tabular-nums;padding:0 6px}
.scr-top{font-size:15px;padding-bottom:10px;border-bottom:1px solid rgba(34,199,180,.35)}
.scr-bot{font-size:18px;padding-top:10px;border-top:1px solid rgba(34,199,180,.35)}
.scr-bot small{font-size:12px;color:#9AA7AA}
.gear{font-family:var(--display);font-size:30px;font-weight:600;line-height:1;color:#E9EEF0}
.msg{display:grid;justify-items:center;gap:4px;text-align:center;padding:14px 10px;border:1px solid rgba(255,178,30,.6);border-radius:10px;background:linear-gradient(180deg,rgba(255,178,30,.14),rgba(255,178,30,.05));box-shadow:0 0 30px rgba(255,178,30,.12),inset 0 0 20px rgba(255,178,30,.08)}
.scr-ic svg{width:44px;height:44px;color:var(--amber);filter:drop-shadow(0 0 6px rgba(255,178,30,.85));animation:blink 2.4s ease-in-out infinite}
.msg b{font-family:var(--body);font-size:16px;font-weight:700;color:var(--amber);letter-spacing:.01em}
.msg > span:last-child{font-size:14px;color:#F5C76A}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.55}}
.lights{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px;align-self:start}
.lt{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:grid;justify-items:center;gap:4px;padding:8px 2px 10px;border-radius:10px;transition:background .2s}
.lt svg{width:40px;height:40px;color:#565C63;transition:color .25s,filter .25s}
.lt span{font-size:13px;color:#7D838A;transition:color .2s}
.lt:hover svg{color:#9AA0A7}
.lt[aria-pressed="true"] svg{color:var(--amber);filter:drop-shadow(0 0 6px rgba(255,178,30,.9)) drop-shadow(0 0 18px rgba(255,178,30,.45))}
.lt[aria-pressed="true"] span{color:var(--amber)}
.lt[aria-pressed="true"]::after{content:"";position:absolute;left:30%;right:30%;bottom:-6px;height:3px;border-radius:3px;background:var(--amber);box-shadow:0 0 12px 3px rgba(255,178,30,.55)}
.lt:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.cluster-foot{position:relative;z-index:1;margin:34px 0 0;text-align:center;font-family:var(--mono);font-size:12px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:820px){
  .frame{display:none}
  .cluster{padding:18px 14px 16px;border-radius:28px;background:radial-gradient(ellipse at 50% 0%,#1B1F24,#060708 75%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 3px #0A0B0D,0 0 0 4px rgba(200,206,212,.35),0 30px 50px rgba(0,0,0,.6)}
  .cowl{grid-template-columns:1fr 1fr;grid-template-areas:"dl dr" "c c" "l l";row-gap:14px;column-gap:10px}
  .dial{max-width:180px;justify-self:center;width:100%}
}
@media (prefers-reduced-motion:reduce){.scr-ic svg{animation:none}}

/* readout */
.readout{scroll-margin-top:90px;display:grid;grid-template-columns:1.25fr 1fr;margin-top:18px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}
.readout > div{min-width:0;padding:32px}
.r-main{border-right:1px solid var(--line)}
.r-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--dim)}
.r-top b{color:var(--green);font-weight:600}
.r-main h3{font-size:clamp(28px,3.2vw,38px);font-weight:700;font-stretch:90%;margin-top:18px;line-height:1.05}
.r-main .what{margin-top:14px;font-size:18px;color:#D3D5D9;max-width:52ch}
.sev{margin-top:28px;display:grid;gap:10px}
.sev-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.sev-bar i{height:6px;background:var(--panel-2);transform:skewX(-20deg)}
.sev-bar i.on.g{background:var(--green)}.sev-bar i.on.a{background:var(--amber)}.sev-bar i.on.r{background:var(--red)}
.sev-lab{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.sev p{font-size:16px;color:var(--fg)}
.rows{margin-top:24px;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.row dt{font-family:var(--mono);font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;padding-top:3px}
.row dd{margin:0;color:#D3D5D9}
.r-act{display:grid;gap:14px;align-content:start;background:linear-gradient(180deg,var(--panel-2),var(--panel))}
.opt{padding:22px;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;background:rgba(0,0,0,.18)}
.opt.best{border-color:rgba(34,199,180,.55);box-shadow:inset 3px 0 0 var(--orange)}
.opt h4{font-size:22px;font-weight:700;font-stretch:92%}
.opt p{font-size:15px;color:var(--muted)}
.opt .k{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.opt .btn{justify-self:start;margin:6px 0 0 8px;padding:13px 20px;font-size:13px}
.opt.off{opacity:.6}

/* proof */
.proof{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.proof figure{margin:0;position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.proof figure img{display:block;width:100%;height:auto;aspect-ratio:1.1;object-fit:cover}
.proof figcaption{position:absolute;inset:auto 0 0 0;padding:18px 20px;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:#DADCE0}
.proof h2{font-size:clamp(32px,4.4vw,54px);font-weight:700;font-stretch:88%;line-height:1;margin-top:14px}
.proof .body{margin-top:18px;color:var(--muted);max-width:44ch}
.quotes{margin-top:34px;display:grid;gap:0;border-top:1px solid var(--line)}
.q{padding:20px 0;border-bottom:1px solid var(--line);display:grid;gap:8px}
.q p{font-size:18px;color:var(--fg)}
.q b{font-family:var(--mono);font-size:12px;color:var(--dim);font-weight:400}
.q b span{color:var(--amber);letter-spacing:2px;margin-right:10px}

/* shop */
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.prod{background:var(--panel);display:grid;grid-template-rows:auto 1fr auto;min-width:0}
.prod .ph{background:#fff;aspect-ratio:4/3;max-width:100%;overflow:hidden}
.prod .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.prod:hover .ph img{transform:scale(1.04)}
.prod .in{padding:22px;display:grid;gap:10px;align-content:start}
.prod .k{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.prod h4{font-size:20px;font-weight:700;font-stretch:92%;line-height:1.15}
.prod ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:14px;color:var(--muted)}
.prod li::before{content:"";display:inline-block;width:10px;height:2px;background:var(--orange);margin-right:10px;vertical-align:middle;transform:skewX(-20deg)}
.prod .buy{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 22px;border-top:1px solid var(--line)}
.price{font-family:var(--display);font-stretch:90%;font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}
.price small{display:block;font-family:var(--mono);font-size:10px;color:var(--dim);font-weight:400;letter-spacing:.04em}
.prod .btn{padding:12px 16px;font-size:12px}
.sister{margin-top:18px;font-size:15px;color:var(--muted)}
.sister b{color:var(--fg)}
.sister a{color:var(--orange)}
.fine{margin-top:16px;font-family:var(--mono);font-size:12px;color:var(--dim)}

/* book */
.book{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.bk{background:var(--panel);padding:36px;display:grid;gap:14px;align-content:start;position:relative}
.bk.img{background:linear-gradient(90deg,var(--panel) 30%,rgba(19,21,24,.6)),url(/img/diag.jpg) right center/cover no-repeat}
.bk h3{font-size:32px;font-weight:700;font-stretch:90%}
.bk p{color:var(--muted);max-width:40ch}
.bk .tag{justify-self:start;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--line-2);color:var(--fg)}
.addr{font-style:normal;font-size:16px;color:var(--fg);line-height:1.5}
.maplink{font-size:14px;color:var(--orange);text-decoration:none;justify-self:start}
.maplink:hover{text-decoration:underline}
.hours{display:grid;grid-template-columns:auto auto;justify-content:start;gap:4px 28px;font-family:var(--mono);font-size:13px;color:#D3D5D9}
.areas{display:flex;gap:8px;flex-wrap:wrap}
.areas span{font-family:var(--mono);font-size:12px;padding:6px 10px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.bk-btns{display:flex;gap:14px 18px;flex-wrap:wrap;margin:10px 0 0 8px}
.bk-btns .btn{white-space:nowrap}
.btn-call{color:#fff!important}
.btn-call::before{background:#18A957}
.btn-call:hover::before{background:#13924A}
.btn-call svg{width:16px;height:16px;flex:none}
.btn-call.sm{padding:11px 16px;font-size:12px;margin-left:8px;vertical-align:middle}
.bf-foot p{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* areas */
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.area{background:var(--panel);padding:30px;display:grid;gap:10px;align-content:start;min-width:0}
.area .k{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.area h3{font-size:28px;font-weight:700;font-stretch:90%}
.area p:not(.k){color:var(--muted);font-size:16px}
@media (max-width:820px){.area-grid{grid-template-columns:1fr}.area{padding:22px}}

/* booking form */
.bform{scroll-margin-top:90px;margin-top:28px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:36px;display:grid;gap:26px}
.bf-head{display:grid;gap:8px}
.bf-head h3,.bf-done h3{font-size:clamp(26px,3vw,34px);font-weight:700;font-stretch:90%}
.bf-head p:not(.label),.bf-done p:not(.label){color:var(--muted);max-width:56ch}
.bf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.f{display:grid;gap:7px;min-width:0;margin:0;padding:0;border:0}
.f.wide{grid-column:1 / -1}
.f label,.f legend{font-size:15px;font-weight:700;color:var(--fg);padding:0}
.f label span{font-weight:400;color:var(--dim)}
.f input,.f select,.f textarea{width:100%;background:var(--bg);border:1px solid var(--line-2);border-radius:6px;color:var(--fg);font:inherit;font-size:17px;padding:13px 14px}
.f textarea{resize:vertical}
.f input::placeholder,.f textarea::placeholder{color:var(--dim)}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:transparent}
.f input[aria-invalid="true"],.f select[aria-invalid="true"]{border-color:var(--red)}
.where{grid-template-columns:1fr 1fr;gap:12px}
.where legend{grid-column:1/-1;margin-bottom:7px}
.pick{position:relative;cursor:pointer}
.pick input{position:absolute;opacity:0;pointer-events:none}
.pick span{display:grid;gap:2px;padding:16px 18px;border:1px solid var(--line-2);border-radius:8px;background:var(--bg);transition:border-color .2s,background .2s}
[hidden]{display:none!important}
.pick b{font-size:16px;color:var(--fg)}
.pick small{font-size:14px;color:var(--muted)}
.pick input:checked + span{border-color:var(--orange);background:rgba(34,199,180,.08);box-shadow:inset 3px 0 0 var(--orange)}
.pick input:focus-visible + span{outline:2px solid var(--amber);outline-offset:2px}
.tk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tk{position:relative;cursor:pointer}
.tk input{position:absolute;opacity:0;pointer-events:none}
.tk span{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--line-2);border-radius:8px;background:var(--bg);font-size:15px;font-weight:400;color:var(--fg);transition:border-color .2s,background .2s}
.tk span::before{content:"";flex:none;width:18px;height:18px;border:2px solid var(--dim);border-radius:4px;transition:all .15s}
.tk input:checked + span{border-color:var(--orange);background:rgba(34,199,180,.08)}
.tk input:checked + span::before{border-color:var(--orange);background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2304201C' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat}
.tk input:focus-visible + span{outline:2px solid var(--amber);outline-offset:2px}
#b-problem-set legend span{font-weight:400;color:var(--dim)}
#b-problem-set.bad .tk span{border-color:var(--red)}
@media (max-width:820px){.tk-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.tk-grid{grid-template-columns:1fr}}
.bf-err{color:var(--red);font-size:15px;margin:0}
.bf-foot{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.bf-foot .btn{margin-left:8px}
.bf-foot p{color:var(--muted);font-size:15px}
.bf-done{display:grid;gap:10px}
.bf-done .btn{justify-self:start;margin:8px 0 0 8px}
.inbox{margin-top:28px;border:1px dashed var(--line-2);border-radius:10px;padding:28px;display:grid;gap:16px}
.ib-head h3{font-size:24px;font-weight:700;font-stretch:90%;margin-top:6px}
.ib-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:6px 20px;padding:14px 0;border-top:1px solid var(--line);font-size:15px;align-items:start}
.ib-row > *{min-width:0;overflow-wrap:anywhere}
.ib-row b{display:block}
.ib-row small{color:var(--muted);font-size:13px}
.ib-row .mono{font-size:13px}
.ib-empty{color:var(--muted);font-size:15px}
@media (max-width:720px){
  .bform{padding:22px}
  .bf-grid,.where{grid-template-columns:1fr}
  .ib-row{grid-template-columns:1fr}
}

footer{padding-block:40px;color:var(--dim);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}

.wa{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:15;display:flex;align-items:center;gap:10px;background:#18A957;color:#fff;font-weight:700;font-size:15px;padding:13px 18px;border-radius:999px;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.wa svg{width:20px;height:20px}

@media (max-width:980px){
  nav a{display:none}
  .head,.proof,.book,.scope,.vs,.process{grid-template-columns:1fr}
  .process{gap:32px;margin-top:48px}
  .pr-intro{position:static}
  .head > p{justify-self:start}
  .readout{grid-template-columns:1fr}
  .r-main{border-right:0;border-bottom:1px solid var(--line)}
  .products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .hero .wrap{padding-block:64px 48px}
  .readout > div,.bk{padding:22px}
  .products{grid-template-columns:1fr}
  .trust{gap:24px}
  .row{grid-template-columns:1fr;gap:2px}
  .call{display:none!important}
  section.band{padding-block:64px}
  .wa{padding:14px;font-size:0;gap:0}
  .wa svg{width:26px;height:26px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* mobile contact bar */
.mbar{display:none}
@media (max-width:760px){
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
    padding:10px max(12px,calc(12px + env(safe-area-inset-right,0px))) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,calc(12px + env(safe-area-inset-left,0px)));
    background:rgba(11,12,14,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 6px;border-radius:8px;text-decoration:none;font-weight:700;font-size:15px;color:var(--fg);background:var(--panel-2);border:1px solid var(--line-2)}
  .mbar a svg{width:19px;height:19px}
  .mbar a:first-child{background:var(--orange);border-color:transparent;color:#04201C}
  .mbar .mb-wa{background:#18A957;border-color:transparent;color:#fff}
  .mbar a:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
  .wa{display:none!important}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}

.legal-body{max-width:760px;padding-block:56px 80px;display:grid;gap:14px}
.legal-body h2{font-size:26px;font-weight:700;font-stretch:90%;margin-top:18px}
.legal-body p,.legal-body li{color:#C9CCD1;font-size:17px}
.legal-body ul{margin:0;padding-left:20px;display:grid;gap:6px}
.legal-body a{color:var(--orange)}
.legal-body b{color:var(--fg)}
/* ---------- extra pages ---------- */
.crumb{font-family:var(--mono);font-size:12px;color:var(--dim);display:flex;gap:8px;flex-wrap:wrap}
.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--fg)}
.sp-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.sp-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35}
.sp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 30%,rgba(11,12,14,.6) 70%,rgba(11,12,14,.3)),linear-gradient(0deg,var(--bg),transparent 40%)}
.sp-hero .wrap{position:relative;z-index:1;padding-block:56px 56px;display:grid;gap:18px}
.sp-hero h1{font-size:clamp(36px,5.4vw,64px);font-weight:800;font-stretch:88%;line-height:.98;max-width:16ch}
.sp-hero h1 em{font-style:normal;color:var(--hot,var(--orange))}
.sp-hero .lead{font-size:19px;color:#C9CCD1;max-width:52ch}
.sp-hero .ctas{display:flex;gap:16px;flex-wrap:wrap;padding-left:6px;margin-top:6px}
.callnum{font-family:var(--mono);font-size:15px;color:var(--fg);text-decoration:none;align-self:center;user-select:all}
.facts3{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.facts3 span{font-family:var(--mono);font-size:12px;letter-spacing:.04em;padding:7px 12px;border:1px solid var(--line-2);background:rgba(0,0,0,.35);color:var(--fg)}
.sp-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;padding-block:72px;align-items:start}
.sp-main{display:grid;gap:56px;min-width:0}
.sp-sec{display:grid;gap:16px}
.sp-sec h2{font-size:clamp(26px,3.2vw,38px);font-weight:700;font-stretch:90%;line-height:1.05}
.sp-sec > p{color:var(--muted);max-width:62ch}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.ticks li{padding:13px 0 13px 28px;border-bottom:1px solid var(--line);position:relative}
.ticks li::before{content:"";position:absolute;left:2px;top:22px;width:12px;height:2px;background:var(--orange);transform:skewX(-20deg)}
.ticks.warn li::before{background:var(--amber)}
.ticks li b{display:block}
.ticks li span{color:var(--muted);font-size:15px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:26px;display:grid;gap:12px;align-content:start}
.panel h3{font-size:22px;font-weight:700;font-stretch:92%}
.panel p{color:var(--muted);font-size:15px}
.panel .btn{justify-self:start;margin:6px 0 0 8px;padding:13px 20px;font-size:13px}
.safe{border-left:3px solid var(--amber);background:rgba(255,178,30,.06);padding:18px 20px;border-radius:0 8px 8px 0;display:grid;gap:6px}
.safe b{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
.safe.red{border-color:var(--red);background:rgba(255,82,82,.06)}.safe.red b{color:var(--red)}
.fsteps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.fsteps li{counter-increment:s;background:var(--panel);padding:22px;display:grid;gap:6px;align-content:start}
.fsteps li::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--hot,var(--orange))}
.fsteps b{font-family:var(--display);font-stretch:95%;font-size:19px}
.fsteps span{color:var(--muted);font-size:15px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;font-weight:700;font-size:17px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-family:var(--mono);font-size:22px;color:var(--orange);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.faq details p{color:var(--muted);padding:0 0 18px;max-width:64ch}
.aside{position:sticky;top:100px;display:grid;gap:16px}
.aside .panel{border-color:rgba(34,199,180,.45)}
.aside .hours{margin-top:4px}
.rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.rel a{display:flex;justify-content:space-between;gap:10px;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);text-decoration:none;font-weight:700;font-size:15px;transition:border-color .2s}
.rel a:hover{border-color:var(--orange)}
.rel a span{color:var(--orange)}
.fig{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.fig img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}
.fig figcaption{padding:12px 16px;font-family:var(--mono);font-size:12px;color:var(--dim);background:var(--panel)}
.towns{display:flex;gap:8px;flex-wrap:wrap}
.towns span{font-family:var(--mono);font-size:12px;padding:6px 10px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.tiles4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tiles4 div{background:var(--panel);padding:22px;display:grid;gap:6px;align-content:start}
.tiles4 b{font-family:var(--display);font-stretch:95%;font-size:19px}
.tiles4 span{color:var(--muted);font-size:14px}
.test{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.test div{background:var(--panel);padding:24px;display:grid;gap:4px}
.test b{font-family:var(--display);font-stretch:88%;font-size:clamp(40px,5vw,56px);font-weight:800;line-height:1;color:var(--orange);font-variant-numeric:tabular-nums}
.test span{color:var(--muted);font-size:15px}
.models{columns:2;column-gap:28px;margin:0;padding:0;list-style:none}
.models li{padding:9px 0;border-bottom:1px solid var(--line);break-inside:avoid;font-size:16px}
.small{font-size:13px;color:var(--dim)}
/* full footer */
.ffoot{border-top:1px solid var(--line);padding-block:56px 40px;color:var(--muted);font-size:14px}
.ffoot .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.ffoot h4{font-family:var(--display);font-stretch:110%;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg);margin:0 0 14px}
.ffoot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ffoot a{color:var(--muted);text-decoration:none}.ffoot a:hover{color:var(--fg)}
.ffoot .brand{display:grid;gap:12px;align-content:start}
.ffoot .brand img{height:30px;width:auto}
.ffoot .legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--dim)}
.ffoot .legal a{color:var(--orange)}
@media (max-width:980px){
  .sp-body{grid-template-columns:1fr;gap:48px}
  .aside{position:static}
  .ffoot .grid{grid-template-columns:1fr 1fr}
  .tiles4{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .cols2,.fsteps,.test{grid-template-columns:1fr}
  .tiles4{grid-template-columns:1fr}
  .models{columns:1}
  .sp-hero .wrap{padding-block:40px}
  .ffoot .grid{grid-template-columns:1fr}
}

.ffoot .wrap{display:block}
.sc li a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--orange)}
.area .maplink{margin-top:4px}


/* 20% orange: kept for the few things that need to grab attention */
:root{--hot:#FF5B1F;--hot-deep:#D9440F}
.hero h1 em{color:var(--hot)}
header .btn-main{color:#fff!important}
header .btn-main::before{background:var(--hot)}
header .btn-main:hover::before{background:var(--hot-deep)}
.opt.best{border-color:rgba(255,91,31,.55);box-shadow:inset 3px 0 0 var(--hot)}
.opt.best .k{color:var(--hot)}
.opt.best .btn-main{color:#fff!important}
.opt.best .btn-main::before{background:var(--hot)}
.steps li::before{color:var(--hot)}
.prod li::before{background:var(--hot)}
