@charset "UTF-8";
:root {
  color-scheme: light;
  --bg: #f7f9fc; --surface: #fff; --ink: #192332; --muted: #58677b;
  --line: #dbe2ec; --accent: #2454df; --accent-ink: #fff; --accent-soft: #e7edff;
  --art: #e9effb; --orbit: #c5d2ed; --pool: #e4f1f5; --pool-ink: #183d4e;
  --water: #c6e5ee; --water-line: #a4cddc;
  --sans: "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { color-scheme: dark; --bg:#10141c; --surface:#171d28; --ink:#ecf0f8; --muted:#a8b4c6; --line:#2b3444; --accent:#8ca9ff; --accent-ink:#101c3d; --accent-soft:#1d2b4c; --art:#19243b; --orbit:#34486d; --pool:#162f3a; --pool-ink:#d4edf4; --water:#214b5d; --water-line:#396b7e; }
}
:root[data-theme="dark"] { color-scheme: dark; --bg:#10141c; --surface:#171d28; --ink:#ecf0f8; --muted:#a8b4c6; --line:#2b3444; --accent:#8ca9ff; --accent-ink:#101c3d; --accent-soft:#1d2b4c; --art:#19243b; --orbit:#34486d; --pool:#162f3a; --pool-ink:#d4edf4; --water:#214b5d; --water-line:#396b7e; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { margin:0; background:var(--bg); color:var(--ink); font: 16px/1.65 var(--sans); -webkit-font-smoothing:antialiased; }
::selection { background:var(--accent); color:var(--accent-ink); }
a { color:inherit; text-underline-offset:5px; }
button { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--accent); outline-offset:6px; border-radius:3px; }
button[hidden] { display:none; }
img,svg { max-width:100%; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-weight:600; }
h1 { font-size:clamp(3.2rem, 5.65vw, 5.35rem); line-height:1.045; letter-spacing:-.065em; }
h2 { font-size:clamp(2.3rem,3.45vw,3.35rem); line-height:1.15; letter-spacing:-.055em; }
h3 { letter-spacing:-.035em; }
.wrap { width:min(1248px, calc(100% - 112px)); margin-inline:auto; }
.icon { width:22px; height:22px; flex-shrink:0; vertical-align:middle; }
.accent { color:var(--accent); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:10; top:10px; left:20px; padding:10px 20px; background:var(--ink); color:var(--bg); transform:translateY(-200%); }
.skip-link:focus { transform:translateY(0); }
.site-header { display:flex; align-items:center; gap:30px; min-height:108px; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; white-space:nowrap; font-weight:700; font-size:23px; letter-spacing:-1px; line-height:1.2; }
.brand-mark { width:49px; height:29px; background:currentColor; mask:url('/assets/rover.svg') center/contain no-repeat; -webkit-mask:url('/assets/rover.svg') center/contain no-repeat; }
.brand-period { color:var(--accent); }
.site-header nav { display:flex; align-items:center; margin-left:auto; gap:32px; font-size:13px; font-weight:500; }
.site-header nav a { text-decoration:none; padding-block:12px; }
.site-header nav a:hover,.site-header nav a[aria-current] { color:var(--accent); }
.theme-toggle { display:grid; place-items:center; background:none; border:1px solid var(--line); border-radius:50%; width:42px; height:42px; cursor:pointer; color:var(--ink); flex-shrink:0; }
.theme-toggle:hover { background:var(--accent-soft); border-color:var(--accent); }
.theme-toggle .icon { width:19px; height:19px; }
.hero { display:grid; grid-template-columns:1.18fr 1fr; column-gap:32px; position:relative; padding-top:90px; }
.eyebrow { font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.hero .eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:27px; }
.status-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }
.hero-description { margin-top:25px; color:var(--muted); font-size:16px; line-height:1.85; letter-spacing:-.015em; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:26px; margin-top:30px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:50px; padding:13px 20px; border-radius:5px; text-decoration:none; font-size:12px; font-weight:600; transition:transform .2s,background .2s; }
.button.primary { background:var(--accent); color:var(--accent-ink); }
.button:hover { transform:translateY(-2px); }
.button .icon { width:18px; height:18px; }
.text-link { display:inline-flex; align-items:center; gap:12px; text-decoration:none; font-size:12px; font-weight:600; }
.text-link:hover { color:var(--accent); }
.text-link .icon { width:17px; height:17px; }
.hero-art { position:relative; display:grid; place-items:center; align-self:center; width:100%; aspect-ratio:1.08; margin-top:4px; }
.rover-planet { position:relative; width:82%; aspect-ratio:1; background:var(--art); border-radius:50%; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.rover-planet img { position:relative; width:95%; height:auto; transform:translateY(9%); filter:none; z-index:1; }
.planet-line { width:100%; height:25%; border-top:1px solid var(--orbit); position:absolute; bottom:0; transform:rotate(-12deg); }
.orbit { position:absolute; width:100%; height:41%; border:1px solid var(--orbit); border-radius:50%; transform:rotate(-29deg); z-index:2; pointer-events:none; }
.orbit-two { width:95%; height:94%; transform:rotate(-29deg); border-style:dashed; opacity:.5; }
.orbit-point { position:absolute; z-index:3; width:13px; height:13px; background:var(--accent); border:3px solid var(--bg); border-radius:50%; top:29%; right:2.5%; }
.art-cross { position:absolute; font-size:23px; font-weight:300; color:var(--accent); }
.cross-one { top:4%; right:23%; }.cross-two { bottom:18%; left:1%; font-size:17px; }
.art-coordinate { position:absolute; bottom:12%; right:4%; padding:6px 10px; background:var(--bg); color:var(--muted); font-size:9px; font-family:ui-monospace,monospace; transform:rotate(-6deg); z-index:3; }
.art-caption { position:absolute; top:6%; left:0; font-size:8px; letter-spacing:.15em; color:var(--muted); }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) .rover-planet img { filter:invert(1); } }
:root[data-theme="dark"] .rover-planet img { filter:invert(1); }
.hero-baseline { grid-column:1/-1; display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); margin-top:76px; padding-bottom:23px; font-size:10px; color:var(--muted); }
.hero-baseline a { text-decoration:none; }.hero-baseline a span { display:inline-block; margin-left:20px; color:var(--accent); }
.section { padding-top:90px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:40px; }
.section-heading .eyebrow { color:var(--accent); margin-bottom:22px; }
.section-heading > p { color:var(--muted); font-size:13px; line-height:1.9; padding-bottom:5px; }
.product-feature { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; background:var(--pool); color:var(--pool-ink); border-radius:12px; }
.product-copy { padding:48px; position:relative; z-index:1; }
.product-label { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; }
.pool-symbol { display:grid; place-items:center; width:31px; height:31px; border:1px solid color-mix(in srgb,var(--pool-ink) 25%,transparent); border-radius:9px; font-size:27px; line-height:1; padding-bottom:3px; }
.product-copy h3 { margin-top:30px; font-size:clamp(2rem,3.1vw,2.9rem); line-height:1.13; letter-spacing:-.05em; }
.product-copy > p:not(.product-label) { max-width:350px; margin-top:20px; opacity:.85; font-size:13px; line-height:1.9; }
.product-tags { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.product-tags span { padding:4px 10px; border:1px solid color-mix(in srgb,var(--pool-ink) 24%,transparent); border-radius:30px; font-size:9px; }
.product-links { display:flex; gap:25px; margin-top:35px; flex-wrap:wrap; }
.product-links a { display:inline-flex; align-items:center; gap:10px; font-size:10px; font-weight:600; text-decoration:none; }.product-links a:hover { text-decoration:underline; }.product-links .icon { width:16px; height:16px; }
.pool-art { position:relative; display:grid; place-items:center; overflow:hidden; padding:35px; min-height:430px; }
.water-disc { position:relative; width:min(350px,100%); aspect-ratio:1; background:var(--water); border-radius:50%; display:grid; place-items:center; }
.water-ring { position:absolute; border:1px solid var(--water-line); border-radius:50%; width:120%; height:120%; }.ring-two { width:148%; height:148%; }.ring-three { width:177%; height:177%; }
.pool-wave { width:44%; transform:rotate(-9deg); z-index:1; }
.water-spark { position:absolute; font-size:24px; font-weight:300; }.spark-one { top:11%; right:6%; }.spark-two { bottom:18%; left:7%; font-size:17px; }
.pool-art-name { position:absolute; left:0; right:0; bottom:30px; text-align:center; font-size:12px; font-weight:600; }.pool-art-name span { display:block; font-size:8px; font-weight:400; margin-top:3px; letter-spacing:.06em; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:45px; }
.services-grid article { position:relative; padding:28px 32px 0; border-left:1px solid var(--line); }.services-grid article:first-child { padding-left:0; border:0; }.services-grid article:last-child { padding-right:0; }
.service-number { position:absolute; right:32px; top:29px; color:var(--muted); font:10px ui-monospace,monospace; }.services-grid article:last-child .service-number { right:0; }
.services-grid > article > .icon { width:28px; height:28px; color:var(--accent); margin-bottom:26px; }
.services-grid h3 { font-size:19px; margin-bottom:12px; }.services-grid p { color:var(--muted); font-size:12px; line-height:1.95; max-width:300px; }
.contact-section { padding-block:72px; border-block:1px solid var(--line); margin-top:100px; display:grid; grid-template-columns:1fr auto; gap:26px; align-items:center; }
.contact-section .eyebrow { margin-bottom:22px; color:var(--accent); }.contact-section h2 { font-size:clamp(2rem,3.5vw,3.2rem); }.contact-section > p { grid-column:1/-1; color:var(--muted); font-size:12px; }
.site-footer { padding-top:42px; padding-bottom:25px; }.footer-top { display:flex; justify-content:space-between; align-items:center; gap:20px; }.footer-top .brand { font-size:18px; }.footer-top .brand-mark { width:38px; height:24px; }.footer-top p { font-size:11px; color:var(--muted); }.footer-bottom { display:flex; justify-content:space-between; gap:24px; margin-top:35px; font-size:10px; color:var(--muted); }.footer-bottom > div { display:flex; flex-wrap:wrap; gap:26px; }.footer-bottom a { text-decoration:none; }.footer-bottom a:hover { color:var(--accent); }.footer-bottom .icon { width:12px; height:12px; margin-left:4px; }
.back-link { display:inline-block; color:var(--muted); font-size:11px; text-decoration:none; margin-bottom:55px; }.back-link:hover { color:var(--accent); }
.support-intro { padding-block:46px 75px; }.support-intro .eyebrow { margin-bottom:22px; color:var(--accent); }.support-intro h1 { font-size:clamp(3rem,6.5vw,5.6rem); }.page-lead { font-size:18px; color:var(--muted); max-width:570px; margin-top:26px; line-height:1.8; }.email-link { display:inline-flex; align-items:center; gap:20px; font-size:clamp(1.15rem,2.8vw,2rem); letter-spacing:-.03em; margin-top:34px; text-decoration:none; border-bottom:1px solid var(--accent); padding-bottom:8px; color:var(--accent); }
.support-details { display:grid; grid-template-columns:1fr 1fr; gap:70px; border-top:1px solid var(--line); padding-block:65px; }.support-details .eyebrow { color:var(--accent); margin-bottom:18px; }.support-details h2 { font-size:36px; }.support-details > div > p:last-child { color:var(--muted); margin-top:15px; font-size:14px; }.support-details ol { margin:0; padding:0; list-style:none; }.support-details li { display:flex; gap:25px; padding-bottom:28px; }.support-details li > span { font-size:11px; color:var(--accent); padding-top:4px; }.support-details h3 { font-size:19px; margin-bottom:7px; }.support-details li p { color:var(--muted); font-size:13px; }.support-bottom { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-block:35px; border-block:1px solid var(--line); }.support-bottom h2 { font-size:24px; }.support-bottom p { color:var(--muted); margin-top:10px; font-size:12px; max-width:560px; }.support-bottom a { flex-shrink:0; }
.legal-layout { display:grid; grid-template-columns:240px 1fr; gap:70px; padding-block:45px 80px; border-bottom:1px solid var(--line); }.legal-sidebar .back-link { margin-bottom:70px; }.legal-sidebar .eyebrow { margin-bottom:22px; color:var(--accent); }.legal-sidebar p:not(.eyebrow),.legal-sidebar > a:not(.back-link) { font-size:11px; }.legal-sidebar > a:not(.back-link) { display:block; margin-top:15px; }.legal-sidebar .icon { width:14px; height:14px; }.legal-content { min-width:0; padding-top:70px; }.legal-content h1 { font-size:clamp(2.5rem,4.5vw,4rem); margin-bottom:30px; }.legal-content h2 { font-size:25px; margin:42px 0 15px; letter-spacing:-.035em; }.legal-content p,.legal-content li { font-size:14px; color:var(--muted); }.legal-content p { margin-block:16px; }.legal-content a { color:var(--accent); overflow-wrap:anywhere; }.legal-content ul { padding-left:22px; }.legal-content li { margin-block:8px; }.legal-content strong { color:var(--ink); }.legal-content blockquote { margin:20px 0; padding:1px 20px; border-left:3px solid var(--accent); background:var(--accent-soft); }.table-scroll { overflow-x:auto; margin-block:24px; }.legal-content table { border-collapse:collapse; font-size:12px; width:100%; min-width:440px; }.legal-content th,.legal-content td { border-bottom:1px solid var(--line); padding:14px; text-align:left; vertical-align:top; }.legal-content th { background:var(--accent-soft); }.legal-content td { color:var(--muted); }.draft-notice { padding:18px 22px; border:1px solid var(--accent); border-radius:5px; margin-bottom:32px; background:var(--accent-soft); }.draft-notice strong { color:var(--accent); font-size:13px; }.draft-notice p { font-size:12px; margin-bottom:0; }.legal-content > .eyebrow { color:var(--accent); }.legal-content > .text-link { margin-top:20px; }
.not-found { padding-block:100px; border-bottom:1px solid var(--line); }.not-found .eyebrow { color:var(--accent); margin-bottom:24px; }.not-found .button { margin-top:30px; }
@media (min-width:1600px) { .hero { padding-top:110px; }.hero-baseline { margin-top:95px; } }
@media (max-width:1100px) { .wrap { width:calc(100% - 72px); }.hero { column-gap:20px; padding-top:65px; }.hero-actions { gap:20px; }.hero-actions .text-link { font-size:11px; }.product-copy { padding:35px; }.product-links { gap:15px; }.pool-art { min-height:420px; }.section-heading > p br { display:none; }.section-heading > p { max-width:310px; }.services-grid article { padding-inline:24px; }.legal-layout { gap:35px; grid-template-columns:210px 1fr; } }
@media (max-width:760px) { .wrap { width:calc(100% - 40px); }.site-header { min-height:86px; gap:16px; flex-wrap:wrap; padding-block:18px; }.site-header .brand { font-size:20px; }.site-header .brand-mark { width:40px; height:25px; }.site-header nav { gap:20px; font-size:12px; }.theme-toggle { width:38px; height:38px; }.hero { padding-top:55px; grid-template-columns:1fr; }.hero h1 { font-size:clamp(3.4rem,9.7vw,5.2rem); }.hero-description { font-size:15px; }.hero-art { width:min(420px,80%); margin:45px auto 0; }.hero-baseline { margin-top:35px; font-size:9px; }.hero-baseline a { text-align:right; }.hero-baseline a span { margin-left:5px; }.section { padding-top:60px; }.section-heading { align-items:flex-start; flex-direction:column; gap:20px; margin-bottom:30px; }.section-heading .eyebrow { margin-bottom:17px; }.section-heading > p { font-size:13px; max-width:420px; }.product-feature { grid-template-columns:1fr; }.product-copy { padding:35px 30px; }.product-copy h3 { font-size:38px; }.product-copy > p:not(.product-label) { max-width:440px; }.product-links { gap:26px; }.pool-art { min-height:340px; padding:35px 50px 75px; }.water-disc { width:235px; }.pool-art-name { bottom:20px; }.services-grid { grid-template-columns:1fr; margin-top:0; }.services-grid article,.services-grid article:first-child { border:0; border-top:1px solid var(--line); padding:28px 0; }.services-grid article:last-child { padding-bottom:0; }.service-number,.services-grid article:last-child .service-number { right:0; }.services-grid > article > .icon { margin-bottom:18px; }.services-grid p { max-width:540px; font-size:13px; }.contact-section { margin-top:60px; padding-block:45px; grid-template-columns:1fr; gap:25px; }.contact-section .button { justify-self:start; grid-row:3; }.contact-section > p { font-size:12px; }.footer-top { align-items:flex-start; }.footer-top p { max-width:140px; text-align:right; font-size:10px; }.footer-bottom { flex-direction:column; gap:18px; margin-top:25px; }.footer-bottom > div { gap:24px; }.support-intro { padding-bottom:50px; }.support-intro .back-link { margin-bottom:40px; }.support-intro h1 { font-size:clamp(2.8rem,8.5vw,4.4rem); }.page-lead { font-size:16px; }.support-details { grid-template-columns:1fr; gap:30px; padding-block:45px 20px; }.support-bottom { flex-direction:column; align-items:flex-start; }.legal-layout { grid-template-columns:1fr; gap:10px; padding-top:30px; }.legal-sidebar .back-link { margin-bottom:28px; }.legal-sidebar > p:not(.eyebrow),.legal-sidebar > a:not(.back-link) { display:none; }.legal-content { padding-top:0; }.legal-content h1 { font-size:43px; }.not-found { padding-block:65px; } }
@media (max-width:520px) { .site-header { gap:0; }.site-header .brand { margin-right:auto; }.site-header nav { order:3; width:100%; justify-content:space-between; margin-top:17px; border-top:1px solid var(--line); padding-top:6px; }.site-header nav a { padding-block:9px 0; }.hero { padding-top:40px; }.hero .eyebrow { font-size:9px; }.hero h1 { font-size:clamp(2.9rem,10.6vw,4rem); }.hero-description { font-size:14px; }.desktop-break { display:none; }.hero-actions { gap:22px; }.hero-actions .text-link { font-size:11px; }.hero-art { width:88%; margin-top:40px; }.hero-baseline { align-items:flex-end; }.hero-baseline > span { max-width:120px; }.hero-baseline a { max-width:155px; }.hero-baseline a span { display:none; }.product-copy { padding:30px 24px; }.product-copy h3 { font-size:34px; }.product-links { flex-direction:column; gap:16px; }.pool-art { min-height:315px; }.water-disc { width:210px; }.contact-section h2 { font-size:30px; }.email-link { gap:10px; font-size:clamp(1rem,5vw,1.4rem); }.email-link .icon { width:18px; }.legal-content h1 { font-size:37px; }.footer-top .brand { font-size:16px; }.footer-top .brand-mark { width:30px; }.footer-top p { max-width:110px; }.footer-bottom > div { gap:18px; }.not-found h1 { font-size:42px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
@media print { .site-header,.site-footer,.legal-sidebar,.draft-notice,.skip-link { display:none; } :root { --bg:#fff; --ink:#000; --muted:#222; --accent:#000; --line:#ccc; color-scheme:light; } .wrap { width:100%; }.legal-layout { display:block; padding:0; }.legal-content { padding:0; }.legal-content h1 { font-size:30pt; }.legal-content h2 { break-after:avoid; } .table-scroll { overflow:visible; } }

/* Keep small utility links comfortable to read and tap. */
.product-links a { min-height:32px; font-size:12px; }
.product-links { gap:20px; }
.text-link { min-height:28px; }
.footer-bottom { font-size:11px; }
.footer-bottom a { display:inline-flex; align-items:center; min-height:28px; }
