:root{--night:#030b15;--night-2:#071321;--panel:#091827;--panel-2:#0d2032;--text:#f4f8fb;--soft:#a7bac9;--muted:#71899b;--cyan:#2ae2ff;--cyan-2:#77eeff;--lime:#b8ff45;--amber:#ff9b45;--line:rgba(143,211,234,.18);--line-strong:rgba(143,230,255,.36);--display:Urbanist,Inter,sans-serif;--body:Inter,system-ui,sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--text);font:15px/1.6 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.material-symbols-rounded{font-family:"Material Symbols Rounded";font-weight:normal;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-feature-settings:"liga"}.skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-160%);background:#fff;color:#07111d;padding:10px 14px;border-radius:4px;font-weight:800}.skip-link:focus{transform:none}.telescope-header{height:76px;padding:0 clamp(22px,4vw,68px);display:flex;align-items:center;gap:28px;position:absolute;inset:0 0 auto;z-index:30;border-bottom:1px solid var(--line);background:rgba(3,11,21,.72);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:11px;font:800 19px/1 var(--display);letter-spacing:-.025em;white-space:nowrap}.brand-mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:#09120c;font:700 11px var(--mono)}.telescope-header nav{display:flex;gap:30px;margin-left:auto;font-size:13px;color:#c9d7e2}.telescope-header nav a,.telescope-footer a{transition:color .2s}.telescope-header nav a:hover,.telescope-header nav a:focus-visible,.telescope-footer a:hover,.telescope-footer a:focus-visible{color:var(--cyan)}.header-action,.primary-button,.retest-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;font-weight:800;transition:transform .2s,background .2s,border-color .2s}.header-action{border:1px solid var(--line-strong);padding:0 18px;border-radius:3px;font-size:13px}.header-action:hover{background:rgba(42,226,255,.09)}.menu-toggle{display:none;margin-left:auto;width:48px;height:48px;place-items:center;border:1px solid var(--line);border-radius:3px;background:transparent;color:#fff}.telescope-hero{min-height:860px;padding:146px clamp(22px,4vw,68px) 38px;display:grid;grid-template-columns:minmax(340px,.64fr) minmax(620px,1.36fr);grid-template-rows:auto auto;position:relative;overflow:hidden;background:#030b15}.telescope-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(76,171,206,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(76,171,206,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 0,#000 40%,#000 100%);pointer-events:none}.hero-copy{position:relative;z-index:2;padding:28px 52px 30px 0;border-right:1px solid var(--line)}.mono-label{margin:0 0 15px;color:var(--cyan);font:500 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}.hero-copy h1{font:800 clamp(58px,6vw,94px)/.86 var(--display);letter-spacing:-.07em;margin:0;max-width:560px}.hero-copy h1 em{font-style:normal;color:var(--cyan)}.hero-lede{max-width:470px;color:var(--soft);font-size:17px;line-height:1.65;margin:30px 0}.primary-button{width:max-content;min-height:58px;background:var(--cyan);color:#00101b;padding:0 26px;border-radius:3px;box-shadow:0 16px 45px rgba(42,226,255,.14)}.primary-button:hover,.primary-button:focus-visible,.retest-button:hover,.retest-button:focus-visible{transform:translateY(-2px);background:#65ebff}.privacy-line{display:flex;align-items:center;gap:8px;color:#a8bac8;font-size:12px;margin:18px 0 0}.privacy-line .material-symbols-rounded{font-size:17px;color:var(--lime)}.route-telescope{min-height:430px;position:relative;z-index:2;padding:27px 18px 24px 58px;background-image:linear-gradient(90deg,rgba(3,11,21,.36),rgba(3,11,21,.02)),url('/assets/fmp-hero-network-v2.webp');background-size:cover;background-position:center;border-bottom:1px solid var(--line)}.route-stage{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:start;margin-top:48px;position:relative}.route-stage:before{content:"";position:absolute;top:27px;left:9%;right:9%;height:2px;background:var(--line-strong)}.route-stage:after{content:"";position:absolute;top:27px;left:11%;width:56%;height:2px;background:var(--cyan);box-shadow:0 0 14px rgba(42,226,255,.6)}.route-node{position:relative;z-index:2;display:grid;justify-items:center;text-align:center;color:#96a9b7}.route-node>.material-symbols-rounded{width:56px;height:56px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;background:#071522;color:#d2e5ef;font-size:27px}.route-node strong{font:700 15px var(--display);margin-top:10px;color:#eaf2f7}.route-node small{font-size:11px;color:#8fa3b1}.route-node.active>.material-symbols-rounded{border-color:var(--amber);color:var(--amber);box-shadow:0 0 0 7px rgba(255,155,69,.08),0 0 22px rgba(255,155,69,.2)}.route-node.active strong{color:var(--amber)}.route-signal{height:120px;margin:26px 8% 0;position:relative}.route-signal span{position:absolute;left:0;right:0;top:54px;height:1px;border-top:1px dashed rgba(77,223,255,.55);transform:rotate(-5deg)}.route-signal i,.route-signal b{position:absolute;width:10px;height:10px;border-radius:50%;top:47px;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.route-signal i{left:6%}.route-signal b{right:5%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.12)}.route-limit{position:absolute;left:58px;right:24px;bottom:22px;margin:0;color:#8195a4;font-size:11px}.diagnosis-workbench{grid-column:1/-1;position:relative;z-index:3;display:grid;grid-template-columns:1.34fr .66fr;border:1px solid var(--line-strong);background:rgba(4,15,26,.96);box-shadow:0 22px 80px rgba(0,0,0,.25)}.symptom-picker{padding:24px 28px 28px;border-right:1px solid var(--line)}.symptom-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.symptom-options button{min-height:62px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.015);color:#cbd8e1;font-weight:700;cursor:pointer}.symptom-options button:hover,.symptom-options button:focus-visible{border-color:var(--cyan);color:#fff}.symptom-options button.active{border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan);color:#fff;background:rgba(42,226,255,.08)}.symptom-options button.active .material-symbols-rounded{color:var(--cyan)}.first-check{padding:24px 28px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}.first-check .mono-label{color:#b4ff54}.first-check h2{font:700 23px/1.05 var(--display);letter-spacing:-.035em;margin:0 0 8px}.first-check p:not(.mono-label){color:var(--soft);font-size:12px;margin:0;max-width:430px}.retest-button{min-width:188px;border:1px solid var(--cyan);padding:0 18px;border-radius:3px;color:#fff;font-size:13px}.continuation{padding:36px clamp(22px,8vw,118px) 48px;display:grid;grid-template-columns:1.3fr .7fr;gap:54px;background:#06111d;border-bottom:1px solid var(--line)}.game-links>div{display:flex;flex-wrap:wrap;gap:9px}.game-links a{min-height:44px;padding:0 15px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:700;color:#d8e3e9}.game-links a:hover,.game-links a:focus-visible{border-color:var(--cyan);color:var(--cyan)}.game-links .material-symbols-rounded{font-size:16px}.method-summary{padding-left:42px;border-left:1px solid var(--line)}.method-copy{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}.method-copy>.material-symbols-rounded{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--cyan);font-size:27px}.method-copy p{color:var(--soft);margin:0;font-size:13px}.method-summary>a{display:inline-flex;align-items:center;gap:7px;color:var(--cyan);font-weight:700;font-size:12px;margin:18px 0 0}.method-summary>a .material-symbols-rounded{font-size:17px}.evidence-band{padding:94px clamp(22px,8vw,118px);display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;background:#f2f0eb;color:#111722}.evidence-band .mono-label{color:#0e7080}.evidence-band h2{font:800 clamp(42px,4.5vw,67px)/.95 var(--display);letter-spacing:-.06em;margin:0}.evidence-band ol{list-style:none;margin:0;padding:0;display:grid}.evidence-band li{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px 0;border-top:1px solid #c9c8c4}.evidence-band li:last-child{border-bottom:1px solid #c9c8c4}.evidence-band li>span{font:500 10px var(--mono);color:#0e7080}.evidence-band strong{font:700 18px var(--display)}.evidence-band li p{margin:4px 0 0;color:#53606a;font-size:13px}.secondary-button{grid-column:2;width:max-content;min-height:50px;padding:0 21px;margin-top:-38px;border:1px solid #18202b;border-radius:3px}.secondary-button:hover{background:#111722;color:#fff}.ad-slot{max-width:970px;min-height:140px;margin:70px auto;padding:10px 0;border-block:1px solid var(--line);text-align:center}.ad-slot>span{display:block;color:#667d8e;font:9px var(--mono);letter-spacing:.11em;text-transform:uppercase}.telescope-footer{padding:62px clamp(22px,8vw,118px) 28px;background:#0b121c;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:42px}.footer-brand p,.footer-note,.copyright{color:#8191a0;font-size:12px}.footer-brand p{max-width:270px}.telescope-footer h2{margin:2px 0 14px;font:500 10px var(--mono);color:#778b99;text-transform:uppercase;letter-spacing:.1em}.telescope-footer div:not(.footer-brand)>a{display:block;font-size:13px;margin:9px 0}.footer-note,.copyright{grid-column:1/-1;margin:4px 0 0}.copyright{border-top:1px solid var(--line);padding-top:22px}.fmp-consent{position:fixed;z-index:100;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:880px;margin:auto;padding:16px 18px;border:1px solid var(--line-strong);background:rgba(5,16,28,.97);box-shadow:0 18px 60px rgba(0,0,0,.45);color:#d8e6ee}.fmp-consent p{margin:0;font-size:12px}.fmp-consent a{color:var(--cyan);font-weight:700}.fmp-consent-actions{display:flex;gap:8px}.fmp-consent button{min-height:44px;padding:0 18px;border-radius:3px;border:1px solid var(--line-strong);background:transparent;color:#fff;font-weight:700;cursor:pointer}.fmp-consent button[data-consent="accepted"]{background:var(--cyan);border-color:var(--cyan);color:#001018}a:focus-visible,button:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:1040px){.telescope-hero{grid-template-columns:1fr;padding-top:120px}.hero-copy{border-right:0;border-bottom:1px solid var(--line);padding:34px 0 48px}.route-telescope{padding-left:28px}.route-limit{left:28px}.diagnosis-workbench{grid-template-columns:1fr}.symptom-picker{border-right:0;border-bottom:1px solid var(--line)}.continuation{grid-template-columns:1fr}.method-summary{padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.evidence-band{grid-template-columns:1fr}.secondary-button{grid-column:auto;margin:0}.telescope-footer{grid-template-columns:2fr 1fr 1fr}.telescope-footer>div:nth-child(4){grid-column:2}}@media(max-width:760px){.telescope-header{height:68px;padding:0 18px}.telescope-header nav{position:absolute;top:68px;left:12px;right:12px;display:none;flex-direction:column;gap:0;margin:0;padding:8px;border:1px solid var(--line-strong);background:#071522;box-shadow:0 18px 55px rgba(0,0,0,.5)}.telescope-header nav.open{display:flex}.telescope-header nav a{min-height:48px;display:flex;align-items:center;padding:0 13px;border-bottom:1px solid var(--line)}.header-action{display:none}.menu-toggle{display:grid}.telescope-hero{min-height:auto;padding:104px 18px 22px}.hero-copy h1{font-size:58px}.hero-lede{font-size:15px;margin:24px 0}.primary-button{width:100%}.route-telescope{min-height:380px;margin:0 -18px;padding:24px 18px;background-position:63% center}.route-stage{grid-template-columns:repeat(4,minmax(78px,1fr));gap:4px;margin-top:38px}.route-stage:before,.route-stage:after{top:22px}.route-node>.material-symbols-rounded{width:45px;height:45px;font-size:22px}.route-node strong{font-size:12px}.route-node small{font-size:9px}.route-signal{margin-top:10px}.route-limit{left:18px;right:18px}.diagnosis-workbench{margin:0}.symptom-picker,.first-check{padding:20px}.symptom-options{grid-template-columns:1fr 1fr}.symptom-options button{min-height:54px;border-radius:4px;font-size:12px}.first-check{grid-template-columns:1fr}.retest-button{width:100%}.continuation{padding:34px 18px}.method-summary{padding-top:28px}.evidence-band{padding:70px 18px}.evidence-band h2{font-size:47px}.ad-slot{margin:48px 18px;min-height:90px}.telescope-footer{padding:44px 18px 24px;grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.telescope-footer>div:nth-child(4){grid-column:auto}.fmp-consent{left:10px;right:10px;bottom:10px;display:grid}.fmp-consent-actions{display:grid;grid-template-columns:1fr 1fr}.fmp-consent button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-button,.retest-button,.secondary-button,.telescope-header a{transition:none}}

.telescope-header {
  height: 64px;
}

.telescope-hero {
  min-height: 814px;
  padding: 64px 0 0;
  grid-template-columns: minmax(430px, 33.6%) minmax(0, 66.4%);
  grid-template-rows: 452px minmax(298px, 1fr);
}

.hero-copy {
  grid-row: 1 / 3;
  padding: 58px 52px 30px clamp(52px, 4vw, 68px);
}

.route-telescope {
  grid-column: 2;
  grid-row: 1;
  min-height: 0;
}

.diagnosis-workbench {
  grid-column: 2;
  grid-row: 2;
  grid-template-columns: 1fr;
}

.symptom-picker {
  padding: 18px 58px 20px;
  border-right: 0;
  border-bottom: 1px solid var(--line);
}

.first-check {
  padding: 20px 58px;
}

.primary-button {
  border-radius: 999px;
}

@media (max-width: 1040px) {
  .telescope-hero {
    min-height: auto;
    padding: 120px clamp(22px, 4vw, 68px) 38px;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .hero-copy {
    grid-row: auto;
    padding: 34px 0 48px;
  }

  .route-telescope {
    grid-column: auto;
    grid-row: auto;
  }

  .diagnosis-workbench {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

@media (max-width: 900px) {
  .telescope-header {
    height: 68px;
    padding: 0 18px;
  }

  .telescope-header nav {
    position: absolute;
    top: 68px;
    left: 12px;
    right: 12px;
    display: none;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 8px;
    border: 1px solid var(--line-strong);
    background: #071522;
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.5);
  }

  .telescope-header nav.open {
    display: flex;
  }

  .telescope-header nav a {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 0 13px;
    border-bottom: 1px solid var(--line);
  }

  .header-action {
    display: none;
  }

  .menu-toggle {
    display: grid;
  }
}

@media (max-width: 760px) {
  .telescope-header {
    height: 68px;
  }

  .telescope-hero {
    padding: 104px 18px 22px;
  }

  .primary-button {
    border-radius: 3px;
  }

  .symptom-picker,
  .first-check {
    padding: 20px;
  }

  .brand,
  .method-summary > a,
  .telescope-footer div:not(.footer-brand) > a {
    min-height: 44px;
  }

  .method-summary > a,
  .telescope-footer div:not(.footer-brand) > a {
    display: flex;
    align-items: center;
  }
}

.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}

.hero-guide-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  color: #c8d8e2;
  font-size: 12px;
  font-weight: 700;
  border-bottom: 1px solid rgba(42, 226, 255, 0.45);
  transition: color 0.2s, border-color 0.2s;
}

.hero-guide-link:hover,
.hero-guide-link:focus-visible {
  color: var(--cyan);
  border-color: var(--cyan);
}

.route-stage {
  --trace-width: 56%;
}

.route-stage::after {
  width: var(--trace-width);
  transform-origin: left center;
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.route-packet {
  position: absolute;
  z-index: 4;
  top: 21px;
  left: 62.5%;
  width: 14px;
  height: 14px;
  border: 2px solid #e9fbff;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 0 5px rgba(42, 226, 255, 0.12), 0 0 24px rgba(42, 226, 255, 0.9);
  transform: translateX(-50%);
  transition: left 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.route-node > .material-symbols-rounded,
.route-node strong {
  transition: color 0.35s, border-color 0.35s, box-shadow 0.35s, transform 0.35s;
}

.route-node.active > .material-symbols-rounded {
  animation: route-node-pulse 2.8s ease-in-out 2;
}

.route-flight-path {
  clip-path: inset(0 0 0 0);
  will-change: clip-path, filter;
}

.route-alert {
  will-change: opacity, filter;
}

.use-guide {
  padding: 92px clamp(22px, 8vw, 118px);
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(560px, 1.28fr);
  gap: clamp(46px, 7vw, 108px);
  background: linear-gradient(135deg, #081827 0%, #06111d 58%, #0a1923 100%);
  border-block: 1px solid var(--line);
  position: relative;
  overflow: hidden;
}

.use-guide::before {
  content: "";
  position: absolute;
  inset: -40% -12% auto auto;
  width: 520px;
  aspect-ratio: 1;
  border: 1px solid rgba(42, 226, 255, 0.12);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(42, 226, 255, 0.025), 0 0 0 160px rgba(42, 226, 255, 0.018);
  pointer-events: none;
}

.use-guide-heading {
  position: relative;
  z-index: 1;
}

.use-guide-heading h2 {
  font: 800 clamp(42px, 4.7vw, 68px) / 0.94 var(--display);
  letter-spacing: -0.06em;
  margin: 0;
}

.use-guide-heading h2 em {
  font-style: normal;
  color: var(--lime);
}

.use-guide-heading > p:last-child {
  max-width: 470px;
  margin: 26px 0 0;
  color: var(--soft);
  font-size: 14px;
}

.use-guide-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  position: relative;
  z-index: 1;
}

.use-guide-steps::before {
  content: "";
  position: absolute;
  left: 27px;
  top: 38px;
  bottom: 38px;
  width: 1px;
  background: linear-gradient(var(--cyan), rgba(42, 226, 255, 0.12));
  transform-origin: top;
}

.use-guide-steps li {
  display: grid;
  grid-template-columns: 56px 46px 1fr auto;
  gap: 18px;
  align-items: center;
  min-height: 150px;
  padding: 24px 0;
  border-top: 1px solid var(--line);
  position: relative;
}

.use-guide-steps li:last-child {
  border-bottom: 1px solid var(--line);
}

.step-number {
  font: 500 10px var(--mono);
  color: var(--cyan);
  align-self: start;
  padding-top: 13px;
}

.step-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: #071522;
  color: var(--cyan);
  box-shadow: 0 0 0 7px #071522;
  font-size: 23px;
}

.use-guide-steps strong {
  font: 700 20px / 1.1 var(--display);
  letter-spacing: -0.02em;
}

.use-guide-steps p {
  max-width: 510px;
  margin: 7px 0 0;
  color: var(--soft);
  font-size: 12px;
}

.use-guide-steps a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 3px;
  color: #e9f5fa;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
}

.use-guide-steps a:hover,
.use-guide-steps a:focus-visible {
  transform: translateX(3px);
  border-color: var(--cyan);
  background: rgba(42, 226, 255, 0.08);
  color: var(--cyan);
}

.reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(26px);
}

.reveal-ready [data-reveal].is-visible {
  opacity: 1;
  transform: none;
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-ready [data-reveal] .use-guide-steps::before {
  transform: scaleY(0);
}

.reveal-ready [data-reveal].is-visible .use-guide-steps::before {
  transform: scaleY(1);
  transition: transform 1s 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-ready [data-reveal] [data-guide-step] {
  opacity: 0;
  transform: translateX(20px);
}

.reveal-ready [data-reveal].is-visible [data-guide-step] {
  opacity: 1;
  transform: none;
  transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-ready [data-reveal].is-visible [data-guide-step]:nth-child(2) {
  transition-delay: 0.12s;
}

.reveal-ready [data-reveal].is-visible [data-guide-step]:nth-child(3) {
  transition-delay: 0.24s;
}

.motion-ready .hero-copy > * {
  animation: hero-entry 0.65s both cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-ready .hero-copy > *:nth-child(2) { animation-delay: 0.08s; }
.motion-ready .hero-copy > *:nth-child(3) { animation-delay: 0.16s; }
.motion-ready .hero-copy > *:nth-child(4) { animation-delay: 0.24s; }
.motion-ready .hero-copy > *:nth-child(5) { animation-delay: 0.3s; }
.motion-ready .route-telescope { animation: telescope-entry 0.8s 0.12s both cubic-bezier(0.22, 1, 0.36, 1); }
.motion-ready .route-stage::after { animation: route-trace 0.9s 0.45s both cubic-bezier(0.22, 1, 0.36, 1); }
.motion-ready .route-packet { animation: packet-breathe 2.2s 1.1s ease-in-out 2; }
.motion-ready .route-flight-path {
  animation:
    route-flight-draw 1.15s 0.42s both cubic-bezier(0.22, 1, 0.36, 1),
    route-flight-energy 2.4s 1.57s ease-in-out 2;
}
.motion-ready .route-alert {
  animation: route-alert-arrive 0.52s 1.32s both cubic-bezier(0.22, 1, 0.36, 1);
}
.motion-ready .route-alert .material-symbols-rounded {
  animation: route-alert-pulse 1.1s 1.78s ease-in-out 2;
}
.motion-ready .route-telescope.is-routing .route-flight-path {
  animation: route-flight-redraw 0.82s both cubic-bezier(0.22, 1, 0.36, 1);
}
.motion-ready .route-telescope.is-routing .route-alert {
  animation: route-alert-refresh 0.58s 0.42s both cubic-bezier(0.22, 1, 0.36, 1);
}
.motion-ready .diagnosis-workbench { animation: workbench-entry 0.7s 0.35s both cubic-bezier(0.22, 1, 0.36, 1); }
.first-check.is-updating { animation: check-swap 0.36s cubic-bezier(0.22, 1, 0.36, 1); }

@keyframes hero-entry { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes telescope-entry { from { opacity: 0.2; transform: translateX(26px); } to { opacity: 1; transform: none; } }
@keyframes workbench-entry { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes route-trace { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: 1; } }
@keyframes route-flight-draw {
  0% { clip-path: inset(0 100% 0 0); filter: brightness(0.72) saturate(0.8); }
  72% { filter: brightness(1.32) saturate(1.18) drop-shadow(0 0 10px rgba(42, 226, 255, 0.5)); }
  100% { clip-path: inset(0 0 0 0); filter: brightness(1) saturate(1); }
}
@keyframes route-flight-energy {
  0%, 100% { filter: brightness(1) saturate(1); }
  50% { filter: brightness(1.18) saturate(1.12) drop-shadow(0 0 8px rgba(42, 226, 255, 0.34)) drop-shadow(0 0 8px rgba(255, 144, 45, 0.24)); }
}
@keyframes route-flight-redraw {
  0% { clip-path: inset(0 100% 0 0); opacity: 0.38; filter: brightness(0.72); }
  78% { opacity: 1; filter: brightness(1.3) saturate(1.2) drop-shadow(0 0 10px rgba(42, 226, 255, 0.48)); }
  100% { clip-path: inset(0 0 0 0); opacity: 1; filter: brightness(1) saturate(1); }
}
@keyframes route-alert-arrive {
  from { opacity: 0; filter: blur(2px) brightness(0.72); }
  to { opacity: 1; filter: none; }
}
@keyframes route-alert-refresh {
  0% { opacity: 0.35; filter: blur(1.5px) brightness(0.76); }
  100% { opacity: 1; filter: none; }
}
@keyframes route-alert-pulse {
  0%, 100% { filter: drop-shadow(0 0 0 rgba(255, 138, 24, 0)); transform: scale(1); }
  50% { filter: drop-shadow(0 0 10px rgba(255, 138, 24, 0.72)); transform: scale(1.12); }
}
@keyframes packet-breathe { 0%, 100% { box-shadow: 0 0 0 5px rgba(42, 226, 255, 0.1), 0 0 18px rgba(42, 226, 255, 0.7); } 50% { box-shadow: 0 0 0 9px rgba(42, 226, 255, 0.03), 0 0 30px rgba(42, 226, 255, 1); } }
@keyframes route-node-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.045); } }
@keyframes check-swap { 0% { opacity: 0.45; transform: translateY(6px); } 100% { opacity: 1; transform: none; } }

@media (max-width: 1040px) {
  .use-guide { grid-template-columns: 1fr; }
  .use-guide-heading > p:last-child { max-width: 650px; }
}

@media (max-width: 760px) {
  .hero-actions { display: grid; gap: 8px; }
  .hero-guide-link { justify-content: center; width: 100%; border-bottom: 0; }
  .use-guide { padding: 66px 18px; gap: 38px; }
  .use-guide-heading h2 { font-size: 45px; }
  .use-guide-steps li { grid-template-columns: 48px 1fr; gap: 14px; min-height: 0; padding: 24px 0; }
  .use-guide-steps::before { left: 23px; top: 34px; bottom: 34px; }
  .step-number { display: none; }
  .step-icon { grid-column: 1; grid-row: 1; align-self: start; }
  .use-guide-steps li > div { grid-column: 2; grid-row: 1; }
  .use-guide-steps a { grid-column: 2; width: max-content; margin-top: 2px; }
  .route-packet { top: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-guide-link,
  .route-stage::after,
  .route-packet,
  .route-flight-path,
  .route-alert,
  .route-alert .material-symbols-rounded,
  .route-node > .material-symbols-rounded,
  .route-node strong,
  .use-guide-steps a,
  .reveal-ready [data-reveal],
  .reveal-ready [data-reveal] .use-guide-steps::before,
  .reveal-ready [data-reveal] [data-guide-step] {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .route-node.active > .material-symbols-rounded,
  .motion-ready .hero-copy > *,
  .motion-ready .route-telescope,
  .motion-ready .diagnosis-workbench,
  .first-check.is-updating {
    animation: none !important;
  }
}

/* Pixel-restore pass for the selected 1487 x 1058 homepage concept. */
html {
  scrollbar-width: none;
}

html::-webkit-scrollbar {
  display: none;
}

@media (min-width: 1041px) {
  .telescope-header {
    height: 64px;
    padding: 0 64px 0 44px;
    gap: 28px;
    background: rgba(2, 9, 18, 0.82);
    border-bottom-color: rgba(143, 211, 234, 0.1);
    backdrop-filter: blur(14px);
  }

  .telescope-header .brand {
    gap: 11px;
    font-size: 18px;
  }

  .telescope-header .brand-mark {
    width: 38px;
    height: 38px;
    font-size: 12px;
  }

  .telescope-header nav {
    gap: 36px;
    font-size: 13px;
  }

  .telescope-header .brand,
  .telescope-header nav {
    transform: translateY(10px);
  }

  .telescope-hero {
    min-height: 814px;
    height: 814px;
    padding: 64px 0 0;
    grid-template-columns: 33.6% 66.4%;
    grid-template-rows: 451px 135px 164px;
    background: #020912;
    overflow: hidden;
  }

  .telescope-hero::after {
    display: none;
  }

  .hero-copy {
    grid-column: 1;
    grid-row: 1 / 4;
    padding: 55px 52px 30px;
    border-right: 1px solid rgba(143, 211, 234, 0.16);
    background: radial-gradient(circle at 84% 50%, rgba(18, 48, 73, 0.12), transparent 56%), #020912;
  }

  .hero-copy h1 {
    max-width: 395px;
    margin: 0;
    font-size: clamp(68px, 5.72vw, 85px);
    line-height: 0.92;
    letter-spacing: -0.058em;
  }

  .hero-lede {
    max-width: 385px;
    margin: 15px 0 22px;
    color: #abb7c4;
    font-size: 17px;
    line-height: 1.43;
  }

  .primary-button {
    min-width: 300px;
    min-height: 61px;
    padding: 0 25px 0 32px;
    justify-content: space-between;
    border-radius: 999px;
    font-size: 15px;
    box-shadow: 0 15px 38px rgba(42, 226, 255, 0.15);
  }

  .primary-button .material-symbols-rounded {
    font-size: 25px;
  }

  .privacy-line {
    margin: 22px 0 0 7px;
    gap: 9px;
    color: #a3aeb9;
    font-size: 12px;
  }

  .privacy-line i {
    color: #647483;
    font-style: normal;
  }

  .privacy-line .material-symbols-rounded {
    color: #a3aeb9;
    font-size: 17px;
    font-variation-settings: "FILL" 1;
  }

  .route-telescope {
    grid-column: 2;
    grid-row: 1;
    min-height: 0;
    padding: 43px 0 0;
    overflow: hidden;
    background-color: #04101d;
    background-image: linear-gradient(180deg, rgba(2, 9, 18, 0.12), rgba(2, 9, 18, 0.45)), url('/assets/fmp-route-earth-night-v1.webp?v=20260824-5');
    background-position: center -45px;
    background-size: 100% 115%;
    border-bottom: 1px solid rgba(143, 211, 234, 0.18);
  }

  .route-telescope > .mono-label {
    position: relative;
    z-index: 7;
    margin: 0 0 0 58px;
    color: #b3bac3;
    font-size: 11px;
    letter-spacing: 0.12em;
  }

  .route-telescope > .mono-label::after {
    content: "";
    display: block;
    width: 27px;
    height: 2px;
    margin-top: 7px;
    background: var(--cyan);
  }

  .route-stage {
    --trace-width: 46.45%;
    position: absolute;
    z-index: 8;
    top: 106px;
    left: 0;
    right: 0;
    height: 125px;
    display: block;
    margin: 0;
  }

  .route-stage::before,
  .route-stage::after {
    top: 31px;
    left: 13.66%;
    right: auto;
    height: 2px;
  }

  .route-stage::before {
    width: 70.24%;
    background: linear-gradient(90deg, #2ae2ff 0 66.1%, rgba(129, 157, 174, 0.25) 66.1% 100%);
    box-shadow: 0 0 12px rgba(42, 226, 255, 0.18);
  }

  .route-stage::after {
    width: var(--trace-width);
    background: linear-gradient(90deg, #2ae2ff 0 49%, #ff902d 100%);
    box-shadow: 0 0 12px rgba(42, 226, 255, 0.38), 0 0 12px rgba(255, 144, 45, 0.22);
  }

  .route-node {
    position: absolute;
    top: 0;
    width: 160px;
    transform: translateX(-50%);
  }

  .route-node:nth-child(1) { left: 13.66%; }
  .route-node:nth-child(2) { left: 37.35%; }
  .route-node:nth-child(3) { left: 60.12%; }
  .route-node:nth-child(4) { left: 83.91%; }

  .route-node > .material-symbols-rounded {
    width: 64px;
    height: 64px;
    border-color: rgba(69, 226, 255, 0.92);
    background: rgba(5, 20, 33, 0.9);
    color: #e7f7fb;
    font-size: 29px;
  }

  .route-node strong {
    margin-top: 19px;
    color: #f5f6f8;
    font: 700 15px/1.1 var(--display);
  }

  .route-node small {
    margin-top: 4px;
    color: #c4c8cf;
    font-size: 12px;
    line-height: 1.1;
  }

  .route-node.active > .material-symbols-rounded {
    border: 2px solid #ff902d;
    color: #ff902d;
    box-shadow: 0 0 0 5px rgba(255, 144, 45, 0.08), 0 0 22px rgba(255, 144, 45, 0.35);
  }

  .route-node.active strong {
    color: #f5f6f8;
  }

  .route-node:nth-child(4):not(.active) {
    opacity: 0.48;
  }

  .route-packet {
    top: 25px;
    left: 60.12%;
    width: 14px;
    height: 14px;
    border-color: #ffd3a9;
    background: #ff902d;
    box-shadow: 0 0 0 5px rgba(255, 144, 45, 0.12), 0 0 22px rgba(255, 144, 45, 0.75);
  }

  .route-flight {
    position: absolute;
    z-index: 5;
    inset: 0;
    pointer-events: none;
  }

  .route-flight-path {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -4.8%;
    width: 107%;
    height: 100%;
    object-fit: cover;
    transform: scaleY(1.855);
    transform-origin: 50% 74.1%;
  }

  .route-alert {
    position: absolute;
    z-index: 7;
    left: 56.6%;
    top: 321px;
    display: grid;
    justify-items: center;
    gap: 5px;
    color: #ff8a18;
    text-align: center;
    transform: translateX(-50%);
  }

  .route-alert .material-symbols-rounded {
    font-size: 28px;
    font-variation-settings: "FILL" 1;
  }

  .route-alert strong {
    font-size: 13px;
    line-height: 1.35;
  }

  .route-limit {
    display: none;
  }

  .diagnosis-workbench {
    grid-column: 2;
    grid-row: 2 / 4;
    display: contents;
    border: 0;
    box-shadow: none;
  }

  .symptom-picker {
    grid-column: 2;
    grid-row: 2;
    padding: 14px 64px 26px 58px;
    border: 0;
    border-bottom: 1px solid rgba(143, 211, 234, 0.18);
    background: rgba(3, 13, 24, 0.98);
  }

  .symptom-picker .mono-label {
    margin-bottom: 19px;
    color: #b6bdc5;
    font-size: 10px;
  }

  .symptom-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }

  .symptom-options button {
    min-height: 59px;
    gap: 13px;
    padding: 0 18px;
    border-color: rgba(129, 157, 174, 0.28);
    background: rgba(13, 29, 45, 0.84);
    color: #f1f3f6;
    font-size: 13px;
  }

  .symptom-options button .material-symbols-rounded {
    font-size: 20px;
  }

  .symptom-options button.active {
    border-color: var(--cyan);
    background: rgba(15, 39, 57, 0.94);
    box-shadow: inset 0 0 0 1px var(--cyan), 0 0 20px rgba(42, 226, 255, 0.08);
  }

  .first-check {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
    min-height: 140px;
    margin: 0 64px 24px 58px;
    padding: 20px 26px 20px 28px;
    grid-template-columns: minmax(0, 1fr) 288px;
    gap: 32px;
    border: 1px solid rgba(143, 211, 234, 0.22);
    border-left: 3px solid var(--cyan);
    border-radius: 8px;
    background: linear-gradient(105deg, rgba(12, 31, 48, 0.97), rgba(7, 20, 34, 0.97));
    box-shadow: none;
  }

  .first-check .mono-label {
    margin-bottom: 12px;
    color: #b6bdc5;
    font-size: 10px;
  }

  .check-content {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 15px;
    align-items: start;
  }

  .check-number {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(42, 226, 255, 0.65);
    border-radius: 50%;
    color: var(--cyan);
    font: 700 17px/1 var(--display);
    background: rgba(42, 226, 255, 0.05);
  }

  .first-check h2 {
    margin: 2px 0 5px;
    font-size: 16px;
    line-height: 1.1;
    letter-spacing: -0.02em;
  }

  .first-check p:not(.mono-label) {
    max-width: 470px;
    color: #9ca9b7;
    font-size: 12px;
  }

  .check-actions {
    align-self: center;
  }

  .retest-button {
    width: 288px;
    min-height: 53px;
    justify-content: center;
    border-color: rgba(42, 226, 255, 0.9);
    border-radius: 5px;
    font-size: 13px;
  }

  .why-step {
    width: 100%;
    margin-top: 9px;
    color: var(--cyan);
    font-size: 11px;
    text-align: center;
  }

  .why-step summary {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
  }

  .why-step summary::-webkit-details-marker {
    display: none;
  }

  .why-step summary .material-symbols-rounded {
    font-size: 17px;
  }

  .why-step p {
    margin: 5px auto 0 !important;
    color: #96a7b5 !important;
    text-align: left;
  }

  .continuation {
    min-height: 244px;
    padding: 46px 118px 36px;
    grid-template-columns: 667px minmax(0, 1fr);
    gap: 58px;
    background: #061321;
  }

  .continuation .mono-label {
    margin-bottom: 26px;
    color: #b5bdc6;
    font-size: 10px;
  }

  .game-links > div {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 22px;
  }

  .game-links a {
    width: auto;
    min-width: 0;
    max-width: 100%;
    min-height: 48px;
    justify-content: space-between;
    padding: 0 20px;
    border-color: rgba(129, 157, 174, 0.24);
    background: rgba(13, 29, 45, 0.72);
    font-size: 12px;
  }

  .method-summary {
    padding-left: 58px;
    border-left-color: rgba(143, 211, 234, 0.16);
  }

  .method-summary .mono-label {
    margin-bottom: 35px;
  }

  .method-copy {
    gap: 14px;
    align-items: center;
  }

  .method-copy > .material-symbols-rounded {
    width: 72px;
    height: 72px;
    font-size: 30px;
    box-shadow: 0 0 0 8px rgba(42, 226, 255, 0.035), 0 0 0 16px rgba(42, 226, 255, 0.02);
  }

  .method-copy p {
    max-width: 350px;
    font-size: 12px;
    line-height: 1.55;
  }

  .method-summary > a {
    margin: 16px 0 0 95px;
  }
}

@media (max-width: 1040px) {
  .route-telescope {
    min-height: 430px;
    background-image: linear-gradient(180deg, rgba(2, 9, 18, 0.08), rgba(2, 9, 18, 0.24)), url('/assets/fmp-route-earth-night-v1.webp?v=20260824-5');
    background-size: cover;
  }

  .route-flight {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }

  .route-flight-path {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .route-alert {
    position: absolute;
    left: 57%;
    top: 68%;
    display: grid;
    justify-items: center;
    color: var(--amber);
    text-align: center;
    transform: translate(-50%, -50%);
  }

  .route-alert strong {
    font-size: 11px;
    line-height: 1.25;
  }

  .check-content {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;
  }

  .check-number {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid var(--cyan);
    border-radius: 50%;
    color: var(--cyan);
    font-weight: 800;
  }

  .why-step {
    margin-top: 10px;
    color: var(--cyan);
    font-size: 11px;
  }

  .why-step summary {
    cursor: pointer;
  }
}

@media (max-width: 760px) {
  .route-telescope {
    min-height: 380px;
  }

  .hero-copy h1 {
    max-width: 520px;
    min-height: 3.68em;
    font-size: clamp(54px, 16vw, 68px);
    font-family: Arial, sans-serif;
    line-height: 0.92;
  }

  .route-flight-path {
    object-position: center bottom;
  }

  .route-alert {
    top: 70%;
  }

  .check-actions,
  .why-step {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .route-flight-path,
  .route-alert,
  .first-check,
  .symptom-options button {
    animation: none !important;
    transition: none !important;
  }
}
