/* =========================================================
   STROKIQ V11.3 — MOBILE / RESPONSIVE PASS
   Desktop V11.2 remains visually untouched above 1100px.
   Goal: preserve mystery + premium hierarchy on touch screens,
   never shrink meaningful information into unreadable diagrams.
   ========================================================= */
.mobile-only-story{display:none}

@media (max-width:1100px){
  :root{--header:78px}
  body::after{display:none}
  .container{width:calc(100% - 40px);max-width:none}

  /* Mobile/tablet header: brand + one quiet menu control. */
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98,.early-access-page) .site-header,
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98,.early-access-page) .nav-wrap{
    height:78px;
  }
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98,.early-access-page) .site-header{
    background:rgba(2,7,11,.94);
    backdrop-filter:blur(22px);
    border-bottom:1px solid rgba(164,225,242,.13);
  }
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98,.early-access-page) .nav-wrap{
    width:calc(100% - 36px);
    max-width:none;
    grid-template-columns:1fr auto;
    gap:18px;
  }
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98,.early-access-page) .brand{
    font-size:1.18rem;
    letter-spacing:.19em;
    gap:11px;
  }
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98,.early-access-page) .brand-glyph{
    width:34px;height:17px;
  }
  .desktop-nav{display:none!important}
  .header-actions .btn-primary{display:none!important}
  .menu-button{
    display:block;
    width:50px;height:50px;
    border-color:rgba(164,225,242,.22);
    background:rgba(255,255,255,.025);
  }
  .menu-button span{width:22px;background:#e7f5f9}
  .mobile-panel{
    inset:78px 0 0;
    padding:24px 22px max(36px,env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 80% 8%,rgba(84,232,255,.085),transparent 18rem),
      rgba(2,7,11,.99);
    backdrop-filter:blur(24px);
  }
  .mobile-panel nav a{
    position:relative;
    padding:18px 4px;
    border-bottom:1px solid rgba(164,225,242,.12);
    font-size:clamp(1.35rem,4.6vw,1.75rem);
    line-height:1.12;
    font-weight:760;
    letter-spacing:-.025em;
    color:#d8e5ea;
  }
  .mobile-panel nav a.active{color:#fff}
  .mobile-panel nav a.active::after{
    content:"";position:absolute;right:4px;top:50%;width:8px;height:8px;border-radius:50%;
    background:var(--cyan);box-shadow:0 0 18px rgba(84,232,255,.65);transform:translateY(-50%);
  }
  .mobile-panel .btn{
    min-height:58px;margin-top:28px;font-size:1rem;
  }

  /* Touch targets + universal readable secondary type. */
  .btn{min-height:54px;padding-inline:22px;font-size:.96rem}
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98) :is(.v7-kicker,.pv2-kicker,.t87-kicker,.c90-kicker,.s92-kicker,.a98-kicker){
    font-size:.88rem;line-height:1.35;letter-spacing:.16em;
  }

  /* Footer: simple and readable on touch screens. */
  .site-footer{padding:42px 0 max(30px,env(safe-area-inset-bottom))}
  .footer-top{grid-template-columns:1fr 1fr;gap:34px 28px}
  .footer-brand{grid-column:1/-1}
  .footer-brand p{max-width:460px!important;font-size:1rem!important;line-height:1.62}
  .footer-nav{gap:13px}
  .footer-nav .label{font-size:.84rem!important}
  .footer-nav a{font-size:1rem!important;min-height:26px;display:flex;align-items:center}
  .footer-bottom{margin-top:34px;padding-top:20px;font-size:.84rem!important;line-height:1.55}
}

@media (max-width:900px){
  .container{width:calc(100% - 36px)}
  main{overflow:hidden}

  /* HOME — preserve the approved brand art in full instead of destructive portrait cropping. */
  body.home-v7 .v7-hero{
    margin-top:78px;
    aspect-ratio:1774/888;
    min-height:0;
    background-size:100% 100%;
    background-position:center;
  }
  body.home-v7 .v7-hero-video{object-fit:fill}
  body.home-v7 .v7-rail{position:relative;bottom:auto;height:46px;background:#031019}
  body.home-v7 .v7-rail-track{font-size:.86rem;letter-spacing:.055em}
  body.home-v7 .v7-rail-track i{padding-inline:28px}
  body.home-v7 .v7-manifesto{padding:78px 0 82px;min-height:auto}
  body.home-v7 .v7-manifesto-inner{text-align:left;transform:none}
  body.home-v7 .v7-manifesto h1{font-size:clamp(3.05rem,12.6vw,5.3rem);line-height:.91}
  body.home-v7 .v7-manifesto p{margin:22px 0 0;font-size:1.08rem;line-height:1.6;max-width:34rem}
  body.home-v7 .v7-positioning{margin-top:22px;font-size:1rem;line-height:1.5;align-items:flex-start}
  body.home-v7 .v7-positioning i{margin-top:.72em;width:28px}
  body.home-v7 .v7-close-inner{grid-template-columns:1fr;gap:28px;padding:62px 0 66px;align-items:start}
  body.home-v7 .v7-close-action{text-align:left;padding:0}
  body.home-v7 .v7-close-action p{font-size:1.04rem}
  body.home-v7 .v7-close .btn{width:100%;max-width:330px}
  body.home-v7 .footer-bottom{font-size:.82rem!important}

  /* PLATFORM — mobile story becomes a vertical decision path, not a shrunken SVG. */
  body.platform-v5 main{padding-top:78px}
  body.platform-v5 .p5-hero{padding:70px 0 54px;min-height:auto}
  body.platform-v5 .p5-hero-copy{width:calc(100% - 36px)}
  body.platform-v5 .p5-hero h1{font-size:clamp(3.2rem,13.4vw,5.15rem);line-height:.89;margin-top:18px}
  body.platform-v5 .p5-hero-copy>p{font-size:1.08rem;line-height:1.62}
  body.platform-v5 .p5-flow{width:calc(100% - 36px);margin-top:32px}
  body.platform-v5 .p5-flow-svg{display:none}
  body.platform-v5 .p5-mobile-flow{display:grid;gap:0;padding:10px 0 4px;position:relative}
  body.platform-v5 .p5-mobile-flow::before{content:"RAW SIGNAL";display:block;margin-bottom:20px;color:#829aa5;font-size:.82rem;font-weight:820;letter-spacing:.15em}
  body.platform-v5 .p5-mobile-flow span{position:relative;display:grid;gap:6px;padding:20px 20px 20px 28px;border-left:1px solid rgba(84,232,255,.26)}
  body.platform-v5 .p5-mobile-flow span::before{content:"";position:absolute;left:-5px;top:28px;width:9px;height:9px;border-radius:50%;background:#081b24;border:1px solid var(--cyan);box-shadow:0 0 15px rgba(84,232,255,.26)}
  body.platform-v5 .p5-mobile-flow span:last-of-type::before{background:#e7feff;box-shadow:0 0 20px rgba(84,232,255,.7)}
  body.platform-v5 .p5-mobile-flow b{font-size:1.14rem;letter-spacing:.12em}
  body.platform-v5 .p5-mobile-flow em{font-size:1rem;color:#a5b7be;line-height:1.45}
  body.platform-v5 .p5-mobile-flow>i{display:none}
  body.platform-v5 .p5-principle-grid,body.platform-v5 .p5-close-inner{padding:68px 0 72px;gap:26px}
  body.platform-v5 .p5-principle h2,body.platform-v5 .p5-close h2{font-size:clamp(2.9rem,12vw,4.35rem)}
  body.platform-v5 .p5-principle-copy p,body.platform-v5 .p5-close-copy p{font-size:1.08rem;line-height:1.62}
  body.platform-v5 .p5-close-copy{align-items:flex-start}
  body.platform-v5 .p5-close-copy .btn{width:100%;max-width:330px}

  /* Generic hero/copy sizing on the narrative pages. */
  body.technology-v87 .t87-hero,
  body.coaches-v90 .c90-hero,
  body.science-v93 .s92-hero,
  body.about-v98 .a98-hero{padding-top:calc(78px + 58px)}
  body.technology-v87 .t87-hero p,
  body.coaches-v90 .c90-hero p,
  body.science-v93 .s92-hero p,
  body.about-v98 .a98-hero p{font-size:1.08rem;line-height:1.62}

  body.technology-v87 .t87-story-head p,
  body.coaches-v90 .c90-story-head p,
  body.science-v93 .s92-story-head p,
  body.about-v98 .a98-belief-copy,
  body.about-v98 .a98-philosophy-copy{font-size:1.06rem;line-height:1.65}

  /* ABOUT — keep the depth metaphor, but make every stage readable. */
  body.about-v98 .a98-belief{padding-top:76px}
  body.about-v98 .a98-depth-scene{height:720px;margin-top:24px}
  body.about-v98 .a98-stage{width:43vw}
  body.about-v98 .a98-stage strong{font-size:clamp(2rem,8.5vw,3.25rem)}
  body.about-v98 .a98-stage .index{font-size:.78rem;line-height:1.35}
  body.about-v98 .a98-stage em{font-size:.94rem;line-height:1.4}
  body.about-v98 .a98-stage.s1,body.about-v98 .a98-stage.s3{right:51%;padding-right:56px}
  body.about-v98 .a98-stage.s2{left:51%;padding-left:56px}
  body.about-v98 .a98-stage::before{width:40px}
  body.about-v98 .a98-understanding small,body.about-v98 .a98-result small{font-size:.80rem}
  body.about-v98 .a98-understanding strong{font-size:clamp(2.25rem,9.2vw,3.8rem)}
  body.about-v98 .a98-depth-note{font-size:.76rem;letter-spacing:.14em;bottom:18px}
  body.about-v98 .a98-philosophy{padding-top:76px}
  body.about-v98 .a98-manifesto strong{font-size:.88rem;letter-spacing:.10em}
  body.about-v98 .a98-close{padding:76px 0 84px}
  body.about-v98 .a98-close .btn{width:100%;max-width:330px}

  /* CONTACT — no tiny labels, no two-column keyboard gymnastics. */
  body.early-access-page .ea-stage{padding:126px 0 74px;align-items:flex-start}
  body.early-access-page .ea-stage-grid{grid-template-columns:1fr;gap:44px}
  body.early-access-page .ea-copy{max-width:none}
  body.early-access-page .ea-copy .eyebrow{font-size:.92rem}
  body.early-access-page .ea-headline{font-size:clamp(3.35rem,13vw,5.15rem);line-height:.9;margin:20px 0 22px}
  body.early-access-page .ea-intro{font-size:1.08rem;line-height:1.6}
  body.early-access-page .ea-form-card{padding:30px 24px 28px;border-radius:22px}
  body.early-access-page .ea-form-kicker{font-size:.92rem}
  body.early-access-page .ea-form-head h2{font-size:clamp(2.3rem,9.8vw,3.4rem)}
  body.early-access-page .ea-form-grid{grid-template-columns:1fr;gap:18px}
  body.early-access-page .ea-field-full{grid-column:auto}
  body.early-access-page .ea-field label{font-size:1.12rem;margin-bottom:9px}
  body.early-access-page .ea-field input,body.early-access-page .ea-field select{height:64px;font-size:1.06rem;padding-inline:17px}
  body.early-access-page .ea-field select{background-position:calc(100% - 21px) 28px,calc(100% - 15px) 28px}
  body.early-access-page .ea-submit{min-height:62px;font-size:1.02rem}
  body.early-access-page .ea-privacy{font-size:.94rem;line-height:1.55}
}

@media (max-width:700px){
  .container{width:calc(100% - 32px)}
  .mobile-only-story{display:block}

  /* TECHNOLOGY — purpose-built mobile narrative replaces the dense wide SVG. */
  body.technology-v87 .t87-stage-wrap{display:none}
  body.technology-v87 .t87-story{padding:66px 0 76px}
  body.technology-v87 .t87-story-head{margin-bottom:32px}
  .t87-mobile-story{width:calc(100% - 32px);margin:0 auto;padding:28px 22px;border-top:1px solid rgba(164,225,242,.16);border-bottom:1px solid rgba(164,225,242,.16);background:linear-gradient(180deg,rgba(84,232,255,.018),transparent)}
  .t87m-inputs{display:grid;gap:10px}
  .t87m-inputs span{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(164,225,242,.09);color:#e2f0f4;font-size:1rem;font-weight:790;letter-spacing:.12em}
  .t87m-inputs span::after{content:"→";color:var(--cyan);font-size:1.15rem}
  .t87m-core{position:relative;margin:30px auto;padding:28px 18px;text-align:center;border:1px solid rgba(84,232,255,.22);border-radius:999px;background:radial-gradient(circle,rgba(84,232,255,.10),rgba(4,17,24,.86) 62%,rgba(2,7,11,.92));box-shadow:0 0 46px rgba(84,232,255,.06)}
  .t87m-core small{display:block;color:#8ea5af;font-size:.78rem;font-weight:840;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7px}
  .t87m-core strong{font-size:1rem;letter-spacing:.08em;color:#e3f5f9}
  .t87m-rise{width:1px;height:54px;margin:-4px auto 0;background:linear-gradient(to bottom,var(--cyan),rgba(84,232,255,.08));box-shadow:0 0 14px rgba(84,232,255,.22)}
  .t87m-output{padding:22px 4px 6px;text-align:center}
  .t87m-output small{display:block;color:var(--cyan);font-size:.78rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
  .t87m-output strong{display:block;font-size:clamp(2rem,9.5vw,3rem);line-height:.95;letter-spacing:-.045em}
  .t87m-output em{display:block;margin-top:9px;color:#a8bbc3;font-style:normal;font-size:.98rem}
  body.technology-v87 .t87-close{padding-top:0}
  body.technology-v87 .t87-close .btn{width:100%;max-width:330px}

  /* COACH — repeated-session pattern is rebuilt vertically for a phone. */
  body.coaches-v90 .c90-stage-wrap{display:none}
  body.coaches-v90 .c90-story{padding:66px 0 74px}
  .c90-mobile-story{width:calc(100% - 32px);margin:30px auto 0;padding:22px 20px 26px;border-top:1px solid rgba(164,225,242,.15);border-bottom:1px solid rgba(164,225,242,.15)}
  .c90m-kicker{color:#91a8b1;font-size:.80rem;font-weight:820;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
  .c90m-row{position:relative;display:grid;grid-template-columns:94px 1fr;gap:14px;align-items:center;min-height:58px;border-bottom:1px solid rgba(164,225,242,.08)}
  .c90m-row:last-of-type{border-bottom:0}
  .c90m-row span{color:#cbd9de;font-size:.88rem;font-weight:760;letter-spacing:.05em}
  .c90m-line{position:relative;height:1px;background:linear-gradient(90deg,rgba(84,232,255,.08),rgba(84,232,255,.36),rgba(84,232,255,.08))}
  .c90m-row.hot .c90m-line::after{content:"";position:absolute;left:62%;top:50%;width:10px;height:10px;border-radius:50%;background:#dfffff;border:1px solid #fff;transform:translate(-50%,-50%);box-shadow:0 0 18px rgba(84,232,255,.85)}
  .c90m-row.hot::after{content:"";position:absolute;left:calc(94px + 14px + 62%);top:50%;width:1px;height:58px;background:rgba(84,232,255,.14);transform:translateY(-50%)}
  .c90m-callout{margin-top:22px;padding:18px 0 0;border-top:1px solid rgba(84,232,255,.18)}
  .c90m-callout small{display:block;color:var(--cyan);font-size:.78rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}
  .c90m-callout strong{display:block;font-size:1.35rem;line-height:1.05;letter-spacing:-.02em}
  .c90m-callout em{display:block;margin-top:8px;color:#9eb1b9;font-style:normal;font-size:.94rem}
  body.coaches-v90 .c90-principle{padding:72px 0 76px}
  body.coaches-v90 .c90-step{grid-template-columns:38px 1fr;padding:18px 0}
  body.coaches-v90 .c90-step span{display:block;font-size:.84rem}
  body.coaches-v90 .c90-close .btn{width:100%;max-width:330px}

  /* SCIENCE — do not make visitors horizontally pan a tiny lab graphic. */
  body.science-v93 .s92-stage{display:none}
  body.science-v93 .s92-story{padding:72px 0 82px}
  body.science-v93 .s92-steps{grid-template-columns:1fr;padding:0;gap:0;border-top:1px solid rgba(164,225,242,.12)}
  body.science-v93 .s92-step{padding:16px 0;border-bottom:1px solid rgba(164,225,242,.10);font-size:.92rem}
  body.science-v93 .s92-step span{font-size:.94rem;margin-top:5px}
  .s92-mobile-signal{margin:28px 0 4px;padding:22px 0 4px}
  .s92m-row{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:14px;height:58px}
  .s92m-row span{font-size:.78rem;font-weight:800;color:#8fa5ae;letter-spacing:.08em}
  .s92m-line{position:relative;height:1px;background:linear-gradient(90deg,rgba(84,232,255,.10),rgba(84,232,255,.38),rgba(84,232,255,.08))}
  .s92m-line::after{content:"";position:absolute;left:66%;top:50%;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);background:#03151d;border:1px solid var(--cyan)}
  .s92m-row:nth-child(2) .s92m-line::after,.s92m-row:nth-child(3) .s92m-line::after{background:#e8ffff;box-shadow:0 0 16px rgba(84,232,255,.72)}
  .s92m-result{margin-top:18px;padding:18px 0;border-top:1px solid rgba(84,232,255,.18)}
  .s92m-result small{display:block;color:var(--cyan);font-size:.78rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
  .s92m-result strong{font-size:1.26rem;color:#eefcff}
  body.science-v93 .s92-confidence{grid-template-columns:1fr;gap:12px;padding:22px 0 0}
  body.science-v93 .s92-confidence-title{font-size:.92rem}
  body.science-v93 .s92-confidence-status{text-align:left;font-size:.96rem}
  body.science-v93 .s92-confidence-status strong{font-size:1.08rem}
  body.science-v93 .s92-confidence-legend{font-size:.84rem}
  body.science-v93 .s92-principle{padding:76px 0}
  body.science-v93 .s92-principle-copy .rule{grid-template-columns:1fr;gap:7px;padding:18px 0}
  body.science-v93 .s92-close .btn{width:100%;max-width:330px}

  /* ABOUT — on narrow phones, stages become left/right readable anchors around the axis. */
  body.about-v98 .a98-depth-scene{height:680px}
  body.about-v98 .a98-stage{width:46vw}
  body.about-v98 .a98-stage em{display:block;font-size:.84rem}
  body.about-v98 .a98-stage .index{font-size:.68rem}
  body.about-v98 .a98-stage.s1,body.about-v98 .a98-stage.s3{right:50.5%;padding-right:46px}
  body.about-v98 .a98-stage.s2{left:50.5%;padding-left:46px}
  body.about-v98 .a98-stage::before{width:32px}
  body.about-v98 .a98-manifesto i{display:none}
  body.about-v98 .a98-manifesto-inner{flex-direction:column;gap:14px}
  body.about-v98 .a98-manifesto strong{font-size:.86rem}
}

@media (max-width:480px){
  .container{width:calc(100% - 28px)}
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98,.early-access-page) .nav-wrap{width:calc(100% - 28px)}
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98,.early-access-page) .brand{font-size:1.06rem}
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98,.early-access-page) .brand-glyph{width:31px}

  body.home-v7 .v7-rail-track{font-size:.78rem}
  body.home-v7 .v7-manifesto{padding:68px 0 72px}
  body.home-v7 .v7-manifesto h1{font-size:clamp(2.8rem,13vw,3.75rem)}
  body.home-v7 .v7-positioning{font-size:.96rem}

  body.platform-v5 .p5-hero h1,
  body.technology-v87 .t87-hero h1,
  body.coaches-v90 .c90-hero h1,
  body.science-v93 .s92-hero h1,
  body.about-v98 .a98-hero h1{font-size:clamp(2.9rem,13.6vw,4.1rem)}

  body.technology-v87 .t87-story-head h2,
  body.coaches-v90 .c90-story-head h2,
  body.science-v93 .s92-story-head h2,
  body.about-v98 .a98-belief h2,
  body.about-v98 .a98-philosophy h2{font-size:clamp(2.55rem,11.9vw,3.55rem)}

  body.about-v98 .a98-depth-scene{height:650px}
  body.about-v98 .a98-stage strong{font-size:1.95rem}
  body.about-v98 .a98-stage em{display:none}
  body.about-v98 .a98-understanding strong{font-size:2.12rem}
  body.about-v98 .a98-depth-note{font-size:.68rem}

  body.early-access-page .ea-stage{padding-top:116px}
  body.early-access-page .ea-form-card{padding:26px 18px 24px}
  body.early-access-page .ea-private-tag{font-size:.78rem;padding:7px 10px}
  body.early-access-page .ea-field label{font-size:1.06rem}
  body.early-access-page .ea-field input,body.early-access-page .ea-field select{font-size:1rem}
}

@media (prefers-reduced-motion:reduce){
  .mobile-only-story *{animation:none!important;transition:none!important}
}

/* =========================================================
   V11.4 — MOBILE POLISH
   Targeted refinements after real-device-width review.
   Desktop remains untouched: every override below is <=700px.
   ========================================================= */
@media (max-width:700px){
  /* Menu must remain fully usable on short phone viewports too. */
  .mobile-panel{
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  /* Home marquee: preserve the approved moving band on phones.
     Repeated items stay visible so the loop can move continuously. */
  body.home-v7 .v7-rail{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  }
  body.home-v7 .v7-rail-track{
    width:max-content;
    justify-content:flex-start;
    font-size:.84rem;
    letter-spacing:.085em;
  }
  body.home-v7 .v7-rail-track span,
  body.home-v7 .v7-rail-track i{display:inline-block}
  body.home-v7 .v7-rail-track span{opacity:.94}

  /* Coach mobile story: preserve the editorial hierarchy but make
     the repeated-session evidence effortless to scan. */
  .c90m-kicker{font-size:.86rem}
  .c90m-row span{font-size:.94rem}
  .c90m-callout small{font-size:.84rem}
  .c90m-callout em{font-size:.98rem;line-height:1.45}

  /* Science is where small text hurts credibility most. Raise the
     instrumentation labels without turning the graphic into a slide. */
  body.science-v93 .s92-step{font-size:.98rem}
  body.science-v93 .s92-step span{font-size:1rem}
  .s92m-row span{font-size:.86rem;letter-spacing:.07em}
  .s92m-result small{font-size:.84rem}
  body.science-v93 .s92-confidence-title{font-size:.98rem}
  body.science-v93 .s92-confidence-status{font-size:1rem}
  body.science-v93 .s92-confidence-legend{font-size:.90rem;letter-spacing:.04em}

  /* About: do not hide meaning on narrow phones. The depth labels
     remain quiet, but they remain readable. */
  body.about-v98 .a98-stage .index{font-size:.76rem;line-height:1.35}
  body.about-v98 .a98-stage em{
    display:block;
    font-size:.82rem;
    line-height:1.34;
    color:#8fa4ad;
  }
  body.about-v98 .a98-depth-note{font-size:.74rem}
}

@media (max-width:480px){
  body:is(.home-v7,.platform-v5,.technology-v87,.coaches-v90,.science-v93,.about-v98,.early-access-page) .brand{
    font-size:1.12rem;
  }
  body.home-v7 .v7-rail-track{font-size:.80rem;letter-spacing:.075em}

  /* Slightly tighter About composition without sacrificing impact. */
  body.about-v98 .a98-belief h2,
  body.about-v98 .a98-philosophy h2{
    font-size:clamp(2.45rem,10.8vw,3.2rem);
    line-height:.94;
  }
  body.about-v98 .a98-stage em{font-size:.80rem}
  body.about-v98 .a98-stage .index{font-size:.74rem}
}

@media (max-width:700px) and (max-height:700px){
  .mobile-panel{padding-top:14px;padding-bottom:22px}
  .mobile-panel nav a{
    padding:13px 4px;
    font-size:1.16rem;
  }
  .mobile-panel .btn{
    min-height:50px;
    margin-top:18px;
    font-size:.94rem;
  }
}

/* =========================================================
   V11.5 — MOBILE CINEMATIC LOCK CANDIDATE
   Real-device correction pass.
   - Home restores the swimmer + moving performance rail.
   - Mobile narratives animate once, simply, when they enter view.
   - No dense desktop diagram is miniaturized onto a phone.
   Desktop remains untouched: every rule below is <=700px.
   ========================================================= */
@media (max-width:700px){
  /* ---------------------------------------------------------
     HOME — preserve the approved artwork, but enlarge the useful
     center of the 2:1 composition. At 148% width the complete
     swimmer + STROKIQ wordmark remain inside a phone viewport,
     while the empty outer background is what gets cropped.
     --------------------------------------------------------- */
  body.home-v7 .v7-hero{
    position:relative;
    height:clamp(338px,88vw,420px);
    min-height:338px;
    aspect-ratio:auto!important;
    overflow:hidden;
    background-color:#031019;
    background-image:url("../img/strokiq-brand-hero.png");
    background-repeat:no-repeat;
    background-size:148% auto!important;
    background-position:center center!important;
  }
  body.home-v7 .v7-hero-video{
    display:block!important;
    position:absolute!important;
    z-index:1;
    inset:0 auto auto 50%!important;
    width:148%!important;
    height:auto!important;
    max-width:none!important;
    aspect-ratio:1774/888;
    object-fit:fill!important;
    transform:translateX(-50%);
  }
  body.home-v7 .v7-hero::after{
    z-index:2;
    height:22%;
    background:linear-gradient(to bottom,transparent,rgba(2,7,11,.16));
  }

  /* Restore a real moving band instead of a static caption. */
  body.home-v7 .v7-rail{
    position:absolute!important;
    z-index:5;
    left:0;right:0;bottom:0!important;
    height:46px;
    background:rgba(1,8,13,.72);
    border-top:1px solid rgba(126,226,248,.20);
    border-bottom:1px solid rgba(126,226,248,.15);
    backdrop-filter:blur(8px);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  }
  body.home-v7 .v7-rail-track{
    display:flex!important;
    width:max-content!important;
    justify-content:flex-start!important;
    white-space:nowrap;
    transform:none;
    animation:v7rail 34s linear infinite!important;
    font-size:.80rem;
    font-weight:800;
    letter-spacing:.075em;
  }
  body.home-v7 .v7-rail-track span{display:inline!important;opacity:.94}
  body.home-v7 .v7-rail-track i{display:inline!important;padding-inline:24px}

  /* ---------------------------------------------------------
     PLATFORM — a single luminous signal moves through three
     decisions. No UI-card animation, just one causal path.
     --------------------------------------------------------- */
  body.platform-v5 .p5-mobile-flow{padding-top:12px;overflow:visible}
  body.platform-v5 .p5-mobile-flow::after{
    content:"";
    position:absolute;
    z-index:4;
    left:-5px;
    top:72px;
    width:10px;height:10px;
    border-radius:50%;
    background:#efffff;
    box-shadow:0 0 0 7px rgba(84,232,255,.055),0 0 22px rgba(84,232,255,.85);
    opacity:0;
  }
  body.platform-v5 .p5-mobile-flow span{
    opacity:.50;
    transition:none;
  }
  body.platform-v5 .p5-mobile-flow span::before{
    transition:none;
    background:#03151d;
  }
  body.platform-v5 .p5-flow.visible .p5-mobile-flow::after{
    animation:p5MobileOrb 6.8s cubic-bezier(.34,.02,.22,1) .35s 1 forwards;
  }
  body.platform-v5 .p5-flow.visible .p5-mobile-flow span:nth-of-type(1){animation:p5MobileStep 6.8s ease .35s 1 forwards}
  body.platform-v5 .p5-flow.visible .p5-mobile-flow span:nth-of-type(2){animation:p5MobileStep 6.8s ease 1.95s 1 forwards}
  body.platform-v5 .p5-flow.visible .p5-mobile-flow span:nth-of-type(3){animation:p5MobileStepFinal 6.8s ease 3.55s 1 forwards}
  @keyframes p5MobileOrb{
    0%{opacity:0;transform:translateY(0)}
    8%{opacity:1}
    31%{transform:translateY(0)}
    42%{transform:translateY(70px)}
    62%{transform:translateY(70px)}
    73%{transform:translateY(140px)}
    100%{opacity:1;transform:translateY(140px)}
  }
  @keyframes p5MobileStep{
    0%,8%{opacity:.50}
    12%,28%{opacity:1}
    36%,100%{opacity:.72}
  }
  @keyframes p5MobileStepFinal{
    0%,8%{opacity:.50}
    12%,100%{opacity:1}
  }

  /* ---------------------------------------------------------
     TECHNOLOGY — inputs stay quiet, hidden technology resolves
     them, then the coach-facing output appears. One-shot story.
     --------------------------------------------------------- */
  .t87-mobile-story{
    overflow:hidden;
    padding:30px 18px 34px;
    background:radial-gradient(circle at 50% 49%,rgba(84,232,255,.055),transparent 14rem);
  }
  .t87m-inputs{
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    text-align:center;
  }
  .t87m-inputs span{
    justify-content:center;
    min-width:0;
    padding:12px 3px 14px;
    border-bottom:1px solid rgba(164,225,242,.10);
    color:#b9cbd2;
    font-size:.76rem;
    letter-spacing:.075em;
    opacity:.42;
  }
  .t87m-inputs span::after{display:none}
  .t87m-core{
    width:184px;height:184px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    margin:30px auto 22px;
    padding:22px;
    border-radius:50%;
    border:1px solid rgba(84,232,255,.18);
    background:radial-gradient(circle,rgba(84,232,255,.11),rgba(3,18,25,.88) 48%,rgba(2,7,11,.98) 72%);
    box-shadow:0 0 0 18px rgba(84,232,255,.018),0 0 60px rgba(84,232,255,.055);
    opacity:.55;
  }
  .t87m-core small{font-size:.72rem;letter-spacing:.13em}
  .t87m-core strong{font-size:.88rem;line-height:1.45;letter-spacing:.055em}
  .t87m-rise{height:64px;opacity:.14;transform-origin:top;transform:scaleY(.25)}
  .t87m-output{opacity:.20;transform:translateY(10px)}
  .t87-mobile-story.visible .t87m-inputs span:nth-child(1){animation:t87mInput 7.8s ease .2s 1 forwards}
  .t87-mobile-story.visible .t87m-inputs span:nth-child(2){animation:t87mInput 7.8s ease .65s 1 forwards}
  .t87-mobile-story.visible .t87m-inputs span:nth-child(3){animation:t87mInput 7.8s ease 1.1s 1 forwards}
  .t87-mobile-story.visible .t87m-core{animation:t87mCore 7.8s ease .2s 1 forwards}
  .t87-mobile-story.visible .t87m-rise{animation:t87mRise 7.8s ease .2s 1 forwards}
  .t87-mobile-story.visible .t87m-output{animation:t87mOutput 7.8s ease .2s 1 forwards}
  @keyframes t87mInput{0%{opacity:.42;color:#b9cbd2}16%,34%{opacity:1;color:#efffff}50%,100%{opacity:.63;color:#b9cbd2}}
  @keyframes t87mCore{0%,18%{opacity:.55;box-shadow:0 0 0 18px rgba(84,232,255,.018),0 0 60px rgba(84,232,255,.055)}36%,55%{opacity:1;box-shadow:0 0 0 28px rgba(84,232,255,.025),0 0 82px rgba(84,232,255,.18)}70%,100%{opacity:.78;box-shadow:0 0 0 18px rgba(84,232,255,.018),0 0 54px rgba(84,232,255,.07)}}
  @keyframes t87mRise{0%,46%{opacity:.12;transform:scaleY(.2)}58%,100%{opacity:.85;transform:scaleY(1)}}
  @keyframes t87mOutput{0%,55%{opacity:.18;transform:translateY(10px)}68%,100%{opacity:1;transform:none}}

  /* ---------------------------------------------------------
     COACH — the repetition should emerge, not blink everywhere.
     --------------------------------------------------------- */
  .c90m-row{opacity:.62}
  .c90m-row.hot .c90m-line::after{opacity:.12;box-shadow:none}
  .c90m-callout{opacity:.18;transform:translateY(8px)}
  .c90-mobile-story.visible .c90m-row:nth-of-type(2){animation:c90mBase .7s ease .25s 1 forwards}
  .c90-mobile-story.visible .c90m-row:nth-of-type(3){animation:c90mBase .7s ease .85s 1 forwards}
  .c90-mobile-story.visible .c90m-row:nth-of-type(4){animation:c90mHot .75s ease 1.7s 1 forwards}
  .c90-mobile-story.visible .c90m-row:nth-of-type(5){animation:c90mHot .75s ease 2.55s 1 forwards}
  .c90-mobile-story.visible .c90m-row:nth-of-type(6){animation:c90mHotFinal .9s ease 3.4s 1 forwards}
  .c90-mobile-story.visible .c90m-row.hot:nth-of-type(4) .c90m-line::after{animation:c90mDot .8s ease 1.7s 1 forwards}
  .c90-mobile-story.visible .c90m-row.hot:nth-of-type(5) .c90m-line::after{animation:c90mDot .8s ease 2.55s 1 forwards}
  .c90-mobile-story.visible .c90m-row.hot:nth-of-type(6) .c90m-line::after{animation:c90mDot .8s ease 3.4s 1 forwards}
  .c90-mobile-story.visible .c90m-callout{animation:c90mCallout .9s ease 4.35s 1 forwards}
  @keyframes c90mBase{to{opacity:.82}}
  @keyframes c90mHot{to{opacity:.92}}
  @keyframes c90mHotFinal{to{opacity:1}}
  @keyframes c90mDot{0%{opacity:.12;box-shadow:none}100%{opacity:1;box-shadow:0 0 19px rgba(84,232,255,.82)}}
  @keyframes c90mCallout{to{opacity:1;transform:none}}

  /* ---------------------------------------------------------
     SCIENCE — repeated observations accumulate support once.
     Existing confidence language remains explicit about uncertainty.
     --------------------------------------------------------- */
  .s92m-row{opacity:.55}
  .s92m-line::after{opacity:.20;box-shadow:none!important;background:#03151d!important}
  .s92m-result{opacity:0;transform:translateY(8px)}
  .s92-method.visible .s92m-row:nth-child(1){animation:s92mObs .75s ease .5s 1 forwards}
  .s92-method.visible .s92m-row:nth-child(2){animation:s92mObs .75s ease 1.45s 1 forwards}
  .s92-method.visible .s92m-row:nth-child(3){animation:s92mObsFinal .8s ease 2.4s 1 forwards}
  .s92-method.visible .s92m-row:nth-child(1) .s92m-line::after{animation:s92mDot .7s ease .5s 1 forwards}
  .s92-method.visible .s92m-row:nth-child(2) .s92m-line::after{animation:s92mDot .7s ease 1.45s 1 forwards}
  .s92-method.visible .s92m-row:nth-child(3) .s92m-line::after{animation:s92mDot .7s ease 2.4s 1 forwards}
  /* V11.8: the conclusion must not appear before support is actually reached. */
  .s92-method.visible .s92m-result{animation:none}
  .s92m-result.is-supported{animation:s92mResult .9s ease 1 forwards!important}
  @keyframes s92mObs{to{opacity:.86}}
  @keyframes s92mObsFinal{to{opacity:1}}
  @keyframes s92mDot{to{opacity:1;background:#e8ffff!important;box-shadow:0 0 17px rgba(84,232,255,.72)!important}}
  @keyframes s92mResult{to{opacity:1;transform:none}}

  /* ---------------------------------------------------------
     ABOUT — one clean depth axis on phone. Alternating left/right
     typography looked busy in portrait and competed with the story.
     --------------------------------------------------------- */
  body.about-v98 .a98-depth-scene{
    height:650px;
    margin-top:22px;
  }
  body.about-v98 .a98-surface{left:18px;right:18px;top:19%}
  body.about-v98 .a98-axis{left:34px;top:19%;bottom:10%}
  body.about-v98 .a98-axis::after{left:0;transform:translateX(-50%);width:80px}
  body.about-v98 .a98-probe{left:34px;top:19%}
  body.about-v98 .a98-ripple{left:34px;top:19%}
  body.about-v98 .a98-result{
    left:62px;top:7.5%;transform:none;text-align:left;
  }
  body.about-v98 .a98-understanding{
    left:62px;right:18px;top:6.5%;transform:translateY(18px);text-align:left;white-space:normal;
  }
  body.about-v98 .a98-understanding strong{font-size:clamp(2.05rem,9.2vw,3rem)}
  body.about-v98 .a98-understanding i{margin:12px 0 0}
  body.about-v98 .a98-stratum{left:34px;right:18px}
  body.about-v98 .a98-stage,
  body.about-v98 .a98-stage.s1,
  body.about-v98 .a98-stage.s2,
  body.about-v98 .a98-stage.s3{
    left:62px!important;right:18px!important;
    width:auto!important;
    padding:0!important;
    text-align:left!important;
  }
  body.about-v98 .a98-stage.s1{top:35%}
  body.about-v98 .a98-stage.s2{top:54%}
  body.about-v98 .a98-stage.s3{top:73%}
  body.about-v98 .a98-stage::before{
    left:-28px!important;right:auto!important;top:48%;width:22px!important;
    transform:none!important;
    background:linear-gradient(90deg,rgba(84,232,255,.50),transparent);
  }
  body.about-v98 .a98-stage::after{
    left:-33px!important;right:auto!important;top:48%;
  }
  body.about-v98 .a98-stage strong{font-size:clamp(2.1rem,9vw,3rem)}
  body.about-v98 .a98-stage .index{font-size:.72rem}
  body.about-v98 .a98-stage em{font-size:.86rem;display:block}
  body.about-v98 .a98-depth-note{left:62px;transform:none;text-align:left;white-space:normal;right:18px}

  /* Story-state coordinates follow the new left axis. */
  body.about-v98 .a98-depth-scene.story-ready .a98-probe{top:19%}
  body.about-v98 .a98-depth-scene.step-1 .a98-probe{top:40%}
  body.about-v98 .a98-depth-scene.step-2 .a98-probe{top:59%}
  body.about-v98 .a98-depth-scene.step-3 .a98-probe{top:78%}
  body.about-v98 .a98-depth-scene.step-return .a98-probe,
  body.about-v98 .a98-depth-scene.step-final .a98-probe{top:19%}
  body.about-v98 .a98-depth-scene.step-return .a98-ripple{transform:translate(-50%,-50%) scale(4.2)}
  body.about-v98 .a98-depth-scene.step-final .a98-understanding{transform:none}
}

@media (max-width:480px){
  body.home-v7 .v7-hero{
    height:clamp(334px,88vw,392px);
    background-size:148% auto!important;
  }
  body.home-v7 .v7-hero-video{width:148%!important}
  body.home-v7 .v7-rail{height:44px}
  body.home-v7 .v7-rail-track{font-size:.76rem;letter-spacing:.065em;animation-duration:32s!important}
  body.about-v98 .a98-understanding strong{font-size:2.05rem}
}

@media (max-width:700px) and (prefers-reduced-motion:reduce){
  body.home-v7 .v7-rail-track{animation:none!important}
  body.platform-v5 .p5-mobile-flow::after{opacity:1;transform:translateY(140px)}
  body.platform-v5 .p5-mobile-flow span{opacity:.78}
  body.platform-v5 .p5-mobile-flow span:last-of-type{opacity:1}
  .t87m-inputs span,.t87m-core,.t87m-rise,.t87m-output,
  .c90m-row,.c90m-row.hot .c90m-line::after,.c90m-callout,
  .s92m-row,.s92m-line::after,.s92m-result{animation:none!important;opacity:1!important;transform:none!important}
}


/* =========================================================
   V11.6 — MOBILE ANIMATION REFINEMENT
   Platform + Technology only. Both were still reading like UI
   diagrams on a phone. These versions preserve the desktop story
   but use cinematic, causal motion rather than progress trackers.
   Desktop remains untouched: all rules are <=700px.
   ========================================================= */
@media (max-width:700px){
  /* PLATFORM — raw movement collapses into a noticed change,
     context expands around it, then the signal resolves cleanly. */
  body.platform-v5 .p5-mobile-flow{display:none!important}
  body.platform-v5 .p5-mobile-cinematic{
    display:block;position:relative;height:510px;margin-top:8px;overflow:hidden;
    border-top:1px solid rgba(164,225,242,.12);
    border-bottom:1px solid rgba(164,225,242,.12);
    background:
      radial-gradient(circle at 50% 46%,rgba(84,232,255,.045),transparent 12rem),
      linear-gradient(180deg,rgba(84,232,255,.012),transparent 48%);
  }
  .p5m-raw{position:absolute;left:0;right:0;top:18px;height:110px;opacity:.78}
  .p5m-raw svg{position:absolute;left:4%;top:0;width:72%;height:82px;overflow:visible}
  .p5m-raw path{fill:none;stroke:rgba(84,232,255,.26);stroke-width:1.05;stroke-linecap:round}
  .p5m-raw path:nth-child(2){stroke-opacity:.72}.p5m-raw path:nth-child(3){stroke-opacity:.55}
  .p5m-raw span{position:absolute;left:4%;bottom:0;color:#829aa5;font-size:.78rem;font-weight:820;letter-spacing:.15em}
  .p5m-axis{position:absolute;left:50%;top:106px;bottom:56px;width:1px;transform:translateX(-50%);background:linear-gradient(to bottom,rgba(84,232,255,.05),rgba(84,232,255,.26),rgba(84,232,255,.10))}
  .p5m-orb{position:absolute;z-index:5;left:50%;top:111px;width:11px;height:11px;border-radius:50%;transform:translate(-50%,-50%);background:#efffff;box-shadow:0 0 0 7px rgba(84,232,255,.045),0 0 24px rgba(84,232,255,.8);opacity:0}
  .p5m-halo{position:absolute;z-index:2;left:50%;top:284px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(84,232,255,.18);transform:translate(-50%,-50%) scale(.4);opacity:0;box-shadow:0 0 40px rgba(84,232,255,.05)}
  .p5m-clean{position:absolute;z-index:2;left:50%;top:405px;width:0;height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#54e8ff 35%,#eaffff 50%,#54e8ff 65%,transparent);box-shadow:0 0 14px rgba(84,232,255,.30);opacity:0}
  .p5m-stage{position:absolute;left:0;right:0;text-align:center;opacity:.24;transform:translateY(8px)}
  .p5m-stage small{display:block;color:#66808a;font-size:.70rem;font-weight:850;letter-spacing:.18em;margin-bottom:5px}
  .p5m-stage strong{display:block;color:#eaf8fb;font-size:1.22rem;letter-spacing:.12em;line-height:1}
  .p5m-stage em{display:block;margin-top:7px;color:#9fb2ba;font-style:normal;font-size:.95rem;line-height:1.35}
  .p5m-notice{top:144px}.p5m-context{top:262px}.p5m-decide{top:382px}
  body.platform-v5 .p5-flow.visible .p5m-raw{animation:p56Raw 7.2s ease .2s 1 forwards}
  body.platform-v5 .p5-flow.visible .p5m-orb{animation:p56Orb 7.2s cubic-bezier(.32,.02,.18,1) .2s 1 forwards}
  body.platform-v5 .p5-flow.visible .p5m-notice{animation:p56Stage 7.2s ease .2s 1 forwards}
  body.platform-v5 .p5-flow.visible .p5m-context{animation:p56Stage2 7.2s ease .2s 1 forwards}
  body.platform-v5 .p5-flow.visible .p5m-decide{animation:p56Stage3 7.2s ease .2s 1 forwards}
  body.platform-v5 .p5-flow.visible .p5m-halo{animation:p56Halo 7.2s ease .2s 1 forwards}
  body.platform-v5 .p5-flow.visible .p5m-clean{animation:p56Clean 7.2s ease .2s 1 forwards}
  @keyframes p56Raw{0%,14%{opacity:.82;transform:none}28%{opacity:.38;transform:scaleX(.88);transform-origin:50% 50%}44%,100%{opacity:.16;transform:scaleX(.78);transform-origin:50% 50%}}
  @keyframes p56Orb{0%{opacity:0;top:111px}8%{opacity:1}25%{top:171px}43%{top:171px}58%{top:289px}72%{top:289px}88%,100%{top:409px;opacity:1}}
  @keyframes p56Stage{0%,12%{opacity:.24;transform:translateY(8px)}22%,42%{opacity:1;transform:none}58%,100%{opacity:.62;transform:none}}
  @keyframes p56Stage2{0%,38%{opacity:.24;transform:translateY(8px)}50%,72%{opacity:1;transform:none}84%,100%{opacity:.68;transform:none}}
  @keyframes p56Stage3{0%,70%{opacity:.24;transform:translateY(8px)}84%,100%{opacity:1;transform:none}}
  @keyframes p56Halo{0%,43%{opacity:0;transform:translate(-50%,-50%) scale(.4)}55%,72%{opacity:1;transform:translate(-50%,-50%) scale(3.4)}84%,100%{opacity:.18;transform:translate(-50%,-50%) scale(4.3)}}
  @keyframes p56Clean{0%,75%{opacity:0;width:0}88%,100%{opacity:1;width:170px}}

  /* TECHNOLOGY — three quiet inputs converge behind the interface.
     The hidden core flashes once, then recedes as one output remains. */
  .t87-mobile-story{padding:0!important;background:none!important;border:0!important}
  .t87m-cinematic{position:relative;height:520px;margin:0 auto;border-top:1px solid rgba(164,225,242,.12);border-bottom:1px solid rgba(164,225,242,.12);overflow:hidden;background:radial-gradient(circle at 50% 44%,rgba(84,232,255,.055),transparent 13rem)}
  .t87m-node{position:absolute;top:34px;width:30%;text-align:center;color:#93a8b1;opacity:.34}
  .t87m-node-a{left:0}.t87m-node-b{left:35%}.t87m-node-c{right:0}
  .t87m-node i{display:block;width:8px;height:8px;margin:0 auto 10px;border-radius:50%;border:1px solid rgba(84,232,255,.62);background:#03151d;box-shadow:0 0 12px rgba(84,232,255,.08)}
  .t87m-node span{font-size:.76rem;font-weight:820;letter-spacing:.10em}
  .t87m-paths{position:absolute;inset:0;width:100%;height:430px;overflow:visible}
  .t87m-paths path{fill:none;stroke:rgba(84,232,255,.28);stroke-width:1;stroke-linecap:round;stroke-dasharray:520;stroke-dashoffset:520}
  .t87m-paths .out{stroke:rgba(214,253,255,.68);stroke-width:1.15}
  .t87m-hidden-core{position:absolute;left:50%;top:214px;width:150px;height:150px;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%) scale(.88);border-radius:50%;border:1px solid rgba(84,232,255,.15);background:radial-gradient(circle,rgba(84,232,255,.10),rgba(3,17,24,.90) 48%,rgba(2,7,11,.98) 70%);box-shadow:0 0 0 18px rgba(84,232,255,.012),0 0 56px rgba(84,232,255,.045);opacity:.42}
  .t87m-hidden-core small{max-width:90px;text-align:center;color:#9db1b9;font-size:.72rem;font-weight:850;letter-spacing:.15em;line-height:1.45}
  .t87m-hidden-core span{position:absolute;inset:-16px;border-radius:50%;border:1px solid rgba(84,232,255,.06)}
  .t87m-surface{position:absolute;left:0;right:0;top:354px;text-align:center;opacity:.12;transform:translateY(10px)}
  .t87m-surface small{display:block;color:var(--cyan);font-size:.76rem;font-weight:850;letter-spacing:.16em;margin-bottom:9px}
  .t87m-surface strong{display:block;color:#f5fdff;font-size:clamp(2.2rem,10vw,3.1rem);line-height:.92;letter-spacing:-.045em}
  .t87m-surface em{display:block;margin-top:10px;color:#a6bac2;font-style:normal;font-size:.98rem}
  .t87-mobile-story.visible .t87m-node-a{animation:t56Node 7.4s ease .2s 1 forwards}
  .t87-mobile-story.visible .t87m-node-b{animation:t56Node 7.4s ease .65s 1 forwards}
  .t87-mobile-story.visible .t87m-node-c{animation:t56Node 7.4s ease 1.1s 1 forwards}
  .t87-mobile-story.visible .t87m-paths .a{animation:t56In 7.4s ease .2s 1 forwards}
  .t87-mobile-story.visible .t87m-paths .b{animation:t56In 7.4s ease .65s 1 forwards}
  .t87-mobile-story.visible .t87m-paths .c{animation:t56In 7.4s ease 1.1s 1 forwards}
  .t87-mobile-story.visible .t87m-hidden-core{animation:t56Core 7.4s ease .2s 1 forwards}
  .t87-mobile-story.visible .t87m-paths .out{animation:t56Out 7.4s ease .2s 1 forwards}
  .t87-mobile-story.visible .t87m-surface{animation:t56Surface 7.4s ease .2s 1 forwards}
  @keyframes t56Node{0%{opacity:.34}16%,36%{opacity:1;color:#eaffff}50%,100%{opacity:.30;color:#79909a}}
  @keyframes t56In{0%,10%{stroke-dashoffset:520;opacity:.28}34%,48%{stroke-dashoffset:0;opacity:.85}60%,100%{stroke-dashoffset:0;opacity:.15}}
  @keyframes t56Core{0%,26%{opacity:.42;transform:translate(-50%,-50%) scale(.88);box-shadow:0 0 0 18px rgba(84,232,255,.012),0 0 56px rgba(84,232,255,.045)}42%,58%{opacity:1;transform:translate(-50%,-50%) scale(1);box-shadow:0 0 0 28px rgba(84,232,255,.025),0 0 82px rgba(84,232,255,.18)}74%,100%{opacity:.22;transform:translate(-50%,-50%) scale(.92);box-shadow:0 0 0 12px rgba(84,232,255,.008),0 0 32px rgba(84,232,255,.03)}}
  @keyframes t56Out{0%,52%{stroke-dashoffset:520;opacity:.15}70%,100%{stroke-dashoffset:0;opacity:.88}}
  @keyframes t56Surface{0%,58%{opacity:.12;transform:translateY(10px)}74%,100%{opacity:1;transform:none}}
}

@media (max-width:700px) and (prefers-reduced-motion:reduce){
  .p5m-raw,.p5m-orb,.p5m-halo,.p5m-clean,.p5m-stage,
  .t87m-node,.t87m-paths path,.t87m-hidden-core,.t87m-surface{animation:none!important}
  .p5m-raw{opacity:.2}.p5m-orb{opacity:1;top:409px}.p5m-halo{opacity:.2;transform:translate(-50%,-50%) scale(4)}.p5m-clean{opacity:1;width:170px}
  .p5m-stage{opacity:.72;transform:none}.p5m-decide{opacity:1}
  .t87m-node{opacity:.3}.t87m-paths path{stroke-dashoffset:0;opacity:.18}.t87m-hidden-core{opacity:.22}.t87m-surface{opacity:1;transform:none}
}

/* V11.7 — SCIENCE / MOBILE EVIDENCE SUPPORT
   Discrete evidential states, not a pseudo-quantitative score. */
@media (max-width:700px){
  body.science-v93 .s92-confidence{padding-top:24px;gap:14px}
  body.science-v93 .s92-confidence-title{
    color:#9bb1ba;
    letter-spacing:.13em;
  }
  body.science-v93 .s92-confidence-track{
    height:5px;
    background:rgba(164,225,242,.10);
  }
  body.science-v93 .s92-confidence-fill{
    transition:width .72s cubic-bezier(.2,.7,.2,1);
    box-shadow:0 0 14px rgba(84,232,255,.22);
  }
  body.science-v93 .s92-confidence-markers i{
    width:10px;height:10px;
    box-shadow:0 0 0 4px #02070b;
  }
  body.science-v93 .s92-confidence-markers i.on{
    box-shadow:0 0 12px rgba(84,232,255,.42),0 0 0 4px #02070b;
  }
  body.science-v93 .s92-confidence-legend{
    margin-top:-2px;
    color:#6f8792;
    letter-spacing:.06em;
  }
  body.science-v93 .s92-confidence-status{
    padding-top:2px;
    color:#8398a2;
    line-height:1.5;
  }
  body.science-v93 .s92-confidence-status strong{
    color:#e7f7fb;
    margin-bottom:3px;
  }
}

/* =========================================================
   V11.10 — MOBILE HOME MARQUEE TRUE FIX
   Removes the earlier mobile static override that blocked transform.
   The repeated rail content now moves continuously on phones.
   ========================================================= */
@media (max-width:700px) and (prefers-reduced-motion:no-preference){
  body.home-v7 .v7-rail-track{
    width:max-content!important;
    min-width:max-content!important;
    justify-content:flex-start!important;
    animation:v7railMobileTrue 12s linear infinite!important;
    will-change:transform;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }
  body.home-v7 .v7-rail-track span,
  body.home-v7 .v7-rail-track i{display:inline-block!important}
}
@keyframes v7railMobileTrue{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media (max-width:480px) and (prefers-reduced-motion:no-preference){
  body.home-v7 .v7-rail-track{animation-duration:10.5s!important}
}

/* =========================================================
   V11.11 — MOBILE PLATFORM LOCK
   Final mobile-only refinement after real-device review.
   Keep the luminous axis unobstructed: labels sit beside the
   signal instead of on top of it. All other pages unchanged.
   ========================================================= */
@media (max-width:700px){
  body.platform-v5 .p5-mobile-cinematic .p5m-stage{
    left:auto;
    right:auto;
    width:42%;
    padding:0;
  }
  body.platform-v5 .p5-mobile-cinematic .p5m-notice{
    left:2%;
    top:142px;
    text-align:right;
  }
  body.platform-v5 .p5-mobile-cinematic .p5m-context{
    right:2%;
    top:260px;
    text-align:left;
  }
  body.platform-v5 .p5-mobile-cinematic .p5m-decide{
    left:2%;
    top:378px;
    text-align:right;
  }
  body.platform-v5 .p5-mobile-cinematic .p5m-stage strong{
    font-size:1.12rem;
    letter-spacing:.10em;
  }
  body.platform-v5 .p5-mobile-cinematic .p5m-stage em{
    font-size:.90rem;
    line-height:1.32;
  }
  body.platform-v5 .p5-mobile-cinematic .p5m-halo{
    width:36px;
    height:36px;
  }
  body.platform-v5 .p5-mobile-cinematic .p5m-clean{
    top:455px;
  }
}
