/* Mobile is a reading journey. Desktop keeps the original spatial composition. */
.mobile-section-nav, .mobile-world-slot, .mobile-research-carousel, .mobile-next-step { display:none; }
@media (max-width:800px), (max-width:1100px) and (max-height:600px) and (pointer:coarse) {
  html.mobile-journey {
    scroll-snap-type:y mandatory;
    scroll-padding-top:var(--mobile-content-top,128px);
    scroll-padding-bottom:var(--mobile-footer-space,120px);
    scroll-behavior:smooth;
  }
  #world, .planet-labels, .world-labels, .scene-study, .vignette,
  body.natural-journey .journey-nav,
  body.natural-journey .alignment-region .perspectives,
  body.natural-journey .alignment-region .interaction-hint,
  body.natural-journey .alignment-region .illustration-note,
  body.natural-journey .alignment-region .decision-space,
  body.natural-journey .alignment-region .scene-result,
  body.natural-journey .alignment-region .shared-decision,
  body.natural-journey .alignment-region .research-topics,
  body.natural-journey .alignment-region .research-stage { display:none; }
  body.mobile-spatial-ready #world { display:block; position:fixed; inset:auto; z-index:9; pointer-events:none; opacity:1; background:transparent; }
  .mobile-world-slot { display:block; float:right; width:clamp(84px,27vw,116px); height:clamp(84px,27vw,116px); margin:0 0 .4em .8em; }
  .alignment-copy::after { content:''; display:table; clear:both; }
  body.natural-journey .alignment-region .alignment-copy > h2 { display:none; }
  body.natural-journey .experience-region .mobile-world-slot { width:72px; height:72px; }
  body.natural-journey .alignment-region .chapter-intent { font-weight:550; font-size:1.2em!important; line-height:1.35; margin:0 0 .75em!important; }
  .mobile-section-nav {
    position:fixed; top:var(--mobile-header-height,80px); left:0; right:0;
    z-index:11; display:flex; align-items:center; gap:.65rem;
    min-height:48px; padding:0 max(1rem,env(safe-area-inset-left)) 0 max(1rem,env(safe-area-inset-right));
    background:#f5f6f8; border-bottom:1px solid var(--line);
  }
  .mobile-section-icon { display:flex; color:#56449b; flex:none; }
  .mobile-section-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
  .mobile-section-nav select { flex:1; min-width:0; min-height:44px; border:0; background:transparent; color:var(--paper); font:inherit; font-size:.95rem; cursor:pointer; }
  .mobile-section-count { display:grid; gap:.12rem; flex:none; color:var(--muted); font-size:.65rem; line-height:1.2; font-variant-numeric:tabular-nums; text-align:right; }
  .mobile-section-count strong { font-size:.75rem; font-weight:500; }
  .mobile-section-nav select:focus-visible { outline:2px solid #287b72; outline-offset:2px; }
  body.natural-journey main#journey { padding:var(--mobile-content-top,128px) 0 var(--mobile-footer-space,120px); }
  body.natural-journey .alignment-region {
    display:flex; flex-direction:column; justify-content:center; gap:1.2em;
    margin:0; padding:clamp(1rem,3svh,2rem) max(1.25rem,env(safe-area-inset-right)) clamp(1rem,3svh,2rem) max(1.25rem,env(safe-area-inset-left));
    min-height:calc(100svh - var(--mobile-content-top,128px) - var(--mobile-footer-space,120px));
    font-size:clamp(.875rem,1.95svh,1.0625rem);
    border-bottom:1px solid var(--line); scroll-snap-align:start; scroll-snap-stop:always; scroll-margin:0;
  }
  body.natural-journey .alignment-region > * { width:100%; min-width:0; max-width:38rem; margin-left:auto; margin-right:auto; }
  body.natural-journey .alignment-region { padding-bottom:3.6rem; }
  body.natural-journey .alignment-region > .mobile-next-step { display:flex; position:absolute; bottom:.35rem; left:1.25rem; right:1.25rem; width:auto; max-width:none; align-items:center; justify-content:space-between; gap:.75rem; min-height:44px; color:#287b72; font-size:.78rem; line-height:1.3; text-decoration:none; }
  .mobile-next-step svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; }
  .mobile-next-step:focus-visible { outline:2px solid #287b72; outline-offset:2px; }
  body.natural-journey .alignment-region .alignment-copy h1 { width:auto; font-size:1.65em; line-height:1.2; margin:0 0 .75em; }
  body.natural-journey .alignment-region .alignment-copy h2 { font-size:2em; line-height:1.1; margin:0 0 .65em; overflow-wrap:anywhere; }
  body.natural-journey .alignment-region .alignment-copy p { font-size:1em; line-height:1.5; margin:.75em 0 0; }

  body.natural-journey .alignment-region .about-role { font-size:.82em; line-height:1.4; }
  body.natural-journey .about-thesis { width:100%; padding:1em 0 0; text-align:left; border-top:1px solid var(--line); }
  .about-thesis h2 { font-size:1.35em; max-width:none; line-height:1.2; margin:0; }
  .about-thesis p { font-size:.9em; line-height:1.45; max-width:none; margin:.7em 0 0; }
  body.natural-journey .experience-region { font-size:clamp(.8125rem,1.6svh,.9375rem); gap:1em; padding-top:1em; }
  body.natural-journey .experience-region .alignment-copy > p:not(.chapter-intent) { display:none; }
  body.natural-journey .experience-region .alignment-copy { padding-top:0; }
  body.natural-journey .experience-region .alignment-copy h2 { margin-bottom:.4em; }
  .experience-timeline { box-sizing:border-box; margin:0; padding:0 0 0 1.2em; }
  .experience-timeline li { margin:0 0 .8em; }
  .experience-timeline li:last-child { margin-bottom:0; }
  .experience-timeline li::before { left:-1.55em; }
  .experience-timeline span { font-size:.9em; }
  .experience-timeline h3 { font-size:1.07em; margin:.25em 0; line-height:1.3; }
  .experience-timeline p { font-size:1em; line-height:1.4; }
  body.natural-journey .research-region { font-size:clamp(.875rem,1.95svh,1.0625rem); gap:.8em; padding-top:1em; }
  body.natural-journey .research-region > .alignment-copy { display:none; }
  .mobile-research-carousel { display:block; position:relative; }
  .research-region .mobile-research-carousel .mobile-world-slot { position:absolute; top:0; right:0; margin:0; float:none; width:84px; height:84px; }
  .mobile-research-slides { display:grid; overflow:hidden; }
  .mobile-research-slide { grid-area:1 / 1; visibility:hidden; min-width:0; }
  .mobile-research-slide.is-current { visibility:visible; }
  .mobile-research-slide h3 { display:flex; align-items:center; min-height:84px; padding-right:94px; margin:0 0 1em; font-size:1.5em; line-height:1.2; }
  .mobile-research-slide h3 button { display:flex; align-items:center; justify-content:space-between; gap:.7em; width:100%; min-height:44px; font:inherit; color:#56449b; border:0; padding:0; background:none; text-align:left; cursor:pointer; }
  .mobile-research-slide h3 svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; }
  .mobile-research-slide p { font-size:1em; line-height:1.4; color:var(--muted); margin:0; }
  .mobile-research-controls { display:flex; align-items:center; justify-content:space-between; gap:1em; margin-top:.7em; font-size:.85em; }
  .mobile-research-controls button { min-height:44px; border:0; background:none; color:#287b72; padding:0 .25em; font:inherit; cursor:pointer; }
  .mobile-research-controls button:disabled { color:var(--muted); cursor:default; }
  .mobile-research-rotation { display:block; min-height:44px; margin:.4em auto 0; padding:0 .5em; font:inherit; font-size:.75em; color:var(--muted); background:none; border:0; cursor:pointer; }
  .mobile-research-rotation[hidden] { display:none; }
  .mobile-research-carousel button:focus-visible { outline:2px solid #287b72; outline-offset:2px; }
  @media (min-width:601px) and (max-height:600px) {
    .research-region .mobile-research-slide h3 { min-height:72px; margin-bottom:.4em; }
    .research-region .mobile-research-carousel .mobile-world-slot { width:72px; height:72px; }
  }
  @media (prefers-reduced-motion:reduce) { html.mobile-journey { scroll-behavior:auto; } }
}
