/* Mobile compositions. The desktop stylesheets remain the source for wider layouts. */
.hero-intro-mobile,.diagnosis-price-mobile,.experience-route,.consent-mobile-copy{display:none}
.value-loop-mobile,.home-offer-mobile,.experience-option-toggle{display:none}
.journey-mobile{display:none}
.case-compare,.mobile-story,.mobile-report,.experience-intro-mobile,.case-mobile-copy,.handoff-mobile-copy{display:none}

@media (max-width:760px){
  :root{--mobile-gutter:22px}
  html{scroll-padding-top:20px}
  body{overflow-x:clip}
  .consent-desktop-copy{display:none}
  .consent-mobile-copy{display:inline}
  .consent-panel{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));gap:11px;padding:15px 17px}
  .consent-panel strong{font-size:17px}
  .consent-panel p{margin:5px 0;font-size:12px;line-height:1.45}
  .consent-panel a{font-size:12px}
  .consent-actions{gap:8px}
  .consent-actions button{min-height:44px;padding:8px 10px;font-size:12px}
  .hero-intro-desktop{display:none}
  .hero-intro-mobile{display:block}
  .nexio-hero .hero-copy{padding:29px 0 18px}
  .nexio-hero .hero-copy h1{font-size:clamp(38px,9.8vw,48px);line-height:1.055;max-width:12ch;margin-bottom:17px}
  .nexio-hero .hero-copy .hero-intro-mobile{max-width:34ch;font-size:16px!important;line-height:1.48!important;margin-bottom:18px!important}
  .nexio-hero .hero-actions{gap:3px}
  .nexio-hero .hero-actions .button{min-height:52px}
  .nexio-hero .hero-actions .text-link{min-height:40px}
  .hero-portrait-link{margin-top:0;padding-top:65px}
  .hero-photo{height:clamp(280px,78vw,360px)}
  .hero-photo::before{inset:40% -5% 0 11%;transform:skewY(-12deg)}
  .hero-photo img{left:58%;height:132%}
  .hero-photo-caption{margin-left:0;max-width:92%;min-height:58px;padding:9px 14px}
  .hero-photo-caption strong{font-size:15px}
  .hero-photo-caption small{font-size:11px}
  .problem-strip{padding-block:48px 52px}
  .quick-guide{padding-block:53px 58px}
  .quick-guide-intro h2{margin-bottom:9px}
  .quick-guide-items{border-top:2px solid var(--ink)}
  .quick-guide-item{padding-block:18px;min-height:68px}
  .quick-guide-item:nth-child(2),.quick-guide-item:nth-child(3){padding-inline:12px;border-left:4px solid var(--lime)}
  .nexio-visuals .exp-item[aria-expanded=true]{background:var(--lime);padding-inline:10px}
  .nexio-visuals .exp-item[aria-expanded=true]:after{height:0}
  .exp-mobile-panel:not([hidden]){padding:18px 14px 20px;border-left:4px solid var(--lime);background:#F6F6F6}
  .exp-mobile-panel p{font-size:15px}
  .experience-hero{padding-top:35px}
  .experience-hero-grid{gap:18px}
  .experience-hero-copy>p{font-size:16px;line-height:1.5;margin-bottom:24px}
  .experience-hero .button{min-height:53px}
  .value-loop{padding:12px 0 34px}
  .value-loop-return{height:36px;margin-bottom:6px}
  .value-loop li{min-height:112px;padding:12px 8px}
  .value-loop li>span{margin-bottom:10px}
  .value-loop strong{font-size:17px}
  .value-loop small{font-size:11px;line-height:1.35}
  .experience-jump .container{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding-block:12px;scrollbar-width:none}
  .experience-jump .container::-webkit-scrollbar{display:none}
  .experience-jump a{flex:0 0 auto;min-height:44px;padding:0 13px;border:1px solid var(--ink);font-size:13px;white-space:nowrap;scroll-snap-align:start}
  .experience-jump a:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
  .experience-board{padding-block:54px 63px}
  .experience-board-heading{margin-bottom:23px}
  .experience-board-heading h2{font-size:clamp(35px,9vw,44px);margin-bottom:12px}
  .experience-board-heading p{font-size:15px;line-height:1.5}
  .experience-option{grid-template-columns:29px minmax(0,1fr) 20px;gap:12px;min-height:65px;padding:12px 11px}
  .experience-option strong{font-size:18px;line-height:1.2}
  .experience-panel-mobile:not([hidden]){padding:19px 0 24px;background:transparent}
  .experience-panel-head>span{font-size:10px}
  .experience-panel-head h3{font-size:26px;margin-block:7px 8px}
  .experience-panel-head p{font-size:14px;line-height:1.5;margin-bottom:23px}
  .experience-route{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:4px 0 20px;padding-top:33px}
  .experience-route::before{content:"";position:absolute;top:11px;left:7px;right:calc(16.66% - 7px);height:2px;background:#A8A8A8}
  .experience-route span{position:relative;color:var(--lime);font-size:11px;font-weight:800;line-height:1.25}
  .experience-route span::before{content:"";position:absolute;top:-29px;left:0;width:16px;height:16px;border:2px solid var(--lime);border-radius:50%;background:var(--ink)}
  .experience-route span:last-child::before{background:var(--lime)}
  .experience-chain{display:block;margin:0 0 18px;border-top:1px solid #686868}
  .experience-chain li{display:grid;grid-template-columns:91px minmax(0,1fr);gap:12px;align-items:start;min-height:0;padding:12px 0;border:0;border-bottom:1px solid #686868;margin:0}
  .experience-chain li:not(:last-child):after{display:none}
  .experience-chain span{font-size:10px;line-height:1.4;letter-spacing:.02em;margin:0}
  .experience-chain strong{font-size:14px;line-height:1.45;font-weight:650;overflow-wrap:normal}
  .experience-decision{display:block;padding:17px 18px;border-left:4px solid #fff}
  .experience-decision>span{font-size:10px}
  .experience-decision p{margin-top:8px;font-size:16px;line-height:1.38}
  .experience-board-foot{margin-top:18px;font-size:12px}
  .diagnosis-price-mobile{display:block;margin:22px 0 0!important;padding:14px 0;border-top:2px solid var(--ink);font-size:13px!important;line-height:1.45!important;color:var(--ink)!important}
  .diagnosis-price-mobile strong{font-size:19px;letter-spacing:-.03em}
  .diagnosis-hero-price strong{display:none}
  .diagnosis-hero-price{padding-top:0}
  .diagnosis-paper{margin-top:4px}
  .inner-contact{padding-top:35px}
  .inner-contact .contact-opening{margin-bottom:19px}
  .inner-contact .contact-opening h1{font-size:clamp(39px,9.4vw,49px);margin-bottom:15px}
  .inner-contact .contact-opening .contact-intro{display:none}
  .inner-contact .contact-opening .contact-brief{font-size:16px;line-height:1.5;margin-bottom:0}
  .contact-choice{margin-top:12px}
  .contact-booking-note{margin-top:7px;font-size:12px}
  .booking-heading{margin-bottom:14px}
  .booking-index{margin-bottom:6px}
  .booking-heading h2{font-size:clamp(29px,7vw,37px);max-width:15ch}
  .booking-heading p{display:none}
  .booking-free{margin-top:11px}
  .booking-strip{min-height:56px}
  .booking-strip p{font-size:16px}
  .contact-grid .contact-journey{position:static}
}

@media (max-width:370px){
  .nexio-hero .hero-copy h1{font-size:37px}
  .hero-portrait-link{padding-top:78px}
  .hero-photo{height:285px}
  .experience-chain li{grid-template-columns:80px minmax(0,1fr)}
}

@media (prefers-reduced-motion:reduce){
  .nexio-visuals .exp-item,.experience-option{transition:none}
}

/* Phone layout: a separate reading rhythm, with one explanation per action. */
@media (max-width:760px){
  :root{--gutter:24px;--mobile-ink:#1a1a1a;--mobile-paper:#f5f5f5;--mobile-rule:#d7d7d7}
  html{scroll-padding-top:94px}
  body{overflow-x:clip}
  .container{min-width:0}
  .header-inner{height:72px}
  .main-nav{top:72px}
  .menu-toggle{width:48px;height:48px}
  .main-nav.is-open{padding-bottom:32px}
  .button,.text-link,a,button{touch-action:manipulation}
  .section-heading h2,.person-teaser h2,.about-story h2,.about-transfer h2,.case-teaser h2{font-size:clamp(32px,8.5vw,42px);line-height:1.1;letter-spacing:-.045em;text-wrap:balance}
  .section-heading>p,.experience-board-heading p{font-size:16px;line-height:1.55}
  .section{padding-block:76px}
  .section-heading{gap:18px;margin-bottom:30px}
  .text-link{min-height:44px;align-items:center}
  [id]{scroll-margin-top:88px}

  /* Home: proposition, person, then one idea at a time. */
  .nexio-hero .hero-copy{padding:30px 0 12px}
  .nexio-hero .hero-copy h1{max-width:12ch;margin-bottom:22px;font-size:clamp(38px,9.6vw,48px);line-height:1.06}
  .nexio-hero .hero-copy .hero-intro-mobile{max-width:33ch;margin-bottom:24px!important;font-size:16px!important;line-height:1.55!important}
  .nexio-hero .hero-actions{gap:8px}
  .nexio-hero .hero-actions .button{min-height:56px}
  .nexio-hero .hero-actions .text-link{align-self:flex-start;min-height:48px}
  .hero-portrait-link{padding-top:20px;margin-top:0}
  .hero-photo{height:clamp(275px,75vw,345px)}
  .hero-photo::before{inset:36% 0 0 8%}
  .hero-photo img{height:107%}
  .hero-photo-caption{min-height:57px;max-width:93%}
  .problem-strip{padding-block:74px 78px}
  .problem-head{margin-bottom:31px}
  .problem-head h2{font-size:clamp(33px,8.6vw,43px)}
  .problem-head p{font-size:16px;line-height:1.5;margin-top:15px}
  .problem-list{margin-bottom:28px}
  .problem-list li,.problem-list li:first-child{grid-template-columns:38px minmax(0,1fr);gap:14px;padding:24px 0 27px}
  .problem-list p{font-size:20px;line-height:1.33}
  .quick-guide{display:none}
  .case-teaser{padding-block:78px 82px}
  .case-teaser-grid{gap:0}
  .case-teaser .section-label{margin-bottom:19px}
  .case-teaser h2{margin-bottom:25px}
  .case-teaser p:not(.section-label){font-size:16px;line-height:1.55;margin-bottom:25px}
  .case-diagram{display:none}
  .person-teaser{border-top:1px solid var(--mobile-rule)}
  .person-teaser p{font-size:16px;line-height:1.62}
  .person-teaser .person-grid{gap:18px}

  /* The home is a route into the two services, not a duplicate of their diagrams. */
  .nexio-visuals .experience{padding:76px var(--gutter) 82px}
  .nexio-visuals .section-heading{gap:16px;margin-bottom:24px}
  .nexio-visuals .section-heading h2{font-size:clamp(33px,8.6vw,43px)}
  .nexio-visuals .section-heading>p:not(.overline){font-size:16px;line-height:1.5}
  .motion-control,.exp-detail{display:none!important}
  .nexio-visuals .experience-rail{counter-reset:experience-item;border-top:2px solid var(--mobile-ink);border-bottom:1px solid var(--mobile-ink)}
  .nexio-visuals .exp-item,.nexio-visuals .exp-item[aria-expanded=true]{position:relative;grid-template-columns:34px minmax(0,1fr) 34px;gap:12px;min-height:72px;padding:14px 4px;border:0;border-bottom:1px solid var(--mobile-rule);background:#fff;color:var(--mobile-ink)}
  .nexio-visuals .exp-item svg,.nexio-visuals .exp-label .arrow{display:none}
  .nexio-visuals .exp-item::before{counter-increment:experience-item;content:counter(experience-item, decimal-leading-zero);font-size:11px;font-weight:800;letter-spacing:.1em;color:#555;align-self:center}
  .nexio-visuals .exp-item::after{content:"+";position:static;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--mobile-ink);border-radius:50%;background:#fff;color:var(--mobile-ink);font-size:22px;font-weight:400;line-height:1;justify-self:end;align-self:center}
  .nexio-visuals .exp-item[aria-expanded=true]::after{content:"−";height:30px;background:var(--lime);border-color:var(--mobile-ink)}
  .nexio-visuals .exp-label{font-size:19px;line-height:1.22}
  .exp-mobile-panel:not([hidden]){padding:18px 48px 26px 48px;border:0;border-bottom:1px solid var(--mobile-rule);background:#fff;animation:none}
  .exp-mobile-panel p{font-size:15px;line-height:1.55}
  .nexio-visuals .offers>.section-heading{padding:78px var(--gutter) 0;margin-bottom:28px}
  .nexio-visuals .offer{padding:57px var(--gutter) 65px}
  .nexio-visuals .offer-intro{gap:16px;margin-bottom:29px}
  .nexio-visuals .offer-intro h3{font-size:clamp(36px,9vw,46px);line-height:1.08}
  .nexio-visuals .offer-intro p{font-size:16px;line-height:1.55}
  .nexio-visuals .offer-num{margin-bottom:20px;font-size:11px}
  .reading-instruction,.nexio-visuals .offer .info-surface,.mobile-reading,.mobile-route,.mobile-phases,.ribbon-controls{display:none!important}
  .home-offer-mobile{display:grid;gap:10px;padding:26px 0 0;border-top:1px solid currentColor}
  .home-offer-mobile>span{font-size:11px;font-weight:800;letter-spacing:.11em}
  .home-offer-mobile strong{max-width:23ch;font-size:24px;line-height:1.2;letter-spacing:-.035em}
  .home-offer-mobile small{font-size:13px;line-height:1.5;color:inherit}
  .home-offer-mobile a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;margin-top:15px;padding:0 14px;background:var(--lime);color:var(--mobile-ink);font-size:15px;font-weight:800;text-decoration:none}
  .home-offer-mobile a span{font-size:24px;line-height:1}
  .reading .home-offer-mobile a{background:var(--mobile-ink);color:#fff}
  .visuals-followup{display:none}

  /* Services and diagnosis: the desktop diagram becomes a readable phone sequence. */
  .experience-hero{padding:42px 0 61px}
  .experience-hero-grid{gap:35px}
  .experience-hero h1{max-width:16ch;margin-bottom:22px;font-size:clamp(38px,9.3vw,48px);line-height:1.08}
  .experience-hero-copy>p{max-width:33ch;margin-bottom:25px;font-size:16px;line-height:1.55}
  .experience-hero .button{display:flex;width:100%;min-height:56px}
  .value-loop{display:none}
  .value-loop-mobile{display:block;margin:0 var(--gutter);padding:0 0 25px;border-top:2px solid var(--mobile-ink);border-bottom:2px solid var(--mobile-ink)}
  .value-loop-mobile>div{position:relative;padding:21px 0 20px 42px;border-bottom:1px solid var(--mobile-rule)}
  .value-loop-mobile>div::before{content:"";position:absolute;left:0;top:24px;width:24px;height:24px;border:2px solid var(--mobile-ink);background:var(--lime)}
  .value-loop-mobile>div:not(:nth-child(3))::after{content:"";position:absolute;left:11px;top:48px;bottom:-24px;width:2px;background:var(--mobile-ink)}
  .value-loop-mobile span{display:block;margin-bottom:5px;font-size:10px;font-weight:800;letter-spacing:.12em}
  .value-loop-mobile strong{display:block;font-size:23px;line-height:1.2;letter-spacing:-.035em}
  .value-loop-mobile p{margin:21px 0 0;font-size:15px;font-weight:800;line-height:1.4}
  .experience-jump{display:none}
  .experience-board{padding:76px 0 82px;background:var(--mobile-paper);color:var(--mobile-ink)}
  .experience-board-heading{margin-bottom:31px}
  .experience-board-heading h2{max-width:18ch;margin-bottom:18px;font-size:clamp(34px,8.8vw,44px);line-height:1.1}
  .experience-board-heading p{max-width:33ch;color:#414141;font-size:16px;line-height:1.5}
  .experience-options{border-top:2px solid var(--mobile-ink)}
  .experience-option,.experience-option.is-active{grid-template-columns:31px minmax(0,1fr) 36px;gap:12px;min-height:78px;padding:17px 0;border-bottom:1px solid var(--mobile-rule);background:transparent;color:var(--mobile-ink)}
  .experience-option:hover{background:transparent;color:var(--mobile-ink)}
  .experience-option:focus-visible{outline:3px solid var(--mobile-ink);outline-offset:2px}
  .experience-option-count{align-self:start;padding-top:4px;font-size:11px}
  .experience-option strong{font-size:19px;line-height:1.25}
  .experience-option .icon-arrow{display:none}
  .experience-option-toggle{display:grid;place-items:center;width:34px;height:34px;border:1.5px solid var(--mobile-ink);border-radius:50%;font-size:22px;line-height:1;justify-self:end;align-self:center;background:#fff}
  .experience-option-toggle::before{content:"+"}
  .experience-option[aria-expanded=true] .experience-option-toggle{background:var(--lime)}
  .experience-option[aria-expanded=true] .experience-option-toggle::before{content:"−"}
  .experience-panel-mobile:not([hidden]){display:block;padding:26px 18px 29px;border:1px solid var(--mobile-rule);border-top:0;background:#fff;color:var(--mobile-ink);animation:none}
  .experience-panel-head>span{color:#555;font-size:10px}
  .experience-panel-head h3{margin:12px 0 13px;font-size:28px;line-height:1.15}
  .experience-panel-head p{margin-bottom:22px;color:#414141;font-size:15px;line-height:1.55}
  .experience-route{display:none}
  .experience-chain{position:relative;display:grid;gap:0;margin:0 0 25px;padding:0 0 0 34px;border:0}
  .experience-chain::before{content:"";position:absolute;left:11px;top:13px;bottom:19px;width:2px;background:var(--mobile-rule)}
  .experience-chain li{position:relative;display:block;min-height:0;margin:0;padding:0 0 20px;border:0}
  .experience-chain li:last-child{padding-bottom:0}
  .experience-chain li::before{content:"";position:absolute;left:-34px;top:2px;width:22px;height:22px;border:2px solid var(--mobile-ink);border-radius:50%;background:var(--lime)}
  .experience-chain li:not(:last-child)::after{display:none}
  .experience-chain span{display:block;margin-bottom:6px;color:#555;font-size:10px;line-height:1.35}
  .experience-chain strong{display:block;font-size:15px;line-height:1.48;font-weight:650}
  .experience-decision{display:block;padding:21px 20px;background:var(--lime);border:0}
  .experience-decision>span{color:var(--mobile-ink);font-size:10px}
  .experience-decision p{margin-top:10px;font-size:17px;line-height:1.35}
  .experience-board-foot{margin-top:28px;color:#555;font-size:13px;line-height:1.5}

  /* A service choice should read as a choice, not two long checklists. */
  .service-entry{padding-block:78px 82px}
  .service-entry .section-heading{margin-bottom:31px}
  .service-lanes{display:grid;gap:16px;border:0}
  .service-lane,.service-lane+.service-lane{padding:30px 25px 32px;border:1px solid var(--mobile-ink)}
  .service-lane h3{margin:22px 0 15px;font-size:34px}
  .service-lane>p{margin:0 0 27px;font-size:16px;line-height:1.53}
  .service-lane ol{display:none}
  .service-lane-bottom{padding-top:23px;gap:9px}
  .service-lane-bottom>strong{font-size:29px}
  .service-lane-bottom>small{min-height:0;font-size:13px;line-height:1.5}
  .service-lane-bottom .text-link{margin-top:12px}
  .service-price-note{margin-top:24px;font-size:13px;line-height:1.55}
  .ongoing-work{padding-block:78px 83px;background:var(--mobile-paper)}
  .ongoing-work-flow{position:relative;display:grid;gap:0;margin-top:36px;padding-left:35px}
  .ongoing-work-flow::before{content:"";position:absolute;left:11px;top:12px;bottom:17px;width:2px;background:var(--mobile-ink)}
  .ongoing-work-flow li{position:relative;min-height:0;margin:0;padding:0 0 28px;border:0;background:transparent}
  .ongoing-work-flow li::before{content:"";position:absolute;left:-35px;top:1px;width:23px;height:23px;border:2px solid var(--mobile-ink);border-radius:50%;background:var(--lime)}
  .ongoing-work-flow li:not(:last-child)::after,.ongoing-work-flow li:nth-child(2)::after{display:none}
  .ongoing-work-flow span{margin:0 0 7px;font-size:10px}
  .ongoing-work-flow strong{font-size:22px}
  .ongoing-work-flow p{font-size:15px;line-height:1.5}
  .ongoing-work-return{margin-top:5px;padding:24px;background:var(--lime)}
  .ongoing-work-return strong{margin-top:10px;font-size:19px}
  .service-role{padding-block:79px 83px}
  .service-role h2{font-size:36px}
  .service-role p{font-size:16px;line-height:1.55}
  .service-role-chain{margin-top:8px}
  .service-role-chain>div{grid-template-columns:1fr;gap:7px;padding:20px 0}
  .service-role-chain strong{font-size:19px}
  .service-start{padding-block:77px 82px}
  .service-start-rail li,.diagnosis-steps-rail li{gap:4px 17px;padding:22px 0}
  .service-start-rail span,.diagnosis-steps-rail span{width:38px;height:38px;padding:9px 0}
  .service-start-rail strong,.diagnosis-steps-rail strong{font-size:21px}
  .service-start-rail p,.diagnosis-steps-rail p{font-size:15px;line-height:1.5}

  /* Diagnosis: keep the price near the action, with one example document. */
  .diagnosis-hero-v2{padding-bottom:65px}
  .diagnosis-hero-v2 .experience-hero-grid{gap:32px}
  .diagnosis-price-mobile{margin:24px 0 0!important;padding:19px 0 0;border-top:2px solid var(--mobile-ink);font-size:14px!important;line-height:1.5!important}
  .diagnosis-price-mobile strong{font-size:20px}
  .diagnosis-paper{margin:0 11px 0 0;padding:24px 20px 25px;box-shadow:9px 9px 0 var(--lime)}
  .diagnosis-paper h2{margin:24px 0;font-size:25px;line-height:1.2}
  .diagnosis-paper>div:not(.diagnosis-paper-top){grid-template-columns:1fr;gap:6px;padding:16px 0}
  .diagnosis-paper p{font-size:15px}
  .diagnosis-paper .diagnosis-paper-decision{margin:9px -7px 0;padding:17px 11px!important}
  .diagnosis-hero-price{display:none}
  .diagnosis-handoff,.diagnosis-steps,.diagnosis-limits{padding-block:78px 83px}
  .diagnosis-handoff-grid{gap:35px}
  .diagnosis-handoff-grid>div:first-child p,.diagnosis-limits-grid>div:first-child p{font-size:16px;line-height:1.55}
  .handoff-document{margin-right:8px;padding:25px 19px;box-shadow:8px 8px 0 var(--lime)}
  .handoff-document>div:not(.handoff-document-top){grid-template-columns:1fr;gap:8px;padding:17px 0}
  .handoff-document>div p{font-size:16px}
  .diagnosis-limits h2{font-size:36px}

  /* About, case and contact: more room between stories and useful actions. */
  body:not([data-page="/"]) .inner-hero{padding-block:49px 68px}
  .about-hero .about-grid{gap:16px}
  .about-hero h1,.case-hero h1{font-size:clamp(37px,9.2vw,47px);line-height:1.1}
  .about-hero p:not(.section-label),.case-hero p:not(.section-label){font-size:16px;line-height:1.55}
  .about-hero .about-photo{height:340px;max-width:420px;margin:0}
  .about-photo-stage{height:calc(100% - 56px)}
  .about-hero .about-photo .portrait{height:100%}
  .about-photo-stage::before{inset:39% 0 0 5%}
  .about-hero .about-photo figcaption{min-height:56px;padding:9px 15px}
  .about-story .story-grid{gap:23px}
  .about-story .story-grid>div p{margin-bottom:22px;font-size:16px;line-height:1.6}
  .capability-section{padding-block:78px 83px}
  .capability-item{min-height:73px}
  .capability-item::after{content:"+";transform:none!important;display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;font-size:21px}
  .capability-item[aria-expanded=true]::after{content:"−";background:var(--lime);color:var(--mobile-ink)}
  .capability-mobile-panel:not([hidden]){padding:16px 15px 24px 50px;animation:none}
  .about-transfer{padding-block:77px 82px}
  .handoff-line{margin-block:33px 28px}
  .handoff-line>div{padding:23px 0 28px}
  .handoff-line span{margin-bottom:14px}
  .handoff-line strong{font-size:26px}
  .handoff-line p{font-size:16px}
  .case-map,.case-evidence,.case-detail{padding-block:78px 83px}
  .case-map-mobile{margin-top:30px}
  .case-map-mobile-gate b,.case-map-mobile-outcome span{display:none}
  .case-map.in-view .case-map-mobile-row.live{animation:none!important}
  .case-evidence-chain>div{padding:22px 0}
  .case-evidence-chain .case-evidence-output span{display:none}
  .case-evidence-chain .case-evidence-output strong,.case-evidence-chain .case-evidence-output small{grid-column:1/-1}
  .case-story section{padding-block:28px}
  .case-story h3{font-size:26px;line-height:1.18}
  .case-story p{font-size:16px;line-height:1.6}
  .inner-contact{padding-top:43px}
  .inner-contact .contact-opening{margin-bottom:31px}
  .inner-contact .contact-opening h1{font-size:clamp(37px,9vw,45px)}
  .inner-contact .contact-opening .contact-brief{font-size:16px;line-height:1.55}
  .contact-choice{margin-top:22px}
  .contact-booking-note{margin-top:14px}
  .booking-experience{margin-top:34px}
  .booking-heading{margin-bottom:21px}
  .booking-heading h2{font-size:32px}
  .booking-strip{min-height:56px}
  .booking-help{font-size:13px;line-height:1.5}
  .contact-journey{margin-top:72px!important}
  .contact-journey h2{font-size:32px}
  .contact-journey li{gap:17px;padding-bottom:28px}
  .contact-journey li p{font-size:15px;line-height:1.5}
  .journey-desktop{display:none}
  .journey-mobile{display:inline}
  .contact-write{margin-top:75px}
  .contact-form input,.contact-form textarea{min-height:48px}
  .final-cta{padding-block:76px 82px}
  .final-cta h2{font-size:clamp(35px,9vw,47px)}
  .footer-top{gap:30px;padding:52px 0}
}

@media (max-width:370px){
  :root{--gutter:20px}
  .nexio-hero .hero-copy h1,.experience-hero h1{font-size:37px}
  .experience-option{grid-template-columns:27px minmax(0,1fr) 32px;gap:9px}
  .experience-option strong{font-size:18px}
  .experience-panel-mobile:not([hidden]){padding-inline:15px}
  .about-hero .about-photo{height:312px}
}

@media (prefers-reduced-motion:reduce){
  .value-loop-mobile *, .experience-panel-mobile, .home-offer-mobile *{animation:none!important;transition:none!important}
}

/* Mobile visual stories: the interaction changes the evidence, not just a paragraph. */
@media (max-width:760px){
  .case-teaser-grid{display:block}
  .problem-strip{padding-bottom:50px}
  .case-teaser{padding-top:52px;border-top:1px solid #555}
  .case-teaser .case-desktop-copy,.case-teaser-grid>div:first-child>.text-link{display:none}
  .case-teaser .case-mobile-copy{display:block;max-width:32ch;margin:0 0 29px!important;color:#e9e9e9;font-size:16px!important;line-height:1.55}
  .case-compare{display:block;margin-top:6px}
  .case-compare-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #777}
  .case-compare-tabs button{min-height:57px;padding:10px 7px;border:0;background:transparent;color:#f4f4f4;font:inherit;font-size:14px;font-weight:800;line-height:1.2;cursor:pointer}
  .case-compare-tabs button+button{border-left:1px solid #777}
  .case-compare-tabs button[aria-pressed=true]{background:var(--lime);color:var(--ink)}
  .case-compare-tabs button:focus-visible,.case-compare-link:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
  .case-compare-path{position:relative;list-style:none;margin:29px 0 0;padding:0 0 0 46px}
  .case-compare-path::before{content:"";position:absolute;left:13px;top:19px;bottom:35px;width:2px;background:var(--lime)}
  .case-compare[data-view=leads] .case-compare-path::before{background:linear-gradient(to bottom,var(--lime) 0 42%,#777 42% 100%)}
  .case-compare-path li{position:relative;display:flex;align-items:center;gap:16px;min-height:71px;padding:9px 0;border-bottom:1px solid #444;transition:opacity .25s,color .25s}
  .case-compare-path li::before{content:"";position:absolute;left:-45px;top:22px;width:23px;height:23px;border:2px solid var(--lime);border-radius:50%;background:var(--ink);z-index:1}
  .case-compare-path li:last-child::before{background:var(--lime)}
  .case-compare-path li span{color:#c3c3c3;font-size:11px;font-weight:800;letter-spacing:.08em}
  .case-compare-path li strong{font-size:clamp(22px,6.5vw,28px);line-height:1.15;letter-spacing:-.045em}
  .case-compare[data-view=leads] .case-compare-later{opacity:.33}
  .case-compare[data-view=leads] .case-compare-later::before{border-color:#777;background:var(--ink)}
  .case-compare[data-view=outcome] .case-compare-path li:last-child{color:var(--lime)}
  .case-compare[data-view=leads] .case-compare-leads,.case-compare[data-view=outcome] .case-compare-outcome{display:block}
  .case-compare-leads,.case-compare-outcome{display:none;max-width:31ch;margin:25px 0 15px!important;color:#fff!important;font-size:20px!important;font-weight:800;line-height:1.3!important;letter-spacing:-.03em}
  .case-compare-link{display:inline-flex;align-items:center;gap:20px;min-height:51px;margin-top:4px;border-bottom:2px solid var(--lime);color:var(--lime);font-size:16px;font-weight:800;text-decoration:none}
  .case-compare-link span{font-size:26px;font-weight:400}

  .experience-intro-desktop{display:none}
  .experience-intro-mobile{display:block}
  .value-loop-mobile{margin:0 var(--gutter);padding:8px 20px 0;border:0;background:var(--ink);color:#fff}
  .value-loop-mobile>div{padding:19px 0 19px 43px;border-bottom:1px solid #555}
  .value-loop-mobile>div::before{left:0;top:22px;width:25px;height:25px;border:2px solid var(--lime);border-radius:50%;background:var(--ink)}
  .value-loop-mobile>div::before{box-shadow:inset 0 0 0 6px var(--ink)}
  .value-loop-mobile>div:not(:nth-child(3))::after{left:12px;top:47px;bottom:-24px;background:var(--lime)}
  .value-loop-mobile span{color:var(--lime)}
  .value-loop-mobile strong{font-size:22px}
  .value-loop-mobile p{margin:0 -20px!important;padding:19px 20px 21px;background:var(--lime);color:var(--ink);font-size:16px;line-height:1.35}
  .experience-board{padding-bottom:35px;background:#fff}
  .experience-board .experience-switch{display:none}
  .mobile-story{display:block}
  .mobile-story-options{display:block;margin:27px 0 8px;border-top:1px solid var(--ink)}
  .mobile-story-options button{display:grid;grid-template-columns:29px 1fr;align-items:center;gap:12px;width:100%;min-height:54px;padding:10px 13px;border:0;border-bottom:1px solid #c8c8c8;background:#f2f2f2;color:var(--ink);text-align:left;font:inherit;font-size:16px;font-weight:800;line-height:1.2;cursor:pointer}
  .mobile-story-options button span{font-size:11px;letter-spacing:.08em}
  .mobile-story-options button[aria-selected=true]{border-color:var(--ink);background:var(--lime)}
  .mobile-story-options button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
  .mobile-story-panel[hidden],.mobile-report-sheet[hidden]{display:none!important}
  .mobile-story-panel{animation:story-appear .24s ease-out}
  .mobile-story-graph{padding:24px 20px 12px;background:var(--ink);color:#fff}
  .mobile-story-graph-title,.mobile-story-check>span,.mobile-story-decision>span{display:block;font-size:10px;font-weight:800;letter-spacing:.1em;line-height:1.3}
  .mobile-story-graph-title{color:var(--lime)}
  .mobile-story-graph ol{list-style:none;margin:19px 0 0;padding:0 0 0 42px}
  .mobile-story-graph li{position:relative;min-height:65px;padding:6px 0 13px;border-bottom:1px solid #444}
  .mobile-story-graph li:last-child{border-bottom:0}
  .mobile-story-graph li::after{content:"";position:absolute;left:-29px;top:26px;bottom:-12px;width:4px;background:var(--lime)}
  .mobile-story-graph li:last-child::after{display:none}
  .mobile-story-graph li.has-gap{min-height:100px}
  .mobile-story-graph li.has-gap::after{top:27px;bottom:0;background:repeating-linear-gradient(to bottom,#dedede 0 5px,transparent 5px 12px)}
  .mobile-story-node{position:absolute;left:-41px;top:5px;width:28px;height:28px;border:3px solid var(--lime);border-radius:50%;background:var(--ink);z-index:1}
  .mobile-story-node::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--lime)}
  .mobile-story-graph li.after-gap .mobile-story-node{border-color:#ddd}
  .mobile-story-graph li.after-gap .mobile-story-node::after{background:#ddd}
  .mobile-story-graph li strong{display:block;font-size:clamp(21px,6vw,27px);line-height:1.2;letter-spacing:-.035em}
  .mobile-story-panel:not([hidden]) .mobile-story-graph li{animation:story-appear .26s both}
  .mobile-story-panel:not([hidden]) .mobile-story-graph li:nth-child(2){animation-delay:.06s}
  .mobile-story-panel:not([hidden]) .mobile-story-graph li:nth-child(3){animation-delay:.12s}
  .mobile-story-panel:not([hidden]) .mobile-story-graph li:nth-child(4){animation-delay:.18s}
  .mobile-story-graph li em{display:inline-block;margin-top:12px;padding:5px 8px;border:1px dashed #ddd;color:#fff;font-size:11px;font-style:normal;font-weight:700;line-height:1.3}
  .mobile-brand-graph{padding:24px 0 25px;text-align:center}
  .mobile-brand-source{display:grid;gap:3px;max-width:175px;margin:auto;padding:14px 10px;background:var(--lime);color:var(--ink)}
  .mobile-brand-source span{font-size:10px;font-weight:800;letter-spacing:.08em}
  .mobile-brand-source strong{font-size:23px;line-height:1.15;letter-spacing:-.035em}
  .mobile-brand-break{position:relative;display:grid;place-items:center;min-height:87px}
  .mobile-brand-break::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:3px dashed #bbb}
  .mobile-brand-break span{position:relative;z-index:1;padding:7px 9px;border:1px dashed #ddd;background:var(--ink);font-size:11px;font-weight:800}
  .mobile-brand-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;position:relative;padding-top:25px}
  .mobile-brand-branches::before{content:"";position:absolute;left:16.66%;right:16.66%;top:0;border-top:2px solid var(--lime)}
  .mobile-brand-branches span{position:relative;display:grid;place-items:center;min-height:62px;padding:7px 2px;border:1px solid #ddd;font-size:clamp(12px,3.6vw,15px);font-weight:800;line-height:1.15;overflow-wrap:anywhere}
  .mobile-brand-branches span::before{content:"";position:absolute;left:50%;bottom:100%;height:25px;border-left:2px solid var(--lime)}
  .mobile-story-check{padding:18px 20px 19px;border:1px solid var(--ink);border-top:0}
  .mobile-story-check p{margin:7px 0 0;font-size:16px;line-height:1.4;font-weight:700}
  .mobile-story-decision{padding:18px 20px 22px;background:var(--lime);color:var(--ink)}
  .mobile-story-decision strong{display:block;max-width:28ch;margin-top:10px;font-size:21px;line-height:1.22;letter-spacing:-.03em}
  .experience-board-foot{margin-top:20px;font-size:12px}
  .service-entry{padding-top:48px;border-top:1px solid var(--mobile-rule)}

  .diagnosis-handoff{padding-top:40px;border-top:1px solid var(--mobile-rule)}
  .diagnosis-handoff-grid{display:block}
  .diagnosis-handoff-grid>div:first-child p{display:none}
  .diagnosis-handoff-grid>div:first-child .handoff-mobile-copy{display:block;max-width:31ch;margin:17px 0 0;font-size:16px;line-height:1.5}
  .handoff-document{display:none}
  .mobile-report{display:block;margin-top:30px}
  .mobile-report-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:17px}
  .mobile-report-tabs button{min-height:52px;padding:8px 4px;border:1px solid #bdbdbd;background:#f2f2f2;color:var(--ink);font:inherit;font-size:15px;font-weight:800;cursor:pointer}
  .mobile-report-tabs button[aria-selected=true]{border-color:var(--ink);background:var(--lime)}
  .mobile-report-tabs button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
  .mobile-report-stage{padding:18px 16px 16px 0;background:var(--ink)}
  .mobile-report-sheet{min-height:343px;padding:24px 18px 21px;border:1px solid var(--ink);background:#fff;box-shadow:7px 7px 0 var(--lime);animation:story-appear .24s ease-out}
  .mobile-report-head{display:flex;justify-content:space-between;gap:8px;padding-bottom:16px;border-bottom:2px solid var(--ink);font-size:9px;font-weight:800;letter-spacing:.06em}
  .mobile-report-sheet h3{max-width:15ch;margin:23px 0 23px;font-size:clamp(27px,7.5vw,34px);line-height:1.12;letter-spacing:-.045em}
  .mobile-report-flow{display:flex;align-items:stretch;gap:0;margin:0 0 21px;min-height:72px}
  .mobile-report-flow span{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;padding:9px 3px;border:1px solid var(--ink);text-align:center;font-size:clamp(11px,3.1vw,13px);font-weight:800;line-height:1.15;overflow-wrap:anywhere}
  .mobile-report-flow i{position:relative;flex:0 0 18px;align-self:center;height:2px;background:var(--ink)}
  .mobile-report-flow i::after{content:"";position:absolute;right:0;top:-4px;border-left:7px solid var(--ink);border-top:5px solid transparent;border-bottom:5px solid transparent}
  .mobile-report-priority .mobile-report-flow span:last-child{background:var(--lime)}
  .mobile-report-gap .mobile-report-flow i{background:repeating-linear-gradient(to right,var(--ink) 0 3px,transparent 3px 6px)}
  .mobile-report-gap .mobile-report-flow span:last-child{border-style:dashed}
  .mobile-report-sheet>p{margin:0 0 15px;font-size:17px;font-weight:800;line-height:1.36}
  .mobile-report-sheet>small{display:block;color:#555;font-size:11px;line-height:1.4}
  .case-compare-tabs button:active,.mobile-story-options button:active,.mobile-report-tabs button:active{filter:brightness(.9)}
  .case-compare-tabs button,.mobile-story-options button,.mobile-report-tabs button{-webkit-tap-highlight-color:transparent}
  .consent-panel{gap:7px;padding:12px 15px}
  .consent-panel strong{font-size:15px}
  .consent-panel p{margin:3px 0;font-size:12px;line-height:1.4}
  .consent-actions button{min-height:44px}
}
@keyframes story-appear{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:370px){.mobile-story-options button{grid-template-columns:26px 1fr;min-height:53px;padding-inline:12px}}
@media (hover:hover){.case-compare-tabs button:hover,.mobile-story-options button:hover,.mobile-report-tabs button:hover{filter:brightness(.94)}}
@media (prefers-reduced-motion:reduce){.mobile-story-panel,.mobile-story-graph li,.mobile-report-sheet,.case-compare-path li{animation:none!important;transition:none!important}}
