
  :root{
    --ink:#0e1d20; --pine:#16333a; --teal:#4d9099; --teal-deep:#37707a;
    --mist:#e8f0ef; --paper:#fafcfb; --ember:#c97b2d; --ok:#5da869;
    --line:rgba(14,29,32,.14);
  }
  .hss{ background:var(--paper); color:var(--ink);
    font-family:-apple-system,"Segoe UI",system-ui,sans-serif; line-height:1.55; }
  .hss *{ box-sizing:border-box; }
  .hss .disp{ font-family:"Avenir Next","Helvetica Neue",-apple-system,sans-serif;
    font-weight:700; letter-spacing:-.015em; text-wrap:balance; }
  .hss .mono{ font-family:"SF Mono",ui-monospace,Menlo,monospace;
    font-variant-numeric:tabular-nums; }
  .hss .eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:.14em;
    font-weight:600; color:var(--teal-deep); }
  .wrap{ max-width:1060px; margin:0 auto; padding:0 28px; }

  /* ---- top bar ---- */
  .bar{ background:var(--ink); color:#dfe9e8; }
  .bar .wrap{ display:flex; align-items:center; justify-content:space-between; height:60px; }
  .logo{ display:flex; align-items:baseline; gap:9px; }
  .logo b{ font-size:17px; letter-spacing:.02em; color:#fff; }
  .logo span{ font-size:11px; text-transform:uppercase; letter-spacing:.16em; color:var(--teal); }
  .nav{ display:flex; gap:24px; font-size:13.5px; }
  .nav a{ color:#c3d4d2; text-decoration:none; }
  .nav a:hover,.nav a:focus-visible{ color:#fff; outline:none; border-bottom:2px solid var(--teal); }
  .bar .cta{ background:var(--teal); color:#0b1719; font-weight:600; font-size:13.5px;
    padding:9px 16px; border-radius:4px; text-decoration:none; }

  /* ---- hero ---- */
  .hero{ background:linear-gradient(160deg,var(--ink) 55%,var(--pine)); color:#eef4f3; }
  .hero .wrap{ display:grid; grid-template-columns:1.15fr .85fr; gap:56px;
    padding-top:72px; padding-bottom:72px; align-items:center; }
  .hero h1{ font-size:clamp(33px,4.4vw,50px); line-height:1.06; margin:14px 0 18px; color:#fff; }
  .hero h1 em{ font-style:normal; color:var(--teal); }
  .hero p.lede{ font-size:17px; max-width:48ch; color:#c9d8d6; margin:0 0 28px; }
  .hero .ctas{ display:flex; gap:12px; flex-wrap:wrap; }
  .btn-a{ background:var(--teal); color:#0b1719; font-weight:650; padding:13px 20px;
    border-radius:5px; text-decoration:none; font-size:15px; }
  .btn-a:hover{ background:#5ba3ad; }
  .btn-b{ border:1px solid rgba(255,255,255,.35); color:#eef4f3; padding:13px 20px;
    border-radius:5px; text-decoration:none; font-size:15px; }
  .btn-b:hover{ border-color:var(--teal); color:#fff; }
  .btn-e{ background:var(--ember); color:#160d04; font-weight:650; padding:13px 20px;
    border-radius:5px; text-decoration:none; font-size:15px; }
  .btn-e:hover{ background:#dd8f42; }

  /* room grid telemetry panel */
  .panel{ background:#0a1517; border:1px solid rgba(122,171,178,.25); border-radius:10px;
    padding:18px 18px 14px; box-shadow:0 18px 50px rgba(0,0,0,.4); }
  .panel .ph{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
  .panel .ph .t{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#7fa9ae; }
  .pill{ font-size:11px; padding:3px 9px; border-radius:99px; background:rgba(93,168,105,.15);
    color:#8fd49a; border:1px solid rgba(93,168,105,.4); }
  .rooms{ display:grid; grid-template-columns:repeat(6,1fr); gap:7px; }
  .room{ border-radius:5px; background:#122327; border:1px solid rgba(122,171,178,.16);
    padding:7px 6px 6px; text-align:center; }
  .room .n{ font-size:10px; color:#6e9297; }
  .room .v{ font-size:13.5px; color:#d7e6e4; margin-top:2px; }
  .room.eco{ background:#10262a; } .room.eco .v{ color:#79b8a4; }
  .room.alarm{ background:#2b1a10; border-color:rgba(201,123,45,.55); }
  .room.alarm .v{ color:#e9a05b; }
  @keyframes breathe{ 0%,100%{opacity:1} 50%{opacity:.55} }
  .room.alarm .v{ animation:breathe 1.6s ease-in-out infinite; }
  @media (prefers-reduced-motion:reduce){ .room.alarm .v{ animation:none; } }
  .panel .pf{ margin-top:12px; font-size:11.5px; color:#6e9297; display:flex; justify-content:space-between; }

  /* ---- trust / authorization strip ---- */
  .trust{ background:var(--mist); border-bottom:1px solid var(--line); }
  .trust .wrap{ display:flex; gap:8px 30px; flex-wrap:wrap; align-items:center;
    padding-top:16px; padding-bottom:16px; }
  .trust .auth{ font-size:14px; color:var(--ink); font-weight:600; }
  .trust .c{ font-size:14px; color:#3c5257; }

  /* ---- emergency strip ---- */
  .urgent{ background:#1d1207; border-bottom:1px solid rgba(201,123,45,.35); color:#f3e2cd; }
  .urgent .wrap{ display:flex; align-items:center; gap:18px; padding-top:16px; padding-bottom:16px; flex-wrap:wrap; }
  .urgent b{ color:#f0b061; }
  .urgent .q{ font-size:15px; }
  .urgent a{ color:#f0b061; font-weight:600; font-size:14px; text-decoration:none; border-bottom:1px solid rgba(240,176,97,.5); }
  .urgent a:hover{ color:#ffc985; }

  /* ---- sections ---- */
  section.blk{ padding:68px 0; }
  section.blk.alt{ background:var(--mist); }
  .blk h2{ font-size:clamp(26px,3.2vw,34px); margin:10px 0 10px; }
  .blk p.sub{ max-width:62ch; color:#42585c; margin:0 0 36px; font-size:16.5px; }
  .cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; }
  .card{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:24px 22px; }
  .alt .card{ background:var(--paper); }
  .card h3{ font-size:17px; margin:0 0 8px; }
  .card p{ font-size:14.5px; color:#4a5f63; margin:0 0 12px; }
  .card .tag{ font-size:12px; color:var(--teal-deep); font-weight:600; }
  a.tag{ text-decoration:none; display:inline-block; }
  a.tag:hover{ text-decoration:underline; }
  .card.first{ border-top:3px solid var(--teal); }

  /* product families + find-my-part */
  .findpart{ background:#fff; border:1.5px solid var(--teal); border-radius:9px;
    padding:20px 22px; margin-bottom:34px; display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; }
  .findpart .fp-t{ font-weight:700; font-size:17px; }
  .findpart .fp-s{ font-size:14px; color:#4a5f63; margin-top:3px; }
  .fp-bar{ grid-column:1/-1; display:flex; gap:10px; }
  .fp-bar input{ flex:1; font-size:15px; padding:12px 14px; border:1px solid var(--line);
    border-radius:6px; background:var(--paper); color:var(--ink); }
  .fp-bar .btn-a{ padding:12px 20px; }
  .fams{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:14px; }
  .fam{ background:#fff; border:1px solid var(--line); border-radius:8px; text-align:center;
    padding:16px 10px 14px; text-decoration:none; color:var(--ink); }
  .fam:hover{ border-color:var(--teal); }
  .fam .ph2{ height:64px; border-radius:6px; background:var(--mist); display:flex;
    align-items:center; justify-content:center; color:#8fa9ad; font-size:11px; margin-bottom:10px; }
  .fam .t{ font-size:13.5px; font-weight:600; }

  /* platform section */
  .plat{ background:var(--ink); color:#e8f0ef; }
  .plat h2{ color:#fff; } .plat p.sub{ color:#a9bfbd; }
  .plat .card{ background:#12262a; border-color:rgba(122,171,178,.2); }
  .plat .card h3{ color:#fff; } .plat .card p{ color:#a9bfbd; }
  .plat .card .tag{ color:var(--teal); }
  .plat .eng{ margin-top:30px; background:#0d1e21; border:1px solid rgba(122,171,178,.2);
    border-radius:9px; padding:24px 24px 20px; }
  .plat .eng h3{ margin:0 0 12px; font-size:17px; color:#fff; }
  .plat .eng ul{ columns:2; gap:34px; margin:0; padding-left:18px; font-size:14.5px; color:#a9bfbd; }
  .plat .eng li{ margin-bottom:7px; }
  .plat .note{ margin-top:22px; font-size:13px; color:#7fa9ae; }
  @media (max-width:700px){ .plat .eng ul{ columns:1; } }

  /* knowledge */
  .guides{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
  .guide{ display:block; background:#fff; border:1px solid var(--line); border-left:3px solid var(--teal);
    border-radius:6px; padding:16px 18px; text-decoration:none; color:var(--ink); }
  .guide:hover{ border-left-color:var(--ember); }
  .guide .g-k{ font-size:11.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--teal-deep); }
  .guide .g-t{ font-weight:650; font-size:15.5px; margin-top:4px; }

  /* coverage + cta */
  .cover .cities{ display:flex; flex-wrap:wrap; gap:10px 26px; font-size:15px; color:#3c5257; }
  .cover .cities b{ color:var(--ink); }
  .band{ background:var(--teal); color:#0b1719; }
  .band .wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px;
    padding-top:42px; padding-bottom:42px; flex-wrap:wrap; }
  .band h2{ margin:0; font-size:clamp(21px,2.8vw,28px); }
  .band .ctas{ display:flex; gap:12px; flex-wrap:wrap; }
  .band .btn-a{ background:var(--ink); color:#fff; }
  .band .btn-b{ border-color:rgba(11,23,25,.5); color:#0b1719; }
  footer.f{ background:var(--ink); color:#8aa4a2; font-size:13px; }
  footer.f .wrap{ padding-top:34px; padding-bottom:38px; }
  footer.f .legal{ max-width:80ch; margin-top:10px; color:#6e8b8f; }

  @media (max-width:840px){
    .hero .wrap{ grid-template-columns:1fr; gap:38px; }
    .nav{ display:none; }
    .findpart{ grid-template-columns:1fr; }
  }

/* ---- content/cornerstone pages (shared) ---- */
.article{ max-width:760px; margin:0 auto; padding:56px 28px 72px; }
.article h1{ font-size:clamp(30px,4vw,42px); line-height:1.1; margin:10px 0 16px; }
.article h2{ font-size:24px; margin:38px 0 10px; }
.article h3{ font-size:18px; margin:24px 0 6px; }
.article p, .article li{ font-size:16.5px; color:#2e4347; }
.article ul, .article ol{ padding-left:22px; }
.article li{ margin-bottom:6px; }
.article table{ border-collapse:collapse; width:100%; margin:16px 0; font-size:15px; }
.article th, .article td{ border:1px solid var(--line); padding:8px 10px; text-align:left; vertical-align:top; }
.article th{ background:var(--mist); }
/* in-article product figure */
.gfig{ margin:26px 0 6px; }
.gfig img{ display:block; width:100%; max-width:340px; height:auto; margin:0 auto;
  background:var(--mist); border:1px solid var(--line); border-radius:10px; padding:14px; box-sizing:border-box; }
.gfig figcaption{ text-align:center; font-size:13px; color:#6a7d80; margin-top:8px; }
.gfig.wide img{ max-width:640px; padding:0; background:#0b1416; }
.faq dt{ font-weight:650; margin-top:20px; }
.faq dd{ margin:6px 0 0; color:#42585c; }
.cta-inline{ background:var(--mist); border:1px solid var(--line); border-radius:9px; padding:22px 24px; margin:36px 0 0; }
.crumb{ font-size:13px; color:var(--teal-deep); }
.crumb a{ color:var(--teal-deep); text-decoration:none; }
.crumb a:hover{ text-decoration:underline; }

/* ---- rotating product tiles ---- */
.rotator{ position:relative; }
.rotator img{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  max-height:56px; max-width:90%; object-fit:contain; opacity:0; transition:opacity .7s ease; }
.rotator img.on{ opacity:1; }
.fam .ph2.rotator{ overflow:hidden; }
/* product-line wordmark tile (no product photo yet — deliberate, not placeholder) */
.fam .ph2.linetile{ background:var(--pine); color:#dfeceb; font-weight:800; font-size:15px;
  letter-spacing:.18em; display:flex; align-items:center; justify-content:center; }
@media (prefers-reduced-motion:reduce){ .rotator img{ transition:none; } }
@media (max-width:760px){ .aboutgrid{ grid-template-columns:1fr !important; } }
