:root { color-scheme: light dark; --bg:#f2f5f1; --surface:#fff; --soft:#e5eee9; --ink:#17221e; --muted:#506159; --border:#c7d4ce; --accent:#176a55; --strong:#0f4f3f; --rescue:#a15b20; --shadow:0 18px 50px rgb(23 50 39 / 10%); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { min-width:320px; scroll-behavior:smooth; background:var(--bg); }
body { margin:0; min-width:320px; background:var(--bg); color:var(--ink); line-height:1.6; }
a { color:var(--strong); text-underline-offset:.2em; }
a:focus-visible, summary:focus-visible { outline:3px solid #095fcc; outline-offset:3px; }
h1,h2,h3 { margin-top:0; line-height:1.08; letter-spacing:-.04em; }
h1 { max-width:12ch; font-size:clamp(3rem,8vw,6.4rem); }
h2 { font-size:clamp(2rem,5vw,3.5rem); }
h3 { font-size:1.35rem; }
p { color:var(--muted); }
.skip-link { position:fixed; z-index:10; top:.5rem; left:.5rem; transform:translateY(-160%); padding:.7rem 1rem; border-radius:.6rem; background:var(--ink); color:var(--surface); }
.skip-link:focus { transform:none; }
.site-header, footer { width:min(100% - 2rem,76rem); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem 0; }
.site-header nav, footer nav { display:flex; align-items:center; flex-wrap:wrap; gap:1.2rem; }
.site-header nav a, footer nav a { min-height:2.75rem; display:inline-flex; align-items:center; font-weight:700; text-decoration:none; }
.logo { display:flex; align-items:center; gap:.65rem; color:var(--ink); font-weight:850; text-decoration:none; }
.logo span { display:grid; place-items:center; width:2.6rem; height:2.6rem; border-radius:.8rem; background:var(--accent); color:#fff; }
.nav-cta { padding:.4rem .9rem; border-radius:.7rem; background:var(--accent); color:#fff !important; }
main { overflow:hidden; }
.hero, .section, .truth-strip, .final-cta { width:min(100% - 2rem,76rem); margin:0 auto; }
.hero { min-height:calc(100vh - 5rem); display:grid; grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr); align-items:center; gap:clamp(2rem,6vw,6rem); padding:clamp(3rem,8vw,7rem) 0; }
.eyebrow { margin:0 0 .7rem; color:var(--accent); font-size:.78rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.hero__lede { max-width:42rem; font-size:clamp(1.15rem,2vw,1.4rem); }
.hero__actions { display:flex; flex-wrap:wrap; gap:.8rem; margin:2rem 0; }
.button { min-height:3rem; display:inline-flex; align-items:center; justify-content:center; padding:.8rem 1.25rem; border:1px solid transparent; border-radius:.8rem; font-weight:800; text-decoration:none; }
.button--primary { background:var(--accent); color:#fff; box-shadow:0 10px 26px rgb(23 106 85 / 20%); }
.button--quiet { border-color:var(--border); background:var(--surface); }
.proof-row { list-style:none; display:flex; flex-wrap:wrap; gap:.65rem 1.4rem; margin:0; padding:0; color:var(--muted); font-size:.9rem; }
.proof-row li::before { content:"✓"; margin-right:.4rem; color:var(--accent); font-weight:850; }
.product-shot { width:min(100%,19rem); max-height:42rem; justify-self:center; margin:0; overflow:hidden; border:8px solid var(--ink); border-radius:2.3rem; background:var(--surface); box-shadow:var(--shadow); }
.product-shot img { display:block; width:100%; height:auto; }
.product-shot figcaption { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.truth-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:clamp(4rem,10vw,8rem); border:1px solid var(--border); border-radius:1.3rem; overflow:hidden; background:var(--surface); box-shadow:var(--shadow); }
.truth-strip div { display:flex; flex-direction:column; gap:.25rem; padding:1.4rem; border-right:1px solid var(--border); }
.truth-strip div:last-child { border:0; }
.truth-strip span { color:var(--muted); font-size:.9rem; }
.section { padding:clamp(3.5rem,8vw,7rem) 0; }
.section__intro { max-width:48rem; margin-bottom:2.5rem; }
.section__intro > p:last-child { font-size:1.08rem; }
.feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.feature-grid article { padding:clamp(1.4rem,3vw,2rem); border:1px solid var(--border); border-radius:1.2rem; background:var(--surface); }
.feature-number { display:block; margin-bottom:2rem; color:var(--accent); font-weight:850; }
.trust-section { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,6vw,6rem); align-items:center; padding-inline:clamp(1.2rem,4vw,3rem); border-radius:1.5rem; background:var(--strong); color:#fff; }
.trust-section h2,.trust-section .eyebrow,.trust-section a { color:#fff; }
.trust-section p { color:#d4e9e1; }
.fine { font-size:.9rem; }
.trust-list { list-style:none; margin:0; padding:0; display:grid; gap:.7rem; }
.trust-list li { display:flex; flex-direction:column; padding:1rem; border:1px solid rgb(255 255 255 / 28%); border-radius:.9rem; }
.trust-list span { color:#d4e9e1; font-size:.88rem; }
.source-links { display:flex; flex-wrap:wrap; gap:.7rem; }
.source-links a { min-height:2.75rem; display:inline-flex; align-items:center; padding:.55rem .85rem; border:1px solid var(--border); border-radius:.7rem; background:var(--surface); font-weight:700; }
.install-section { display:flex; align-items:center; justify-content:space-between; gap:2rem; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.install-section > div { max-width:46rem; }
.faq-section details { max-width:52rem; border-top:1px solid var(--border); }
.faq-section details:last-child { border-bottom:1px solid var(--border); }
.faq-section summary { min-height:4rem; display:flex; align-items:center; font-weight:800; cursor:pointer; }
.faq-section details p { margin-top:0; padding-bottom:1rem; }
.final-cta { margin-top:3rem; padding:clamp(3rem,7vw,6rem); border-radius:1.5rem; background:var(--soft); text-align:center; }
.final-cta h2 { max-width:18ch; margin-inline:auto; }
.final-cta p:last-child { font-size:.85rem; }
footer { align-items:flex-start; margin-top:3rem; padding-block:2rem; border-top:1px solid var(--border); }
footer p { max-width:28rem; margin:0; font-size:.82rem; text-align:right; }

body.legal { width:min(100% - 2rem,48rem); margin:0 auto; padding:2rem 0 5rem; }
.legal .legal-nav { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:3rem; }
.legal h1 { max-width:none; font-size:clamp(2.2rem,6vw,3.7rem); }
.legal h2 { margin-top:2.5rem; font-size:1.35rem; letter-spacing:-.02em; }
.legal .updated,.legal .note { color:var(--muted); font-size:.9rem; }
.legal li { margin-bottom:.45rem; }

@media (max-width:48rem) {
  .site-header nav a:not(.nav-cta) { display:none; }
  .hero { grid-template-columns:1fr; }
  .product-shot { width:min(85%,18rem); max-height:34rem; }
  .truth-strip,.feature-grid,.trust-section { grid-template-columns:1fr; }
  .truth-strip div { border-right:0; border-bottom:1px solid var(--border); }
  .install-section,footer { flex-direction:column; align-items:flex-start; }
  footer p { text-align:left; }
}
@media (prefers-color-scheme:dark) { :root { --bg:#111a17; --surface:#18231f; --soft:#203129; --ink:#eef5f1; --muted:#b8c7c0; --border:#364840; --accent:#69c7a6; --strong:#9ce0c7; --shadow:0 18px 50px rgb(0 0 0 / 28%); } .button--primary,.nav-cta,.logo span { color:#102018 !important; } .trust-section { background:#1a4d3e; } .trust-section h2,.trust-section .eyebrow,.trust-section a { color:#fff; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
