:root {
  --navy:#10253b;
  --ink:#1b3450;
  --blue:#4781d4;
  --sky:#dbeaff;
  --mist:#f4f8ff;
  --mint:#b8e65e;
  --line:#c8d9ef;
  --white:#ffffff;
}

* { box-sizing:border-box; }

html { scroll-behavior:smooth; }

body {
  margin:0;
  color:var(--ink);
  background:var(--white);
  font:15px/1.8 Arial,"Microsoft YaHei",sans-serif;
}

a { color:inherit; text-decoration:none; }

button { color:inherit; font:inherit; }

img { max-width:100%; }

.shell { width:min(1180px,calc(100% - 48px)); margin:auto; }

.site-header {
  position:fixed;
  z-index:30;
  top:0;
  right:0;
  left:0;
  border-bottom:1px solid rgba(35,72,112,.16);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
}

.header-inner {
  display:grid;
  grid-template-columns:220px 1fr auto;
  align-items:center;
  min-height:78px;
  gap:22px;
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-width:0;
}

.brand img {
  width:43px;
  height:43px;
  padding:3px;
  border-radius:5px;
  background:#eef5ff;
  object-fit:contain;
}

.brand span { display:grid; min-width:0; line-height:1.12; }

.brand b { font-size:16px; white-space:nowrap; }

.brand small { margin-top:4px; color:#55708d; font-size:12px; font-weight:700; white-space:nowrap; }

.site-nav ul {
  display:flex;
  justify-content:center;
  gap:20px;
  margin:0;
  padding:0;
  list-style:none;
}

.site-nav a {
  display:block;
  padding:8px 0;
  border-bottom:2px solid transparent;
  font-size:13px;
  font-weight:800;
}

.site-nav a:hover { border-color:var(--blue); color:var(--blue); }

.header-actions { display:flex; align-items:center; gap:10px; }

.header-download {
  padding:8px 14px;
  border-radius:5px;
  color:#fff;
  background:var(--navy);
  font-size:13px;
  font-weight:800;
}

.menu-toggle {
  display:none;
  width:39px;
  height:39px;
  padding:8px;
  border:1px solid var(--navy);
  border-radius:5px;
  background:#fff;
}

.menu-toggle i {
  position:relative;
  display:block;
  height:5px;
}

.menu-toggle i::before {
  position:absolute;
  top:1px;
  right:0;
  left:0;
  height:2px;
  background:var(--navy);
  content:"";
}

.hero {
  position:relative;
  overflow:hidden;
  padding:145px 0 96px;
  background:linear-gradient(118deg,#f4f9ff 0 56%,#d3e7ff 56% 100%);
}

.hero::before {
  position:absolute;
  right:8%;
  bottom:-160px;
  width:520px;
  height:520px;
  border:1px solid rgba(71,129,212,.22);
  border-radius:50%;
  content:"";
}

.hero-grid {
  position:relative;
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  align-items:center;
  gap:70px;
}

.kicker {
  margin:0 0 14px;
  color:var(--blue);
  font:800 12px/1 Arial,sans-serif;
  letter-spacing:2px;
}

h1 {
  margin:0;
  font-size:clamp(54px,6.4vw,83px);
  line-height:.98;
  letter-spacing:-4px;
}

.hero-text {
  max-width:510px;
  margin:26px 0 0;
  color:#466584;
  font-size:17px;
  line-height:2;
}

.primary-download,
.download a {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:37px;
  padding:15px 19px 15px 23px;
  border-radius:5px;
  color:#fff;
  background:var(--navy);
  box-shadow:6px 6px 0 rgba(16,37,59,.18);
  font-weight:800;
}

.primary-download { margin-top:28px; }

.age-label {
  display:block;
  width:max-content;
  margin-top:15px;
  color:#547495;
  font-size:13px;
}

.hero-note { margin:27px 0 0; color:#395e88; font-size:12px; font-weight:800; }

.phone-stage {
  position:relative;
  display:grid;
  min-height:505px;
  place-items:center;
}

.pixel {
  position:absolute;
  width:106px;
  height:106px;
  background:linear-gradient(135deg,#7ea9df 0 33%,#b8e65e 33% 66%,#6b94cc 66%);
  box-shadow:13px 13px 0 rgba(51,96,151,.13);
}

.pixel-one { top:20px; right:6%; transform:rotate(13deg); }

.pixel-two { bottom:22px; left:3%; width:72px; height:72px; transform:rotate(-16deg); }

.phone-shell {
  position:relative;
  z-index:1;
  width:294px;
  padding:9px;
  border:7px solid #1c314c;
  border-radius:33px;
  background:#1c314c;
  box-shadow:18px 24px 0 rgba(29,60,95,.2);
}

.phone-speaker {
  position:absolute;
  z-index:2;
  top:10px;
  left:50%;
  width:72px;
  height:17px;
  border-radius:0 0 12px 12px;
  background:#1c314c;
  transform:translateX(-50%);
}

.phone-screen {
  position:relative;
  display:grid;
  min-height:490px;
  overflow:hidden;
  border-radius:22px;
  background:linear-gradient(155deg,#eaf4ff,#9ec4f2 54%,#7fa8da);
}

.phone-status {
  display:flex;
  justify-content:space-between;
  padding:9px 15px 0;
  color:#305578;
  font-size:9px;
  font-weight:800;
}

.signal { display:flex; align-items:center; gap:3px; }

.signal i { position:relative; display:block; width:4px; height:4px; }

.signal i::before { position:absolute; inset:0; border-radius:50%; background:currentColor; content:""; }

.app-top {
  display:flex;
  align-items:center;
  gap:9px;
  margin:8px 12px 0;
  padding:9px 10px;
  border:1px solid rgba(45,94,148,.18);
  border-radius:5px;
  color:#345b84;
  background:rgba(255,255,255,.56);
  font-size:11px;
}

.app-top b { color:var(--blue); letter-spacing:1px; }

.app-top span { flex:1; font-weight:800; }

.phone-content { padding:23px 22px 11px; }

.phone-kicker { margin:0; color:#4b82c5; font-size:9px; font-weight:900; letter-spacing:1.3px; }

.phone-content h3 { margin:7px 0 11px; color:#20456a; font-size:26px; line-height:1.05; }

.phone-content>p:not(.phone-kicker) { min-height:39px; margin:0; color:#567596; font-size:11px; line-height:1.7; }

.world-card {
  position:relative;
  display:grid;
  height:124px;
  margin-top:18px;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.8);
  border-radius:5px;
  background:linear-gradient(#a7dafd 0 53%,#80ae58 53% 100%);
}

.world-card i { position:absolute; width:26px; height:26px; background:#5f913e; }

.world-card i:nth-child(1) { bottom:14px; left:22%; }

.world-card i:nth-child(2) { right:14%; bottom:19px; width:33px; height:33px; background:#8d623d; }

.world-card i:nth-child(3) { top:20px; left:16%; width:12px; height:12px; background:#fff; }

.world-card b {
  position:relative;
  z-index:1;
  padding:4px 9px;
  border-radius:5px;
  color:#fff;
  background:rgba(27,61,100,.74);
  font-size:11px;
}

.phone-data { display:grid; gap:5px; margin-top:14px; }

.phone-data span { display:flex; justify-content:space-between; color:#456987; font-size:10px; }

.phone-data b { color:#234e79; }

.phone-launch {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  margin-top:16px;
  padding:11px 13px;
  border:0;
  border-radius:5px;
  color:#16324f;
  background:var(--mint);
  font-size:12px;
  font-weight:900;
}

.phone-launch.is-ready { background:#9bd8f2; }

.phone-tabs {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin:0 16px 16px;
}

.phone-tab {
  display:grid;
  height:36px;
  place-items:center;
  border:1px solid rgba(42,89,139,.28);
  border-radius:5px;
  color:#4f78a1;
  background:rgba(255,255,255,.52);
}

.phone-tab.is-active { color:#fff; background:#477fd2; }

.stage-caption {
  position:absolute;
  right:0;
  bottom:5px;
  margin:0;
  color:#547596;
  font-size:11px;
  font-weight:800;
}

.split-heading,
.review-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:46px;
}

.split-heading h2,
.steps h2,
.faq h2,
.review-heading h2,
.download h2 {
  margin:0;
  font-size:clamp(41px,5vw,64px);
  line-height:1;
  letter-spacing:-3px;
}

.split-heading>p,
.review-heading>p { max-width:395px; margin:0; color:#5a7693; }

.features { padding:112px 0; }

.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-top:54px;
  border-top:1px solid var(--navy);
}

.feature-grid article { min-height:236px; padding:23px; border-right:1px solid var(--line); }

.feature-grid article:first-child { border-left:1px solid var(--line); }

.feature-grid span { color:var(--blue); font-size:12px; font-weight:900; letter-spacing:1px; }

.feature-grid h3 { margin:50px 0 10px; font-size:21px; }

.feature-grid p { margin:0; color:#617a94; font-size:14px; }

.feature-dashboard {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  grid-template-rows:1fr 1fr;
  gap:16px;
  margin-top:52px;
}

.feature-primary {
  grid-row:1 / span 2;
  min-height:370px;
  overflow:hidden;
  border:1px solid #bdd3ed;
  border-radius:5px;
  background:linear-gradient(145deg,#eaf4ff,#b9d8fb);
  box-shadow:12px 12px 0 rgba(70,123,184,.1);
}

.dashboard-bar {
  display:flex;
  align-items:center;
  gap:11px;
  padding:15px 18px;
  color:#dcebff;
  background:#244f7e;
  font-size:11px;
}

.dashboard-bar b { letter-spacing:1px; }

.dashboard-bar span { flex:1; opacity:.8; }

.dashboard-body { padding:28px 30px; }

.dashboard-title {
  display:grid;
  grid-template-columns:40px 1fr auto;
  align-items:center;
  gap:13px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(57,105,158,.22);
}

.dashboard-title>.icon {
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border-radius:5px;
  color:#fff;
  background:#477fd2;
}

.dashboard-title small { display:block; color:#5f7fa1; font-size:9px; font-weight:900; letter-spacing:1px; }

.dashboard-title h3 { margin:2px 0 0; font-size:22px; line-height:1.2; }

.dashboard-title>b { padding:4px 8px; border-radius:5px; color:#2d679e; background:#dff0ff; font-size:10px; }

.dashboard-row {
  display:flex;
  justify-content:space-between;
  padding:15px 0;
  border-bottom:1px solid rgba(57,105,158,.16);
  color:#527393;
  font-size:13px;
}

.dashboard-row b { color:#244f7e; }

.dashboard-meter { display:flex; align-items:center; gap:9px; margin-top:19px; color:#547797; font-size:11px; font-weight:800; }

.dashboard-meter i { position:relative; display:block; width:105px; height:8px; overflow:hidden; border-radius:5px; background:#8fb8e8; }

.dashboard-meter i::before { position:absolute; top:0; left:0; width:68%; height:100%; border-radius:5px; background:var(--mint); content:""; }

.feature-card {
  position:relative;
  min-height:177px;
  padding:22px;
  overflow:hidden;
  border-radius:5px;
}

.feature-card>.icon { position:absolute; top:20px; right:20px; width:27px; height:27px; opacity:.82; }

.feature-card span { display:block; margin-bottom:26px; font-size:10px; font-weight:900; letter-spacing:1px; }

.feature-card h3 { margin:0; font-size:21px; line-height:1.15; }

.feature-card p { max-width:340px; margin:9px 0 0; font-size:13px; line-height:1.65; }

.feature-card-blue { color:#fff; background:#477fd2; }

.feature-card-blue span,.feature-card-blue p { color:#d9eaff; }

.feature-card-mint { color:#18364e; background:var(--mint); }

.feature-card-mint span,.feature-card-mint p { color:#456a3a; }

.steps { padding:110px 0; color:#fff; background:var(--navy); }

.steps .kicker { color:var(--mint); }

.steps-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:95px; }

.steps-copy>p:not(.kicker) { max-width:330px; margin:23px 0 0; color:#b7d0ec; }

.route-monitor {
  max-width:335px;
  margin-top:34px;
  padding:17px;
  border:1px solid rgba(214,235,255,.27);
  border-radius:5px;
  background:rgba(255,255,255,.06);
}

.route-monitor>div { display:flex; justify-content:space-between; color:#c8ddf4; font-size:11px; }

.route-monitor>div b { color:var(--mint); }

.route-monitor ol { display:flex; justify-content:space-between; margin:17px 0 11px; padding:0; list-style:none; }

.route-monitor li { position:relative; display:grid; width:29px; height:29px; place-items:center; border:1px solid #96bcdf; border-radius:50%; color:#d6e8fb; }

.route-monitor li:not(:last-child)::after { position:absolute; top:13px; left:28px; width:119px; height:1px; background:#6d9ecb; content:""; }

.route-monitor li.is-done { color:#1f4e76; border-color:var(--mint); background:var(--mint); }

.route-monitor p { display:flex; align-items:center; justify-content:space-between; margin:0; color:#c0d7ed; font-size:9px; }

.route-monitor p i { position:relative; display:inline-block; width:9px; height:9px; }

.route-monitor p i::before { position:absolute; top:3px; left:1px; width:6px; height:6px; border-top:1px solid #c0d7ed; border-right:1px solid #c0d7ed; content:""; transform:rotate(45deg); }

.step-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }

.step-list li { display:grid; grid-template-columns:60px 1fr 32px; align-items:center; gap:20px; padding:18px 0; border-top:1px solid rgba(196,222,255,.32); }

.step-list li:last-child { border-bottom:1px solid rgba(196,222,255,.32); }

.step-list span { color:var(--mint); font-size:12px; font-weight:900; }

.step-list h3 { margin:0; font-size:21px; }

.step-list p { margin:5px 0 0; color:#c5daef; }

.step-list li>.icon { color:var(--mint); }

.screens { padding:112px 0; background:var(--mist); }

.screens-scroll { margin-top:49px; }

.screen-list { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }

.screen-list figure { margin:0; padding:11px; border:1px solid #c7daf2; border-radius:5px; background:#fff; }

.screen-list img { display:block; width:100%; height:auto; object-fit:contain; }

.screen-list figcaption { display:grid; gap:1px; margin-top:12px; }

.screen-list figcaption b { font-size:14px; }

.screen-list figcaption span { color:#617e9c; font-size:12px; }

.faq { padding:112px 0; }

.faq-grid { display:grid; grid-template-columns:.76fr 1.24fr; gap:100px; }

.faq-list { border-top:1px solid var(--navy); }

.faq-list article { border-bottom:1px solid var(--line); }

.faq-list button,
.official-faq button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:21px 0;
  border:0;
  background:transparent;
  font-size:16px;
  font-weight:800;
  text-align:left;
}

.faq-list button>span { padding-right:20px; }

.faq-list article>div,
.official-faq>div { display:grid; grid-template-rows:0fr; transition:grid-template-rows .22s ease; }

.faq-list article.is-open>div,
.official-faq.is-open>div { grid-template-rows:1fr; }

.faq-list p,
.official-faq p { margin:0; overflow:hidden; color:#607a95; }

.faq-list article.is-open p { padding:0 34px 21px 0; }

.official-faq {
  width:min(1200px,calc(100% - 48px));
  margin:20px auto 0;
  border:1px solid #2d6c4b;
  border-radius:5px;
  background:#f9fffb;
}

.official-faq button { padding:19px 22px; }

.official-faq button span { display:flex; align-items:center; gap:12px; }

.official-faq.is-open p { padding:0 22px 20px 55px; color:#2a5d42; font-weight:800; }

.reviews { padding:110px 0; color:#fff; background:linear-gradient(130deg,#18344f,#2d659b); }

.reviews .kicker { color:var(--mint); }

.review-heading>p { color:#c9def5; }

.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:48px; }

.review-grid article { display:flex; flex-direction:column; min-height:253px; padding:22px; border-radius:5px; color:var(--ink); background:#fff; }

.review-meta { display:flex; align-items:center; gap:10px; }

.review-grid article>p { flex:1; margin:19px 0; font-size:14px; }

.review-grid small { color:#687f98; text-align:right; }

.download { padding:85px 0; background:var(--mint); }

.download-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; }

.download .kicker { color:#3b602d; }

.download-inner>div>p:last-child { margin:18px 0 0; color:#426535; }

.site-footer { padding:19px 0; color:#fff; background:#0d1e30; }

.footer-inner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:25px; }

.footer-brand img { width:36px; height:36px; }

.footer-brand b { font-size:14px; }

.footer-brand small { color:#9ec5ef; font-size:10px; }

.footer-nav ul { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 15px; margin:0; padding:0; list-style:none; font-size:12px; font-weight:800; }

.footer-nav a:hover { color:var(--mint); }

.footer-inner>p { margin:0; color:#bad0e6; font-size:12px; white-space:nowrap; }

.back-top {
  position:fixed;
  z-index:20;
  right:22px;
  bottom:22px;
  display:grid;
  width:49px;
  height:52px;
  place-items:center;
  border-radius:5px;
  color:#fff;
  background:var(--navy);
  opacity:0;
  pointer-events:none;
  transform:translateY(14px);
  transition:opacity .2s ease,transform .2s ease;
}

.back-top.is-visible { opacity:1; pointer-events:auto; transform:none; }

.back-top span { font-size:10px; font-weight:800; }

.icon { position:relative; display:inline-block; width:18px; height:18px; flex:0 0 18px; color:currentColor; }

.icon::before,
.icon::after,
.avatar::before,
.avatar::after,
.rating i::before { position:absolute; display:block; content:""; }

.icon-download::before { top:1px; left:8px; width:2px; height:9px; background:currentColor; }

.icon-download::after { top:7px; left:5px; width:6px; height:6px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }

.icon-arrow::before,
.icon-up::before { width:8px; height:8px; border-top:2px solid currentColor; border-right:2px solid currentColor; }

.icon-arrow::before { top:4px; left:3px; transform:rotate(45deg); }

.icon-up::before { top:6px; left:4px; transform:rotate(-45deg); }

.icon-up::after { top:5px; left:8px; width:2px; height:11px; background:currentColor; }

.icon-play::before { top:3px; left:5px; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:9px solid currentColor; }

.icon-sliders::before { top:3px; left:3px; width:12px; height:2px; background:currentColor; box-shadow:0 5px 0 currentColor,0 10px 0 currentColor; }

.icon-sliders::after { top:1px; left:6px; width:4px; height:4px; border-radius:50%; background:currentColor; box-shadow:4px 5px 0 currentColor,-3px 10px 0 currentColor; }

.icon-layout::before { top:3px; left:3px; width:5px; height:5px; background:currentColor; box-shadow:7px 0 0 currentColor,0 7px 0 currentColor,7px 7px 0 currentColor; }

.icon-version::before { top:3px; left:3px; width:12px; height:10px; border:2px solid currentColor; border-radius:2px; }

.icon-version::after { top:11px; left:6px; width:6px; height:2px; background:currentColor; box-shadow:0 -5px 0 currentColor; }

.icon-check::before { top:4px; left:4px; width:9px; height:5px; border-bottom:2px solid currentColor; border-left:2px solid currentColor; transform:rotate(-45deg); }

.icon-more::before { top:8px; left:2px; width:3px; height:3px; border-radius:50%; background:currentColor; box-shadow:5px 0 0 currentColor,10px 0 0 currentColor; }

.icon-plus::before,
.icon-plus::after { top:8px; left:2px; width:14px; height:2px; background:currentColor; }

.icon-plus::after { transform:rotate(90deg); }

.icon-globe { border:2px solid #247349; border-radius:50%; color:#247349; }

.icon-globe::before { top:1px; right:4px; bottom:1px; left:4px; border-right:1px solid currentColor; border-left:1px solid currentColor; border-radius:50%; }

.icon-globe::after { top:7px; right:1px; left:1px; border-top:1px solid currentColor; }

.faq-list .icon-plus,
.official-faq button>.icon-plus { color:var(--blue); }

.avatar { position:relative; display:inline-block; width:38px; height:38px; flex:0 0 38px; overflow:hidden; border-radius:50%; background:var(--blue); }

.avatar::before { top:7px; left:12px; width:14px; height:14px; border-radius:50%; background:#fff; }

.avatar::after { right:7px; bottom:-7px; left:7px; height:20px; border-radius:50% 50% 0 0; background:#fff; }

.rating { display:flex; gap:2px; margin-left:auto; color:#ff5e89; }

.rating i { position:relative; display:inline-block; width:12px; height:12px; }

.rating i::before { inset:0; background:currentColor; clip-path:polygon(50% 0,61% 34%,98% 36%,68% 57%,79% 94%,50% 73%,21% 94%,32% 57%,2% 36%,39% 34%); }

.rating i.is-empty::after { position:absolute; top:2px; left:2px; width:8px; height:8px; background:#fff; content:""; clip-path:polygon(50% 0,61% 34%,98% 36%,68% 57%,79% 94%,50% 73%,21% 94%,32% 57%,2% 36%,39% 34%); }

@media (max-width:800px) {
  .shell { width:min(100% - 32px,590px); }
  .header-inner { display:flex; min-height:70px; gap:11px; }
  .brand { flex:1 1 auto; gap:9px; min-width:0; }
  .brand img { width:40px; height:40px; }
  .brand b { font-size:15px; }
  .brand small { margin-top:3px; font-size:11px; }
  .site-nav { display:none; }
  .site-nav.is-open { position:absolute; top:70px; right:0; left:0; display:block; padding:12px 16px; background:#fff; box-shadow:0 13px 24px rgba(14,42,73,.16); }
  .site-nav.is-open ul { display:grid; overflow:hidden; border:1px solid var(--line); border-radius:5px; }
  .site-nav.is-open li + li { border-top:1px solid var(--line); }
  .site-nav.is-open a { padding:11px 13px; }
  .menu-toggle { display:block; }
  .header-actions { flex:0 0 auto; gap:9px; }
  .header-download { padding:9px 12px; }
  .hero { padding:98px 0 62px; background:#f1f7ff; }
  .hero::before { display:none; }
  .hero-grid { grid-template-columns:1fr; gap:34px; }
  .hero-copy { text-align:center; }
  h1 { font-size:52px; }
  .hero-text { margin-right:auto; margin-left:auto; font-size:15px; }
  .primary-download { margin-top:25px; }
  .age-label { margin-right:auto; margin-left:auto; }
  .phone-stage { min-height:500px; }
  .stage-caption { right:50%; bottom:0; width:100%; text-align:center; transform:translateX(50%); }
  .split-heading,.review-heading,.download-inner { display:block; }
  .split-heading>p,.review-heading>p { margin:20px 0 0; }
  .features,.steps,.screens,.faq,.reviews { padding:75px 0; }
  .feature-grid { grid-template-columns:1fr; margin-top:37px; }
  .feature-grid article { min-height:0; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
  .feature-grid h3 { margin-top:28px; }
  .feature-dashboard { grid-template-columns:1fr; grid-template-rows:auto; margin-top:37px; }
  .feature-primary { grid-row:auto; min-height:0; }
  .dashboard-body { padding:22px; }
  .dashboard-title { grid-template-columns:37px 1fr; }
  .dashboard-title>.icon { width:37px; height:37px; }
  .dashboard-title>b { grid-column:2; width:max-content; }
  .feature-card { min-height:160px; }
  .steps-layout,.faq-grid { grid-template-columns:1fr; gap:38px; }
  .step-list { margin-top:30px; }
  .route-monitor { max-width:none; }
  .route-monitor li:not(:last-child)::after { width:calc(50vw - 78px); }
  .screen-list { display:flex; width:max-content; gap:12px; padding-right:16px; }
  .screens-scroll { margin-top:34px; overflow-x:auto; scroll-snap-type:x mandatory; }
  .screen-list figure { width:74vw; max-width:320px; scroll-snap-align:start; }
  .official-faq { width:calc(100% - 32px); }
  .review-grid { grid-template-columns:1fr; gap:12px; margin-top:35px; }
  .review-grid article { min-height:0; }
  .download { padding:64px 0; text-align:center; }
  .download a { margin-top:29px; }
  .site-footer { padding:25px 0; }
  .footer-inner { grid-template-columns:1fr; justify-items:center; gap:16px; text-align:center; }
  .footer-nav ul { max-width:310px; }
  .footer-inner>p { white-space:normal; }
  .back-top { right:14px; bottom:14px; }
  a,button,summary { -webkit-tap-highlight-color:transparent; -webkit-touch-callout:none; }
}

@media (max-width:390px) {
  .header-inner { gap:8px; }
  .brand { gap:7px; }
  .brand img { width:37px; height:37px; }
  .brand b { font-size:14px; }
  .brand small { font-size:10px; }
  .header-download { padding:9px 10px; font-size:12px; }
  .menu-toggle { width:39px; height:39px; }
  h1 { font-size:45px; }
  .phone-shell { transform:scale(.91); }
  .phone-stage { min-height:470px; }
  .stage-caption { bottom:-2px; font-size:10px; }
}
