/* Layout: a field trip told in order. Survey-sheet details (coordinates, grid zone readouts) as captions;
   one bold gesture: the satellite-to-LiDAR wipe. Everything else stays black and quiet. */
:root{
  color-scheme: dark;
  --bg:#060807;
  --bg-2:#0a0d0b;
  --panel:#0f1310;
  --panel-2:#141915;
  --line:rgba(225,255,232,.08);
  --line-2:rgba(225,255,232,.15);
  --text:#eef3ee;
  --muted:rgba(238,243,238,.70);
  --faint:rgba(238,243,238,.48);
  --lime:#39FF14;
  --green:#25E766;
  --cyan:#00BCFB;
  --gold:#FFD25A;
  --grad:linear-gradient(90deg,#39FF14 0%,#25E766 30%,#00BCFB 100%);
  --display:'Archivo',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --body:'Archivo',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --max:1200px;
  --gut-l:max(20px, env(safe-area-inset-left, 0px));
  --gut-r:max(20px, env(safe-area-inset-right, 0px));
}
*{box-sizing:border-box}
html{scroll-behavior:auto;scroll-padding-top:84px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:rgba(6,8,7,.92)}
img,video{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.wrap{max-width:calc(var(--max) + 40px);margin:0 auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}

/* type */
.kicker{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);display:inline-flex;align-items:center;gap:10px}
.kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px rgba(57,255,20,.7)}
h1,h2,h3{font-family:var(--display);font-stretch:116%;font-weight:800;letter-spacing:-.028em;line-height:1.02;margin:0;text-wrap:balance}
h1{font-size:clamp(44px,7.2vw,92px)}
h2{font-size:clamp(34px,4.6vw,60px)}
h3{font-size:clamp(28px,3.2vw,42px)}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:clamp(18px,1.9vw,21px);color:var(--muted);max-width:34em;margin:0}
p{margin:0}
.muted{color:var(--muted)}
.mono{font-family:var(--mono)}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.store{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:9px 22px 9px 18px;border-radius:14px;text-decoration:none;background:var(--grad);color:#041006;font-weight:700;line-height:1.1;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 34px -10px rgba(37,231,102,.55)}
.store svg{width:26px;height:26px;flex:none}
.store small{display:block;font-size:11px;font-weight:600;letter-spacing:.02em;opacity:.78}
.store b{display:block;font-size:19px;font-weight:800;font-stretch:108%}
.store.outline{background:transparent;color:var(--text);box-shadow:none;position:relative;isolation:isolate}
.store.outline::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:-1}
.store:hover{transform:translateY(-2px)}
.btn-sm{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:999px;background:var(--grad);color:#041006;font-weight:700;font-size:15px;text-decoration:none}
.textlink{font-weight:600;text-decoration:none;color:var(--text);border-bottom:1px solid var(--line-2);padding-bottom:2px}
.textlink:hover{border-color:var(--green)}
.micro{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:.02em}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(6,8,7,.94);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-stretch:118%;font-weight:800;font-size:17px;letter-spacing:-.01em;white-space:nowrap}
.brand img{height:30px;width:auto}

/* hero */
.hero{position:relative;padding-block:clamp(48px,7vw,96px) clamp(56px,7vw,104px);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto;height:120%;background:radial-gradient(40% 50% at 18% 20%,rgba(57,255,20,.10),transparent 70%),radial-gradient(45% 55% at 85% 30%,rgba(0,188,251,.10),transparent 72%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:26px;min-width:0}
.hero-copy h1 span{display:block}
.proofline{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--muted)}
.stars{color:var(--gold);letter-spacing:2px;font-size:15px;text-shadow:0 0 10px rgba(255,210,90,.35)}
.hero-visual{position:relative;min-width:0;padding-bottom:40px;padding-right:12px}
.plate{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/10;border:1px solid var(--line-2);box-shadow:0 40px 90px -40px rgba(0,0,0,.9),0 0 70px -20px rgba(37,231,102,.18);background:#0b0e0c}
.plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@property --pos{syntax:'<percentage>';inherits:true;initial-value:50%}
.plate .top{clip-path:inset(0 0 0 var(--pos))}
.plate .seam{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--grad);box-shadow:0 0 18px rgba(37,231,102,.8)}
.hero .plate{--pos:16%}
@media (prefers-reduced-motion:no-preference){
  .hero .plate{animation:sweep 3.2s cubic-bezier(.65,0,.25,1) .5s both}
  @keyframes sweep{from{--pos:100%}to{--pos:16%}}
}
.tag{position:absolute;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:8px;background:rgba(6,8,7,.84);border:1px solid var(--line-2)}
.tag.tl{top:14px;left:14px}.tag.tr{top:14px;right:14px;color:var(--lime)}.tag.bl{bottom:14px;left:14px;color:var(--muted)}.tag.br{bottom:14px;right:14px;color:var(--muted)}
.hero-phone.phone{position:absolute;right:-10px;bottom:-34px;width:clamp(140px,27%,220px)}

/* phone frame */
.phone{position:relative;border-radius:clamp(26px,3.4vw,38px);padding:7px;background:linear-gradient(160deg,#2a302b,#0d100e 40%,#1c211d);box-shadow:0 0 0 1px rgba(255,255,255,.07),0 34px 70px -28px rgba(0,0,0,.95),0 0 50px -18px rgba(37,231,102,.25)}
.phone img{width:100%;height:auto;border-radius:clamp(20px,2.8vw,31px);aspect-ratio:600/1304;object-fit:cover;background:#000}

/* proof strip */
.strip{border-block:1px solid var(--line);background:rgba(10,13,11,.78)}
.strip .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:26px}
.strip .wrap > div{padding:6px 22px;border-left:1px solid var(--line);min-width:0}
.strip .wrap > div:first-child{border-left:0;padding-left:0}
.strip b{display:block;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;line-height:1.1}
.strip span{font-size:14px;color:var(--muted)}
@media (max-width:820px){.strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}.strip .wrap > div:nth-child(3){border-left:0;padding-left:0}.strip .wrap > div{padding-right:12px}}

/* section shells */
section{position:relative}
.sec{padding-block:clamp(72px,9vw,128px)}
.sec-head{display:flex;flex-direction:column;gap:18px;max-width:780px;margin-bottom:clamp(40px,5vw,72px)}
.alt{background:rgba(10,13,11,.74);border-block:1px solid var(--line)}

/* chapters */
.trip{position:relative}
.chapter{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,88px);align-items:center;padding-block:clamp(48px,6vw,88px);border-top:1px solid var(--line)}
.chapter:first-of-type{border-top:0;padding-top:0}
.chapter.flip .ch-copy{order:2}
.ch-copy{display:flex;flex-direction:column;gap:20px;min-width:0}
.ch-num{display:flex;align-items:baseline;gap:14px}
.ch-num b{font-family:var(--display);font-stretch:125%;font-weight:900;font-size:56px;line-height:.9;letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ch-num span{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.ticks{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.ticks li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:16px;color:var(--text);line-height:1.5}
.ticks li::before{content:"";width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--grad);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='9' fill='%23000'/%3E%3Cpath d='M5 9.4l2.6 2.5L13 6.6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M9 0a9 9 0 1 0 0 18A9 9 0 0 0 9 0zm4.7 7.3l-5.4 5.3a1 1 0 0 1-1.4 0L4.3 10a1 1 0 1 1 1.4-1.4l1.9 1.8 4.7-4.6a1 1 0 0 1 1.4 1.5z'/%3E%3C/svg%3E") center/contain no-repeat}
.ticks small{display:block;font-size:14px;color:var(--faint);margin-top:2px}

.stage{position:relative;min-width:0}
.phones{display:grid;gap:clamp(14px,2vw,26px);align-items:end}
.phones.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px;margin-inline:auto}
.phones.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.phones .lift{transform:translateY(-34px)}
.cap{margin-top:14px;font-family:var(--mono);font-size:11.5px;line-height:1.55;color:var(--faint);letter-spacing:.02em}
.cap b{color:var(--muted);font-weight:500}

/* chapter 1 composition */
.c1{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(14px,2vw,24px);align-items:start}
.panel-card{border-radius:22px;overflow:hidden;border:1px solid var(--line-2);background:#000;box-shadow:0 30px 70px -34px rgba(0,0,0,.95)}
.panel-card img{width:100%;height:auto}
.c1 .phone{margin-top:46px}
.quote{margin-top:22px;padding:18px 20px;border-radius:16px;background:var(--panel);border:1px solid var(--line);font-size:15px;color:var(--muted)}
.quote b{color:var(--gold);font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:6px;font-weight:500}

/* lidar compare */
.cmp-wrap{display:flex;flex-direction:column;gap:16px;margin-bottom:clamp(40px,5vw,64px)}
.cmp{--pos:50%;position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line-2);background:#0b0e0c;touch-action:pan-y;user-select:none;-webkit-user-select:none;box-shadow:0 40px 90px -44px rgba(0,0,0,.95)}
.cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.cmp .top{clip-path:inset(0 0 0 var(--pos))}
.cmp .seam{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--grad);box-shadow:0 0 20px rgba(37,231,102,.8);pointer-events:none}
.knob{position:absolute;top:50%;left:var(--pos);width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:var(--grad);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.5);pointer-events:none}
.knob svg{width:22px;height:22px}
.cmp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.cmp input:focus-visible ~ .knob{outline:3px solid #fff;outline-offset:3px}
.looks{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.looks::-webkit-scrollbar{display:none}
.look{flex:none;display:flex;flex-direction:column;gap:7px;align-items:center;background:none;border:0;padding:0;color:var(--muted);font:500 12.5px var(--body);cursor:pointer}
.look img{width:84px;height:56px;object-fit:cover;border-radius:10px;border:2px solid transparent;opacity:.72;transition:opacity .2s,border-color .2s}
.look[aria-pressed="true"]{color:var(--text)}
.look[aria-pressed="true"] img{border-color:var(--green);opacity:1}
.look:hover img{opacity:1}
.look-note{font-size:15px;color:var(--muted);min-height:3em;max-width:62em}
.cover{margin-top:8px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cover table{width:100%;border-collapse:collapse;font-size:14.5px}
.cover th,.cover td{text-align:left;padding:11px 16px;border-top:1px solid var(--line)}
.cover tr:first-child th,.cover tr:first-child td{border-top:0}
.cover th{font-weight:600;color:var(--text)}
.cover td{color:var(--muted)}
.cover th{width:58%}
.cover .head th,.cover .head td{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);background:var(--panel)}

/* car */
.car{margin-top:clamp(28px,4vw,48px);display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(14px,2vw,22px);align-items:stretch}
.screen{position:relative;border-radius:18px;overflow:hidden;border:6px solid #151916;background:#000;box-shadow:0 0 0 1px rgba(255,255,255,.07),0 30px 60px -30px rgba(0,0,0,.9)}
.screen video,.screen img{width:100%;height:100%;object-fit:cover}
.screen .tag{top:10px;left:10px}

/* privacy band */
.band{background:radial-gradient(60% 90% at 20% 0%,rgba(57,255,20,.08),transparent 70%),radial-gradient(60% 90% at 90% 100%,rgba(0,188,251,.08),transparent 70%),rgba(10,13,11,.72);border-block:1px solid var(--line)}
.priv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.priv div{background:var(--bg-2);padding:26px 24px;display:flex;flex-direction:column;gap:10px;min-width:0}
.priv b{font-family:var(--display);font-stretch:110%;font-weight:700;font-size:19px;line-height:1.25}
.priv p{font-size:15px;color:var(--muted)}
@media (max-width:980px){.priv{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.priv{grid-template-columns:minmax(0,1fr)}}

/* community */
.comm{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr);gap:clamp(32px,6vw,88px);align-items:center}
.comm .phone{max-width:300px;margin-inline:auto}

/* regions */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.tab{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line-2);background:var(--panel);color:var(--muted);font:600 15px var(--body);cursor:pointer;transition:color .2s,border-color .2s,background .2s}
.tab:hover{color:var(--text)}
.tab[aria-selected="true"]{color:#041006;background:var(--grad);border-color:transparent}
.region{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,64px);padding:clamp(24px,3vw,40px);border:1px solid var(--line);border-radius:24px;background:var(--panel)}
.region h3{font-size:clamp(26px,2.8vw,36px);margin-bottom:14px}
.region .side{display:flex;flex-direction:column;gap:14px;min-width:0}
.region .flag{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.layers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.layers li{padding:16px 18px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);min-width:0}
.layers b{display:block;font-weight:700;font-size:16px;margin-bottom:4px}
.layers span{font-size:14px;color:var(--muted);line-height:1.5}
.pill{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:6px;margin-left:6px;vertical-align:2px;border:1px solid}
.pill.free{color:var(--text);border-color:var(--line-2)}
.pill.exp{color:var(--green);border-color:rgba(37,231,102,.45)}
.pill.pro{color:var(--gold);border-color:rgba(255,210,90,.45)}
.pill.add{color:#ffb26b;border-color:rgba(255,178,107,.45)}

/* plans */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.plan{display:flex;flex-direction:column;gap:18px;padding:30px 26px;border-radius:22px;background:var(--panel);border:1px solid var(--line);min-width:0}
.plan.hot{position:relative;background:linear-gradient(var(--panel-2),var(--panel-2)) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 30px 80px -40px rgba(37,231,102,.45)}
.plan-name{display:flex;align-items:center;justify-content:space-between;gap:12px}
.plan-name b{font-family:var(--display);font-stretch:116%;font-weight:800;font-size:28px;letter-spacing:-.02em}
.plan-name span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.plan.hot .plan-name span{color:var(--lime)}
.plan > p{font-size:15.5px;color:var(--muted)}
.plan .ticks{margin:0}
.plan .ticks li{font-size:15px}
.plan-note{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:13.5px;color:var(--faint)}
.trial{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;padding:22px 26px;border-radius:18px;border:1px solid var(--line);background:var(--bg-2)}
.trial p{font-size:15px;color:var(--muted)}
.trial strong{color:var(--text)}

/* sources */
.sources{display:flex;flex-wrap:wrap;gap:10px}
.sources span{padding:10px 16px;border-radius:999px;border:1px solid var(--line-2);font-size:14.5px;color:var(--muted);background:var(--panel)}

/* faq */
.faq{border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0;font-family:var(--display);font-stretch:108%;font-weight:700;font-size:clamp(18px,1.9vw,21px)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg) translateY(-4px);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.faq details p{padding:0 0 24px;color:var(--muted);max-width:44em}

/* close */
.close{text-align:center;padding-block:clamp(88px,11vw,150px);background:radial-gradient(55% 80% at 50% 100%,rgba(37,231,102,.14),transparent 70%)}
.close .wrap{display:flex;flex-direction:column;align-items:center;gap:26px}
.close .btns{justify-content:center}
.close .lead{margin-inline:auto}


/* live ground: contour field (WebGL) + coil, Trail and signals (2D), both behind the content */
.ground{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:0;pointer-events:none;display:block}
@supports (height:100lvh){.ground{height:100lvh}}
main,footer{position:relative;z-index:1}

/* responsive */
@media (max-width:980px){
  .hero-grid,.chapter,.comm,.region{grid-template-columns:minmax(0,1fr)}
  .chapter.flip .ch-copy{order:0}
  .hero-visual{max-width:640px}
  .layers{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .plans{grid-template-columns:minmax(0,1fr)}
  .car{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  body{font-size:16px}
  .phones.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .phones .lift{transform:translateY(-18px)}
  .phone{padding:4px}
  .ch-num b{font-size:44px}
  .store{min-height:52px;padding:8px 18px 8px 14px}
  .store b{font-size:17px}
  .tag{font-size:10px;padding:5px 8px}
  .tag.bl,.tag.br{display:none}
  .hero .tag.tr{display:none}
  .cover th,.cover td{padding:10px 12px}
  .hero-phone.phone{width:34%;right:-4px;bottom:-26px}
  .c1 .phone{margin-top:24px}
}

/* Site chrome shared by /app/ and the Library: region bar, main nav, mobile menu, footer.
   Markup and links follow the live detectormaps.com chrome (see chrome.json). No Elementor CSS is used.
   Nothing here blurs what is behind it: the contour light behind the page stays a plain fixed layer. */

[hidden]{display:none!important}
body{margin:0}

/* fonts: Archivo (Latin, weight 400 to 900, width 100 to 118) and JetBrains Mono 500, both self-hosted, SIL Open Font Licence */
@font-face{font-family:'Archivo';src:url(/app/assets/archivo-latin.35c5514826.woff2) format('woff2');font-weight:400 900;font-stretch:100% 118%;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(/app/assets/jetbrains-mono-500.4fca169dbf.woff2) format('woff2');font-weight:400 600;font-style:normal;font-display:swap}

/* main nav */
.nav{background:rgba(6,8,7,.97)}
.nav .wrap{gap:18px}
.brand{flex:none}
.nl{display:flex;gap:2px;list-style:none;margin:0 0 0 auto;padding:0;align-items:center;min-width:0}
.nl a{display:inline-block;padding:8px 10px;border-radius:999px;font-size:14px;font-weight:500;line-height:1;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .2s,background .2s}
.nl a:hover{color:var(--text);background:rgba(255,255,255,.05)}
.nl a[aria-current]{color:var(--text);background:rgba(255,255,255,.08)}
.nav-cta{display:flex;gap:10px;align-items:center;flex:none}
.btn-sm.ghost{background:transparent;color:var(--text);position:relative;isolation:isolate;padding:0 17px}
.btn-sm.ghost::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:-1}
.mm{display:none;flex:none}
.mm summary{list-style:none;cursor:pointer;width:44px;height:44px;border:1px solid var(--line-2);border-radius:12px;background:var(--bg-2);display:grid;place-items:center;color:var(--text)}
.mm summary::-webkit-details-marker{display:none}
.mm summary svg{width:20px;height:20px}
.mm[open] summary{border-color:var(--green)}
.mm-panel{position:absolute;left:0;right:0;top:100%;background:#070a08;border-bottom:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.95);padding:10px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px));max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);overflow:auto}
.mm-panel ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}
.mm-panel li a{display:block;padding:13px 4px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;font-weight:600;font-size:16px}
.mm-panel li a[aria-current]{color:var(--lime)}
.mm-panel .mm-cta{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:1180px){
  .nl{display:none}
  .mm{display:block}
  .nav-cta{margin-left:auto}
}
@media (max-width:560px){.mm-panel ul{grid-template-columns:minmax(0,1fr)}}

/* footer */
.sfoot{border-top:1px solid var(--line);padding-block:48px 30px;color:var(--faint);font-size:14px;background:rgba(6,8,7,.9)}
.sfoot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:30px 36px}
.sfoot .fb img{height:30px;width:auto}
.sfoot .fb p{margin-top:14px;max-width:22em;color:var(--muted);font-size:14.5px}
.sfoot h2{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 14px;line-height:1.3;font-stretch:100%}
.sfoot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sfoot a{color:var(--muted);text-decoration:none;font-size:14.5px}
.sfoot a:hover{color:var(--text)}
.sfoot-credit{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;color:var(--faint);max-width:62em}
.sfoot-base{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;justify-content:space-between;font-size:13.5px}
.sfoot-base .legal{display:flex;flex-wrap:wrap;gap:8px 22px}
.sfoot-base a{text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px;font-size:13.5px}
@media (max-width:980px){.sfoot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sfoot .fb{grid-column:1 / -1}}
@media (max-width:480px){.sfoot-grid{grid-template-columns:minmax(0,1fr)}}

/* the credit line that sits with every satellite picture */
.credit-line{font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;line-height:1.55;color:var(--faint);max-width:62em}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:10px;background:var(--bg-2);border:1px solid var(--green);color:var(--text);text-decoration:none;font-weight:600}
.skip:focus{top:12px}

/* app page: credit line under the hero picture, kept clear of the phone that overlaps its corner */


/* The install path and the page parts added for one-country pages: the country switcher, the install zone (device-aware
   buttons, QR for desktop), the sticky bar, the UK consent bar, the app page sections and the Library hero.
   One filled gradient button per zone. Nothing here blurs what is behind it. */

/* ---------- header: country switcher and the outline Get the app */
.nav .wrap{position:relative}
.nav-cta{position:relative}
.cc{position:relative}
.cc summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 15px;border-radius:999px;border:1px solid var(--line-2);color:var(--text);font:600 14px var(--body);white-space:nowrap;background:rgba(10,13,11,.6)}
.cc summary::-webkit-details-marker{display:none}
.cc summary:hover,.cc[open] summary{border-color:rgba(37,231,102,.5)}
.cc summary svg{width:10px;height:7px;color:var(--green)}
.cc-short{display:none}
.cc-list{position:absolute;right:0;top:calc(100% + 8px);z-index:70;min-width:236px;margin:0;padding:8px;list-style:none;border-radius:16px;background:#080b09;border:1px solid var(--line-2);box-shadow:0 30px 60px -20px rgba(0,0,0,.9)}
.cc-list a{display:block;padding:11px 12px;border-radius:10px;text-decoration:none;color:var(--text);font-weight:600;font-size:15px}
.cc-list a:hover{background:rgba(255,255,255,.06)}
.cc-list a[aria-current]{color:var(--lime)}
.gpop{position:absolute;right:0;top:calc(100% + 8px);z-index:70;width:272px;padding:18px;border-radius:18px;background:#080b09;border:1px solid var(--line-2);box-shadow:0 30px 60px -20px rgba(0,0,0,.9);display:flex;flex-direction:column;gap:14px;align-items:center}
.gpop[hidden]{display:none}
.gp-h{font-family:var(--display);font-stretch:112%;font-weight:700;font-size:17px;align-self:flex-start}
.gp-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.store-sm{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);color:var(--text);text-decoration:none;font:600 14px var(--body)}
.store-sm:hover{border-color:var(--green)}
@media (max-width:560px){
  .cc-full{display:none}
  .cc-short{display:inline}
  .cc summary{padding:0 12px;gap:7px}
  .nav .wrap{gap:10px}
  .nav-cta{gap:8px}
  .nav-cta .btn-sm{padding:0 13px;font-size:14px}
  .cc-list{right:-50px}
  .gpop{display:none}
}

/* ---------- QR card and the install zone */
.qr-card{display:flex;flex-direction:column;gap:10px;align-items:center;width:max-content;max-width:100%}
.qr-card svg{width:160px;height:160px;border-radius:12px;display:block;background:#fff}
.qr-card.sm svg{width:132px;height:132px}
.qr-card span{font-size:13px;color:var(--muted);text-align:center;max-width:176px;line-height:1.4}
.zone{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.z-phone{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.z-phone .micro,.z-desk .micro{line-height:1.5}
.z-desk{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.desk-acts{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.stores-txt{font-size:14px;color:var(--muted)}
.stores-txt a,.other a,.webline a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.stores-txt a:hover,.other a:hover,.webline a:hover{text-decoration-color:var(--green)}
.other{margin:0;font-size:14.5px}
.other a{display:none}
.webline{margin:2px 0 0;font-size:14.5px}
html:not(.js) .z-desk{display:none}
html[data-platform="desktop"] .z-phone{display:none}
html[data-platform="ios"] .z-desk,html[data-platform="android"] .z-desk{display:none}
html[data-platform="ios"] .go-android,html[data-platform="android"] .go-ios{display:none}
html[data-platform="ios"] .o-android{display:inline}
html[data-platform="android"] .o-ios{display:inline}
.zone .store{min-height:56px;padding:9px 26px;justify-content:center;text-align:left}
.zone .store span{display:block}
/* without script both buttons show: the first is filled, the second an outline. With a device flag, the matching one is filled. */
.store.go-android{background:transparent;color:var(--text);box-shadow:none;position:relative;isolation:isolate}
.store.go-android::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:-1}
html[data-platform="android"] .store.go-android{background:var(--grad);color:#041006;box-shadow:0 10px 34px -10px rgba(37,231,102,.55)}
html[data-platform="android"] .store.go-android::before{display:none}
.only-phone{display:none}
html[data-platform="ios"] .only-phone,html[data-platform="android"] .only-phone{display:inline-block}
@media (max-width:560px){.zone .store{width:100%;max-width:340px}.z-phone .btns{width:100%}}

/* ---------- sticky bar (phones and tablets only) */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;gap:10px;padding:10px max(14px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));background:rgba(6,8,7,.96);border-top:1px solid var(--line-2)}
.sticky[hidden]{display:none}
.sticky img{width:34px;height:34px;border-radius:9px;flex:none}
.sticky .btn-sm{padding:0 16px;flex:none}
.st-t{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}
.st-t b{font-size:15px}
.st-t span{font-size:12px;color:var(--muted);line-height:1.25}
.st-x{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}
.st-x svg{width:18px;height:18px}
html[data-platform="desktop"] .sticky,html:not(.js) .sticky{display:none}
html[data-platform="ios"] .sfoot,html[data-platform="android"] .sfoot{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
@media (prefers-reduced-motion:no-preference){.sticky:not([hidden]){animation:stup .15s ease-out}@keyframes stup{from{transform:translateY(100%)}to{transform:none}}}

/* ---------- UK consent bar: Accept and Reject look the same on purpose */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:65;max-width:660px;margin-inline:auto;padding:16px 18px;border-radius:16px;background:#0a0d0b;border:1px solid var(--line-2);display:flex;gap:14px 20px;align-items:center;flex-wrap:wrap;box-shadow:0 30px 60px -20px rgba(0,0,0,.9)}
.consent[hidden]{display:none}
.consent p{flex:1 1 280px;font-size:14px;line-height:1.5;color:var(--muted)}
.c-btns{display:flex;gap:10px}
.c-btns button{min-height:44px;min-width:120px;padding:0 24px;border-radius:999px;border:1.5px solid var(--green);background:transparent;color:var(--text);font:600 15px var(--body);cursor:pointer}
.c-btns button:hover{background:rgba(37,231,102,.1)}

/* ---------- shared bits */
.px{position:absolute;right:6px;bottom:6px;font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.03em;line-height:1;padding:3px 6px;border-radius:5px;background:rgba(6,8,7,.82);color:rgba(238,243,238,.74);pointer-events:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.modes{display:inline-flex;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--line-2);background:rgba(10,13,11,.6);align-self:flex-start}
.modes a{display:inline-flex;align-items:center;min-height:38px;padding:0 18px;border-radius:999px;color:var(--muted);font:600 14.5px var(--body);text-decoration:none;border:0}
.modes a[aria-current]{background:var(--grad);color:#041006}
.modes a:hover:not([aria-current]){color:var(--text)}
.places a{text-decoration:none}

/* place and state links (the Does it cover my area card, Library hubs) */
.places{display:flex;flex-wrap:wrap;gap:8px}
.places a{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted);font:600 14px var(--body);text-decoration:none;transition:color .2s,border-color .2s}
.places a:hover{color:var(--text);border-color:rgba(37,231,102,.4)}
.places a i{font-style:normal;font-family:var(--mono);font-size:11px;opacity:.7}

/* ---------- app page: hero */
.hero-copy h1{font-size:clamp(38px,4.8vw,72px);line-height:1.03}
.hero-copy h1 span{display:block}
.hero-copy .lead{max-width:30em}
.hchips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:-6px 0 0;padding:0}
.hchips li{padding:6px 13px;border-radius:999px;border:1px solid var(--line-2);font-size:13.5px;color:var(--muted)}
.hero-grid{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hero .z-desk{flex-wrap:nowrap;gap:26px;align-items:flex-start}
.hero-visual{padding-bottom:0;padding-right:12px}
.plate.still img{object-position:center}
.plate.still .tag.tl{left:14px;top:14px;right:auto;color:var(--lime)}
.plate.still .tag.bl{bottom:14px;left:14px}
.hero-phone{position:absolute;right:-10px;bottom:-34px;width:clamp(140px,27%,220px)}
.phone-tag{position:absolute;left:-6px;top:14px;transform:translateX(-30%);color:var(--lime);white-space:nowrap}
.hero-credit{position:relative;margin:14px 0 0;max-width:calc(100% - clamp(170px,32%,250px));display:flex;flex-direction:column;gap:2px;min-height:64px}
.hero-credit span{opacity:.8}
@media (max-width:980px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-visual{max-width:640px}
}
@media (max-width:560px){
  .hero{padding-block:30px 40px}
  .hero-copy{gap:20px}
  .hero-copy h1{font-size:clamp(34px,10.4vw,44px)}
  .hero-phone{width:34%;right:-4px}
  .hero-credit{font-size:10.5px;max-width:60%}
  .phone-tag{display:none}
}

/* proof strip with a review below */
.strip b{font-size:clamp(22px,2.4vw,30px)}

/* free first */
.freestrip{padding-block:44px;border-bottom:1px solid var(--line);background:rgba(10,13,11,.6)}
.free-in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(20px,4vw,56px);align-items:center}
.free-h{display:flex;flex-direction:column;gap:10px}
.free-h h2{font-size:clamp(26px,3vw,38px)}
.chips.big .chip,.chips.big li{padding:9px 16px;border-radius:999px;border:1px solid var(--line-2);font-size:15px;color:var(--text);background:var(--panel)}
.freestrip .small{margin-top:16px;font-size:14px;color:var(--faint)}
@media (max-width:820px){.free-in{grid-template-columns:minmax(0,1fr)}}

/* chapters */
.chapter .ph{min-width:0}
.phones.one{grid-template-columns:minmax(0,1fr);max-width:260px;margin-inline:auto}
.phones.two .ph:nth-child(2){transform:translateY(-34px)}
.phones.three .ph:nth-child(2){transform:translateY(-34px)}
.phones .lift{transform:none}
.chapter.solo{grid-template-columns:minmax(0,1fr);max-width:760px}
.wide{position:relative;margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:16/9;background:#0b0e0c;box-shadow:0 30px 70px -34px rgba(0,0,0,.95)}
.wide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stage .wide + .cap{margin-top:10px}
.stage .wide{margin-top:18px}
.stage .phones + .wide{margin-top:34px}
.stage > .credit-line{margin-top:14px}
.cmp-wrap .credit-line{margin-top:-4px}
.look{min-width:84px}
.look img{width:84px;height:56px;border-radius:10px;border:2px solid transparent;object-fit:cover;opacity:.72}
.look[aria-pressed="true"] img{border-color:var(--green);opacity:1}
.rev.big{margin-top:36px;max-width:860px}
@media (max-width:560px){.phones.two .ph:nth-child(2),.phones.three .ph:nth-child(2){transform:translateY(-18px)}}

/* mid band */
.mid{padding-block:clamp(36px,5vw,64px)}
.mid-in{display:flex;flex-wrap:wrap;gap:28px 48px;align-items:center;justify-content:space-between;padding:clamp(24px,3vw,40px);border-radius:24px;border:1px solid var(--line);background:rgba(15,19,16,.85)}
.mid h2{font-size:clamp(28px,3.6vw,46px);margin-bottom:8px}

/* reviews */
.reviews{padding-block:clamp(36px,5vw,64px)}
.reviews .wrap{display:flex;flex-direction:column;gap:36px}
.rev{margin:0;padding:22px 24px;border-radius:20px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px;max-width:760px}
.rev blockquote{margin:0}
.rev p{font-size:18px;line-height:1.5;color:var(--text)}
.rev .rt{font-size:16px;font-weight:700}
.rev figcaption{font-size:13px;color:var(--faint)}
.rev figcaption b{color:var(--muted);font-weight:600}
.rev .stars{font-size:14px}
.pullq{margin:0 0 30px;padding:2px 0 2px 22px;border-left:3px solid #25E766;max-width:44em}
.pullq p{font-family:var(--display);font-stretch:112%;font-weight:700;font-size:clamp(20px,2.4vw,28px);line-height:1.25;letter-spacing:-.01em}
.pullq figcaption{margin-top:10px;font-size:13.5px;color:var(--faint)}
.pullq.inline{margin:14px 0 0;padding-left:16px}
.pullq.inline p{font-size:17px;font-stretch:104%}
.vids{display:flex;flex-direction:column;gap:20px}
.vh{display:flex;flex-direction:column;gap:10px}
.vh h3{font-size:clamp(22px,2.6vw,32px)}
.vlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vid{display:flex;flex-direction:column;gap:10px;width:100%;text-align:left;padding:0;border:0;background:none;color:var(--text);cursor:pointer;font:inherit}
.vid .vp{position:relative;display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line-2);background:#000;aspect-ratio:16/9}
.vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vid .vp svg{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;transition:transform .2s}
.vid:hover .vp svg{transform:scale(1.08)}
.vid .vt{display:flex;flex-direction:column;gap:2px}
.vt i{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--lime)}
.vt b{font-size:13.5px;color:var(--muted);font-weight:600}
.vt em{font-style:normal;font-size:14px;line-height:1.35;color:var(--text)}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:820px){.vlist{grid-template-columns:minmax(0,1fr)}}

/* plans with prices */
.plans.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px}
@media (max-width:860px){.plans.two{grid-template-columns:minmax(0,1fr)}}
.price{display:flex;flex-direction:column;gap:3px;font-size:15px;color:var(--muted)}
.price b{font-family:var(--display);font-stretch:114%;font-weight:800;font-size:clamp(30px,3vw,38px);color:var(--text);letter-spacing:-.02em;line-height:1.1}
.price span{display:block}
.price .pm{display:block;font-size:15px;color:var(--muted)}
.price span:not(.pm) b{font-size:inherit;font-family:var(--body);font-stretch:100%;font-weight:700;letter-spacing:0;color:var(--text)}
.price .perday{color:var(--faint);font-size:13.5px}
.save{font-style:normal;margin-left:8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--grad);color:#041006;vertical-align:5px;font-weight:600}
.plan-trial{font-size:14px;color:var(--lime);margin-top:-4px}
.addon-line,.plan-small{font-size:14.5px;color:var(--muted);margin-top:18px}
.plans-cta{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.plans-cta .zone,.plans-cta .z-phone,.plans-cta .z-desk,.plans-cta .desk-acts{align-items:center;justify-content:center}
.plans-cta .z-phone,.plans-cta .z-desk{text-align:center}

/* objections */
.objs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.obj{padding:24px;border-radius:18px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px;min-width:0}
.obj summary{list-style:none;cursor:default}
.obj summary::-webkit-details-marker{display:none}
.ob-b{display:flex;flex-direction:column;gap:12px}
.obj h3{font-family:var(--display);font-stretch:108%;font-weight:700;font-size:clamp(19px,2vw,22px);letter-spacing:-.01em;line-height:1.2}
.obj p{font-size:15px;color:var(--muted);line-height:1.6}
.obj .places{margin-top:4px}
@media (max-width:820px){.objs{grid-template-columns:minmax(0,1fr)}}

/* faq, sources, close */
.faq details[open] summary{color:var(--text)}
.srcsec{padding-block:48px}
.srcsec .wrap{display:flex;flex-direction:column;gap:16px}
.srclead{font-size:17px}
.close .only-phone{margin-top:-4px}
.support{font-size:14.5px;color:var(--faint);max-width:38em}
.support a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.close .zone,.close .z-phone,.close .z-desk,.close .desk-acts{align-items:center;justify-content:center;text-align:center}

/* ---------- Library: hero, start here, dialog install block */
.phead .wrap.lib-hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center}
.lib-hero .z-desk{flex-wrap:nowrap;gap:24px;align-items:flex-start}
.lib-hero .lh-copy{display:flex;flex-direction:column;gap:20px;align-items:flex-start;min-width:0}
.lh-vis{min-width:0}
.lh-pic{position:relative;margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:16/9;background:#0b0e0c;box-shadow:0 40px 90px -40px rgba(0,0,0,.9),0 0 70px -20px rgba(37,231,102,.16)}
.lh-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lh-vis .credit-line{margin-top:10px}
.phead h1{font-size:clamp(36px,5vw,68px)}
.phead .proofline{margin-top:2px}
@media (max-width:980px){.phead .wrap.lib-hero{grid-template-columns:minmax(0,1fr)}}
.start-row{margin-bottom:34px}
.sh{font-family:var(--display);font-stretch:112%;font-weight:700;font-size:clamp(20px,2.2vw,26px);margin:0 0 14px;letter-spacing:-.015em}
.starts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.starts.big{grid-template-columns:repeat(4,minmax(0,1fr))}
.start{display:flex;gap:12px;align-items:center;padding:10px;border-radius:14px;border:1px solid var(--line);background:var(--bg-2);text-decoration:none;color:var(--text);height:100%;transition:border-color .2s}
.start:hover{border-color:rgba(37,231,102,.4)}
.start .pic{position:relative;flex:none;width:96px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#0b0e0c;border:0}
.start .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.st-b{display:flex;flex-direction:column;gap:6px;min-width:0}
.st-b b{font-size:14.5px;line-height:1.25;font-weight:700}
.st-b > span{font-size:13px;color:var(--muted);display:flex;gap:5px;flex-wrap:wrap}
@media (max-width:980px){.starts,.starts.big{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.starts,.starts.big{grid-template-columns:minmax(0,1fr)}}
.keys.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.keys.n3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.keys.n3{grid-template-columns:minmax(0,1fr)}}
.rn.plain{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px dashed var(--line-2);color:var(--muted);font:600 13.5px var(--body)}
.dwrap{display:flex;flex-direction:column;max-height:inherit;min-height:0}
.dcta{flex:none;border-top:1px solid var(--line-2);background:var(--panel-2);padding:14px clamp(16px,3vw,34px) calc(14px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:center}
.dcta .d-above{grid-column:1;grid-row:1;align-self:end;font-size:15px;font-weight:600;margin:0}
.dcta .zone{grid-column:2;grid-row:1 / span 2;align-items:flex-end}
.dcta .d-under{grid-column:1;grid-row:2;align-self:start;margin:0;max-width:38em;line-height:1.5}
.dcta .z-phone{align-items:flex-end}
.dcta .store{min-height:52px}
.dcta .store span small{font-size:11px}
.dcta .store span b{font-size:17px}
.dcta.nobtn .zone{display:none}
.dcta.nobtn .d-under{grid-column:1 / -1}
.dcta .z-desk{flex-wrap:nowrap}
@media (max-width:700px){
  .dcta{grid-template-columns:minmax(0,1fr)}
  .dcta .d-above,.dcta .zone,.dcta .d-under{grid-column:1;grid-row:auto}
  .dcta{padding-block:12px;gap:8px}
  .dcta .d-under{font-size:11px;line-height:1.45}
  .dcta .zone{align-items:stretch}
  .dcta .z-phone{align-items:stretch}
}
@media (min-width:701px){html[data-platform="desktop"] .dcta{padding-block:16px}}
.dtxt .dlink,.dtxt .dlink:visited{min-height:40px}

/* ---------- phones: keep the page short. About 11,000 px is the target; the picture pairs stay side by side. */
@media (max-width:560px){
  .sec{padding-block:48px}
  .sec-head{margin-bottom:24px;gap:12px}
  h2{font-size:clamp(30px,8.6vw,38px)}
  .strip .wrap{padding-block:14px;gap:12px 0}
  .strip b{font-size:22px}
  .strip span{font-size:13px;line-height:1.35}
  .freestrip{padding-block:30px}
  .freestrip .small{margin-top:12px;font-size:13px}
  .chips.big{gap:7px}
  .chips.big .chip{padding:7px 13px;font-size:14px}
  .chapter{padding-block:30px;gap:20px}
  .ch-copy{gap:12px}
  .ch-num b{font-size:34px}
  .chapter h3{font-size:clamp(25px,7.4vw,30px)}
  .chapter .muted{font-size:15.5px;line-height:1.55}
  .ticks{gap:9px;margin-top:2px}
  .ticks li{font-size:15px}
  .quote{margin-top:6px;padding:14px 16px}
  .phones{gap:12px}
  .phones .cap{display:none}
  .stage .wide{margin-top:12px}
  .cmp-wrap{margin-bottom:12px}
  .cover table{font-size:13.5px}
  .rev{padding:18px;gap:10px}
  .rev p{font-size:16px}
  .rev.big{margin-top:12px}
  .mid{padding-block:24px}
  .mid-in{padding:22px;gap:18px}
  .reviews{padding-block:24px}
  .reviews .wrap{gap:24px}
  .vlist{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-20px;padding-inline:20px}
  .vlist::-webkit-scrollbar{display:none}
  .vlist li{flex:0 0 78%;scroll-snap-align:start}
  .pullq{margin-bottom:20px}
  .plan{padding:22px 20px;gap:14px}
  .plan-name b{font-size:24px}
  .plans-cta{margin-top:24px}
  .obj{padding:0}
  .obj summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px}
  .obj summary::after{content:"";flex:none;width:11px;height:11px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg) translateY(-3px);transition:transform .2s}
  .obj[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
  .obj h3{font-size:17px}
  .ob-b{padding:0 18px 18px}
  .obj p{font-size:14.5px;line-height:1.55}
  .objs{gap:10px}
  .faq summary{padding:16px 0;font-size:17px}
  .srcsec{padding-block:28px}
  .close{padding-block:56px}
}
