:root {
  --ink: #101820;
  --muted: #66717f;
  --soft: #f4f8fc;
  --soft-2: #eaf3fb;
  --line: #dce6f0;
  --blue: #1769e0;
  --blue-2: #0d4fa8;
  --green: #18a36a;
  --orange: #cc6845;
  --white: #fff;
  --shadow: 0 24px 80px rgba(16, 24, 32, 0.12);
}

/* Store policy drafts */
.legal-page {
  --legal-ink: #172027;
  --legal-muted: #64727b;
  --legal-line: #cbd5da;
  --legal-surface: #f6f8f9;
  --legal-panel: #fbfcfd;
  --legal-accent: #087f9c;
  color: var(--legal-ink);
  background: var(--legal-surface);
}

.legal-page .header {
  position: sticky;
  top: 0;
}

.legal-hero {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(460px, 1.06fr);
  gap: clamp(48px, 7vw, 108px);
  align-items: center;
  min-height: clamp(690px, calc(100dvh - 75px), 860px);
  padding: clamp(64px, 8vw, 108px) clamp(22px, 5vw, 76px);
  overflow: hidden;
}

.legal-hero-copy,
.legal-hero-visual {
  min-width: 0;
}

.legal-hero h1 {
  max-width: 760px;
  margin-bottom: 22px;
  font-size: clamp(50px, 4.7vw, 66px);
  line-height: .96;
}

.legal-hero .lede {
  max-width: 620px;
  color: var(--legal-muted);
}

.legal-hero-visual {
  display: grid;
  grid-template-rows: minmax(390px, 1fr) auto;
  border: 1px solid var(--legal-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(23, 32, 39, .1);
  overflow: hidden;
}

.legal-hero-visual img {
  width: 100%;
  height: 100%;
  min-height: 390px;
  padding: clamp(26px, 4vw, 54px);
  object-fit: contain;
  background: #fff;
}

.legal-hero-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--legal-line);
  background: #eef3f5;
}

.legal-hero-facts div {
  display: grid;
  gap: 5px;
  min-height: 116px;
  align-content: center;
  padding: 18px;
  border-left: 1px solid var(--legal-line);
}

.legal-hero-facts div:first-child {
  border-left: 0;
}

.legal-hero-facts span,
.legal-status span,
.legal-list span,
.legal-grid article > span,
.legal-reference span {
  color: var(--legal-accent);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.legal-hero-facts strong {
  font-size: 14px;
  line-height: 1.25;
}

.legal-hero-facts small {
  color: var(--legal-muted);
  font-size: 11px;
}

.legal-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 clamp(22px, 5vw, 76px);
  border: 1px solid var(--legal-line);
  background: var(--legal-panel);
}

.legal-status div {
  display: grid;
  gap: 5px;
  min-height: 106px;
  align-content: center;
  padding: 20px;
  border-left: 1px solid var(--legal-line);
}

.legal-status div:first-child {
  border-left: 0;
}

.legal-status strong {
  font-size: 15px;
}

.legal-status p {
  margin: 0;
  color: var(--legal-muted);
  font-size: 12px;
}

.legal-section {
  background: var(--legal-panel);
}

.legal-section.alt {
  background: #e9eef0;
}

.legal-heading {
  display: grid;
  max-width: 860px;
  gap: 13px;
  margin-bottom: clamp(34px, 5vw, 62px);
}

.legal-heading h2,
.legal-split-copy h2,
.legal-next h2 {
  margin: 0;
  font-size: clamp(36px, 4.2vw, 58px);
  line-height: 1;
}

.legal-heading p,
.legal-split-copy p,
.legal-next p {
  max-width: 720px;
  margin: 0;
  color: var(--legal-muted);
  font-size: 17px;
}

.legal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--legal-line);
}

.legal-grid article {
  min-height: 245px;
  padding: 30px;
  border-right: 1px solid var(--legal-line);
  border-bottom: 1px solid var(--legal-line);
}

.legal-grid article:nth-child(3n) {
  border-right: 0;
}

.legal-grid h3 {
  margin: 18px 0 11px;
  font-size: 23px;
}

.legal-grid p {
  margin: 0;
  color: var(--legal-muted);
  font-size: 15px;
}

.legal-list {
  border-top: 1px solid #b9c6cc;
}

.legal-list div {
  display: grid;
  grid-template-columns: 64px minmax(200px, .75fr) minmax(0, 1.25fr);
  gap: 24px;
  align-items: start;
  padding: 23px 0;
  border-bottom: 1px solid #b9c6cc;
}

.legal-list p {
  margin: 0;
  color: var(--legal-muted);
  font-size: 14px;
}

.legal-split {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(46px, 7vw, 108px);
  background: var(--legal-surface);
}

.legal-reference {
  display: grid;
  align-self: start;
  gap: 10px;
  padding: 28px 0;
  border-top: 1px solid var(--legal-line);
  border-bottom: 1px solid var(--legal-line);
}

.legal-reference strong {
  font-size: 20px;
}

.legal-reference p {
  margin: 0;
  color: var(--legal-muted);
  font-size: 14px;
}

.legal-reference a {
  color: #066c85;
  font-weight: 850;
}

.legal-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: end;
  background: #e0eaed;
}

.legal-next-actions {
  display: flex;
  gap: 12px;
}

@media (prefers-color-scheme: dark) {
  .legal-page,
  .legal-hero,
  .legal-section,
  .legal-split {
    --legal-ink: #e7edef;
    --legal-muted: #a7b2b8;
    --legal-line: #43525a;
    --legal-surface: #11191e;
    --legal-panel: #172127;
    --legal-accent: #71c3d3;
    background: var(--legal-surface);
  }

  .legal-section,
  .legal-status {
    background: var(--legal-panel);
  }

  .legal-section.alt,
  .legal-next {
    background: #202b31;
  }

  .legal-hero-visual,
  .legal-hero-visual img {
    background: #f2f4f5;
  }

  .legal-hero-facts {
    background: #203038;
  }

  .legal-list,
  .legal-list div {
    border-color: #53636b;
  }

  .legal-reference a {
    color: #8fd0dc;
  }
}

@media (max-width: 960px) {
  .legal-hero,
  .legal-split,
  .legal-next {
    grid-template-columns: 1fr;
  }

  .legal-hero {
    min-height: auto;
  }

  .legal-grid {
    grid-template-columns: 1fr 1fr;
  }

  .legal-grid article:nth-child(3n) {
    border-right: 1px solid var(--legal-line);
  }

  .legal-grid article:nth-child(2n) {
    border-right: 0;
  }

  .legal-next-actions {
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .legal-hero {
    gap: 34px;
    padding: 50px 18px 60px;
  }

  .legal-hero h1 {
    font-size: 44px;
    overflow-wrap: break-word;
  }

  .legal-hero-visual {
    grid-template-rows: minmax(280px, 1fr) auto;
  }

  .legal-hero-visual img {
    min-height: 280px;
    padding: 24px;
  }

  .legal-hero-facts,
  .legal-status,
  .legal-grid {
    grid-template-columns: 1fr;
  }

  .legal-hero-facts div,
  .legal-status div,
  .legal-grid article,
  .legal-grid article:nth-child(2n),
  .legal-grid article:nth-child(3n) {
    border-top: 1px solid var(--legal-line);
    border-right: 0;
    border-left: 0;
  }

  .legal-hero-facts div:first-child,
  .legal-status div:first-child {
    border-top: 0;
  }

  .legal-status {
    margin: 0 18px;
  }

  .legal-page .section {
    padding-right: 18px;
    padding-left: 18px;
  }

  .legal-list div {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px 14px;
  }

  .legal-list p {
    grid-column: 2;
  }

  .legal-next-actions {
    display: grid;
    width: 100%;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.header {
  position: relative;
  z-index: 20;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 18px clamp(22px, 5vw, 76px);
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(220,230,240,.8);
  backdrop-filter: blur(18px);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
}
.brand span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--white);
  background: linear-gradient(145deg, var(--ink), #28445e);
  border-radius: 8px;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: lowercase;
  box-shadow: 0 10px 24px rgba(16,24,32,.14);
}
.brand strong {
  display: grid;
  gap: 1px;
  line-height: 1;
}
.brand small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.nav {
  display: flex;
  justify-content: center;
  gap: 34px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}
.nav a:hover { color: var(--blue); }
.nav-cta,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 8px;
  font-weight: 800;
  font-size: 14px;
  border: 1px solid transparent;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.nav-cta,
.button.primary {
  color: var(--white);
  background: var(--blue);
}
.button.ghost {
  color: var(--ink);
  background: var(--white);
  border-color: var(--line);
}
.button:hover,
.nav-cta:hover {
  transform: translateY(-2px);
}
.menu-button {
  display: none;
  min-height: 42px;
  padding: 0 14px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-weight: 800;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
  gap: clamp(36px, 6vw, 100px);
  align-items: center;
  min-height: calc(100vh - 72px);
  padding: 84px clamp(22px, 5vw, 76px);
  background:
    radial-gradient(circle at 80% 44%, rgba(23,105,224,.12), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  overflow: hidden;
}
.kicker {
  margin: 0 0 14px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
h1, h2, h3, p { margin-top: 0; }
h1 {
  max-width: 760px;
  margin-bottom: 22px;
  font-size: clamp(54px, 7vw, 104px);
  line-height: .9;
  letter-spacing: 0;
}
h2 {
  max-width: 760px;
  margin-bottom: 16px;
  font-size: clamp(34px, 4.8vw, 62px);
  line-height: .96;
  letter-spacing: 0;
}
h3 { margin-bottom: 8px; font-size: 22px; line-height: 1.1; }
.lede,
.section-title p,
.compat-copy p,
.setup-card p {
  max-width: 640px;
  color: var(--muted);
  font-size: 18px;
}
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 34px 0 22px;
}
.quick-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.quick-facts span {
  padding: 9px 12px;
  color: #31506d;
  background: #eaf4ff;
  border: 1px solid #cbe4fb;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
}
.hero-product {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 620px;
}
.image-shell {
  position: relative;
  display: grid;
  width: min(640px, 88vw);
  min-height: 560px;
  place-items: center;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(220,230,240,.9);
  border-radius: 8px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.image-shell::before {
  content: "";
  position: absolute;
  inset: 10% 6%;
  background: linear-gradient(135deg, rgba(23,105,224,.12), rgba(255,255,255,0));
  border-radius: 999px;
}
.image-shell img {
  position: relative;
  width: 108%;
  border-radius: 6px;
  filter: saturate(1.03) contrast(1.02);
  animation: productIn .9s ease both, float 5.2s ease-in-out 1s infinite;
}
.glow {
  position: absolute;
  width: 78px;
  height: 78px;
  border: 3px solid rgba(23,105,224,.45);
  border-radius: 50%;
  transform: translate(104px, 48px);
  animation: pulse 2.5s ease-in-out infinite;
}
.floating-note {
  position: absolute;
  padding: 10px 14px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(16,24,32,.1);
  color: var(--blue-2);
  font-size: 14px;
  font-weight: 850;
}
.floating-note.top { top: 16%; left: 4%; }
.floating-note.bottom { right: 1%; bottom: 18%; }

.section { padding: 96px clamp(22px, 5vw, 76px); }
.section-title { margin-bottom: 34px; }
.benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  padding-top: 0;
  padding-bottom: 0;
  background: var(--line);
}
.benefit {
  min-height: 220px;
  padding: 34px;
  background: var(--white);
}
.benefit span {
  display: block;
  margin-bottom: 32px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
}
.benefit p {
  color: var(--muted);
  font-size: 15px;
}
.visuals {
  background: var(--white);
}
.visual-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  grid-template-rows: repeat(2, minmax(240px, 1fr));
  gap: 18px;
}
.visual-card {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.visual-card.large {
  grid-row: span 2;
  min-height: 540px;
}
.visual-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.02) contrast(1.02);
}
.visual-card div {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  padding: 14px 16px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(220,230,240,.88);
  border-radius: 8px;
  backdrop-filter: blur(14px);
}
.visual-card span {
  display: block;
  margin-bottom: 5px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.visual-card strong {
  font-size: 18px;
}
.models { background: var(--white); }
.model-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
  gap: 22px;
}
.model-main,
.mini-model,
.setup-card,
.compat-list,
.policy,
.faq-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}
.model-main {
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(260px, .7fr);
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(23,105,224,.08);
}
.model-image {
  display: grid;
  min-height: 520px;
  place-items: center;
  background: linear-gradient(180deg, #f6fbff, #eef6fc);
}
.model-image img { width: 78%; }
.model-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 44px;
}
.badge {
  align-self: flex-start;
  margin-bottom: 18px;
  padding: 7px 10px;
  color: var(--blue-2);
  background: #eaf4ff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.badge.muted {
  color: #52606d;
  background: #eef2f5;
}
.price {
  margin: 20px 0;
  font-size: 36px;
  font-weight: 900;
}
.text-link {
  color: var(--blue);
  font-weight: 850;
}
.model-side {
  display: grid;
  gap: 22px;
}
.mini-model {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 20px;
  overflow: hidden;
  min-height: 249px;
}
.mini-model img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--soft);
}
.mini-model div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 24px 24px 0;
}
.mini-model p,
.model-content p,
.policy p,
.faq-item p,
.steps small,
.compat-list p {
  color: var(--muted);
  font-size: 15px;
}

.setup {
  background: var(--soft);
}
.setup-card {
  display: grid;
  grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
  gap: 48px;
  padding: clamp(28px, 4vw, 52px);
}
.steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1px;
  padding: 0;
  margin: 0;
  list-style: none;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.steps li {
  display: flex;
  flex-direction: column;
  min-height: 210px;
  padding: 24px;
  background: var(--white);
}
.steps span {
  margin-bottom: auto;
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
}
.steps strong { margin: 22px 0 8px; }

.compat {
  display: grid;
  grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
  gap: 48px;
  align-items: start;
}
.compat-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  overflow: hidden;
}
.compat-list div {
  min-height: 172px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.compat-list div:nth-child(2n) { border-right: 0; }
.compat-list div:nth-last-child(-n + 2) { border-bottom: 0; }
.compat-list .ok,
.compat-list .no {
  display: block;
  width: 12px;
  height: 12px;
  margin-bottom: 18px;
  border-radius: 999px;
}
.compat-list .ok { background: var(--green); }
.compat-list .no { background: var(--orange); }

.policies {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  background: #0f1b26;
}
.policy {
  min-height: 210px;
  padding: 28px;
  color: var(--white);
  background: #152534;
  border-color: rgba(255,255,255,.14);
}
.policy strong { display: block; margin-bottom: 14px; font-size: 20px; }
.policy p { color: #c8d6e4; }

.faq-list {
  display: grid;
  gap: 12px;
  max-width: 940px;
}
.faq-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  width: 100%;
  padding: 22px 24px;
  text-align: left;
  cursor: pointer;
}
.faq-item span { font-size: 18px; font-weight: 850; }
.faq-item b { color: var(--blue-2); }
.faq-item p {
  display: none;
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 8px;
}
.faq-item.open {
  border-color: #b8d8f7;
  background: #f7fbff;
}
.faq-item.open p { display: block; }
.product-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .75fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: center;
  min-height: calc(100vh - 75px);
  padding: 72px clamp(22px, 5vw, 76px);
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}
.product-gallery {
  display: grid;
  gap: 16px;
}
.gallery-main {
  display: grid;
  min-height: 620px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}
.gallery-main img {
  width: 104%;
  max-width: none;
}
.gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.gallery-thumbs img {
  height: 128px;
  width: 100%;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}
.product-buy {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.product-buy h1 {
  font-size: clamp(44px, 5.8vw, 82px);
}
.product-price {
  margin: 20px 0 8px;
  font-size: 46px;
  font-weight: 900;
}
.buy-notes {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}
.buy-notes span {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: #31506d;
  background: #f7fbff;
  font-size: 14px;
  font-weight: 800;
}
.product-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  background: var(--soft);
}
.detail-panel {
  min-height: 480px;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}
.clean-list {
  display: grid;
  gap: 16px;
  margin: 28px 0 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 16px;
}
.clean-list li::marker {
  color: var(--blue);
  font-weight: 900;
}
.clean-list.numbered li::marker {
  color: var(--blue);
  font-weight: 900;
}
.footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  padding: 34px clamp(22px, 5vw, 76px);
  color: #d7e2ee;
  background: #0f1b26;
  font-size: 14px;
}

.motion {
  opacity: .92;
  transform: translateY(14px);
  transition: opacity .62s ease, transform .62s ease;
}
.motion.visible {
  opacity: 1;
  transform: translateY(0);
}
@keyframes productIn {
  from { opacity: 0; transform: translateY(26px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes pulse {
  0% { opacity: 0; transform: translate(104px, 48px) scale(.7); }
  45% { opacity: 1; }
  100% { opacity: 0; transform: translate(104px, 48px) scale(1.26); }
}

@media (max-width: 1040px) {
  .header { grid-template-columns: 1fr auto; }
  .menu-button { display: inline-flex; align-items: center; }
  .nav,
  .nav-cta { display: none; }
  .header.menu-open .nav {
    display: grid;
    grid-column: 1 / -1;
    justify-content: start;
    gap: 16px;
    padding-top: 14px;
  }
  .hero,
  .product-hero,
  .model-layout,
  .visual-grid,
  .setup-card,
  .compat,
  .product-detail-grid {
    grid-template-columns: 1fr;
  }
  .hero { min-height: auto; }
  .hero-product { min-height: 480px; }
  .model-main { grid-template-columns: 1fr; }
  .visual-card.large {
    grid-row: auto;
    min-height: 360px;
  }
  .gallery-main { min-height: 430px; }
  .model-image { min-height: 360px; }
  .benefits,
  .steps,
  .policies { grid-template-columns: 1fr; }
  .compat-list { grid-template-columns: 1fr; }
  .compat-list div,
  .compat-list div:nth-child(2n),
  .compat-list div:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .compat-list div:last-child { border-bottom: 0; }
}

@media (max-width: 640px) {
  .header { padding: 14px 18px; }
  .hero,
  .section { padding: 58px 18px; }
  h1 { font-size: 46px; }
  h2 { font-size: 34px; }
  .actions,
  .footer { flex-direction: column; }
  .button { width: 100%; }
  .image-shell {
    width: 100%;
    min-height: 330px;
  }
  .product-hero {
    padding: 58px 18px;
  }
  .gallery-main {
    min-height: 330px;
  }
  .gallery-thumbs img {
    height: 92px;
  }
  .brand small {
    display: none;
  }
  .floating-note,
  .glow { display: none; }
  .mini-model {
    grid-template-columns: 1fr;
  }
  .mini-model div {
    padding: 24px;
  }
  .faq-item { grid-template-columns: 1fr; }
}

/* Clean Tech homepage refresh */
.home-page {
  --ink: #121a20;
  --muted: #5d6972;
  --soft: #f1f4f6;
  --soft-2: #e8edf0;
  --line: #d5dde2;
  --blue: #087f9c;
  --blue-2: #08667d;
  --white: #fbfcfd;
  --shadow: 0 26px 70px rgba(24, 39, 48, .11);
  background: #f6f8f9;
  font-family: Aptos, "Segoe UI Variable", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
}

.home-page .header {
  position: sticky;
  top: 0;
  min-height: 72px;
  padding-top: 14px;
  padding-bottom: 14px;
  background: rgba(246, 248, 249, .9);
  border-bottom-color: rgba(174, 187, 195, .55);
}

.home-page .nav {
  gap: clamp(18px, 2.4vw, 34px);
}

.home-page .footer {
  flex-wrap: wrap;
}

.home-page .brand span {
  background: #18252c;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}

.home-page .nav a,
.home-page .nav-cta,
.home-page .button,
.home-page .text-link {
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.home-page .nav-cta,
.home-page .button.primary {
  background: #087f9c;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .18);
}

.home-page .nav-cta:hover,
.home-page .button.primary:hover {
  background: #076b84;
}

.home-page .button:active,
.home-page .nav-cta:active {
  transform: translateY(1px) scale(.985);
}

.home-page .button:focus-visible,
.home-page .nav-cta:focus-visible,
.home-page .nav a:focus-visible,
.home-page .faq-item:focus-visible {
  outline: 3px solid rgba(8, 127, 156, .35);
  outline-offset: 3px;
}

.home-page .hero {
  grid-template-columns: minmax(360px, .82fr) minmax(540px, 1.18fr);
  min-height: calc(100dvh - 72px);
  padding-top: clamp(54px, 6vw, 82px);
  padding-bottom: clamp(58px, 7vw, 96px);
  background: #f6f8f9;
}

.home-page .hero-copy {
  position: relative;
  z-index: 2;
}

.home-page .kicker {
  margin-bottom: 16px;
  color: #087f9c;
  letter-spacing: .08em;
}

.home-page .hero h1 {
  max-width: 700px;
  margin-bottom: 24px;
  font-size: clamp(48px, 5.8vw, 86px);
  line-height: .98;
  font-weight: 760;
}

.home-page .lede {
  max-width: 590px;
  color: #4f5c65;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.55;
}

.home-page .actions {
  margin-top: 32px;
  margin-bottom: 0;
}

.home-page .button {
  min-width: 174px;
  min-height: 50px;
  padding: 0 22px;
  white-space: nowrap;
}

.home-page .button.ghost {
  background: transparent;
  border-color: #bfcbd1;
}

.home-page .button.ghost:hover {
  border-color: #087f9c;
  color: #08667d;
}

.home-page .hero-product {
  min-height: 590px;
}

.product-stage {
  position: relative;
  display: grid;
  width: min(720px, 100%);
  grid-template-rows: auto minmax(420px, 1fr) auto;
  border: 1px solid #cbd5da;
  border-radius: 8px;
  background: #eef2f4;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.stage-meta {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: baseline;
  padding: 17px 20px;
  border-bottom: 1px solid #cbd5da;
  color: #53616a;
  font-size: 12px;
}

.stage-meta span,
.stage-meta small {
  font-weight: 720;
}

.stage-meta strong {
  color: #172229;
  font-size: 13px;
}

.home-page .image-shell {
  position: relative;
  width: 100%;
  min-height: 440px;
  border: 0;
  border-radius: 0;
  background: #fbfcfd;
  box-shadow: none;
}

.home-page .image-shell::before {
  inset: 0;
  border-radius: 0;
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(8, 127, 156, .11) 50%, transparent 50.1%),
    linear-gradient(transparent 49.9%, rgba(8, 127, 156, .11) 50%, transparent 50.1%);
}

.home-page .image-shell img {
  width: 104%;
  max-width: none;
  border-radius: 0;
  animation: none;
  filter: saturate(.96) contrast(1.04);
}

.sensor-scan {
  position: absolute;
  left: 58%;
  top: 50%;
  width: 68px;
  height: 68px;
  border: 1px solid rgba(8, 127, 156, .5);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.sensor-scan::before,
.sensor-scan::after {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(8, 127, 156, .28);
  border-radius: inherit;
}

.sensor-scan::after {
  inset: 18px;
  border-color: rgba(8, 127, 156, .2);
}

.connection-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #cbd5da;
}

.connection-status span {
  display: grid;
  gap: 3px;
  padding: 15px 18px;
  color: #1d2a31;
  font-size: 13px;
  font-weight: 760;
}

.connection-status span + span {
  border-left: 1px solid #cbd5da;
}

.connection-status b {
  color: #6a767e;
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.trust-rail {
  display: grid;
  grid-template-columns: 1.15fr .85fr .85fr 1.15fr;
  margin: 0 clamp(22px, 5vw, 76px);
  border-top: 1px solid #cbd5da;
  border-bottom: 1px solid #cbd5da;
}

.trust-rail div {
  display: grid;
  gap: 5px;
  min-height: 92px;
  align-content: center;
  padding: 18px 24px;
}

.trust-rail div + div {
  border-left: 1px solid #cbd5da;
}

.trust-rail span {
  color: #68757d;
  font-size: 11px;
  font-weight: 720;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.trust-rail strong {
  font-size: 16px;
}

.home-page .section {
  padding-top: clamp(82px, 9vw, 128px);
  padding-bottom: clamp(82px, 9vw, 128px);
}

.home-page h2 {
  font-size: clamp(38px, 4.6vw, 64px);
  line-height: 1;
  font-weight: 740;
}

.home-page .benefits {
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(48px, 7vw, 110px);
  background: #f6f8f9;
}

.benefit-lead {
  align-self: start;
  position: sticky;
  top: 112px;
}

.benefit-list {
  border-top: 1px solid #cbd5da;
}

.home-page .benefit {
  display: grid;
  grid-template-columns: 150px minmax(220px, .85fr) minmax(180px, 1fr);
  gap: 26px;
  min-height: 0;
  align-items: start;
  padding: 28px 0;
  border-bottom: 1px solid #cbd5da;
  background: transparent;
}

.home-page .benefit span {
  margin: 0;
  color: #087f9c;
  font-size: 12px;
}

.home-page .benefit h3,
.home-page .benefit p {
  margin: 0;
}

.home-page .visuals,
.home-page .models,
.home-page .setup,
.home-page .compat,
.home-page .faq {
  background: #f6f8f9;
}

.home-page .visual-grid {
  grid-template-columns: 1.25fr .75fr;
  gap: 22px;
}

.home-page .visual-card {
  display: grid;
  grid-template-rows: minmax(240px, 1fr) auto;
  border-color: #cbd5da;
  background: #fbfcfd;
}

.home-page .visual-card.large {
  min-height: 610px;
}

.home-page .visual-card img {
  min-height: 0;
}

.home-page .visual-card div {
  position: static;
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: baseline;
  gap: 16px;
  padding: 18px 20px;
  border: 0;
  border-top: 1px solid #cbd5da;
  border-radius: 0;
  background: #fbfcfd;
  backdrop-filter: none;
}

.home-page .visual-card span {
  margin: 0;
  color: #68757d;
}

.home-page .compat {
  align-items: center;
}

.compat-link {
  display: inline-flex;
  margin-top: 18px;
}

.compat-console {
  border: 1px solid #bdc9cf;
  border-radius: 8px;
  background: #edf1f3;
  box-shadow: 0 22px 60px rgba(24, 39, 48, .08);
  overflow: hidden;
}

.console-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 17px 20px;
  border-bottom: 1px solid #bdc9cf;
  color: #5c6971;
  font-size: 12px;
}

.console-head strong {
  color: #1c292f;
}

.compat-row {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 94px;
  padding: 18px 20px;
  background: #fbfcfd;
}

.compat-row + .compat-row {
  border-top: 1px solid #d6dee2;
}

.status-mark {
  width: 12px;
  height: 12px;
  border: 2px solid currentColor;
  border-radius: 50%;
  color: #087f9c;
}

.compat-row.supported .status-mark {
  background: #087f9c;
  box-shadow: inset 0 0 0 2px #fbfcfd;
}

.compat-row.required .status-mark {
  border-radius: 3px;
}

.compat-row.unsupported .status-mark {
  color: #7a858b;
}

.compat-row p {
  margin: 4px 0 0;
  color: #66737b;
  font-size: 14px;
}

.compat-row > b {
  color: #08667d;
  font-size: 12px;
}

.compat-row.unsupported > b {
  color: #68747b;
}

.home-page .policies {
  gap: 1px;
  background: #cbd5da;
}

.home-page .policy {
  color: #172229;
  background: #edf1f3;
  border: 0;
  border-radius: 0;
}

.home-page .policy p {
  color: #59666e;
}

.home-page .footer {
  color: #d6dfe3;
  background: #18252c;
}

@media (prefers-reduced-motion: no-preference) {
  .home-page .sensor-scan {
    animation: scanPulse 2.8s cubic-bezier(.16, 1, .3, 1) infinite;
  }

  .home-page .compat-console.visible .compat-row {
    animation: statusIn .55s cubic-bezier(.16, 1, .3, 1) both;
  }

  .home-page .compat-console.visible .compat-row:nth-child(3) { animation-delay: .08s; }
  .home-page .compat-console.visible .compat-row:nth-child(4) { animation-delay: .16s; }
  .home-page .compat-console.visible .compat-row:nth-child(5) { animation-delay: .24s; }
}

@keyframes scanPulse {
  0%, 100% { opacity: .38; transform: translate(-50%, -50%) scale(.88); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.06); }
}

@keyframes statusIn {
  from { opacity: .25; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .motion,
  .motion.visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .home-page *,
  .home-page *::before,
  .home-page *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (prefers-color-scheme: dark) {
  .home-page {
    --ink: #e6ecef;
    --muted: #a7b2b8;
    --soft: #172127;
    --soft-2: #202c32;
    --line: #35434a;
    --blue: #4cb5ca;
    --blue-2: #71c3d3;
    --white: #11191e;
    --shadow: 0 26px 70px rgba(2, 8, 11, .42);
    color: #e6ecef;
    background: #11191e;
  }

  .home-page .header {
    background: rgba(17, 25, 30, .9);
    border-bottom-color: #35434a;
  }

  .home-page .brand span {
    color: #e9f0f2;
    background: #26353c;
  }

  .home-page .brand small,
  .home-page .nav,
  .home-page .lede,
  .home-page .section-title p,
  .home-page .compat-copy p,
  .home-page .setup-card p,
  .home-page .benefit p,
  .home-page .model-content p,
  .home-page .mini-model p,
  .home-page .faq-item p,
  .home-page .steps small {
    color: #a7b2b8;
  }

  .home-page .nav-cta,
  .home-page .button.primary {
    color: #081115;
    background: #5db9cc;
  }

  .home-page .nav-cta:hover,
  .home-page .button.primary:hover {
    background: #77c6d5;
  }

  .home-page .button.ghost,
  .home-page .menu-button {
    color: #e6ecef;
    background: transparent;
    border-color: #4c5d65;
  }

  .home-page .hero,
  .home-page .benefits,
  .home-page .visuals,
  .home-page .models,
  .home-page .setup,
  .home-page .compat,
  .home-page .faq {
    background: #11191e;
  }

  .home-page .kicker,
  .home-page .benefit span,
  .home-page .text-link,
  .home-page .nav a:hover {
    color: #71c3d3;
  }

  .product-stage,
  .compat-console {
    background: #202b31;
    border-color: #43525a;
  }

  .stage-meta,
  .connection-status,
  .console-head,
  .home-page .visual-card div {
    border-color: #43525a;
  }

  .stage-meta,
  .console-head,
  .trust-rail span,
  .connection-status b,
  .home-page .visual-card span {
    color: #96a4ab;
  }

  .stage-meta strong,
  .connection-status span,
  .console-head strong {
    color: #e6ecef;
  }

  .home-page .image-shell,
  .home-page .visual-card,
  .home-page .visual-card div,
  .compat-row,
  .home-page .model-main,
  .home-page .mini-model,
  .home-page .setup-card,
  .home-page .steps li,
  .home-page .faq-item {
    background: #172127;
    border-color: #35434a;
  }

  .home-page .image-shell::before {
    background:
      linear-gradient(90deg, transparent 49.9%, rgba(113, 195, 211, .16) 50%, transparent 50.1%),
      linear-gradient(transparent 49.9%, rgba(113, 195, 211, .16) 50%, transparent 50.1%);
  }

  .home-page .image-shell img,
  .home-page .visual-card img,
  .home-page .model-image img,
  .home-page .mini-model img {
    background: #f2f4f5;
  }

  .connection-status,
  .connection-status span + span,
  .trust-rail,
  .trust-rail div + div,
  .benefit-list,
  .home-page .benefit,
  .compat-row + .compat-row {
    border-color: #35434a;
  }

  .compat-row p {
    color: #a7b2b8;
  }

  .compat-row > b,
  .compat-row.supported .status-mark,
  .compat-row.required .status-mark {
    color: #71c3d3;
  }

  .compat-row.supported .status-mark {
    background: #71c3d3;
    box-shadow: inset 0 0 0 2px #172127;
  }

  .home-page .model-image,
  .home-page .policy {
    color: #e6ecef;
    background: #202b31;
  }

  .home-page .policy p {
    color: #a7b2b8;
  }

  .home-page .badge,
  .home-page .buy-notes span {
    color: #b8dfe7;
    background: #26383f;
  }

  .home-page .faq-item.open {
    background: #1c2930;
    border-color: #55727c;
  }
}

@media (max-width: 1180px) {
  .home-page .hero {
    grid-template-columns: minmax(320px, .88fr) minmax(460px, 1.12fr);
    gap: 46px;
  }

  .home-page .benefit {
    grid-template-columns: 120px 1fr;
  }

  .home-page .benefit p {
    grid-column: 2;
  }
}

@media (max-width: 1040px) {
  .home-page .hero,
  .home-page .benefits {
    grid-template-columns: 1fr;
  }

  .home-page .hero-product {
    min-height: 0;
  }

  .benefit-lead {
    position: static;
  }

  .trust-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trust-rail div:nth-child(3) {
    border-left: 0;
  }

  .trust-rail div:nth-child(n + 3) {
    border-top: 1px solid #cbd5da;
  }
}

@media (max-width: 640px) {
  .home-page .hero {
    padding-top: 52px;
  }

  .home-page .hero h1 {
    font-size: clamp(43px, 13vw, 58px);
  }

  .product-stage {
    grid-template-rows: auto minmax(300px, 1fr) auto;
  }

  .stage-meta {
    grid-template-columns: 1fr auto;
  }

  .stage-meta small {
    display: none;
  }

  .home-page .image-shell {
    min-height: 310px;
  }

  .sensor-scan {
    width: 50px;
    height: 50px;
  }

  .connection-status {
    grid-template-columns: 1fr;
  }

  .connection-status span + span {
    border-top: 1px solid #cbd5da;
    border-left: 0;
  }

  .trust-rail {
    grid-template-columns: 1fr 1fr;
    margin: 0 18px;
  }

  .trust-rail div {
    padding: 14px;
  }

  .home-page .benefit {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .home-page .benefit p {
    grid-column: auto;
  }

  .home-page .visual-card div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .compat-row {
    grid-template-columns: 14px minmax(0, 1fr);
  }

  .compat-row > b {
    grid-column: 2;
  }

  .console-head {
    display: grid;
  }
}

/* Compact Windows setup flow */
.home-page .setup {
  padding-top: clamp(64px, 7vw, 88px);
  padding-bottom: clamp(64px, 7vw, 88px);
}

.home-page .setup-card {
  grid-template-columns: 1fr;
  gap: 32px;
  padding: clamp(30px, 4vw, 46px);
  background: #edf1f3;
  box-shadow: none;
}

.home-page .setup-intro {
  max-width: 760px;
}

.home-page .setup-intro h2 {
  max-width: 720px;
  margin-bottom: 12px;
  font-size: clamp(36px, 4.2vw, 52px);
  line-height: 1.02;
}

.home-page .setup-intro p:last-child {
  max-width: 700px;
  margin-bottom: 0;
  font-size: 16px;
}

.home-page .steps {
  gap: 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.home-page .steps li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 5px 14px;
  min-height: 142px;
  align-content: start;
  padding: 20px;
  border: 1px solid #cbd5da;
  border-radius: 8px;
  background: #fbfcfd;
}

.home-page .steps li:first-child {
  border-color: rgba(8, 127, 156, .52);
  box-shadow: inset 0 3px 0 #087f9c;
}

.home-page .steps span {
  display: grid;
  grid-row: 1 / 3;
  width: 34px;
  height: 34px;
  margin: 0;
  place-items: center;
  color: #08667d;
  border: 1px solid #aebdc4;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 800;
}

.home-page .steps strong {
  margin: 2px 0 0;
  font-size: 16px;
  line-height: 1.25;
}

.home-page .steps small {
  color: #66737b;
  font-size: 14px;
  line-height: 1.45;
}

@media (prefers-color-scheme: dark) {
  .home-page .setup-card {
    background: #202b31;
    border-color: #43525a;
  }

  .home-page .steps li {
    background: #172127;
    border-color: #43525a;
  }

  .home-page .steps li:first-child {
    border-color: rgba(113, 195, 211, .58);
    box-shadow: inset 0 3px 0 #71c3d3;
  }

  .home-page .steps span {
    color: #9dd6e1;
    border-color: #53646c;
  }

  .home-page .steps small {
    color: #a7b2b8;
  }
}

@media (max-width: 1040px) {
  .home-page .steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .home-page .setup {
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .home-page .setup-card {
    gap: 24px;
    padding: 24px;
  }

  .home-page .steps {
    grid-template-columns: 1fr;
  }

  .home-page .steps li {
    min-height: 0;
  }
}

/* FP200 product page */
.product-page {
  background: #f6f8f9;
}

.product-page .product-hero {
  grid-template-columns: minmax(520px, 1.08fr) minmax(390px, .82fr);
  gap: clamp(46px, 6vw, 92px);
  min-height: calc(100dvh - 72px);
  padding: clamp(52px, 6vw, 82px) clamp(22px, 5vw, 76px);
  background: #f6f8f9;
}

.product-page .product-gallery {
  width: 100%;
  min-width: 0;
}

.product-page .product-buy {
  width: 100%;
  min-width: 0;
}

.product-page .gallery-main {
  min-height: 590px;
  border-color: #cbd5da;
  background: #fbfcfd;
  box-shadow: 0 26px 70px rgba(24, 39, 48, .1);
}

.product-page .gallery-main img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  transition: opacity .2s ease, transform .35s cubic-bezier(.16, 1, .3, 1);
}

.product-page .gallery-main img.switching {
  opacity: .3;
  transform: scale(.985);
}

.product-page .gallery-thumbs {
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.product-page .gallery-thumbs.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gallery-thumb {
  position: relative;
  min-width: 0;
  aspect-ratio: 1;
  padding: 0;
  overflow: hidden;
  border: 1px solid #cbd5da;
  border-radius: 8px;
  background: #fbfcfd;
  cursor: pointer;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.gallery-thumb:hover {
  border-color: #7b9fab;
  transform: translateY(-2px);
}

.gallery-thumb:active {
  transform: translateY(1px) scale(.985);
}

.gallery-thumb:focus-visible {
  outline: 3px solid rgba(8, 127, 156, .35);
  outline-offset: 3px;
}

.gallery-thumb.active {
  border-color: #087f9c;
  box-shadow: inset 0 0 0 2px #087f9c;
}

.product-page .gallery-thumbs .gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 0;
}

.product-page .gallery-thumb {
  min-width: 0;
}

.product-page .product-buy {
  align-self: center;
  justify-content: center;
}

.product-page .product-buy h1 {
  max-width: 680px;
  margin-bottom: 20px;
  font-size: clamp(46px, 5.2vw, 74px);
  line-height: .98;
  font-weight: 760;
}

.product-page .product-buy .lede {
  max-width: 610px;
  font-size: 18px;
}

.product-page .product-price {
  margin: 24px 0 20px;
  font-size: 44px;
  line-height: 1;
}

.buy-checks {
  border-top: 1px solid #cbd5da;
  border-bottom: 1px solid #cbd5da;
}

.buy-checks div {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 13px 0;
}

.buy-checks div + div {
  border-top: 1px solid #dce3e6;
}

.buy-checks span {
  color: #68757d;
  font-size: 12px;
  font-weight: 700;
}

.buy-checks strong {
  font-size: 14px;
  line-height: 1.4;
}

.product-actions {
  margin-top: 24px;
}

.purchase-reminder {
  margin: 0;
  color: #66737b;
  font-size: 13px;
}

.product-assurance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 clamp(22px, 5vw, 76px);
  border-top: 1px solid #cbd5da;
  border-bottom: 1px solid #cbd5da;
}

.product-assurance div {
  display: grid;
  gap: 5px;
  min-height: 94px;
  align-content: center;
  padding: 18px 24px;
}

.product-assurance div + div {
  border-left: 1px solid #cbd5da;
}

.product-assurance span {
  color: #68757d;
  font-size: 11px;
  font-weight: 720;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.product-assurance strong {
  font-size: 15px;
}

.product-section-copy {
  max-width: 780px;
  margin-bottom: 38px;
}

.product-section-copy p:last-child {
  max-width: 680px;
  margin-bottom: 0;
  color: #5d6972;
  font-size: 17px;
}

.product-compat {
  background: #f6f8f9;
}

.product-compat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #cbd5da;
  border-radius: 8px;
  overflow: hidden;
}

.compat-fact {
  min-height: 190px;
  padding: clamp(24px, 3vw, 36px);
  background: #fbfcfd;
}

.compat-fact:nth-child(odd) {
  border-right: 1px solid #cbd5da;
}

.compat-fact:nth-child(-n + 2) {
  border-bottom: 1px solid #cbd5da;
}

.compat-fact span {
  display: inline-flex;
  margin-bottom: 24px;
  color: #087f9c;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.compat-fact.unsupported span {
  color: #68757d;
}

.compat-fact strong {
  display: block;
  margin-bottom: 9px;
  font-size: 22px;
  line-height: 1.2;
}

.compat-fact p {
  max-width: 480px;
  margin: 0;
  color: #66737b;
  font-size: 15px;
}

.product-use {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
  gap: clamp(46px, 7vw, 104px);
  align-items: center;
  background: #edf1f3;
}

.use-image {
  overflow: hidden;
  min-height: 500px;
  border: 1px solid #cbd5da;
  border-radius: 8px;
  background: #fbfcfd;
}

.use-image img {
  width: 100%;
  height: 100%;
  min-height: 500px;
  object-fit: cover;
}

.desktop-reader-image img {
  padding: clamp(18px, 3vw, 34px);
  object-fit: contain;
}

.use-copy > p:not(.kicker) {
  max-width: 580px;
  color: #5d6972;
  font-size: 17px;
}

.product-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 30px 0 0;
  border: 1px solid #cbd5da;
  background: #cbd5da;
}

.product-specs div {
  min-height: 102px;
  padding: 20px;
  background: #fbfcfd;
}

.product-specs dt {
  margin-bottom: 8px;
  color: #68757d;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.product-specs dd {
  margin: 0;
  font-size: 17px;
  font-weight: 760;
}

.product-setup {
  background: #f6f8f9;
}

.product-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-steps li {
  min-height: 210px;
  padding: 24px;
  border: 1px solid #cbd5da;
  border-radius: 8px;
  background: #fbfcfd;
}

.product-steps li:first-child {
  border-color: rgba(8, 127, 156, .52);
  box-shadow: inset 0 3px 0 #087f9c;
}

.product-steps span {
  display: block;
  margin-bottom: 46px;
  color: #087f9c;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.product-steps strong {
  display: block;
  margin-bottom: 8px;
  font-size: 18px;
}

.product-steps small {
  color: #66737b;
  font-size: 14px;
  line-height: 1.45;
}

.product-boundaries {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding-top: 0;
  padding-bottom: 0;
  background: #f6f8f9;
}

.boundary-block {
  min-height: 430px;
  padding: clamp(44px, 6vw, 86px) clamp(30px, 5vw, 72px);
  border-top: 1px solid #cbd5da;
  border-bottom: 1px solid #cbd5da;
}

.boundary-block + .boundary-block {
  border-left: 1px solid #cbd5da;
}

.boundary-block > span {
  display: block;
  margin-bottom: 34px;
  color: #087f9c;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.boundary-block + .boundary-block > span {
  color: #68757d;
}

.boundary-block h2 {
  max-width: 620px;
  font-size: clamp(36px, 4.1vw, 56px);
}

.boundary-block p {
  max-width: 560px;
  color: #5d6972;
  font-size: 17px;
}

.purchase-panel {
  display: grid;
  grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr);
  gap: clamp(44px, 7vw, 110px);
  align-items: start;
  background: #edf1f3;
}

.purchase-heading .product-price {
  margin-bottom: 0;
}

.purchase-policies {
  border-top: 1px solid #cbd5da;
}

.purchase-policies div {
  display: grid;
  grid-template-columns: minmax(180px, .45fr) minmax(0, 1fr);
  gap: 28px;
  padding: 22px 0;
  border-bottom: 1px solid #cbd5da;
}

.purchase-policies strong {
  font-size: 16px;
}

.purchase-policies p {
  margin: 0;
  color: #5d6972;
  font-size: 14px;
}

.purchase-button {
  grid-column: 2;
  justify-self: start;
  min-width: 220px;
}

.product-faq {
  background: #f6f8f9;
}

.product-page .faq-list {
  max-width: 1000px;
}

@media (prefers-reduced-motion: no-preference) {
  .gallery-main img {
    will-change: opacity, transform;
  }
}

@media (prefers-color-scheme: dark) {
  .product-page,
  .product-page .product-hero,
  .product-compat,
  .product-setup,
  .product-boundaries,
  .product-faq {
    background: #11191e;
  }

  .product-page .gallery-main,
  .gallery-thumb,
  .compat-fact,
  .product-specs div,
  .product-steps li {
    background: #172127;
    border-color: #43525a;
  }

  .product-page .gallery-main img,
  .gallery-thumb img {
    background: #f2f4f5;
  }

  .gallery-thumb.active {
    border-color: #71c3d3;
    box-shadow: inset 0 0 0 2px #71c3d3;
  }

  .buy-checks,
  .buy-checks div + div,
  .product-assurance,
  .product-assurance div + div,
  .product-compat-grid,
  .compat-fact:nth-child(odd),
  .compat-fact:nth-child(-n + 2),
  .product-specs,
  .product-steps li,
  .boundary-block,
  .boundary-block + .boundary-block,
  .purchase-policies,
  .purchase-policies div {
    border-color: #43525a;
  }

  .buy-checks span,
  .purchase-reminder,
  .product-assurance span,
  .product-section-copy p:last-child,
  .compat-fact p,
  .use-copy > p:not(.kicker),
  .product-specs dt,
  .product-steps small,
  .boundary-block p,
  .purchase-policies p {
    color: #a7b2b8;
  }

  .product-assurance strong,
  .compat-fact strong,
  .product-specs dd,
  .product-steps strong,
  .purchase-policies strong {
    color: #e6ecef;
  }

  .product-use,
  .purchase-panel {
    background: #202b31;
  }

  .use-image {
    border-color: #43525a;
    background: #172127;
  }

  .product-specs {
    background: #43525a;
  }

  .product-steps li:first-child {
    border-color: rgba(113, 195, 211, .58);
    box-shadow: inset 0 3px 0 #71c3d3;
  }

  .compat-fact span,
  .product-steps span,
  .boundary-block > span {
    color: #71c3d3;
  }

  .compat-fact.unsupported span,
  .boundary-block + .boundary-block > span {
    color: #9aa7ad;
  }
}

@media (max-width: 1120px) {
  .product-page .product-hero {
    grid-template-columns: minmax(450px, 1fr) minmax(350px, .9fr);
    gap: 42px;
  }

  .product-page .gallery-main {
    min-height: 510px;
  }

  .product-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1040px) {
  .product-page .product-hero,
  .product-use,
  .purchase-panel {
    grid-template-columns: 1fr;
  }

  .product-page .product-hero {
    min-height: auto;
  }

  .product-page .product-buy {
    max-width: 760px;
  }

  .purchase-button {
    grid-column: 1;
  }
}

@media (max-width: 760px) {
  .product-assurance,
  .product-compat-grid,
  .product-boundaries {
    grid-template-columns: 1fr;
  }

  .product-assurance div + div {
    border-top: 1px solid #cbd5da;
    border-left: 0;
  }

  .compat-fact:nth-child(odd) {
    border-right: 0;
  }

  .compat-fact:nth-child(-n + 3) {
    border-bottom: 1px solid #cbd5da;
  }

  .boundary-block {
    min-height: 0;
  }

  .boundary-block + .boundary-block {
    border-top: 0;
    border-left: 0;
  }

  .purchase-policies div {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 640px) {
  .product-page .product-hero {
    padding: 42px 18px 58px;
  }

  .product-page .gallery-main {
    min-height: 340px;
  }

  .product-page .product-buy h1 {
    max-width: 100%;
    font-size: 44px;
    overflow-wrap: break-word;
  }

  .product-page .gallery-thumbs {
    gap: 7px;
  }

  .buy-checks div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .product-assurance {
    margin: 0 18px;
  }

  .product-compat-grid,
  .product-steps,
  .product-specs {
    grid-template-columns: 1fr;
  }

  .compat-fact,
  .product-steps li {
    min-height: 0;
  }

  .product-steps span {
    margin-bottom: 26px;
  }

  .use-image,
  .use-image img {
    min-height: 300px;
  }

  .purchase-button {
    width: 100%;
  }
}

/* Compatibility page */
.compatibility-page {
  background: #f6f8f9;
}

.compatibility-hero {
  display: grid;
  grid-template-columns: minmax(360px, .82fr) minmax(520px, 1.18fr);
  gap: clamp(48px, 7vw, 108px);
  align-items: center;
  min-height: calc(100dvh - 72px);
  padding: clamp(56px, 7vw, 92px) clamp(22px, 5vw, 76px);
}

.compatibility-hero-copy h1 {
  max-width: 760px;
  margin-bottom: 22px;
  font-size: clamp(48px, 5.7vw, 82px);
  line-height: .98;
  font-weight: 760;
}

.compatibility-hero-copy .lede {
  max-width: 620px;
  margin-bottom: 30px;
  font-size: 19px;
}

.compatibility-hero-visual {
  overflow: hidden;
  border: 1px solid #cbd5da;
  border-radius: 8px;
  background: #edf1f3;
  box-shadow: 0 26px 70px rgba(24, 39, 48, .1);
}

.compatibility-hero-visual img {
  width: 100%;
  aspect-ratio: 1.35;
  object-fit: cover;
  background: #fbfcfd;
}

.compatibility-hero-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #cbd5da;
}

.compatibility-hero-facts span {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  font-size: 13px;
  font-weight: 740;
}

.compatibility-hero-facts span + span {
  border-left: 1px solid #cbd5da;
}

.compatibility-hero-facts b {
  color: #68757d;
  font-size: 10px;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.checker-section,
.support-section,
.model-fit,
.compatibility-faq {
  background: #f6f8f9;
}

.checker-heading,
.support-heading,
.model-fit-heading {
  max-width: 790px;
  margin-bottom: 38px;
}

.checker-heading > p:last-child {
  max-width: 700px;
  color: #5d6972;
  font-size: 17px;
}

.compatibility-checker {
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(330px, .68fr);
  border: 1px solid #cbd5da;
  border-radius: 8px;
  background: #fbfcfd;
  overflow: hidden;
}

.checker-form {
  display: grid;
  gap: 30px;
  padding: clamp(28px, 4vw, 46px);
}

.checker-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.checker-form legend {
  margin-bottom: 13px;
  color: #1c292f;
  font-size: 15px;
  font-weight: 800;
}

.choice-grid {
  display: grid;
  gap: 10px;
}

.choice-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.choice-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.choice-grid label {
  position: relative;
  min-width: 0;
  cursor: pointer;
}

.choice-grid input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.choice-grid label > span {
  display: grid;
  gap: 4px;
  min-height: 78px;
  align-content: center;
  padding: 14px 16px;
  border: 1px solid #cbd5da;
  border-radius: 8px;
  background: #f6f8f9;
  font-size: 14px;
  font-weight: 800;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.choice-grid label:hover > span {
  border-color: #89a9b4;
  transform: translateY(-1px);
}

.choice-grid input:checked + span {
  border-color: #087f9c;
  background: #eaf4f6;
  box-shadow: inset 0 0 0 1px #087f9c;
}

.choice-grid input:focus-visible + span {
  outline: 3px solid rgba(8, 127, 156, .35);
  outline-offset: 3px;
}

.choice-grid small {
  color: #68757d;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}

.checker-button {
  justify-self: start;
  min-width: 210px;
}

.checker-result {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding: clamp(30px, 4vw, 48px);
  color: #172229;
  border-left: 1px solid #cbd5da;
  background: #edf5f4;
}

.checker-result.unconfirmed {
  background: #f3f1ea;
}

.checker-result.unsupported {
  background: #f3eff0;
}

.result-state {
  display: block;
  margin-bottom: 24px;
  color: #087f9c;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.checker-result.unconfirmed .result-state,
.checker-result.unsupported .result-state {
  color: #6c5c55;
}

.checker-result h3 {
  margin-bottom: 12px;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.05;
}

.checker-result p {
  margin-bottom: 24px;
  color: #536169;
  font-size: 15px;
}

.checker-result a {
  align-self: flex-start;
  color: #08667d;
  font-weight: 800;
}

.support-matrix {
  border-top: 1px solid #cbd5da;
}

.support-row {
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(130px, .4fr) minmax(0, 1.3fr);
  gap: 28px;
  align-items: center;
  min-height: 88px;
  padding: 18px 0;
  border-bottom: 1px solid #cbd5da;
}

.support-row p {
  margin: 0;
  color: #5d6972;
  font-size: 14px;
}

.support-head {
  min-height: 52px;
  color: #68757d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.support-status {
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.support-status.yes,
.support-status.required {
  color: #087f9c;
}

.support-status.no {
  color: #68757d;
}

.model-compare {
  border-top: 1px solid #cbd5da;
}

.model-compare article {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  min-height: 170px;
  padding: 20px 0;
  border-bottom: 1px solid #cbd5da;
}

.model-compare img {
  width: 150px;
  height: 130px;
  object-fit: contain;
  border: 1px solid #d5dde2;
  border-radius: 8px;
  background: #fbfcfd;
}

.model-compare article > div {
  display: grid;
  gap: 5px;
}

.model-compare span {
  color: #087f9c;
  font-size: 12px;
  font-weight: 850;
}

.model-compare strong {
  font-size: 21px;
}

.model-compare p {
  margin: 0;
  color: #5d6972;
  font-size: 14px;
}

.model-compare a {
  color: #08667d;
  font-size: 14px;
  font-weight: 800;
}

.driver-section {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  gap: clamp(46px, 7vw, 108px);
  background: #edf1f3;
}

.driver-copy > p:last-child {
  max-width: 580px;
  color: #5d6972;
  font-size: 17px;
}

.driver-actions {
  border-top: 1px solid #cbd5da;
}

.driver-actions div {
  display: grid;
  grid-template-columns: minmax(160px, .45fr) minmax(0, 1fr);
  gap: 28px;
  padding: 24px 0;
  border-bottom: 1px solid #cbd5da;
}

.driver-actions p {
  margin: 0;
  color: #5d6972;
  font-size: 14px;
}

@media (prefers-color-scheme: dark) {
  .compatibility-page,
  .checker-section,
  .support-section,
  .model-fit,
  .compatibility-faq {
    background: #11191e;
  }

  .compatibility-hero-visual,
  .compatibility-checker,
  .choice-grid label > span,
  .model-compare img {
    border-color: #43525a;
    background: #172127;
  }

  .compatibility-hero-visual img,
  .model-compare img {
    background: #f2f4f5;
  }

  .compatibility-hero-facts,
  .compatibility-hero-facts span + span,
  .checker-result,
  .support-matrix,
  .support-row,
  .model-compare,
  .model-compare article,
  .driver-actions,
  .driver-actions div {
    border-color: #43525a;
  }

  .checker-heading > p:last-child,
  .choice-grid small,
  .support-row p,
  .model-compare p,
  .driver-copy > p:last-child,
  .driver-actions p,
  .compatibility-hero-facts b {
    color: #a7b2b8;
  }

  .checker-form legend,
  .model-compare strong {
    color: #e6ecef;
  }

  .choice-grid input:checked + span {
    border-color: #71c3d3;
    background: #20343b;
    box-shadow: inset 0 0 0 1px #71c3d3;
  }

  .checker-result,
  .checker-result.unconfirmed,
  .checker-result.unsupported {
    color: #e6ecef;
    background: #202b31;
  }

  .checker-result p {
    color: #a7b2b8;
  }

  .checker-result a,
  .result-state,
  .support-status.yes,
  .support-status.required,
  .model-compare span,
  .model-compare a {
    color: #71c3d3;
  }

  .driver-section {
    background: #202b31;
  }
}

@media (max-width: 1040px) {
  .compatibility-hero,
  .compatibility-checker,
  .driver-section {
    grid-template-columns: 1fr;
  }

  .compatibility-hero {
    min-height: auto;
  }

  .checker-result {
    min-height: 340px;
    border-top: 1px solid #cbd5da;
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .choice-grid.three,
  .choice-grid.two {
    grid-template-columns: 1fr;
  }

  .support-head {
    display: none;
  }

  .support-row {
    grid-template-columns: 1fr auto;
    gap: 8px 20px;
    align-items: start;
    padding: 22px 0;
  }

  .support-row p {
    grid-column: 1 / -1;
  }

  .model-compare article {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 18px;
  }

  .model-compare img {
    width: 110px;
    height: 110px;
  }

  .model-compare article > a {
    grid-column: 2;
  }
}

@media (max-width: 640px) {
  .compatibility-hero {
    grid-template-columns: 1fr;
    padding: 48px 18px 58px;
  }

  .compatibility-hero-copy h1 {
    font-size: 44px;
  }

  .compatibility-hero-facts {
    grid-template-columns: 1fr;
  }

  .compatibility-hero-facts span + span {
    border-top: 1px solid #cbd5da;
    border-left: 0;
  }

  .checker-form,
  .checker-result {
    padding: 24px;
  }

  .checker-button {
    width: 100%;
  }

  .model-compare article {
    grid-template-columns: 1fr;
  }

  .model-compare img {
    width: 100%;
    height: 210px;
  }

  .model-compare article > a {
    grid-column: 1;
  }

  .driver-actions div {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

.fixed-system-choice {
  display: grid;
  gap: 4px;
  max-width: 360px;
  min-height: 78px;
  align-content: center;
  padding: 14px 16px;
  color: #172229;
  border: 1px solid #087f9c;
  border-radius: 8px;
  background: #eaf4f6;
  box-shadow: inset 0 0 0 1px #087f9c;
}

.fixed-system-choice strong {
  font-size: 14px;
}

.fixed-system-choice small {
  color: #68757d;
  font-size: 12px;
  font-weight: 600;
}

@media (prefers-color-scheme: dark) {
  .fixed-system-choice {
    color: #e6ecef;
    border-color: #71c3d3;
    background: #20343b;
    box-shadow: inset 0 0 0 1px #71c3d3;
  }

  .fixed-system-choice small {
    color: #a7b2b8;
  }
}

/* Unified Windows Hello setup guide */
.setup-page {
  --setup-ink: #172027;
  --setup-muted: #64727b;
  --setup-line: #cbd5da;
  --setup-surface: #f6f8f9;
  --setup-panel: #fbfcfd;
  --setup-accent: #087f9c;
  color: var(--setup-ink);
  background: var(--setup-surface);
}

.setup-page .header {
  position: sticky;
  top: 0;
}

.setup-page .nav a[aria-current="page"] {
  color: var(--setup-accent);
}

.setup-hero {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(480px, 1.05fr);
  gap: clamp(48px, 7vw, 112px);
  align-items: center;
  min-height: clamp(720px, calc(100dvh - 75px), 900px);
  padding: clamp(64px, 8vw, 108px) clamp(22px, 5vw, 76px);
  background: var(--setup-surface);
  overflow: hidden;
}

.setup-hero-copy,
.setup-hero-visual {
  min-width: 0;
}

.setup-hero-copy h1 {
  max-width: 720px;
  margin-bottom: 22px;
  font-size: clamp(52px, 4.8vw, 66px);
  line-height: .96;
}

.setup-hero-copy .lede {
  max-width: 590px;
  color: var(--setup-muted);
}

.setup-hero-visual {
  display: grid;
  grid-template-rows: minmax(440px, 1fr) auto;
  border: 1px solid var(--setup-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(23, 32, 39, .1);
  overflow: hidden;
}

.setup-device-frame {
  display: grid;
  min-height: 0;
  place-items: center;
  padding: clamp(28px, 5vw, 68px);
  background: #fff;
}

.setup-device-frame img {
  width: min(480px, 92%);
  max-height: 440px;
  object-fit: contain;
}

.setup-path {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--setup-line);
  background: #eef3f5;
}

.setup-path span,
.setup-path b,
.setup-path strong {
  min-width: 0;
  padding: 18px 14px;
  border-left: 1px solid var(--setup-line);
  font-size: 12px;
  line-height: 1.3;
}

.setup-path span {
  border-left: 0;
  color: var(--setup-muted);
}

.setup-path strong {
  color: #066c85;
}

.setup-prerequisites {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 clamp(22px, 5vw, 76px);
  border: 1px solid var(--setup-line);
  background: var(--setup-panel);
}

.setup-prerequisites div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 14px;
  align-content: center;
  min-height: 112px;
  padding: 20px;
  border-left: 1px solid var(--setup-line);
}

.setup-prerequisites div:first-child {
  border-left: 0;
}

.setup-prerequisites span {
  grid-row: 1 / 3;
  color: var(--setup-accent);
  font-size: 12px;
  font-weight: 900;
}

.setup-prerequisites strong {
  font-size: 15px;
}

.setup-prerequisites small {
  color: var(--setup-muted);
  font-size: 12px;
}

.setup-section-heading {
  display: grid;
  max-width: 850px;
  gap: 12px;
  margin-bottom: clamp(34px, 5vw, 64px);
}

.setup-section-heading h2,
.driver-check-heading h2,
.setup-test-copy h2,
.setup-boundaries-copy h2,
.setup-next-copy h2,
.setup-faq .section-title h2 {
  margin: 0;
  font-size: clamp(36px, 4.4vw, 60px);
  line-height: 1;
}

.setup-section-heading p,
.driver-check-heading > p:last-child,
.setup-test-copy p,
.setup-boundaries-copy p,
.setup-next-copy p {
  max-width: 700px;
  margin: 0;
  color: var(--setup-muted);
  font-size: 17px;
}

.setup-models {
  padding-top: clamp(84px, 9vw, 132px);
  padding-bottom: clamp(84px, 9vw, 132px);
}

.setup-model-tool {
  border-top: 1px solid var(--setup-line);
  border-bottom: 1px solid var(--setup-line);
}

.setup-model-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--setup-line);
}

.setup-model-tab {
  min-height: 58px;
  padding: 0 18px;
  color: #52616a;
  border: 0;
  border-left: 1px solid var(--setup-line);
  background: transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
}

.setup-model-tab:first-child {
  border-left: 0;
}

.setup-model-tab:hover,
.setup-model-tab:focus-visible,
.setup-model-tab.active {
  color: var(--setup-ink);
  background: #e9f2f4;
}

.setup-model-tab.active {
  box-shadow: inset 0 -3px 0 var(--setup-accent);
}

.setup-model-tab:focus-visible {
  outline: 3px solid rgba(8, 127, 156, .28);
  outline-offset: -3px;
}

.setup-model-panel {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  min-height: 420px;
}

.setup-model-panel[hidden] {
  display: none;
}

.setup-model-panel > img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  padding: clamp(28px, 5vw, 64px);
  object-fit: contain;
  border-right: 1px solid var(--setup-line);
  background: #fff;
}

.setup-model-panel > div {
  display: grid;
  align-content: center;
  justify-items: start;
  padding: clamp(36px, 6vw, 82px);
}

.setup-model-panel span,
.lock-button-note span,
.setup-help-grid article > span,
.official-setup-link span {
  color: var(--setup-accent);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.setup-model-panel h3 {
  max-width: 650px;
  margin: 12px 0 14px;
  font-size: clamp(30px, 3.2vw, 46px);
}

.setup-model-panel p {
  max-width: 610px;
  margin-bottom: 22px;
  color: var(--setup-muted);
  font-size: 16px;
}

.setup-model-panel a,
.official-setup-link strong {
  color: #066c85;
  font-weight: 850;
}

.driver-check {
  display: grid;
  grid-template-columns: minmax(300px, .76fr) minmax(0, 1.24fr);
  gap: clamp(48px, 7vw, 110px);
  background: #e9eef0;
}

.driver-check-heading {
  align-self: start;
}

.driver-check-flow {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #b9c6cc;
}

.driver-check-flow li {
  display: grid;
  grid-template-columns: 120px minmax(180px, .8fr) minmax(220px, 1.2fr);
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid #b9c6cc;
}

.driver-check-flow span {
  color: var(--setup-accent);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.driver-check-flow strong {
  font-size: 17px;
}

.driver-check-flow p {
  margin: 0;
  color: var(--setup-muted);
  font-size: 14px;
}

.windows-setup {
  background: var(--setup-panel);
}

.settings-route {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr auto;
  align-items: center;
  gap: 12px;
  margin-bottom: 46px;
  padding: 18px 20px;
  border: 1px solid var(--setup-line);
  border-radius: 8px;
  background: #eef3f5;
}

.settings-route span,
.settings-route strong {
  font-size: 13px;
}

.settings-route strong {
  color: #066c85;
}

.settings-route i {
  height: 1px;
  background: #9fb0b8;
}

.windows-setup-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--setup-line);
  list-style: none;
}

.windows-setup-steps li {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 20px;
  min-height: 190px;
  padding: 30px;
  border-right: 1px solid var(--setup-line);
  border-bottom: 1px solid var(--setup-line);
}

.windows-setup-steps li:nth-child(2n) {
  border-right: 0;
}

.windows-setup-steps li > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #066c85;
  border: 1px solid #9eb1ba;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 900;
}

.windows-setup-steps strong {
  display: block;
  margin: 6px 0 9px;
  font-size: 18px;
}

.windows-setup-steps p {
  max-width: 510px;
  margin: 0;
  color: var(--setup-muted);
  font-size: 15px;
}

.official-setup-link {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  margin-top: 34px;
  padding: 22px 0;
  border-top: 1px solid var(--setup-line);
  border-bottom: 1px solid var(--setup-line);
}

.setup-test {
  display: grid;
  grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
  gap: clamp(44px, 7vw, 104px);
  background: var(--setup-surface);
}

.setup-test-sequence {
  border-top: 1px solid var(--setup-line);
}

.setup-test-sequence div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid var(--setup-line);
}

.setup-test-sequence span {
  color: var(--setup-muted);
  font-size: 13px;
}

.setup-test-sequence strong {
  font-size: 16px;
}

.lock-button-note {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(240px, .6fr) minmax(0, 1.4fr);
  min-height: 320px;
  margin-top: 8px;
  border: 1px solid var(--setup-line);
  border-radius: 8px;
  background: var(--setup-panel);
  overflow: hidden;
}

.lock-button-note img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  padding: 28px;
  object-fit: contain;
  border-right: 1px solid var(--setup-line);
  background: #fff;
}

.lock-button-note > div {
  display: grid;
  align-content: center;
  padding: clamp(32px, 5vw, 68px);
}

.lock-button-note strong {
  margin: 12px 0 10px;
  font-size: clamp(28px, 3vw, 42px);
}

.lock-button-note p {
  max-width: 650px;
  margin: 0;
  color: var(--setup-muted);
}

.setup-help {
  background: var(--setup-panel);
}

.setup-help-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--setup-line);
}

.setup-help-grid article {
  min-height: 250px;
  padding: 30px;
  border-right: 1px solid var(--setup-line);
  border-bottom: 1px solid var(--setup-line);
}

.setup-help-grid article:last-child {
  border-right: 0;
}

.setup-help-grid h3 {
  margin: 18px 0 12px;
  font-size: 23px;
}

.setup-help-grid p {
  margin: 0;
  color: var(--setup-muted);
  font-size: 15px;
}

.setup-boundaries {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: clamp(48px, 7vw, 108px);
  background: #e9eef0;
}

.setup-boundary-list {
  border-top: 1px solid #b9c6cc;
}

.setup-boundary-list div {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 26px;
  padding: 23px 0;
  border-bottom: 1px solid #b9c6cc;
}

.setup-boundary-list strong {
  font-size: 14px;
}

.setup-boundary-list span {
  color: var(--setup-muted);
  font-size: 14px;
}

.setup-faq {
  background: var(--setup-panel);
}

.setup-faq .section-title {
  max-width: 860px;
}

.setup-page .faq-list {
  max-width: 1040px;
}

.setup-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: end;
  background: #e0eaed;
}

.setup-next-copy {
  max-width: 850px;
}

.setup-next-actions {
  display: flex;
  gap: 12px;
}

@media (prefers-color-scheme: dark) {
  .setup-page,
  .setup-hero,
  .setup-models,
  .setup-test {
    --setup-ink: #e7edef;
    --setup-muted: #a7b2b8;
    --setup-line: #43525a;
    --setup-surface: #11191e;
    --setup-panel: #172127;
    --setup-accent: #71c3d3;
    background: var(--setup-surface);
  }

  .setup-hero-visual,
  .setup-device-frame,
  .setup-model-panel > img,
  .lock-button-note img {
    background: #f1f4f5;
  }

  .setup-path,
  .setup-prerequisites,
  .setup-model-tab:hover,
  .setup-model-tab:focus-visible,
  .setup-model-tab.active,
  .settings-route {
    background: #203038;
  }

  .setup-model-tab,
  .setup-model-tab:hover,
  .setup-model-tab:focus-visible,
  .setup-model-tab.active {
    color: #e7edef;
  }

  .driver-check,
  .setup-boundaries,
  .setup-next {
    background: #202b31;
  }

  .driver-check-flow,
  .setup-boundary-list {
    border-top-color: #53636b;
  }

  .driver-check-flow li,
  .setup-boundary-list div {
    border-bottom-color: #53636b;
  }

  .setup-model-panel a,
  .official-setup-link strong,
  .setup-path strong,
  .settings-route strong,
  .windows-setup-steps li > span {
    color: #8fd0dc;
  }

  .windows-setup,
  .setup-help,
  .setup-faq,
  .lock-button-note {
    background: var(--setup-panel);
  }
}

@media (max-width: 1100px) {
  .setup-hero {
    grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr);
    gap: 44px;
  }

  .driver-check-flow li {
    grid-template-columns: 100px minmax(0, 1fr);
  }

  .driver-check-flow p {
    grid-column: 2;
  }
}

@media (max-width: 900px) {
  .setup-hero,
  .driver-check,
  .setup-test,
  .setup-boundaries,
  .setup-next {
    grid-template-columns: 1fr;
  }

  .setup-hero {
    min-height: auto;
  }

  .setup-prerequisites {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .setup-prerequisites div:nth-child(3) {
    border-left: 0;
  }

  .setup-prerequisites div:nth-child(n + 3) {
    border-top: 1px solid var(--setup-line);
  }

  .setup-model-panel {
    grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
  }

  .setup-help-grid {
    grid-template-columns: 1fr;
  }

  .setup-help-grid article {
    min-height: 0;
    border-right: 0;
  }

  .setup-next-actions {
    justify-self: start;
  }
}

@media (max-width: 680px) {
  .setup-hero {
    gap: 34px;
    padding: 52px 18px 62px;
  }

  .setup-hero-copy h1 {
    max-width: 100%;
    font-size: 46px;
    overflow-wrap: break-word;
  }

  .setup-hero-visual {
    grid-template-rows: minmax(300px, 1fr) auto;
  }

  .setup-device-frame {
    padding: 24px;
  }

  .setup-path {
    grid-template-columns: 1fr 1fr;
  }

  .setup-path span,
  .setup-path b,
  .setup-path strong {
    border-top: 1px solid var(--setup-line);
  }

  .setup-path span,
  .setup-path b:nth-child(2) {
    border-top: 0;
  }

  .setup-path b:nth-child(3) {
    border-left: 0;
  }

  .setup-prerequisites {
    grid-template-columns: 1fr;
    margin: 0 18px;
  }

  .setup-prerequisites div,
  .setup-prerequisites div:nth-child(3) {
    border-top: 1px solid var(--setup-line);
    border-left: 0;
  }

  .setup-prerequisites div:first-child {
    border-top: 0;
  }

  .setup-page .section {
    padding-right: 18px;
    padding-left: 18px;
  }

  .setup-model-tabs {
    grid-template-columns: 1fr;
  }

  .setup-model-tab,
  .setup-model-tab:first-child {
    border-top: 1px solid var(--setup-line);
    border-left: 0;
  }

  .setup-model-tab:first-child {
    border-top: 0;
  }

  .setup-model-tab.active {
    box-shadow: inset 3px 0 0 var(--setup-accent);
  }

  .setup-model-panel {
    grid-template-columns: 1fr;
  }

  .setup-model-panel > img {
    min-height: 300px;
    max-height: 360px;
    border-right: 0;
    border-bottom: 1px solid var(--setup-line);
  }

  .setup-model-panel > div {
    padding: 30px 22px 38px;
  }

  .driver-check-flow li {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .driver-check-flow p {
    grid-column: 1;
  }

  .settings-route {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .settings-route i {
    width: 1px;
    height: 18px;
    margin-left: 10px;
  }

  .windows-setup-steps {
    grid-template-columns: 1fr;
  }

  .windows-setup-steps li,
  .windows-setup-steps li:nth-child(2n) {
    min-height: 0;
    padding: 26px 0;
    border-right: 0;
  }

  .official-setup-link,
  .setup-test-sequence div,
  .setup-boundary-list div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .lock-button-note {
    grid-template-columns: 1fr;
  }

  .lock-button-note img {
    min-height: 280px;
    max-height: 340px;
    border-right: 0;
    border-bottom: 1px solid var(--setup-line);
  }

  .setup-next-actions {
    display: grid;
    width: 100%;
  }
}

/* Unified troubleshooting guide */
.troubleshooting-page {
  --trouble-ink: #172027;
  --trouble-muted: #64727b;
  --trouble-line: #cbd5da;
  --trouble-surface: #f6f8f9;
  --trouble-panel: #fbfcfd;
  --trouble-accent: #087f9c;
  color: var(--trouble-ink);
  background: var(--trouble-surface);
}

.troubleshooting-page .header {
  position: sticky;
  top: 0;
}

.troubleshooting-page .nav {
  gap: clamp(18px, 2.4vw, 34px);
}

.troubleshooting-page .nav a[aria-current="page"] {
  color: var(--trouble-accent);
}

.trouble-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
  gap: clamp(48px, 7vw, 112px);
  align-items: center;
  min-height: clamp(720px, calc(100dvh - 75px), 900px);
  padding: clamp(64px, 8vw, 108px) clamp(22px, 5vw, 76px);
  background: var(--trouble-surface);
  overflow: hidden;
}

.trouble-hero-copy,
.trouble-hero-visual {
  min-width: 0;
}

.trouble-hero-copy h1 {
  max-width: 700px;
  margin-bottom: 22px;
  font-size: clamp(52px, 4.8vw, 66px);
  line-height: .96;
}

.trouble-hero-copy .lede {
  max-width: 590px;
  color: var(--trouble-muted);
}

.trouble-hero-visual {
  display: grid;
  grid-template-rows: minmax(430px, 1fr) auto;
  border: 1px solid var(--trouble-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(23, 32, 39, .1);
  overflow: hidden;
}

.trouble-device-image {
  display: grid;
  place-items: center;
  padding: clamp(30px, 5vw, 70px);
  background: #fff;
}

.trouble-device-image img {
  width: min(490px, 94%);
  max-height: 420px;
  object-fit: contain;
}

.trouble-stage-map {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--trouble-line);
  background: #eef3f5;
  list-style: none;
}

.trouble-stage-map li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 18px 14px;
  border-left: 1px solid var(--trouble-line);
}

.trouble-stage-map li:first-child {
  border-left: 0;
}

.trouble-stage-map span {
  color: var(--trouble-accent);
  font-size: 11px;
  font-weight: 900;
}

.trouble-stage-map strong {
  font-size: 12px;
}

.trouble-first-checks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 clamp(22px, 5vw, 76px);
  border: 1px solid var(--trouble-line);
  background: var(--trouble-panel);
}

.trouble-first-checks div {
  display: grid;
  gap: 4px;
  min-height: 106px;
  align-content: center;
  padding: 20px;
  border-left: 1px solid var(--trouble-line);
}

.trouble-first-checks div:first-child {
  border-left: 0;
}

.trouble-first-checks strong {
  font-size: 15px;
}

.trouble-first-checks span {
  color: var(--trouble-muted);
  font-size: 12px;
}

.trouble-diagnose {
  padding-top: clamp(84px, 9vw, 132px);
  padding-bottom: clamp(84px, 9vw, 132px);
}

.trouble-heading {
  display: grid;
  max-width: 880px;
  gap: 12px;
  margin-bottom: clamp(34px, 5vw, 62px);
}

.trouble-heading h2,
.trouble-safe-copy h2,
.support-details-copy h2,
.trouble-boundaries-copy h2,
.trouble-next-copy h2,
.trouble-faq .section-title h2 {
  margin: 0;
  font-size: clamp(36px, 4.4vw, 60px);
  line-height: 1;
}

.trouble-heading p,
.trouble-safe-copy > p:last-child,
.support-details-copy > p,
.trouble-boundaries-copy p,
.trouble-next-copy p {
  max-width: 720px;
  margin: 0;
  color: var(--trouble-muted);
  font-size: 17px;
}

.trouble-diagnostic {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  border-top: 1px solid var(--trouble-line);
  border-bottom: 1px solid var(--trouble-line);
}

.trouble-tabs {
  display: grid;
  align-content: start;
  border-right: 1px solid var(--trouble-line);
}

.trouble-tab {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  min-height: 72px;
  align-items: center;
  padding: 14px 18px;
  color: #52616a;
  border: 0;
  border-bottom: 1px solid var(--trouble-line);
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.trouble-tab span {
  color: var(--trouble-accent);
  font-size: 11px;
  font-weight: 900;
}

.trouble-tab:hover,
.trouble-tab:focus-visible,
.trouble-tab.active {
  color: var(--trouble-ink);
  background: #e9f2f4;
}

.trouble-tab.active {
  box-shadow: inset 3px 0 0 var(--trouble-accent);
}

.trouble-tab:focus-visible {
  outline: 3px solid rgba(8, 127, 156, .28);
  outline-offset: -3px;
}

.trouble-panel {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  min-height: 510px;
}

.trouble-panel[hidden] {
  display: none;
}

.trouble-panel-intro {
  display: grid;
  align-content: center;
  padding: clamp(34px, 5vw, 64px);
  border-right: 1px solid var(--trouble-line);
  background: #eef3f5;
}

.trouble-panel-intro > span,
.windows-reference-list a > span {
  color: var(--trouble-accent);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.trouble-panel-intro h3 {
  max-width: 510px;
  margin: 12px 0 14px;
  font-size: clamp(30px, 3.2vw, 46px);
}

.trouble-panel-intro p {
  margin: 0;
  color: var(--trouble-muted);
  font-size: 15px;
}

.trouble-panel > ol {
  display: grid;
  align-content: center;
  margin: 0;
  padding: 0 clamp(30px, 5vw, 64px);
  list-style: none;
}

.trouble-panel > ol li {
  display: grid;
  grid-template-columns: minmax(150px, .55fr) minmax(0, 1.45fr);
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid var(--trouble-line);
}

.trouble-panel > ol li:last-child {
  border-bottom: 0;
}

.trouble-panel > ol strong {
  font-size: 15px;
}

.trouble-panel > ol p {
  margin: 0;
  color: var(--trouble-muted);
  font-size: 14px;
}

.trouble-safe {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(48px, 7vw, 108px);
  background: #e9eef0;
}

.trouble-safe-list {
  border-top: 1px solid #b9c6cc;
}

.trouble-safe-list div {
  display: grid;
  grid-template-columns: 110px minmax(180px, .75fr) minmax(0, 1.25fr);
  gap: 24px;
  padding: 23px 0;
  border-bottom: 1px solid #b9c6cc;
}

.trouble-safe-list span {
  color: var(--trouble-accent);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.trouble-safe-list strong {
  font-size: 14px;
}

.trouble-safe-list p {
  margin: 0;
  color: var(--trouble-muted);
  font-size: 14px;
}

.windows-references {
  background: var(--trouble-panel);
}

.windows-reference-list {
  border-top: 1px solid var(--trouble-line);
}

.windows-reference-list a {
  display: grid;
  grid-template-columns: 110px minmax(220px, .8fr) minmax(0, 1.2fr) 130px;
  gap: 26px;
  align-items: center;
  min-height: 110px;
  padding: 22px 0;
  border-bottom: 1px solid var(--trouble-line);
}

.windows-reference-list a:hover strong,
.windows-reference-list a:focus-visible strong {
  color: var(--trouble-accent);
}

.windows-reference-list a:focus-visible {
  outline: 3px solid rgba(8, 127, 156, .28);
  outline-offset: 4px;
}

.windows-reference-list strong {
  font-size: 17px;
}

.windows-reference-list p {
  margin: 0;
  color: var(--trouble-muted);
  font-size: 14px;
}

.windows-reference-list b {
  color: #066c85;
  font-size: 13px;
  text-align: right;
}

.support-details {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: clamp(48px, 7vw, 108px);
  background: var(--trouble-surface);
}

.support-privacy-note {
  max-width: 620px;
  margin-top: 34px;
  padding: 22px 0;
  border-top: 1px solid var(--trouble-line);
  border-bottom: 1px solid var(--trouble-line);
}

.support-privacy-note strong {
  color: #a44132;
  font-size: 13px;
  text-transform: uppercase;
}

.support-privacy-note p {
  margin: 7px 0 0;
  color: var(--trouble-muted);
  font-size: 14px;
}

.support-checklist {
  border-top: 1px solid var(--trouble-line);
}

.support-checklist label {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid var(--trouble-line);
  cursor: pointer;
}

.support-checklist input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--trouble-accent);
}

.support-checklist label > span {
  display: grid;
  gap: 3px;
}

.support-checklist strong {
  font-size: 15px;
}

.support-checklist small {
  color: var(--trouble-muted);
  font-size: 13px;
}

.trouble-boundaries {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: clamp(48px, 7vw, 108px);
  background: #e9eef0;
}

.trouble-boundary-list {
  border-top: 1px solid #b9c6cc;
}

.trouble-boundary-list div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 26px;
  padding: 23px 0;
  border-bottom: 1px solid #b9c6cc;
}

.trouble-boundary-list strong {
  font-size: 14px;
}

.trouble-boundary-list span {
  color: var(--trouble-muted);
  font-size: 14px;
}

.trouble-faq {
  background: var(--trouble-panel);
}

.trouble-faq .section-title {
  max-width: 860px;
}

.troubleshooting-page .faq-list {
  max-width: 1040px;
}

.trouble-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: end;
  background: #e0eaed;
}

.trouble-next-copy {
  max-width: 850px;
}

.trouble-next-actions {
  display: flex;
  gap: 12px;
}

@media (prefers-color-scheme: dark) {
  .troubleshooting-page,
  .trouble-hero,
  .trouble-diagnose,
  .support-details {
    --trouble-ink: #e7edef;
    --trouble-muted: #a7b2b8;
    --trouble-line: #43525a;
    --trouble-surface: #11191e;
    --trouble-panel: #172127;
    --trouble-accent: #71c3d3;
    background: var(--trouble-surface);
  }

  .trouble-hero-visual,
  .trouble-device-image {
    background: #f1f4f5;
  }

  .trouble-stage-map,
  .trouble-first-checks,
  .trouble-tab:hover,
  .trouble-tab:focus-visible,
  .trouble-tab.active,
  .trouble-panel-intro {
    background: #203038;
  }

  .trouble-tab,
  .trouble-tab:hover,
  .trouble-tab:focus-visible,
  .trouble-tab.active {
    color: #e7edef;
  }

  .trouble-safe,
  .trouble-boundaries,
  .trouble-next {
    background: #202b31;
  }

  .trouble-safe-list,
  .trouble-boundary-list {
    border-top-color: #53636b;
  }

  .trouble-safe-list div,
  .trouble-boundary-list div {
    border-bottom-color: #53636b;
  }

  .windows-references,
  .trouble-faq {
    background: var(--trouble-panel);
  }

  .windows-reference-list b {
    color: #8fd0dc;
  }

  .support-privacy-note strong {
    color: #ef9e8f;
  }
}

@media (max-width: 1120px) {
  .trouble-hero {
    grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr);
    gap: 44px;
  }

  .trouble-panel > ol li,
  .trouble-safe-list div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .windows-reference-list a {
    grid-template-columns: 90px minmax(200px, .8fr) minmax(0, 1.2fr);
  }

  .windows-reference-list b {
    grid-column: 2 / -1;
    text-align: left;
  }
}

@media (max-width: 900px) {
  .trouble-hero,
  .trouble-safe,
  .support-details,
  .trouble-boundaries,
  .trouble-next {
    grid-template-columns: 1fr;
  }

  .trouble-hero {
    min-height: auto;
  }

  .trouble-first-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trouble-first-checks div:nth-child(3) {
    border-left: 0;
  }

  .trouble-first-checks div:nth-child(n + 3) {
    border-top: 1px solid var(--trouble-line);
  }

  .trouble-diagnostic {
    grid-template-columns: 1fr;
  }

  .trouble-tabs {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-right: 0;
    border-bottom: 1px solid var(--trouble-line);
  }

  .trouble-tab {
    grid-template-columns: 1fr;
    min-height: 88px;
    border-right: 1px solid var(--trouble-line);
    border-bottom: 0;
  }

  .trouble-tab:last-child {
    border-right: 0;
  }

  .trouble-tab.active {
    box-shadow: inset 0 -3px 0 var(--trouble-accent);
  }

  .trouble-next-actions {
    justify-self: start;
  }
}

@media (max-width: 680px) {
  .trouble-hero {
    gap: 34px;
    padding: 52px 18px 62px;
  }

  .trouble-hero-copy h1 {
    max-width: 100%;
    font-size: 46px;
    overflow-wrap: break-word;
  }

  .trouble-hero-visual {
    grid-template-rows: minmax(300px, 1fr) auto;
  }

  .trouble-device-image {
    padding: 24px;
  }

  .trouble-stage-map {
    grid-template-columns: 1fr 1fr;
  }

  .trouble-stage-map li:nth-child(3) {
    border-left: 0;
  }

  .trouble-stage-map li:nth-child(n + 3) {
    border-top: 1px solid var(--trouble-line);
  }

  .trouble-first-checks {
    grid-template-columns: 1fr;
    margin: 0 18px;
  }

  .trouble-first-checks div,
  .trouble-first-checks div:nth-child(3) {
    border-top: 1px solid var(--trouble-line);
    border-left: 0;
  }

  .trouble-first-checks div:first-child {
    border-top: 0;
  }

  .troubleshooting-page .section {
    padding-right: 18px;
    padding-left: 18px;
  }

  .trouble-tabs {
    grid-template-columns: 1fr;
  }

  .trouble-tab,
  .trouble-tab:last-child {
    grid-template-columns: 32px minmax(0, 1fr);
    min-height: 62px;
    border-right: 0;
    border-bottom: 1px solid var(--trouble-line);
  }

  .trouble-tab.active {
    box-shadow: inset 3px 0 0 var(--trouble-accent);
  }

  .trouble-panel {
    grid-template-columns: 1fr;
  }

  .trouble-panel-intro {
    padding: 34px 22px;
    border-right: 0;
    border-bottom: 1px solid var(--trouble-line);
  }

  .trouble-panel > ol {
    padding: 8px 22px;
  }

  .trouble-panel > ol li {
    padding: 22px 0;
  }

  .windows-reference-list a {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 24px 0;
  }

  .windows-reference-list b {
    grid-column: 1;
  }

  .trouble-boundary-list div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .trouble-next-actions {
    display: grid;
    width: 100%;
  }
}

/* Warranty and returns policy */
.policy-page {
  --policy-ink: #172027;
  --policy-muted: #64727b;
  --policy-line: #cbd5da;
  --policy-surface: #f6f8f9;
  --policy-panel: #fbfcfd;
  --policy-accent: #087f9c;
  color: var(--policy-ink);
  background: var(--policy-surface);
}

.policy-page .header {
  position: sticky;
  top: 0;
}

.policy-page .nav a[aria-current="page"] {
  color: var(--policy-accent);
}

.policy-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
  gap: clamp(48px, 7vw, 112px);
  align-items: center;
  min-height: clamp(720px, calc(100dvh - 75px), 900px);
  padding: clamp(64px, 8vw, 108px) clamp(22px, 5vw, 76px);
  background: var(--policy-surface);
  overflow: hidden;
}

.policy-hero-copy,
.policy-hero-visual {
  min-width: 0;
}

.policy-hero-copy h1 {
  max-width: 700px;
  margin-bottom: 22px;
  font-size: clamp(52px, 4.8vw, 66px);
  line-height: .96;
}

.policy-hero-copy .lede {
  max-width: 620px;
  color: var(--policy-muted);
}

.policy-hero-visual {
  display: grid;
  grid-template-rows: minmax(420px, 1fr) auto;
  border: 1px solid var(--policy-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(23, 32, 39, .1);
  overflow: hidden;
}

.policy-product-image {
  display: grid;
  place-items: center;
  padding: clamp(30px, 5vw, 70px);
  background: #fff;
}

.policy-product-image img {
  width: min(470px, 92%);
  max-height: 410px;
  object-fit: contain;
}

.policy-hero-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--policy-line);
  background: #eef3f5;
}

.policy-hero-facts div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 13px;
  align-content: center;
  min-height: 96px;
  padding: 16px 20px;
  border-left: 1px solid var(--policy-line);
}

.policy-hero-facts div:first-child {
  border-left: 0;
}

.policy-hero-facts span {
  grid-row: 1 / 3;
  color: var(--policy-accent);
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.policy-hero-facts strong {
  font-size: 13px;
}

.policy-hero-facts small {
  color: var(--policy-muted);
  font-size: 11px;
}

.policy-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 clamp(22px, 5vw, 76px);
  border: 1px solid var(--policy-line);
  background: var(--policy-panel);
}

.policy-summary div {
  display: grid;
  gap: 4px;
  min-height: 106px;
  align-content: center;
  padding: 20px;
  border-left: 1px solid var(--policy-line);
}

.policy-summary div:first-child {
  border-left: 0;
}

.policy-summary strong {
  font-size: 15px;
}

.policy-summary span {
  color: var(--policy-muted);
  font-size: 12px;
}

.policy-heading {
  display: grid;
  max-width: 880px;
  gap: 12px;
  margin-bottom: clamp(34px, 5vw, 62px);
}

.policy-heading h2,
.returns-heading h2,
.warranty-heading h2,
.return-process-copy h2,
.policy-pending-copy h2,
.policy-rights-copy h2,
.policy-next-copy h2,
.policy-faq .section-title h2 {
  margin: 0;
  font-size: clamp(36px, 4.4vw, 60px);
  line-height: 1;
}

.policy-heading p,
.returns-heading > p:last-child,
.warranty-heading > p:last-child,
.return-process-copy p,
.policy-pending-copy p,
.policy-rights-copy p,
.policy-next-copy p {
  max-width: 720px;
  margin: 0;
  color: var(--policy-muted);
  font-size: 17px;
}

.policy-overview {
  padding-top: clamp(84px, 9vw, 132px);
  padding-bottom: clamp(84px, 9vw, 132px);
}

.policy-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--policy-line);
  border-bottom: 1px solid var(--policy-line);
}

.policy-compare article {
  min-height: 300px;
  padding: clamp(30px, 5vw, 64px);
  border-left: 1px solid var(--policy-line);
}

.policy-compare article:first-child {
  border-left: 0;
}

.policy-compare article > span,
.warranty-covered > span,
.warranty-excluded > span,
.policy-rights-link > span {
  color: var(--policy-accent);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.policy-compare h3 {
  margin: 16px 0 13px;
  font-size: clamp(27px, 3vw, 40px);
}

.policy-compare p {
  max-width: 570px;
  color: var(--policy-muted);
}

.policy-compare a {
  color: #066c85;
  font-weight: 850;
}

.returns-policy {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  gap: clamp(48px, 7vw, 108px);
  background: #e9eef0;
}

.return-window {
  border-top: 1px solid #b9c6cc;
}

.return-window div {
  display: grid;
  grid-template-columns: 120px minmax(180px, .75fr) minmax(0, 1.25fr);
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid #b9c6cc;
}

.return-window span {
  color: var(--policy-accent);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.return-window strong {
  font-size: 15px;
}

.return-window p {
  margin: 0;
  color: var(--policy-muted);
  font-size: 14px;
}

.return-condition-note {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 28px;
  margin-top: 4px;
  padding: 22px 0;
  border-top: 1px solid #b9c6cc;
  border-bottom: 1px solid #b9c6cc;
}

.return-condition-note strong {
  font-size: 14px;
}

.return-condition-note p {
  max-width: 760px;
  margin: 0;
  color: var(--policy-muted);
  font-size: 14px;
}

.warranty-policy {
  background: var(--policy-panel);
}

.warranty-heading {
  max-width: 900px;
  margin-bottom: clamp(36px, 5vw, 64px);
}

.warranty-scope {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--policy-line);
  border-bottom: 1px solid var(--policy-line);
}

.warranty-covered,
.warranty-excluded {
  min-height: 380px;
  padding: clamp(32px, 5vw, 64px);
  border-left: 1px solid var(--policy-line);
}

.warranty-covered {
  border-left: 0;
}

.warranty-covered h3,
.warranty-excluded h3 {
  max-width: 560px;
  margin: 16px 0 24px;
  font-size: clamp(27px, 3vw, 40px);
}

.warranty-covered ul,
.warranty-excluded ul {
  display: grid;
  gap: 14px;
  max-width: 620px;
  margin: 0;
  padding-left: 20px;
  color: var(--policy-muted);
}

.warranty-start-note {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 28px;
  margin-top: 28px;
  padding: 22px 0;
  border-top: 1px solid var(--policy-line);
  border-bottom: 1px solid var(--policy-line);
}

.warranty-start-note strong {
  color: #9c4e39;
  font-size: 14px;
}

.warranty-start-note p {
  margin: 0;
  color: var(--policy-muted);
  font-size: 14px;
}

.policy-scenarios {
  background: var(--policy-surface);
}

.policy-table {
  border-top: 1px solid var(--policy-line);
  border-bottom: 1px solid var(--policy-line);
}

.policy-table-row {
  display: grid;
  grid-template-columns: minmax(210px, 1.15fr) minmax(150px, .75fr) minmax(140px, .65fr) minmax(220px, 1.1fr);
  border-bottom: 1px solid var(--policy-line);
}

.policy-table-row:last-child {
  border-bottom: 0;
}

.policy-table-row > * {
  display: grid;
  min-width: 0;
  min-height: 78px;
  align-content: center;
  margin: 0;
  padding: 16px;
  border-left: 1px solid var(--policy-line);
  font-size: 13px;
}

.policy-table-row > *:first-child {
  border-left: 0;
}

.policy-table-row span {
  color: var(--policy-muted);
}

.policy-table-head {
  background: #e9eef0;
}

.policy-table-head span {
  color: var(--policy-ink);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.return-process {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(48px, 7vw, 108px);
  background: var(--policy-panel);
}

.return-process-steps {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--policy-line);
  list-style: none;
}

.return-process-steps li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid var(--policy-line);
}

.return-process-steps li > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #066c85;
  border: 1px solid #9eb1ba;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 900;
}

.return-process-steps strong {
  display: block;
  margin: 3px 0 6px;
  font-size: 15px;
}

.return-process-steps p {
  margin: 0;
  color: var(--policy-muted);
  font-size: 14px;
}

.policy-pending {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(48px, 7vw, 108px);
  background: #e9eef0;
}

.policy-pending-list {
  border-top: 1px solid #b9c6cc;
}

.policy-pending-list div {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 18px;
  padding: 19px 0;
  border-bottom: 1px solid #b9c6cc;
}

.policy-pending-list span {
  color: var(--policy-accent);
  font-size: 11px;
  font-weight: 900;
}

.policy-pending-list strong {
  font-size: 14px;
}

.policy-rights {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
  gap: clamp(48px, 7vw, 108px);
  align-items: end;
  background: var(--policy-panel);
}

.policy-rights-copy {
  max-width: 820px;
}

.policy-rights-link {
  display: grid;
  gap: 8px;
  padding: 24px 0;
  border-top: 1px solid var(--policy-line);
  border-bottom: 1px solid var(--policy-line);
}

.policy-rights-link strong {
  color: #066c85;
  font-size: 16px;
}

.policy-faq {
  background: var(--policy-surface);
}

.policy-faq .section-title {
  max-width: 860px;
}

.policy-page .faq-list {
  max-width: 1040px;
}

.policy-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: end;
  background: #e0eaed;
}

.policy-next-copy {
  max-width: 850px;
}

.policy-next-actions {
  display: flex;
  gap: 12px;
}

@media (prefers-color-scheme: dark) {
  .policy-page,
  .policy-hero,
  .policy-overview,
  .policy-scenarios,
  .policy-faq {
    --policy-ink: #e7edef;
    --policy-muted: #a7b2b8;
    --policy-line: #43525a;
    --policy-surface: #11191e;
    --policy-panel: #172127;
    --policy-accent: #71c3d3;
    background: var(--policy-surface);
  }

  .policy-hero-visual,
  .policy-product-image {
    background: #f1f4f5;
  }

  .policy-hero-facts,
  .policy-summary,
  .policy-table-head {
    background: #203038;
  }

  .returns-policy,
  .policy-pending,
  .policy-next {
    background: #202b31;
  }

  .return-window,
  .policy-pending-list {
    border-top-color: #53636b;
  }

  .return-window div,
  .return-condition-note,
  .policy-pending-list div {
    border-color: #53636b;
  }

  .warranty-policy,
  .return-process,
  .policy-rights {
    background: var(--policy-panel);
  }

  .policy-compare a,
  .policy-rights-link strong,
  .return-process-steps li > span {
    color: #8fd0dc;
  }

  .warranty-start-note strong {
    color: #ef9e8f;
  }
}

@media (max-width: 1180px) {
  .home-page .header {
    grid-template-columns: 1fr auto;
  }

  .home-page .menu-button {
    display: inline-flex;
    align-items: center;
  }

  .home-page .nav,
  .home-page .nav-cta {
    display: none;
  }

  .home-page .header.menu-open .nav {
    display: grid;
    grid-column: 1 / -1;
    justify-content: start;
    gap: 16px;
    padding-top: 14px;
  }
}

@media (max-width: 900px) {
  .policy-hero,
  .returns-policy,
  .return-process,
  .policy-pending,
  .policy-rights,
  .policy-next {
    grid-template-columns: 1fr;
  }

  .policy-hero {
    min-height: auto;
  }

  .policy-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .policy-summary div:nth-child(3) {
    border-left: 0;
  }

  .policy-summary div:nth-child(n + 3) {
    border-top: 1px solid var(--policy-line);
  }

  .return-window div {
    grid-template-columns: 100px minmax(0, 1fr);
  }

  .return-window p {
    grid-column: 2;
  }

  .policy-table {
    overflow-x: auto;
  }

  .policy-table-row {
    min-width: 820px;
  }

  .policy-next-actions {
    justify-self: start;
  }
}

@media (max-width: 680px) {
  .policy-hero {
    gap: 34px;
    padding: 52px 18px 62px;
  }

  .policy-hero-copy h1 {
    max-width: 100%;
    font-size: 46px;
    overflow-wrap: break-word;
  }

  .policy-hero-visual {
    grid-template-rows: minmax(300px, 1fr) auto;
  }

  .policy-product-image {
    padding: 24px;
  }

  .policy-hero-facts {
    grid-template-columns: 1fr;
  }

  .policy-hero-facts div,
  .policy-hero-facts div:first-child {
    border-top: 1px solid var(--policy-line);
    border-left: 0;
  }

  .policy-hero-facts div:first-child {
    border-top: 0;
  }

  .policy-summary {
    grid-template-columns: 1fr;
    margin: 0 18px;
  }

  .policy-summary div,
  .policy-summary div:nth-child(3) {
    border-top: 1px solid var(--policy-line);
    border-left: 0;
  }

  .policy-summary div:first-child {
    border-top: 0;
  }

  .policy-page .section {
    padding-right: 18px;
    padding-left: 18px;
  }

  .policy-compare,
  .warranty-scope {
    grid-template-columns: 1fr;
  }

  .policy-compare article,
  .policy-compare article:first-child,
  .warranty-covered,
  .warranty-excluded {
    min-height: 0;
    border-top: 1px solid var(--policy-line);
    border-left: 0;
  }

  .policy-compare article:first-child,
  .warranty-covered {
    border-top: 0;
  }

  .return-window div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .return-window p {
    grid-column: 1;
  }

  .return-condition-note,
  .warranty-start-note {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .policy-table-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }

  .policy-table {
    overflow: visible;
  }

  .policy-table-head {
    display: none;
  }

  .policy-table-row:not(.policy-table-head) {
    padding: 8px 0;
  }

  .policy-table-row:not(.policy-table-head) > * {
    min-height: 0;
    padding: 12px 0;
    border-top: 1px solid var(--policy-line);
    border-left: 0;
  }

  .policy-table-row:not(.policy-table-head) > *:first-child {
    border-top: 0;
  }

  .policy-table-row:not(.policy-table-head) > *::before {
    margin-bottom: 4px;
    color: var(--policy-accent);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
  }

  .policy-table-row:not(.policy-table-head) > *:nth-child(1)::before {
    content: "Situation";
  }

  .policy-table-row:not(.policy-table-head) > *:nth-child(2)::before {
    content: "Path";
  }

  .policy-table-row:not(.policy-table-head) > *:nth-child(3)::before {
    content: "Shipping";
  }

  .policy-table-row:not(.policy-table-head) > *:nth-child(4)::before {
    content: "Next step";
  }

  .policy-rights {
    align-items: start;
  }

  .policy-next-actions {
    display: grid;
    width: 100%;
  }
}

/* Support and contact */
.support-page {
  --support-ink: #172027;
  --support-muted: #64727b;
  --support-line: #cbd5da;
  --support-surface: #f6f8f9;
  --support-panel: #fbfcfd;
  --support-accent: #087f9c;
  color: var(--support-ink);
  background: var(--support-surface);
}

.support-page .header {
  position: sticky;
  top: 0;
}

.support-page .nav a[aria-current="page"] {
  color: var(--support-accent);
}

.support-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
  gap: clamp(48px, 7vw, 112px);
  align-items: center;
  min-height: clamp(720px, calc(100dvh - 75px), 900px);
  padding: clamp(64px, 8vw, 108px) clamp(22px, 5vw, 76px);
  background: var(--support-surface);
  overflow: hidden;
}

.support-hero-copy,
.support-hero-visual {
  min-width: 0;
}

.support-hero-copy h1 {
  max-width: 720px;
  margin-bottom: 22px;
  font-size: clamp(52px, 4.8vw, 66px);
  line-height: .96;
}

.support-hero-copy .lede {
  max-width: 610px;
  color: var(--support-muted);
}

.support-hero-visual {
  display: grid;
  grid-template-rows: minmax(430px, 1fr) auto;
  border: 1px solid var(--support-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(23, 32, 39, .1);
  overflow: hidden;
}

.support-hero-visual > img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  object-position: center;
}

.support-hero-status {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--support-line);
  background: #eef3f5;
}

.support-hero-status span {
  min-width: 0;
  padding: 18px 14px;
  border-left: 1px solid var(--support-line);
  font-size: 12px;
  font-weight: 800;
}

.support-hero-status span:first-child {
  border-left: 0;
}

.support-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 clamp(22px, 5vw, 76px);
  border: 1px solid var(--support-line);
  background: var(--support-panel);
}

.support-summary div {
  display: grid;
  gap: 4px;
  min-height: 106px;
  align-content: center;
  padding: 20px;
  border-left: 1px solid var(--support-line);
}

.support-summary div:first-child {
  border-left: 0;
}

.support-summary strong {
  font-size: 15px;
}

.support-summary span {
  color: var(--support-muted);
  font-size: 12px;
}

.support-heading {
  display: grid;
  max-width: 880px;
  gap: 12px;
  margin-bottom: clamp(34px, 5vw, 62px);
}

.support-heading h2,
.support-request-copy h2,
.support-channel-copy h2,
.support-privacy-copy h2,
.support-faq .section-title h2 {
  margin: 0;
  font-size: clamp(36px, 4.4vw, 60px);
  line-height: 1;
}

.support-heading p,
.support-request-copy > p,
.support-channel-copy p,
.support-privacy-copy p {
  max-width: 720px;
  margin: 0;
  color: var(--support-muted);
  font-size: 17px;
}

.support-paths {
  padding-top: clamp(84px, 9vw, 132px);
  padding-bottom: clamp(84px, 9vw, 132px);
}

.support-router {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  border-top: 1px solid var(--support-line);
  border-bottom: 1px solid var(--support-line);
}

.support-tabs {
  display: grid;
  align-content: start;
  border-right: 1px solid var(--support-line);
}

.support-tab {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  min-height: 72px;
  align-items: center;
  padding: 14px 18px;
  color: #52616a;
  border: 0;
  border-bottom: 1px solid var(--support-line);
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.support-tab > span {
  color: var(--support-accent);
  font-size: 11px;
  font-weight: 900;
}

.support-tab:hover,
.support-tab:focus-visible,
.support-tab.active {
  color: var(--support-ink);
  background: #e9f2f4;
}

.support-tab.active {
  box-shadow: inset 3px 0 0 var(--support-accent);
}

.support-tab:focus-visible {
  outline: 3px solid rgba(8, 127, 156, .28);
  outline-offset: -3px;
}

.support-panel {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(260px, 1.1fr);
  grid-template-rows: 1fr auto;
  min-height: 460px;
}

.support-panel[hidden] {
  display: none;
}

.support-panel > div {
  display: grid;
  align-content: center;
  padding: clamp(34px, 5vw, 64px);
  border-right: 1px solid var(--support-line);
  background: #eef3f5;
}

.support-panel > div > span,
.support-output > div > span,
.support-library-list a > span {
  color: var(--support-accent);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.support-panel h3 {
  max-width: 560px;
  margin: 12px 0 14px;
  font-size: clamp(30px, 3.2vw, 46px);
}

.support-panel > div p {
  margin: 0;
  color: var(--support-muted);
  font-size: 15px;
}

.support-panel > ul {
  display: grid;
  align-content: center;
  gap: 16px;
  margin: 0;
  padding: clamp(34px, 5vw, 64px) clamp(34px, 5vw, 72px);
  color: var(--support-muted);
}

.support-panel > a {
  grid-column: 1 / -1;
  padding: 22px clamp(34px, 5vw, 64px);
  color: #066c85;
  border-top: 1px solid var(--support-line);
  font-weight: 850;
}

.support-request {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  gap: clamp(48px, 7vw, 108px);
  background: #e9eef0;
}

.support-request-copy aside {
  max-width: 620px;
  margin-top: 32px;
  padding: 22px 0;
  border-top: 1px solid #b9c6cc;
  border-bottom: 1px solid #b9c6cc;
}

.support-request-copy aside strong {
  color: #a44132;
  font-size: 13px;
  text-transform: uppercase;
}

.support-request-copy aside p {
  margin: 7px 0 0;
  color: var(--support-muted);
  font-size: 14px;
}

.support-form {
  min-width: 0;
}

.support-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.support-form label {
  display: grid;
  gap: 8px;
}

.support-form label > span {
  font-size: 13px;
  font-weight: 800;
}

.support-form input,
.support-form select,
.support-form textarea {
  width: 100%;
  min-width: 0;
  color: var(--support-ink);
  border: 1px solid #afbec5;
  border-radius: 8px;
  background: var(--support-panel);
  font: inherit;
  font-size: 15px;
}

.support-form input,
.support-form select {
  min-height: 48px;
  padding: 0 14px;
}

.support-form textarea {
  min-height: 170px;
  padding: 14px;
  resize: vertical;
}

.support-form input:focus,
.support-form select:focus,
.support-form textarea:focus {
  outline: 3px solid rgba(8, 127, 156, .24);
  border-color: var(--support-accent);
}

.support-message-field {
  margin-top: 20px;
}

.support-message-field > small {
  color: var(--support-muted);
  font-size: 12px;
  text-align: right;
}

.support-confirmation {
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  margin-top: 20px;
}

.support-confirmation input {
  width: 18px;
  height: 18px;
  min-height: 0;
  margin-top: 2px;
  padding: 0;
  accent-color: var(--support-accent);
}

.support-confirmation > span {
  color: var(--support-muted);
  font-weight: 600;
}

.support-form-actions {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}

.support-form-actions .button {
  cursor: pointer;
}

.support-output {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr) auto;
  gap: 28px;
  align-items: start;
  margin-top: 12px;
  padding: 30px;
  border: 1px solid #9eb1ba;
  border-radius: 8px;
  background: var(--support-panel);
}

.support-output[hidden] {
  display: none;
}

.support-output h3 {
  margin: 9px 0 8px;
  font-size: 28px;
}

.support-output > div p {
  margin: 0;
  color: var(--support-muted);
  font-size: 14px;
}

.support-output pre {
  max-height: 360px;
  margin: 0;
  padding: 18px;
  color: var(--support-ink);
  border: 1px solid var(--support-line);
  border-radius: 8px;
  background: #eef3f5;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 13px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow: auto;
}

.support-copy-status {
  grid-column: 3;
  margin: 8px 0 0;
  color: var(--support-muted);
  font-size: 12px;
  text-align: center;
}

.support-channel {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(48px, 7vw, 108px);
  background: var(--support-panel);
}

.support-channel-status {
  border-top: 1px solid var(--support-line);
}

.support-channel-status div {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr);
  gap: 24px;
  padding: 23px 0;
  border-bottom: 1px solid var(--support-line);
}

.support-channel-status strong {
  font-size: 14px;
}

.support-channel-status span {
  color: var(--support-muted);
  font-size: 14px;
}

.support-library {
  background: var(--support-surface);
}

.support-library-list {
  border-top: 1px solid var(--support-line);
}

.support-library-list a {
  display: grid;
  grid-template-columns: 130px minmax(220px, .85fr) minmax(0, 1.15fr);
  gap: 26px;
  align-items: center;
  min-height: 100px;
  padding: 22px 0;
  border-bottom: 1px solid var(--support-line);
}

.support-library-list a:hover strong,
.support-library-list a:focus-visible strong {
  color: var(--support-accent);
}

.support-library-list a:focus-visible {
  outline: 3px solid rgba(8, 127, 156, .28);
  outline-offset: 4px;
}

.support-library-list strong {
  font-size: 17px;
}

.support-library-list p {
  margin: 0;
  color: var(--support-muted);
  font-size: 14px;
}

.support-privacy {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(48px, 7vw, 108px);
  background: #e9eef0;
}

.support-privacy-list {
  border-top: 1px solid #b9c6cc;
}

.support-privacy-list div {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 26px;
  padding: 23px 0;
  border-bottom: 1px solid #b9c6cc;
}

.support-privacy-list strong {
  font-size: 14px;
}

.support-privacy-list span {
  color: var(--support-muted);
  font-size: 14px;
}

.support-faq {
  background: var(--support-panel);
}

.support-faq .section-title {
  max-width: 860px;
}

.support-page .faq-list {
  max-width: 1040px;
}

@media (prefers-color-scheme: dark) {
  .support-page,
  .support-hero,
  .support-paths,
  .support-library {
    --support-ink: #e7edef;
    --support-muted: #a7b2b8;
    --support-line: #43525a;
    --support-surface: #11191e;
    --support-panel: #172127;
    --support-accent: #71c3d3;
    background: var(--support-surface);
  }

  .support-hero-visual {
    background: #f1f4f5;
  }

  .support-hero-status,
  .support-summary,
  .support-tab:hover,
  .support-tab:focus-visible,
  .support-tab.active,
  .support-panel > div,
  .support-output pre {
    background: #203038;
  }

  .support-tab,
  .support-tab:hover,
  .support-tab:focus-visible,
  .support-tab.active {
    color: #e7edef;
  }

  .support-request,
  .support-privacy {
    background: #202b31;
  }

  .support-request-copy aside,
  .support-privacy-list,
  .support-privacy-list div {
    border-color: #53636b;
  }

  .support-form input,
  .support-form select,
  .support-form textarea,
  .support-output,
  .support-channel,
  .support-faq {
    color: var(--support-ink);
    background: var(--support-panel);
  }

  .support-panel > a {
    color: #8fd0dc;
  }

  .support-request-copy aside strong {
    color: #ef9e8f;
  }
}

@media (max-width: 900px) {
  .support-hero,
  .support-request,
  .support-channel,
  .support-privacy {
    grid-template-columns: 1fr;
  }

  .support-hero {
    min-height: auto;
  }

  .support-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .support-summary div:nth-child(3) {
    border-left: 0;
  }

  .support-summary div:nth-child(n + 3) {
    border-top: 1px solid var(--support-line);
  }

  .support-router {
    grid-template-columns: 1fr;
  }

  .support-tabs {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-right: 0;
    border-bottom: 1px solid var(--support-line);
  }

  .support-tab {
    grid-template-columns: 1fr;
    min-height: 88px;
    border-right: 1px solid var(--support-line);
    border-bottom: 0;
  }

  .support-tab:last-child {
    border-right: 0;
  }

  .support-tab.active {
    box-shadow: inset 0 -3px 0 var(--support-accent);
  }

  .support-output {
    grid-template-columns: 1fr;
  }

  .support-copy-status {
    grid-column: 1;
    text-align: left;
  }
}

@media (max-width: 680px) {
  .support-hero {
    gap: 34px;
    padding: 52px 18px 62px;
  }

  .support-hero-copy h1 {
    max-width: 100%;
    font-size: 46px;
    overflow-wrap: break-word;
  }

  .support-hero-visual {
    grid-template-rows: minmax(280px, 1fr) auto;
  }

  .support-hero-visual > img {
    min-height: 280px;
  }

  .support-hero-status {
    grid-template-columns: 1fr 1fr;
  }

  .support-hero-status span:nth-child(3) {
    border-left: 0;
  }

  .support-hero-status span:nth-child(n + 3) {
    border-top: 1px solid var(--support-line);
  }

  .support-summary {
    grid-template-columns: 1fr;
    margin: 0 18px;
  }

  .support-summary div,
  .support-summary div:nth-child(3) {
    border-top: 1px solid var(--support-line);
    border-left: 0;
  }

  .support-summary div:first-child {
    border-top: 0;
  }

  .support-page .section {
    padding-right: 18px;
    padding-left: 18px;
  }

  .support-tabs {
    grid-template-columns: 1fr;
  }

  .support-tab,
  .support-tab:last-child {
    grid-template-columns: 32px minmax(0, 1fr);
    min-height: 62px;
    border-right: 0;
    border-bottom: 1px solid var(--support-line);
  }

  .support-tab.active {
    box-shadow: inset 3px 0 0 var(--support-accent);
  }

  .support-panel {
    grid-template-columns: 1fr;
  }

  .support-panel > div {
    padding: 34px 22px;
    border-right: 0;
    border-bottom: 1px solid var(--support-line);
  }

  .support-panel > ul {
    padding: 28px 40px;
  }

  .support-panel > a {
    grid-column: 1;
    padding: 22px;
  }

  .support-form-grid {
    grid-template-columns: 1fr;
  }

  .support-form-actions {
    display: grid;
  }

  .support-output {
    padding: 22px;
  }

  .support-channel-status div,
  .support-library-list a,
  .support-privacy-list div {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

/* FP200 evidence and driver content */
.tested-scope {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3px 14px;
  align-items: center;
  margin-bottom: 24px;
  padding: 14px 0;
  border-top: 1px solid #9fb8c1;
  border-bottom: 1px solid #9fb8c1;
}

.tested-scope span {
  grid-row: 1 / 3;
  color: #087f9c;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.tested-scope strong {
  font-size: 14px;
}

.tested-scope small {
  color: #66737b;
  font-size: 12px;
}

.product-proof {
  background: #edf1f3;
}

.proof-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid #b9c6cc;
  border-bottom: 1px solid #b9c6cc;
}

.proof-grid > div {
  min-width: 0;
  padding: 24px 20px;
  border-left: 1px solid #b9c6cc;
}

.proof-grid > div:first-child {
  border-left: 0;
}

.proof-grid span,
.driver-download-note span {
  display: block;
  margin-bottom: 18px;
  color: #087f9c;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.proof-grid strong {
  display: block;
  min-height: 44px;
  font-size: 16px;
  line-height: 1.35;
}

.proof-grid p {
  margin: 10px 0 0;
  color: #66737b;
  font-size: 13px;
}

.inline-guide-link {
  display: inline-flex;
  margin-top: 28px;
  color: #066c85;
  font-size: 14px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.inline-guide-link:focus-visible {
  outline: 3px solid rgba(8, 127, 156, .28);
  outline-offset: 5px;
}

.product-driver,
.fp200-recovery {
  background: #e9eef0;
}

.driver-evidence {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(38px, 6vw, 88px);
  padding: clamp(30px, 5vw, 56px) 0;
  border-top: 1px solid #b9c6cc;
  border-bottom: 1px solid #b9c6cc;
}

.driver-evidence dl {
  margin: 0;
}

.driver-evidence dl > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid #b9c6cc;
}

.driver-evidence dl > div:first-child {
  padding-top: 0;
}

.driver-evidence dl > div:last-child {
  border-bottom: 0;
}

.driver-evidence dt {
  color: #66737b;
  font-size: 12px;
  font-weight: 760;
}

.driver-evidence dd {
  min-width: 0;
  margin: 0;
  font-size: 15px;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.driver-evidence code,
.driver-check code,
.troubleshooting-page code {
  color: inherit;
  font: 700 0.92em/1.45 ui-monospace, SFMono-Regular, Consolas, monospace;
  overflow-wrap: anywhere;
}

.driver-evidence-copy {
  display: grid;
  align-content: start;
  gap: 14px;
}

.driver-evidence-copy > strong {
  font-size: clamp(24px, 2.6vw, 36px);
  line-height: 1.1;
}

.driver-evidence-copy p {
  max-width: 650px;
  margin: 0;
  color: #5d6972;
  font-size: 15px;
}

.driver-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}

.driver-download-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: center;
  margin-top: 34px;
  padding: 24px 0;
  border-top: 1px solid #9fb8c1;
  border-bottom: 1px solid #9fb8c1;
}

.driver-download-note span {
  margin-bottom: 5px;
}

.driver-download-note strong {
  display: block;
  font-size: 17px;
}

.driver-download-note p {
  max-width: 760px;
  margin: 6px 0 0;
  color: #5d6972;
  font-size: 13px;
}

.driver-download-note .button {
  white-space: nowrap;
}

.lock-button-note.pending {
  border-color: #b9c6cc;
  background: #eef1f2;
}

.recovery-sequence {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid #b9c6cc;
  border-bottom: 1px solid #b9c6cc;
  list-style: none;
}

.recovery-sequence li {
  min-width: 0;
  padding: 24px 20px;
  border-left: 1px solid #b9c6cc;
}

.recovery-sequence li:first-child {
  border-left: 0;
}

.recovery-sequence span {
  display: block;
  margin-bottom: 34px;
  color: #087f9c;
  font-size: 12px;
  font-weight: 900;
}

.recovery-sequence strong {
  display: block;
  font-size: 16px;
  line-height: 1.35;
}

.recovery-sequence p {
  margin: 9px 0 0;
  color: #64727b;
  font-size: 13px;
}

@media (prefers-color-scheme: dark) {
  .tested-scope,
  .proof-grid,
  .driver-evidence,
  .driver-evidence dl > div,
  .driver-download-note,
  .recovery-sequence {
    border-color: #41525b;
  }

  .product-proof,
  .product-driver,
  .fp200-recovery,
  .lock-button-note.pending {
    background: #182229;
  }

  .proof-grid > div,
  .recovery-sequence li {
    border-color: #41525b;
  }

  .tested-scope small,
  .proof-grid p,
  .driver-evidence dt,
  .driver-evidence-copy p,
  .driver-download-note p,
  .recovery-sequence p {
    color: #aab6bc;
  }
}

@media (max-width: 1120px) {
  .proof-grid,
  .recovery-sequence {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .proof-grid > div,
  .recovery-sequence li {
    border-top: 1px solid #b9c6cc;
  }

  .proof-grid > div:nth-child(odd),
  .recovery-sequence li:nth-child(odd) {
    border-left: 0;
  }

  .proof-grid > div:nth-child(-n + 2),
  .recovery-sequence li:nth-child(-n + 2) {
    border-top: 0;
  }
}

@media (max-width: 760px) {
  .driver-evidence,
  .driver-download-note {
    grid-template-columns: 1fr;
  }

  .driver-download-note .button {
    justify-self: start;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .tested-scope {
    grid-template-columns: 1fr;
  }

  .tested-scope span {
    grid-row: auto;
  }

  .proof-grid,
  .recovery-sequence {
    grid-template-columns: 1fr;
  }

  .proof-grid > div,
  .proof-grid > div:nth-child(odd),
  .recovery-sequence li,
  .recovery-sequence li:nth-child(odd) {
    min-height: 0;
    border-top: 1px solid #b9c6cc;
    border-left: 0;
  }

  .proof-grid > div:first-child,
  .recovery-sequence li:first-child {
    border-top: 0;
  }

  .proof-grid strong {
    min-height: 0;
  }

  .driver-evidence dl > div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .driver-links {
    display: grid;
  }

  .driver-links .button {
    width: 100%;
  }
}
