/* ==========================================================================
   Smart Home Fix — bespoke "diagnostic confidence" design system.
   Distinct from the niche framework AND from Check On Mum: geometric sans
   (Space Grotesk) + Inter + monospace status accents, indigo/online-green,
   a dark confident hero, technical chrome.
   ========================================================================== */
:root{
  --bg:#F6F8FC;
  --surface:#FFFFFF;
  --surface-2:#EEF2FA;
  --ink:#13161F;
  --muted:#5A6275;
  --line:#E2E8F3;
  --brand:#3A55E6;        /* electric indigo */
  --brand-deep:#2438B8;
  --brand-ink:#2a3fc4;
  --online:#13B981;       /* "it's working" green */
  --online-deep:#0E9468;
  --warn:#E8853A;
  --dark:#0E1322;         /* hero / footer */
  --dark-2:#161D31;
  --on-dark:#E7ECF7;
  --on-dark-mut:#9AA6C2;
  --shadow:0 1px 2px rgba(19,22,31,.05), 0 20px 44px -24px rgba(36,56,184,.35);
  --shadow-sm:0 1px 2px rgba(19,22,31,.05), 0 10px 24px -16px rgba(19,22,31,.25);
  --r:14px; --r-lg:22px; --r-sm:9px;
  --display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --wrap:1160px; --gut:clamp(1.25rem,5vw,4rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:clamp(1.02rem,1rem+.18vw,1.12rem);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.06;letter-spacing:-.02em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.3rem,1.6rem+3.4vw,4rem)}
h2{font-size:clamp(1.8rem,1.35rem+2vw,2.8rem)}
h3{font-size:clamp(1.12rem,1.04rem+.4vw,1.32rem);letter-spacing:-.01em}
p{margin:0 0 1.05rem;text-wrap:pretty}
a{color:var(--brand-ink);text-underline-offset:.18em}a:hover{color:var(--brand-deep)}
img,svg{max-width:100%;height:auto;display:block}
strong{font-weight:680}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.measure{max-width:70ch}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:var(--brand);color:#fff;padding:.6rem 1rem;border-radius:8px;z-index:50}
.mono{font-family:var(--mono);font-size:.82rem;letter-spacing:.02em}
.eyebrow{font-family:var(--mono);font-weight:500;font-size:.78rem;letter-spacing:.06em;color:var(--brand);margin:0 0 1rem;display:inline-flex;align-items:center;gap:.55rem}
.eyebrow .dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--online);box-shadow:0 0 0 4px rgba(19,185,129,.18)}
.lede{font-size:clamp(1.12rem,1.02rem+.6vw,1.4rem);color:var(--muted);max-width:54ch;line-height:1.5}

.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-weight:640;font-size:1.02rem;
  padding:.82rem 1.5rem;border-radius:10px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s, box-shadow .2s, background .2s}
.btn--primary{background:var(--brand);color:#fff;box-shadow:0 12px 26px -12px rgba(58,85,230,.7)}
.btn--primary:hover{background:var(--brand-deep);color:#fff;transform:translateY(-1px)}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:var(--brand);color:var(--brand-deep)}
.btn--on-dark{background:#fff;color:var(--dark)}.btn--on-dark:hover{background:var(--on-dark);color:var(--dark)}
.btn--lg{padding:1rem 1.9rem;font-size:1.08rem}

/* header */
.site{position:sticky;top:0;z-index:40;background:rgba(246,248,252,.85);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.site__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.8rem}
.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:700;font-size:1.22rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.brand svg{width:32px;height:32px;flex:0 0 auto}
.nav{display:flex;align-items:center;gap:1.5rem}
.nav a{font-weight:560;color:var(--ink);text-decoration:none;font-size:1rem}.nav a:hover{color:var(--brand)}
.nav .btn--primary{color:#fff}
.nav__toggle{display:none;background:none;border:1.5px solid var(--line);border-radius:9px;padding:.5rem .8rem;font-weight:640;color:var(--ink)}
@media(max-width:760px){.nav__toggle{display:inline-block}.nav{position:absolute;inset:62px 0 auto;flex-direction:column;align-items:stretch;gap:.2rem;background:var(--bg);border-bottom:1px solid var(--line);padding:1rem var(--gut) 1.4rem;display:none}.nav.open{display:flex}.nav a{padding:.7rem 0;border-bottom:1px solid var(--line)}.nav .btn{margin-top:.6rem;justify-content:center}}

/* hero — dark, confident */
.hero{background:linear-gradient(160deg,var(--dark),var(--dark-2));color:var(--on-dark);padding:clamp(2.5rem,2rem+4vw,5rem) 0 clamp(2.5rem,2rem+4vw,5rem);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-10%;top:-30%;width:60%;height:120%;background:radial-gradient(circle,rgba(58,85,230,.22),transparent 60%);pointer-events:none}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,4rem);align-items:center;position:relative;z-index:1}
@media(max-width:880px){.hero__grid{grid-template-columns:1fr;gap:2.5rem}}
.hero h1{color:#fff}
.hero .eyebrow{color:#9FB0FF}
.hero p.sub{font-size:1.16rem;color:var(--on-dark-mut);max-width:48ch;margin-top:1.1rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.hero__note{margin-top:1.5rem;color:var(--on-dark-mut);font-size:.95rem;font-family:var(--mono)}

/* diagnostic panel */
.diag{background:var(--dark-2);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);overflow:hidden;max-width:420px;margin-inline:auto}
.diag__bar{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--mono);font-size:.76rem;color:var(--on-dark-mut)}
.diag__bar i{width:.7rem;height:.7rem;border-radius:50%;display:inline-block}
.diag__bar .r{background:#FF5F57}.diag__bar .y{background:#FEBC2E}.diag__bar .g{background:#28C840}
.diag__body{padding:1.2rem 1.2rem 1.4rem}
.drow{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px dashed rgba(255,255,255,.09);font-size:.95rem}
.drow:last-child{border-bottom:0}
.drow .nm{color:var(--on-dark)}
.tag{font-family:var(--mono);font-size:.72rem;padding:.2rem .55rem;border-radius:6px;font-weight:500}
.tag--off{background:rgba(255,95,87,.15);color:#FF8B85}
.tag--on{background:rgba(19,185,129,.16);color:#3DDBA0}
.tag--fix{background:rgba(254,188,46,.16);color:#FFD27A}
.diag__foot{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.8rem;color:#3DDBA0}

/* sections */
.section{padding:clamp(3.5rem,2.5rem+4vw,6.5rem) 0}
.section--alt{background:var(--surface-2)}
.section__head{max-width:62ch;margin-bottom:2.6rem}
.section__head.center{margin-inline:auto;text-align:center}
.section__head p{color:var(--muted);font-size:1.1rem;margin-top:.3rem}

/* symptom grid */
.symps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:820px){.symps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.symps{grid-template-columns:1fr}}
.symp{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem 1.4rem;box-shadow:var(--shadow-sm)}
.symp .q{font-family:var(--mono);font-size:.74rem;color:var(--warn);margin-bottom:.5rem}
.symp p{margin:0;color:var(--ink);font-weight:560}

/* fix cards (richer: service + what's really wrong) */
.fixes{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
@media(max-width:760px){.fixes{grid-template-columns:1fr}}
.fix{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.7rem;box-shadow:var(--shadow-sm);display:flex;gap:1.1rem}
.fix__ic{flex:0 0 auto;width:48px;height:48px;border-radius:12px;background:var(--surface-2);color:var(--brand);display:grid;place-items:center}
.fix h3{margin-bottom:.35rem}
.fix p{margin:0;color:var(--muted);font-size:.98rem}
.fix .real{display:block;margin-top:.6rem;font-family:var(--mono);font-size:.76rem;color:var(--online-deep)}

/* platform chips */
.chips{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.chip{font-family:var(--mono);font-size:.85rem;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.5rem 1rem;color:var(--ink)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;counter-reset:s}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.7rem 1.5rem 1.5rem;box-shadow:var(--shadow-sm)}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-14px;left:1.5rem;width:34px;height:34px;border-radius:9px;background:var(--brand);color:#fff;font-family:var(--mono);font-weight:600;display:grid;place-items:center;font-size:.95rem}
.step h3{margin:.6rem 0 .35rem}.step p{margin:0;color:var(--muted);font-size:.97rem}

/* compare strip */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:760px;margin-inline:auto}
@media(max-width:620px){.cmp{grid-template-columns:1fr}}
.cmp__col{border-radius:var(--r-lg);padding:1.7rem;border:1px solid var(--line);background:var(--surface)}
.cmp__col--win{border:2px solid var(--brand);box-shadow:var(--shadow)}
.cmp__col h3{display:flex;justify-content:space-between;align-items:center}
.cmp ul{list-style:none;margin:1rem 0 0;padding:0}
.cmp li{display:flex;gap:.6rem;padding:.4rem 0;color:var(--muted);font-size:.97rem}
.cmp li svg{flex:0 0 auto;margin-top:.2rem}
.cmp--no svg{color:#C26B4A}.cmp--yes svg{color:var(--online-deep)}
.cmp__tag{font-family:var(--mono);font-size:.7rem;padding:.2rem .55rem;border-radius:6px}
.cmp__col--win .cmp__tag{background:var(--brand);color:#fff}.cmp__col--alt .cmp__tag{background:var(--surface-2);color:var(--muted)}

/* proof band */
.proof{background:var(--dark);color:var(--on-dark);border-radius:var(--r-lg);padding:clamp(2rem,1.5rem+3vw,3.5rem)}
.proof h2{color:#fff}.proof p{color:var(--on-dark-mut)}
.proof a{color:#9FB0FF}
.stats{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:1.6rem}
.stats div{flex:1 1 160px}
.stats b{font-family:var(--display);font-size:1.4rem;color:#fff;display:block}
.stats span{font-size:.9rem;color:var(--on-dark-mut)}

/* FAQ */
.faq{max-width:760px;margin-inline:auto}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:.7rem;box-shadow:var(--shadow-sm)}
.faq summary{cursor:pointer;font-weight:660;padding:1rem 1.2rem;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.2rem;top:.85rem;font-size:1.4rem;color:var(--brand);font-family:var(--mono)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0;padding:0 1.2rem 1.1rem;color:var(--muted)}

/* CTA */
.cta{text-align:center;padding:clamp(3.5rem,2.5rem+4vw,6rem) 0}
.cta h2{max-width:20ch;margin-inline:auto}.cta p{color:var(--muted);max-width:52ch;margin:.5rem auto 1.7rem;font-size:1.1rem}

/* contact */
.cgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,4vw,4rem);align-items:start}
@media(max-width:820px){.cgrid{grid-template-columns:1fr}}
.form .field{margin-bottom:1.05rem;display:flex;flex-direction:column}
.form label{font-weight:620;margin-bottom:.4rem;font-size:.96rem}
.form .opt{font-weight:400;color:var(--muted);font-size:.85rem}
.form input,.form textarea{font:inherit;padding:.82rem 1rem;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--ink)}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(58,85,230,.13)}
.form textarea{min-height:140px;resize:vertical}
.form__honey{position:absolute;left:-9999px}
.form__note{font-size:.85rem;color:var(--muted);margin-top:.8rem}
.aside{background:var(--surface-2);border-radius:var(--r-lg);padding:1.7rem}
.aside dl{margin:0}.aside dt{font-weight:660;margin-top:1rem}.aside dd{margin:.15rem 0 0;color:var(--muted)}

/* footer */
.foot{background:var(--dark);color:var(--on-dark-mut);padding:clamp(3rem,2rem+3vw,4.5rem) 0 2rem}
.foot a{color:var(--on-dark);text-decoration:none}.foot a:hover{color:#fff;text-decoration:underline}
.foot__promise{font-family:var(--display);font-weight:700;font-size:1.5rem;color:#fff;margin:0 0 2rem}
.foot__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
@media(max-width:720px){.foot__cols{grid-template-columns:1fr 1fr}}
.foot h4{font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:var(--on-dark-mut);margin:0 0 .8rem;text-transform:uppercase}
.foot ul{list-style:none;margin:0;padding:0}.foot li{margin-bottom:.5rem;font-size:.95rem}
.foot__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);font-size:.86rem;font-family:var(--mono)}
.crumbs{font-family:var(--mono);font-size:.82rem;color:var(--muted)}.crumbs a{color:var(--brand-ink)}
.prose h2{margin-top:2.2rem}.prose ul{padding-left:1.1rem}.prose li{margin-bottom:.5rem}
.callout{background:var(--surface-2);border-left:3px solid var(--brand);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:1.1rem 1.3rem}
