/* VF1-A · FINAL FIGMA DIRECT IMPLEMENTATION
   Visual authorities:
   Portrait 559:16 · Landscape Wide 559:102 · Landscape Constrained 559:192
   Large Portrait 559:281 · Large Wide 559:367 · Tall/Post-Max 559:457.
   One DOM/state. SafeContent owns interaction; visual canvas may bleed. */

/* Semantic host fallback for the visual canvas above the Hero. */
:root{
  --adventure-top-canvas-fallback:var(--navy);
  --adventure-landscape-canvas-warm:#fff1df;
  --adventure-landscape-side-scrim:linear-gradient(
    90deg,
    rgba(16,40,61,.48) 0%,
    rgba(16,40,61,.34) 24%,
    rgba(16,40,61,.14) 48%,
    rgba(16,40,61,.03) 68%,
    rgba(16,40,61,0) 100%
  );
  --adventure-landscape-ambient-fade:linear-gradient(
    180deg,
    rgba(144,106,74,0) 0,
    rgba(144,106,74,0) 74px,
    rgba(166,125,87,.18) 106px,
    rgba(199,158,115,.44) 132px,
    rgba(232,201,166,.76) 148px,
    rgba(255,241,223,1) 154px,
    rgba(255,241,223,1) 100%
  );
}

/* VF1A-RESP-BUG-POSTMAX01 · WIDE ROOT GEOMETRY OWNER
   The Shell owns one canonical 1360px Wide canvas. At and below that width the
   certified 1020/1360 anchors remain unchanged; above it the whole canvas,
   including the Rail offset and the 1192px Adventure Stage, moves as one
   centered composition. Descendants keep Stage-local coordinates. */
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
  --vf1a-wide-root-max:1360px;
  --vf1a-wide-root-offset:max(0px,calc((100vw - var(--vf1a-wide-root-max))/2));
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] main.wrap{
  width:100%;
  max-width:var(--vf1a-wide-root-max);
  margin-inline:auto;
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .global-navigation{
  left:calc(max(env(safe-area-inset-left),var(--global-nav-float-margin)) + var(--vf1a-wide-root-offset));
}

/* Safari/WebKit canvas continuity: styles.css FINAL uses a background shorthand
   on the Adventure body, which clears the earlier cold-launch/status-area Hero
   image fallback. Restore only the visual canvas image for Dock; SafeContent
   and all interactive insets remain owned by env(safe-area-inset-*). */
body[data-shell-variant="adventure"][data-nav-mode="dock"]{
  background-color:var(--vf1a-final-bg);
  background-image:var(--adventure-hero-image);
  background-repeat:no-repeat;
  background-position:center top;
  background-size:100% auto;
}

/* SAF01 root-canvas corrective: normal Safari can expose the document canvas
   above the body painting area. While the real Shell is Adventure + Dock,
   paint that root canvas with the same canonical Hero asset. Other routes
   change shellVariant, so the root immediately returns to its normal canvas. */
html:has(> body[data-shell-variant="adventure"][data-nav-mode="dock"]){
  background-color:var(--adventure-top-canvas-fallback);
  background-image:var(--adventure-hero-image);
  background-repeat:no-repeat;
  background-position:center top;
  background-size:100% auto;
}

body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-region{
  height:calc(var(--adventure-safe-top) + 373px);
  min-height:calc(var(--adventure-safe-top) + 373px);
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero{
  height:calc(var(--adventure-safe-top) + 166px);
  min-height:calc(var(--adventure-safe-top) + 166px);
  grid-template-rows:var(--adventure-safe-top) 166px;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-ambient{
  top:max(0px,calc(var(--adventure-safe-top) - 5px));
  height:207px;
  background:linear-gradient(180deg,
    rgba(143,106,74,0) 0%,
    rgba(143,106,74,.04) 16%,
    rgba(169,126,88,.14) 34%,
    rgba(195,154,112,.32) 50%,
    rgba(223,192,154,.56) 62%,
    rgba(242,221,192,.78) 72%,
    rgba(255,241,223,.94) 79%,
    rgba(255,241,223,.995) 84%,
    #fff1df 100%);
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-copy{
  top:6px;
  left:max(20px,env(safe-area-inset-left));
  width:min(264px,calc(100% - 156px));
  max-height:120px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-profile-access{
  top:2px;
  right:max(16px,env(safe-area-inset-right));
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-kitsune{
  top:30px;
  right:max(16px,env(safe-area-inset-right));
  width:138px;
  height:136px;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-location-title{
  margin:0;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] #adventureSituationDetail{
  margin:0;
  max-width:264px;
  font-size:14px;
  line-height:18px;
  font-weight:400;
  color:#FFF8ED!important;
  text-shadow:0 1px 4px rgba(16,40,61,.38);
}

body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing{
  position:absolute;
  top:calc(var(--adventure-safe-top) + 147px);
  left:16px;
  right:16px;
  margin:0;
  height:152px;
  min-height:152px;
  padding:12px 20px 7px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:0;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing-copy{
  width:100%;
  max-width:100%;
  gap:6px;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing-copy p{
  max-width:100%;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-primary-cta{
  align-self:flex-end;
  margin:auto 0 0;
}

body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-metrics{
  position:absolute;
  top:calc(var(--adventure-safe-top) + 309px);
  left:16px;
  right:16px;
  margin:0;
  height:56px;
  grid-auto-rows:56px;
}

body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center{
  height:334px;
  min-height:334px;
  margin:0;
  padding:8px 16px 12px;
  border-color:transparent;
  border-radius:22px;
  background:#fff1df;
  box-shadow:none;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center-header{
  height:30px;
  min-height:30px;
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-action-grid{
  margin-top:6px;
  grid-template-rows:156px 112px;
  gap:10px 5px;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary{
  row-gap:4px;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-open{
  justify-self:end;
  align-self:end;
  margin:0;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-copy{
  width:100%;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-copy p{
  height:28px;
  margin:0;
  line-height:14px;
  white-space:normal;
  overflow:hidden;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] [data-adventure-portal-card="kana"] .adventure-portal-copy h3{
  font-size:11px;
  line-height:16px;
  white-space:nowrap;
}

body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-region{
  margin:12px 0 0;
}

/* Landscape Wide / Constrained final composition.
   One physical visual canvas is shared by Rail and Stage. The same canvas is
   mirrored on the document root only as a host fallback; there are no
   independent Rail/Stage crops. Safe areas reserve content, not artwork. */
html:has(> body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]),
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
  background-color:var(--adventure-landscape-canvas-warm);
  background-image:
    var(--adventure-landscape-ambient-fade),
    var(--adventure-landscape-side-scrim),
    var(--adventure-hero-image);
  background-repeat:no-repeat;
  background-position:center top,center top,center top;
  background-size:100% 100%,100% 154px,100% auto;
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-screen{
  background:transparent;
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-region,
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero{
  background:transparent;
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-artwork{
  background-image:none;
  background-color:transparent;
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-artwork::after{
  background:none;
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-ambient{
  background:none;
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center{
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-primary-cta{
  align-self:flex-end;
  margin-left:auto;
}

body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy{
  top:18px;
  left:20px;
  width:340px;
  max-height:112px;
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-profile-access{
  top:6px;
}
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
  top:36px;
}

@container adventure-canvas (min-width:780px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-region{
    height:220px;
    min-height:220px;
    padding-bottom:0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero{
    height:154px;
    min-height:154px;
    grid-template-rows:154px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
    top:32px;
    left:432px;
    right:auto;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-profile-access{
    top:1px;
    left:514px;
    right:auto;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing{
    position:absolute;
    top:8px;
    left:auto;
    right:17px;
    width:325px;
    height:136px;
    min-height:136px;
    margin:0;
    padding:12px 20px 8px 58px;
    background:linear-gradient(90deg,rgba(251,228,204,0) 0%,rgba(251,228,204,.52) 42%,rgba(251,228,204,.94) 100%);
    border:0;
    box-shadow:none;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metrics{
    position:absolute;
    top:152px;
    left:16px;
    right:16px;
    margin:0;
    height:48px;
    grid-auto-rows:48px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center{
    height:160px;
    min-height:160px;
    padding:10px 16px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center-header{
    height:30px;
    min-height:30px;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-action-grid{
    height:104px;
    margin-top:6px;
    grid-template-columns:minmax(396px,1fr) repeat(2,minmax(0,198px));
    grid-template-rows:48px 48px;
    gap:8px 12px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary{
    height:104px;
    min-height:104px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-secondary{
    height:48px;
    min-height:48px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-region{
    margin:8px 16px 0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-action{
    height:40px;
    min-height:40px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-primary-cta{
    left:auto;
    right:20px;
    top:78px;
    margin:0;
  }
}

@container adventure-canvas (max-width:779.98px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-region{
    height:350px;
    min-height:350px;
    padding-bottom:12px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero{
    height:154px;
    min-height:154px;
    grid-template-rows:154px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    width:auto;
    height:128px;
    min-height:128px;
    margin:-4px 16px 0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metrics{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    height:48px;
    margin:12px 16px 0;
    grid-auto-rows:48px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center{
    height:276px;
    min-height:276px;
    padding:10px 16px;
    border-color:transparent;
    background:#fff1df;
    box-shadow:none;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center-header{
    height:30px;
    min-height:30px;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-action-grid{
    height:220px;
    margin-top:6px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:104px 48px 48px;
    column-gap:12px;
    row-gap:8px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary{
    grid-column:1/-1;
    grid-row:1;
    height:104px;
    min-height:104px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-secondary{
    height:48px;
    min-height:48px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-region{
    margin:12px 16px 0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-action{
    height:40px;
    min-height:40px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-primary-cta{
    align-self:flex-end;
    margin-top:auto;
    margin-left:auto;
  }
}

/* The active surface fills tall windows without altering its family. */
body[data-shell-variant="adventure"] .adventure-screen.active{
  min-height:100dvh;
  min-height:100svh;
}

/* ==================================================================
   VF1-A · ADAPTIVE COMPOSITION FINAL
   Final authorities: 559:16 · 559:102 · 559:192 · 559:281 · 559:367
   · 559:457. Large/Tall define growth inside the three canonical
   families, never an additional layout family.

   Canon: SAME COMPOSITION · ADAPTIVE GEOMETRY · ADAPTIVE LOCAL
   COMPONENT GEOMETRY. Components grow BASE -> FLUID -> VISUAL MAX;
   after the visual maximum, only breathing/remaining warm space grows.
   ================================================================== */

/* Large Portrait uses the existing Dock/Portrait family. The gate is
   geometric only and remains above the compact Portrait reference
   width. cqw keeps local geometry tied to the real Aventura
   canvas rather than to a device model. */
@media(min-height:900px){
  @container adventure-canvas (min-width:600px){
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-region{
      --vf1a-ac-p-scene:clamp(446px,calc(49.5cqw + 149.2px),466px);
      --vf1a-ac-p-hero-row:clamp(208px,calc(26cqw + 51.6px),218px);
      --vf1a-ac-p-side:clamp(26px,calc(6cqw - 10.4px),28px);
      --vf1a-ac-p-briefing-top:clamp(183px,calc(22.5cqw + 48px),192px);
      --vf1a-ac-p-briefing-h:clamp(173px,calc(13cqw + 94.8px),178px);
      --vf1a-ac-p-metrics-top:clamp(369px,calc(37.5cqw + 144px),384px);
      --vf1a-ac-p-metrics-h:clamp(66px,calc(6cqw + 29.6px),68px);
      --vf1a-ac-p-center-h:clamp(419px,calc(53cqw + 100.8px),440px);
      --vf1a-ac-p-journey-h:clamp(193px,calc(23cqw + 54.8px),202px);
      --vf1a-ac-p-access-h:clamp(138px,calc(16cqw + 41.6px),144px);
      height:calc(var(--adventure-safe-top) + var(--vf1a-ac-p-scene));
      min-height:calc(var(--adventure-safe-top) + var(--vf1a-ac-p-scene));
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero{
      height:calc(var(--adventure-safe-top) + var(--vf1a-ac-p-hero-row));
      min-height:calc(var(--adventure-safe-top) + var(--vf1a-ac-p-hero-row));
      grid-template-rows:var(--adventure-safe-top) var(--vf1a-ac-p-hero-row);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-ambient{
      top:max(0px,calc(var(--adventure-safe-top) - 6px));
      height:clamp(309px,calc(3cqw + 290.8px),310px);
      background:linear-gradient(180deg,
        rgba(143,106,74,0) 0%,
        rgba(143,106,74,.04) 12%,
        rgba(169,126,88,.14) 25%,
        rgba(195,154,112,.32) 38%,
        rgba(223,192,154,.56) 50%,
        rgba(242,221,192,.78) 60%,
        rgba(255,241,223,.94) 66%,
        rgba(255,241,223,.995) 70%,
        var(--vf1a-final-bg) 100%);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-copy{
      top:clamp(19px,calc(8cqw - 29.2px),22px);
      left:max(clamp(26px,calc(4cqw + 2.4px),28px),env(safe-area-inset-left));
      width:clamp(363px,calc(62cqw - 8.8px),388px);
      max-height:132px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-copy .chapter-label{
      font-size:13px;
      line-height:18px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-copy h2{
      font-size:clamp(31px,calc(2cqw + 19.2px),32px);
      line-height:34px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-location-title{
      font-size:clamp(19px,calc(1cqw + 13.6px),20px);
      line-height:24px;
      margin:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] #adventureSituationDetail{
      max-width:388px;
      font-size:clamp(14px,calc(.5cqw + 11.8px),15px);
      line-height:20px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-profile-access{
      top:clamp(10px,calc(9cqw - 43.6px),14px);
      right:max(clamp(29px,calc(8cqw - 19.2px),32px),env(safe-area-inset-right));
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-kitsune{
      top:clamp(46px,calc(10cqw - 14px),50px);
      right:max(clamp(29px,calc(8cqw - 19.2px),32px),env(safe-area-inset-right));
      width:clamp(167px,calc(18cqw + 58.8px),174px);
      height:clamp(165px,calc(18cqw + 56.8px),172px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing{
      left:var(--vf1a-ac-p-side);
      right:var(--vf1a-ac-p-side);
      top:calc(var(--adventure-safe-top) + var(--vf1a-ac-p-briefing-top));
      height:var(--vf1a-ac-p-briefing-h);
      min-height:var(--vf1a-ac-p-briefing-h);
      padding:clamp(15px,calc(2cqw + 3.2px),16px) clamp(23px,calc(2cqw + 11.2px),24px) clamp(11px,calc(2.5cqw - 4px),12px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing-copy{
      width:100%;
      max-width:100%;
      gap:6px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing-copy .chapter-label{
      font-size:12px;
      line-height:16px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing-copy h2{
      font-size:20px;
      line-height:24px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing-copy p{
      font-size:14px;
      line-height:20px;
      max-width:100%;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-primary-cta.shared-cta--compact,
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal-open.shared-cta--compact{
      height:var(--shared-cta-h-regular);
      min-height:var(--shared-cta-h-regular);
      padding:0 16px;
      border-radius:var(--shared-cta-r-regular);
      font-size:15px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-metrics{
      left:var(--vf1a-ac-p-side);
      right:var(--vf1a-ac-p-side);
      top:calc(var(--adventure-safe-top) + var(--vf1a-ac-p-metrics-top));
      height:var(--vf1a-ac-p-metrics-h);
      grid-auto-rows:var(--vf1a-ac-p-metrics-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-progress-item{
      height:var(--vf1a-ac-p-metrics-h);
      padding-left:6px;
      padding-right:4px;
      gap:5px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-metric-icon{
      width:clamp(34px,calc(4cqw + 10.4px),36px);
      height:clamp(34px,calc(4cqw + 10.4px),36px);
      flex-basis:clamp(34px,calc(4cqw + 10.4px),36px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-metric-copy .kpi{
      font-size:16px;
      line-height:18px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-metric-copy .small{
      font-size:11px;
      line-height:14px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center{
      height:var(--vf1a-ac-p-center-h);
      min-height:var(--vf1a-ac-p-center-h);
      padding:clamp(11px,calc(2cqw - .8px),12px) var(--vf1a-ac-p-side) clamp(17px,calc(3cqw - 1.2px),18px);
      border-radius:22px;
      overflow:hidden;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center-header{
      height:clamp(33px,calc(2cqw + 21.2px),34px);
      min-height:clamp(33px,calc(2cqw + 21.2px),34px);
      justify-content:flex-start;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center-header h2{
      font-size:clamp(21px,calc(1cqw + 15.6px),22px);
      line-height:26px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-action-grid{
      margin-top:clamp(11px,calc(3cqw - 7.2px),12px);
      grid-template-rows:var(--vf1a-ac-p-journey-h) var(--vf1a-ac-p-access-h);
      gap:clamp(17px,calc(4cqw - 7.6px),18px) clamp(7px,calc(1.5cqw - 1.6px),8px);
      height:auto;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary{
      height:var(--vf1a-ac-p-journey-h);
      min-height:var(--vf1a-ac-p-journey-h);
      padding:9px 12px;
      grid-template-columns:clamp(159px,calc(22cqw + 27.2px),168px) minmax(0,1fr);
      grid-template-rows:minmax(0,1fr) var(--shared-cta-h-regular);
      column-gap:12px;
      border-radius:18px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-icon{
      width:clamp(159px,calc(22cqw + 27.2px),168px);
      height:clamp(174px,calc(26cqw + 17.6px),184px);
      min-height:clamp(174px,calc(26cqw + 17.6px),184px);
      border-radius:16px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-icon::before{
      width:clamp(56px,calc(8cqw + 8.8px),60px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-copy{
      padding:2px 0 0;
      align-self:start;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-copy .chapter-label{
      font-size:12px;
      line-height:16px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-copy h3{
      font-size:20px;
      line-height:24px;
      margin:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-copy p{
      font-size:14px;
      line-height:20px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-open{
      justify-self:end;
      align-self:end;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-secondary{
      height:var(--vf1a-ac-p-access-h);
      min-height:var(--vf1a-ac-p-access-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-main{
      height:100%;
      padding:8px 6px;
      gap:4px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-icon{
      width:clamp(61px,calc(8cqw + 12.8px),64px);
      height:clamp(61px,calc(8cqw + 12.8px),64px);
      flex:0 0 clamp(61px,calc(8cqw + 12.8px),64px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-copy h3{
      font-size:14px;
      line-height:20px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-copy p{
      height:auto;
      font-size:11px;
      line-height:16px;
      white-space:normal;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-region{
      margin:clamp(15px,calc(2cqw + 3.2px),16px) 0 0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-action{
      height:clamp(86px,calc(5cqw + 56px),88px);
      min-height:clamp(86px,calc(5cqw + 56px),88px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-icon{
      width:clamp(55px,calc(3cqw + 36.8px),56px);
      height:clamp(55px,calc(3cqw + 36.8px),56px);
      flex-basis:clamp(55px,calc(3cqw + 36.8px),56px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-copy strong{
      font-size:16px;
      line-height:20px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-copy small{
      font-size:12px;
      line-height:16px;
    }
  }
}

/* The physical Wide Hero atmosphere is owned by html/body, not by the
   logical Stage. A geometric media gate lets the full-width canvas grow
   220 -> 260 while its fade ends completely into the canonical warm
   surface. No device-specific branch and no Stage-local duplicate. */
@media(min-width:780px) and (min-height:700px){
  html:has(> body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]),
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
    --vf1a-ac-w-hero-h:clamp(220px,calc(25vh + 30px),260px);
    --vf1a-ac-w-f0:clamp(55px,calc(6.25vh + 7.5px),65px);
    --vf1a-ac-w-f16:clamp(87px,calc(10vh + 11px),103px);
    --vf1a-ac-w-f34:clamp(123px,calc(14.375vh + 13.75px),146px);
    --vf1a-ac-w-f50:clamp(155px,calc(17.8125vh + 19.625px),184px);
    --vf1a-ac-w-f62:clamp(179px,calc(20.625vh + 22.25px),212px);
    --vf1a-ac-w-f72:clamp(199px,calc(23.125vh + 23.25px),236px);
    --vf1a-ac-w-f79:clamp(213px,calc(24.375vh + 27.75px),252px);
    --vf1a-ac-w-f84:clamp(223px,calc(25.625vh + 28.25px),264px);
    --vf1a-ac-w-f100:clamp(255px,calc(29.375vh + 31.75px),302px);
    --adventure-landscape-ambient-fade:linear-gradient(180deg,
      rgba(143,106,74,0) 0,
      rgba(143,106,74,0) var(--vf1a-ac-w-f0),
      rgba(143,106,74,.04) var(--vf1a-ac-w-f16),
      rgba(169,126,88,.14) var(--vf1a-ac-w-f34),
      rgba(195,154,112,.32) var(--vf1a-ac-w-f50),
      rgba(223,192,154,.56) var(--vf1a-ac-w-f62),
      rgba(242,221,192,.78) var(--vf1a-ac-w-f72),
      rgba(255,241,223,.94) var(--vf1a-ac-w-f79),
      rgba(255,241,223,.995) var(--vf1a-ac-w-f84),
      var(--vf1a-final-bg) var(--vf1a-ac-w-f100),
      var(--vf1a-final-bg) 100%);
    background-size:100% 100%,100% var(--vf1a-ac-w-hero-h),100% auto;
  }
}

/* Large Wide keeps the existing Wide DOM/family and interpolates local
   geometry from 559:367 toward the Tall/Post-Max values in 559:457. Above those
   maxima, component dimensions stop; remaining height is warm space. */
@media(min-height:700px){
  @container adventure-canvas (min-width:780px){
    /* ADVENTURE LARGE-WIDE SCOPED CONTENT-WIDTH OWNERSHIP V1.
       Shell keeps Rail/safe-area ownership; Adventure owns only its content
       width inside the Shell-provided content surface. */
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] main.wrap > .screen.adventure-screen.active{
      --vf1a-large-wide-stage-inline-inset:2px;
      width:calc(100% - var(--vf1a-large-wide-stage-inline-inset));
      max-width:min(1192px,100%);
      margin-inline-start:var(--vf1a-large-wide-stage-inline-inset);
      margin-inline-end:auto;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-screen.active{
      --vf1a-ac-w-scene-h:clamp(322px,calc(37.5vh + 37px),382px);
      --vf1a-ac-w-hero-h:clamp(220px,calc(25vh + 30px),260px);
      --vf1a-ac-w-metrics-top:clamp(238px,calc(33.75vh - 18.5px),292px);
      --vf1a-ac-w-metrics-h:clamp(60px,calc(5vh + 22px),68px);
      --vf1a-ac-w-center-h:clamp(332px,calc(73.75vh - 228.5px),450px);
      --vf1a-ac-w-access-h:clamp(107px,calc(32.5vh - 140px),159px);
      --vf1a-ac-w-action-h:clamp(230px,calc(65vh - 264px),334px);
      --vf1a-ac-w-art:clamp(176px,calc(32.5vh - 71px),228px);
      --vf1a-ac-w-access-icon:clamp(64px,calc(15vh - 50px),88px);
      --vf1a-ac-w-passport-h:clamp(52px,calc(7.5vh - 5px),64px);
      --vf1a-ac-w-passport-icon:clamp(28px,calc(7.5vh - 29px),40px);
      --vf1a-ac-w-cta-h:clamp(44px,calc(2.5vh + 25px),48px);
      width:100%;
      max-width:min(1192px,100%);
      margin-left:0;
      margin-right:auto;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-region{
      height:var(--vf1a-ac-w-scene-h);
      min-height:var(--vf1a-ac-w-scene-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero{
      height:var(--vf1a-ac-w-hero-h);
      min-height:var(--vf1a-ac-w-hero-h);
      grid-template-rows:var(--vf1a-ac-w-hero-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy{
      top:clamp(36px,calc(5vh - 2px),44px);
      left:32px;
      width:clamp(430px,calc(12.5vh + 335px),450px);
      max-height:150px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy .chapter-label{
      font-size:clamp(12px,calc(.625vh + 7.25px),13px);
      line-height:18px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy h2{
      font-size:clamp(28px,calc(1.25vh + 18.5px),30px);
      line-height:32px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-location-title{
      font-size:clamp(18px,calc(1.25vh + 8.5px),20px);
      line-height:24px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] #adventureSituationDetail{
      font-size:clamp(14px,calc(.625vh + 9.25px),15px);
      line-height:20px;
      max-width:450px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing{
      top:clamp(20px,calc(5vh - 18px),28px);
      right:32px;
      width:380px;
      height:clamp(184px,calc(13.75vh + 79.5px),206px);
      min-height:clamp(184px,calc(13.75vh + 79.5px),206px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing-copy{
      left:32px;
      top:clamp(24px,calc(1.25vh + 14.5px),26px);
      width:324px;
      gap:4px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing-copy .chapter-label{
      font-size:clamp(11px,calc(.625vh + 6.25px),12px);
      line-height:16px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing-copy h2{
      font-size:clamp(18px,calc(1.25vh + 8.5px),20px);
      line-height:24px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing-copy p{
      font-size:clamp(13px,calc(.625vh + 8.25px),14px);
      line-height:20px;
      max-width:324px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-primary-cta{
      left:auto;
      right:24px;
      top:clamp(116px,calc(11.25vh + 30.5px),134px);
      width:clamp(154px,calc(11.25vh + 68.5px),172px);
      height:var(--vf1a-ac-w-cta-h);
      min-height:var(--vf1a-ac-w-cta-h);
      padding:0 clamp(14px,calc(2.5vh - 5px),18px);
      border-radius:clamp(var(--shared-cta-r-compact),calc(1.25vh + 4.5px),var(--shared-cta-r-regular));
      font-size:clamp(14px,calc(.625vh + 9.25px),15px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-profile-access{
      top:clamp(28px,calc(7.5vh - 29px),40px);
      left:calc(100% - 478px);
      right:auto;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
      top:clamp(56px,calc(32.5vh - 191px),108px);
      left:calc(50% + clamp(24px,calc(3.75vh - 4.5px),30px));
      right:auto;
      width:clamp(161px,calc(4.375vh + 127.75px),168px);
      height:clamp(156px,calc(4.375vh + 122.75px),163px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metrics{
      top:var(--vf1a-ac-w-metrics-top);
      left:24px;
      right:24px;
      height:var(--vf1a-ac-w-metrics-h);
      grid-auto-rows:var(--vf1a-ac-w-metrics-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-progress-item{
      height:var(--vf1a-ac-w-metrics-h);
      padding:clamp(6px,calc(1.25vh - 3.5px),8px) clamp(18px,calc(1.25vh + 8.5px),20px);
      gap:clamp(8px,calc(1.25vh - 1.5px),10px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metric-icon{
      width:clamp(28px,calc(5vh - 10px),36px);
      height:clamp(28px,calc(5vh - 10px),36px);
      flex-basis:clamp(28px,calc(5vh - 10px),36px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metric-copy{
      gap:clamp(4px,calc(1.25vh - 5.5px),6px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metric-copy .kpi{
      font-size:clamp(14px,calc(1.25vh + 4.5px),16px);
      line-height:18px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metric-copy .small{
      font-size:clamp(11px,calc(.625vh + 6.25px),12px);
      line-height:17px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center{
      height:var(--vf1a-ac-w-center-h);
      min-height:var(--vf1a-ac-w-center-h);
      padding:clamp(16px,calc(3.75vh - 12.5px),22px) 24px 40px;
      border-radius:22px;
      overflow:hidden;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center-header{
      height:34px;
      min-height:34px;
      justify-content:flex-start;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center-header h2{
      font-size:clamp(18px,calc(1.25vh + 8.5px),20px);
      line-height:24px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-action-grid{
      height:var(--vf1a-ac-w-action-h);
      margin-top:clamp(12px,calc(5vh - 26px),20px);
      grid-template-columns:clamp(540px,calc(12.5vh + 445px),560px) repeat(2,minmax(0,1fr));
      grid-template-rows:var(--vf1a-ac-w-access-h) var(--vf1a-ac-w-access-h);
      column-gap:clamp(18px,calc(1.25vh + 8.5px),20px);
      row-gap:16px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary{
      grid-column:1;
      grid-row:1/3;
      height:var(--vf1a-ac-w-action-h);
      min-height:var(--vf1a-ac-w-action-h);
      padding:8px;
      grid-template-columns:var(--vf1a-ac-w-art) minmax(0,1fr) auto;
      grid-template-rows:1fr;
      gap:10px;
      border-radius:18px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-icon{
      width:var(--vf1a-ac-w-art);
      height:var(--vf1a-ac-w-art);
      min-height:var(--vf1a-ac-w-art);
      align-self:center;
      border-radius:14px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-icon::after{
      background:rgba(255,241,223,.06);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-icon::before{
      width:clamp(64px,calc(10vh - 12px),80px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy{
      align-self:center;
      padding:0;
      min-width:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy .chapter-label{
      font-size:clamp(9px,calc(1.875vh - 5.25px),12px);
      line-height:clamp(11px,calc(3.125vh - 12.75px),16px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy h3{
      font-size:clamp(16px,calc(2.5vh - 3px),20px);
      line-height:clamp(19px,calc(3.125vh - 4.75px),24px);
      margin:1px 0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy p{
      font-size:clamp(11px,calc(1.875vh - 3.25px),14px);
      line-height:clamp(14px,calc(3.75vh - 14.5px),20px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-open{
      width:clamp(99px,calc(16.875vh - 29.25px),126px);
      height:var(--vf1a-ac-w-cta-h);
      min-height:var(--vf1a-ac-w-cta-h);
      padding:0 clamp(14px,calc(2.5vh - 5px),18px);
      border-radius:clamp(var(--shared-cta-r-compact),calc(1.25vh + 4.5px),var(--shared-cta-r-regular));
      font-size:clamp(14px,calc(.625vh + 9.25px),15px);
      align-self:center;
      justify-self:end;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-secondary{
      height:var(--vf1a-ac-w-access-h);
      min-height:var(--vf1a-ac-w-access-h);
      border-radius:14px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-main{
      height:100%;
      padding:0 17px;
      display:flex;
      flex-direction:row;
      align-items:center;
      justify-content:flex-start;
      gap:clamp(10px,calc(-7.5vh + 79px),22px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-icon{
      width:var(--vf1a-ac-w-access-icon);
      height:var(--vf1a-ac-w-access-icon);
      flex:0 0 var(--vf1a-ac-w-access-icon);
      border-radius:8px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-copy{
      flex:1 1 auto;
      min-width:0;
      text-align:center;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:4px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-copy h3{
      font-size:clamp(12px,calc(1.25vh + 2.5px),14px);
      line-height:20px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-copy p{
      font-size:clamp(10px,calc(1.25vh + .5px),12px);
      line-height:18px;
      white-space:normal;
      overflow:visible;
      height:auto;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-region{
      margin:clamp(22px,2.5vh,32px) 24px 0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-action{
      height:var(--vf1a-ac-w-passport-h);
      min-height:var(--vf1a-ac-w-passport-h);
      padding:5px 14px;
      border-radius:16px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-icon{
      width:var(--vf1a-ac-w-passport-icon);
      height:var(--vf1a-ac-w-passport-icon);
      flex-basis:var(--vf1a-ac-w-passport-icon);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy strong{
      font-size:clamp(12px,calc(1.875vh - 2.25px),15px);
      line-height:20px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy small{
      font-size:clamp(10px,calc(1.25vh + .5px),12px);
      line-height:18px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-chevron{
      font-size:20px;
    }
  }
}

/* ==================================================================
   VF1-A · COR01 PORTRAIT STACKING BOUNDED CORRECTIVE
   CERTIFIED PORTRAIT STACK CONTRACT · VF1A-RD-COR01-REG01
   Portrait/Dock uses the relationship already certified by both Portrait
   Known-Good anchors: SafeContent z5 contains Kitsune z6 above Briefing z4.
   Hero overflow remains visible so the intentional Kitsune -> Briefing bridge
   is not clipped. No UA/device routing and no geometry changes are introduced.
   Exact endpoint islands below remain authoritative and may reassert the same
   certified SafeContent value locally.
   ================================================================== */
@media (orientation:portrait){
  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero{
    overflow:visible;
  }
  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-safe-content{
    z-index:5;
  }
  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-kitsune{
    z-index:6;
    overflow:visible;
  }
  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing{
    z-index:4;
  }
}

/* ==================================================================
   VF1-A · ENDPOINT FIDELITY FIRST V1 · 559:16 · 440x956

   This is the exact Portrait endpoint, not a responsive interpolation.
   Figma composes a 62px visual/safe header budget inside its 228px Hero.
   Chromium's deterministic 440x956 capture has no device env() inset, so
   the existing "safe-top + local geometry" contract otherwise collapses
   every downstream region upward. Keep one DOM/state and publish only the
   endpoint's missing geometry; future work may interpolate from this known
   good anchor after 00 certifies it.
   ================================================================== */
@media (width:440px) and (height:956px){
  html:has(> body[data-shell-variant="adventure"][data-nav-mode="dock"]),
  body[data-shell-variant="adventure"][data-nav-mode="dock"]{
    --adventure-safe-top:62px;
    background-position:center -27.884px;
    background-size:440px 283.746px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-artwork{
    background-position:center -27.884px;
    background-size:440px 283.746px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-profile-access{
    top:-4px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-safe-content{
    z-index:5;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center{
    margin-top:-6px;
  }
}

/* ==================================================================
   VF1-A · REAL QA CONSOLIDATED CORRECTIVE
   Authorities: 559:16 · 559:102 · 559:192 · 559:281 · 559:367 · 559:457.

   One corrective owns the real-QA deltas: sibling stacking, Constrained
   SafeContent placement, the full-width landscape photo canvas and the
   Large/Tall Kitsune bridge. Portrait/Constrained/Wide remain the only
   composition families; Large/Tall remain fluid growth states.
   ================================================================== */

/* REAL01 · The Hero is not a stacking context. Its single Kitsune can
   therefore paint above the sibling Briefing, exactly as 559:16 composes
   the overlap, while the artwork remains bounded by its own absolute box. */
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero{
  overflow:visible;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-kitsune{
  z-index:6;
}
body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing{
  z-index:4;
}

/* REAL02 · Constrained has a single 154px Hero row. SafeContent must occupy
   that row; retaining grid-row:2 placed all readable/interactive Hero
   content outside the Hero and WebKit clipped it. Visual bleed stays free,
   while left/right env() insets reserve only content and interaction. */
@container adventure-canvas (max-width:779.98px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero{
    overflow:visible;
    grid-template-rows:154px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-safe-content{
    grid-row:1;
    min-width:0;
    padding-left:max(20px,env(safe-area-inset-left));
    padding-right:max(16px,env(safe-area-inset-right));
    overflow:visible;
    /* VF1A-RD-COR01-REG02 · Constrained must not trap Kitsune z6 below
       sibling Briefing z4. This mirrors the semantic stack owner already
       certified for Wide without changing geometry or introducing routing. */
    z-index:auto;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy{
    z-index:5;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-profile-access{
    z-index:7;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
    z-index:6;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing{
    z-index:4;
  }
}

/* VF1A-RD-COR01-REG03 · Short-Constrained root-fade continuity V3.
   Safari real-device diagnosis proved that removing the second HeroRegion
   paint owner is necessary but not sufficient: the canonical root fade itself
   reached fully opaque #FFF1DF with zero outgoing slope at the exact 154px
   logical Hero boundary. Geometry remains authoritative; the html attribute is
   output-only derived state mirroring the exact existing Short-Constrained gate. */
@media (max-height:439.98px){
  @container adventure-canvas (max-width:779.98px){
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-region{
      background-image:none;
    }
  }

  html[data-vf1a-short-constrained="true"]{
    --adventure-landscape-ambient-fade:linear-gradient(180deg,
      rgba(144,106,74,0) 0,
      rgba(144,106,74,0) 74px,
      rgba(166,125,87,.18) 106px,
      rgba(199,158,115,.44) 132px,
      rgba(232,201,166,.76) 148px,
      rgba(234.186,204.045,169.800,.7815) 149px,
      rgba(236.568,207.696,174.649,.8056) 150px,
      rgba(239.074,211.785,180.285,.8313) 151px,
      rgba(241.630,216.148,186.444,.8578) 152px,
      rgba(244.161,220.619,192.864,.8843) 153px,
      rgba(246.594,225.031,199.281,.9100) 154px,
      rgba(248.855,229.220,205.433,.9340) 155px,
      rgba(250.870,233.019,211.056,.9556) 156px,
      rgba(252.566,236.262,215.887,.9738) 157px,
      rgba(253.869,238.784,219.663,.9878) 158px,
      rgba(254.705,240.418,222.122,.9968) 159px,
      rgb(255,241,223) 160px,
      rgb(255,241,223) 100%);
    --vf1a-reg03-side-scrim-size:100% 100%;
    --vf1a-reg03-photo-size:100% auto;
  }

  html[data-vf1a-short-constrained="true"] > body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
    --adventure-landscape-ambient-fade:linear-gradient(180deg,
      rgba(144,106,74,0) 0,
      rgba(144,106,74,0) 74px,
      rgba(166,125,87,.18) 106px,
      rgba(199,158,115,.44) 132px,
      rgba(232,201,166,.76) 148px,
      rgba(234.186,204.045,169.800,.7815) 149px,
      rgba(236.568,207.696,174.649,.8056) 150px,
      rgba(239.074,211.785,180.285,.8313) 151px,
      rgba(241.630,216.148,186.444,.8578) 152px,
      rgba(244.161,220.619,192.864,.8843) 153px,
      rgba(246.594,225.031,199.281,.9100) 154px,
      rgba(248.855,229.220,205.433,.9340) 155px,
      rgba(250.870,233.019,211.056,.9556) 156px,
      rgba(252.566,236.262,215.887,.9738) 157px,
      rgba(253.869,238.784,219.663,.9878) 158px,
      rgba(254.705,240.418,222.122,.9968) 159px,
      rgb(255,241,223) 160px,
      rgb(255,241,223) 100%);
    --vf1a-reg03-side-scrim-size:100% 100%;
    --vf1a-reg03-photo-size:100% auto;
  }
}

/* REAL03 + REAL05 · Figma's landscape authority is a full-viewport visual
   canvas, not a Stage-local cover crop. Map the frozen Hero asset to that
   physical canvas height so Tokyo Station keeps its complete facade at the
   154px base and throughout 220px -> 260px Large/Tall growth. */
html:has(> body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]),
body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
  --vf1a-real-hero-canvas-h:154px;
  background-position:center top,center top,center top;
  background-size:100% 100%,var(--vf1a-reg03-side-scrim-size,100% var(--vf1a-real-hero-canvas-h)),var(--vf1a-reg03-photo-size,100% var(--vf1a-real-hero-canvas-h));
}

@media(min-width:780px) and (min-height:700px){
  html:has(> body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]),
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
    --vf1a-real-hero-canvas-h:clamp(220px,calc(25vh + 30px),260px);
    --vf1a-large-wide-hero-fill-height:54.8730053160vw;
    background-position:
      center top,
      center top,
      center calc((var(--vf1a-real-hero-canvas-h) - var(--vf1a-large-wide-hero-fill-height))/2);
    background-size:
      100% 100%,
      100% var(--vf1a-real-hero-canvas-h),
      100% auto;
  }
}

/* REAL04 + REAL08 · Publish every Large Portrait local-geometry endpoint on
   the common screen owner. This keeps Hero, Center, Journey and Access in the
   same interpolation contract instead of allowing descendants to fall back
   to compact mobile dimensions. */
@media(min-height:900px){
  @container adventure-canvas (min-width:600px){
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-screen.active{
      --vf1a-ac-p-side:clamp(26px,calc(6cqw - 10.4px),28px);
      --vf1a-ac-p-center-h:clamp(419px,calc(53cqw + 100.8px),440px);
      --vf1a-ac-p-journey-h:clamp(193px,calc(23cqw + 54.8px),202px);
      --vf1a-ac-p-access-h:clamp(138px,calc(16cqw + 41.6px),144px);
    }
  }
}

/* REAL06 + REAL07 + REAL08 · The Figma endpoints place the single Kitsune at
   674/92/168x163 for 559:367 and 666/124/184x179 for 559:457, within a
   1192px Stage. Interpolate the bridge toward Briefing and down into Metrics;
   the Hero copy remains in its independent 32px-left safe stack. */
@media(min-height:700px){
  @container adventure-canvas (min-width:780px){
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-screen.active{
      --vf1a-ac-w-action-h:clamp(230px,calc(65vh - 264px),334px);
      --vf1a-ac-w-art:clamp(176px,calc(32.5vh - 71px),228px);
      --vf1a-ac-w-access-h:clamp(107px,calc(32.5vh - 140px),159px);
      --vf1a-ac-w-access-icon:clamp(64px,calc(15vh - 50px),88px);
    }
    /* STACK01 semantic ownership · Wide Large/Tall. SafeContent must not
       create an intermediate stacking context: Kitsune z6 participates in
       HeroRegion beside Briefing/Metrics z4 across the growth family. */
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-safe-content{
      z-index:auto;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero{
      overflow:visible;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy{
      z-index:5;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
      top:clamp(92px,calc(20vh - 60px),124px);
      left:calc(50% + clamp(70px,calc(116px - 5vh),78px));
      right:auto;
      width:clamp(168px,calc(10vh + 92px),184px);
      height:clamp(163px,calc(10vh + 87px),179px);
      z-index:6;
      overflow:visible;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing{
      z-index:4;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metrics{
      z-index:4;
    }
  }
}

/* ==================================================================
   VF1-A · RI-3 · PORTRAIT FLUID BRIDGE
   Endpoint anchors 440x956 and 640x1180 remain exact islands. Between
   them the existing Portrait/Dock composition keeps one DOM and exposes
   the same cqw geometry equations without the endpoint-era 600px floor.
   Safe-top is deliberately NOT synthesized here; Phase 3 owns real safe
   area validation.
   ================================================================== */
@media(min-height:900px){
  @container adventure-canvas (min-width:440.01px) and (max-width:639.98px){
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-screen.active{
      --vf1a-ri-p-scene:calc(46.5cqw + 168.4px);
      --vf1a-ri-p-hero-row:calc(26cqw + 51.6px);
      --vf1a-ri-p-side:calc(6cqw - 10.4px);
      --vf1a-ri-p-briefing-top:calc(22.5cqw + 48px);
      --vf1a-ri-p-briefing-h:calc(13cqw + 94.8px);
      --vf1a-ri-p-metrics-top:calc(37.5cqw + 144px);
      --vf1a-ri-p-metrics-h:calc(6cqw + 29.6px);
      --vf1a-ri-p-center-h:calc(53cqw + 100.8px);
      --vf1a-ri-p-journey-h:calc(23cqw + 54.8px);
      --vf1a-ri-p-access-h:calc(16cqw + 41.6px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-region{
      height:calc(var(--adventure-safe-top) + var(--vf1a-ri-p-scene));
      min-height:calc(var(--adventure-safe-top) + var(--vf1a-ri-p-scene));
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero{
      height:calc(var(--adventure-safe-top) + var(--vf1a-ri-p-hero-row));
      min-height:calc(var(--adventure-safe-top) + var(--vf1a-ri-p-hero-row));
      grid-template-rows:var(--adventure-safe-top) var(--vf1a-ri-p-hero-row);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-ambient{
      top:max(0px,calc(var(--adventure-safe-top) - 5px));
      height:calc(51.5cqw - 19.6px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-copy{
      top:calc(8cqw - 29.2px);
      left:max(calc(4cqw + 2.4px),env(safe-area-inset-left));
      width:calc(62cqw - 8.8px);
      max-height:calc(6cqw + 93.6px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-copy h2{
      font-size:calc(2cqw + 19.2px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-location-title{
      font-size:calc(1cqw + 13.6px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] #adventureSituationDetail{
      font-size:calc(.5cqw + 11.8px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-profile-access{
      top:calc(9cqw - 43.6px);
      right:max(calc(8cqw - 19.2px),env(safe-area-inset-right));
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-kitsune{
      top:calc(10cqw - 14px);
      right:max(calc(8cqw - 19.2px),env(safe-area-inset-right));
      width:calc(18cqw + 58.8px);
      height:calc(18cqw + 56.8px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-briefing{
      left:var(--vf1a-ri-p-side);
      right:var(--vf1a-ri-p-side);
      top:calc(var(--adventure-safe-top) + var(--vf1a-ri-p-briefing-top));
      height:var(--vf1a-ri-p-briefing-h);
      min-height:var(--vf1a-ri-p-briefing-h);
      padding:calc(2cqw + 3.2px) calc(2cqw + 11.2px) calc(2.5cqw - 4px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-primary-cta.shared-cta--compact,
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal-open.shared-cta--compact{
      height:calc(2cqw + 35.2px);
      min-height:calc(2cqw + 35.2px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-metrics{
      left:var(--vf1a-ri-p-side);
      right:var(--vf1a-ri-p-side);
      top:calc(var(--adventure-safe-top) + var(--vf1a-ri-p-metrics-top));
      height:var(--vf1a-ri-p-metrics-h);
      grid-auto-rows:var(--vf1a-ri-p-metrics-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-progress-item{
      height:var(--vf1a-ri-p-metrics-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-metric-icon{
      width:calc(4cqw + 10.4px);
      height:calc(4cqw + 10.4px);
      flex-basis:calc(4cqw + 10.4px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center{
      height:var(--vf1a-ri-p-center-h);
      min-height:var(--vf1a-ri-p-center-h);
      padding:calc(2cqw - .8px) var(--vf1a-ri-p-side) calc(3cqw - 1.2px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center-header{
      height:calc(2cqw + 21.2px);
      min-height:calc(2cqw + 21.2px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center-header h2{
      font-size:calc(1cqw + 15.6px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-action-grid{
      margin-top:calc(3cqw - 7.2px);
      grid-template-rows:var(--vf1a-ri-p-journey-h) var(--vf1a-ri-p-access-h);
      gap:calc(4cqw - 7.6px) calc(1.5cqw - 1.6px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary{
      height:var(--vf1a-ri-p-journey-h);
      min-height:var(--vf1a-ri-p-journey-h);
      grid-template-columns:calc(22cqw + 27.2px) minmax(0,1fr);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-icon{
      width:calc(22cqw + 27.2px);
      height:calc(26cqw + 17.6px);
      min-height:calc(26cqw + 17.6px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-icon::before{
      width:calc(8cqw + 8.8px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-secondary{
      height:var(--vf1a-ri-p-access-h);
      min-height:var(--vf1a-ri-p-access-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-icon{
      width:calc(8cqw + 12.8px);
      height:calc(8cqw + 12.8px);
      flex-basis:calc(8cqw + 12.8px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-region{
      margin-top:calc(2cqw + 3.2px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-action{
      height:calc(5cqw + 56px);
      min-height:calc(5cqw + 56px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-icon{
      width:calc(3cqw + 36.8px);
      height:calc(3cqw + 36.8px);
      flex-basis:calc(3cqw + 36.8px);
    }
  }
}

/* ==================================================================
   VF1-A · ENDPOINT FIDELITY FIRST V1 · 559:281 · 640x1180

   Large Portrait remains the existing Dock/Portrait composition. The
   inherited local-growth values already resolve to the Figma geometry at
   640px; this exact endpoint restores the 62px parent budget that a
   deterministic Chromium viewport cannot obtain from env(safe-area-*),
   then publishes the literal Hero crop and ambient layer from 559:281.
   No interpolation or additional responsive family is introduced here.
   ================================================================== */
@media (width:640px) and (height:1180px){
  html:has(> body[data-shell-variant="adventure"][data-nav-mode="dock"]),
  body[data-shell-variant="adventure"][data-nav-mode="dock"]{
    --adventure-safe-top:62px;
    background-position:center -34.244px;
    background-size:640px 348.46px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-artwork{
    background-position:center -34.244px;
    background-size:640px 348.46px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-ambient{
    top:109px;
    height:207px;
    background:linear-gradient(180deg,
      rgba(143,106,74,0) 0%,
      rgba(143,106,74,.04) 16%,
      rgba(169,126,88,.14) 34%,
      rgba(195,154,112,.32) 50%,
      rgba(223,192,154,.56) 62%,
      rgba(242,221,192,.78) 72%,
      rgba(255,241,223,.94) 79%,
      rgba(255,241,223,.995) 84%,
      var(--vf1a-final-bg) 100%);
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-safe-content{
    z-index:5;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-primary-cta{
    position:absolute;
    top:112px;
    right:24px;
    width:172px;
    height:48px;
    min-height:48px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary{
    position:relative;
    padding:9px 19px;
    grid-template-columns:168px 366px;
    column-gap:12px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-copy{
    width:366px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal.is-primary .adventure-portal-open{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:absolute!important;
    inset:auto 19px 26px auto!important;
    z-index:7;
    width:126px;
    height:48px;
    min-height:48px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-copy{
    flex:0 0 493px;
    width:493px;
    height:58px;
    padding:10px;
    gap:2px;
    box-sizing:border-box;
    overflow:hidden;
  }
}

/* ==================================================================
   VF1-A · FINAL FIGMA OWNERSHIP NORMALIZATION
   Authorities: Large Portrait 559:281 · Large Wide 559:367 · Tall 559:457.

   This is a fidelity corrective inside the existing Portrait/Wide
   composition families. It fixes ownership/flow defects without a new
   breakpoint family, alternate DOM/state, device detection, scaling or
   zoom. BASE -> FLUID GROWTH -> VISUAL MAX -> SPACE GROWS remains the
   governing rule.
   ================================================================== */

/* --- LARGE PORTRAIT -----------------------------------------------
   The adaptive Portrait sizing tokens were originally owned only by
   .adventure-hero-region. AdventureCenter is its sibling, so Center and
   its Journey/Access descendants could not resolve the side/height
   variables and fell back to the older mobile geometry. Publish only
   the Center-owned subset from their common Adventure screen ancestor;
   HeroRegion keeps its local copies for Hero/Briefing/Metrics. */
@media(min-height:900px){
  @container adventure-canvas (min-width:600px){
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-screen.active{
      --vf1a-ac-p-side:clamp(26px,calc(6cqw - 10.4px),28px);
      --vf1a-ac-p-center-h:clamp(419px,calc(53cqw + 100.8px),440px);
      --vf1a-ac-p-journey-h:clamp(193px,calc(23cqw + 54.8px),202px);
      --vf1a-ac-p-access-h:clamp(138px,calc(16cqw + 41.6px),144px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center{
      /* The 640px final frame owns a clear 28px visual gutter. */
      padding-left:var(--vf1a-ac-p-side);
      padding-right:var(--vf1a-ac-p-side);
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center-header{
      align-items:flex-start;
      justify-content:flex-start;
      overflow:visible;
      min-width:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center-header h2{
      width:min(220px,100%);
      max-width:100%;
      text-align:center;
      overflow:visible;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-action-grid{
      width:100%;
      min-width:0;
    }
  }
}

/* --- LARGE WIDE / TALL -------------------------------------------
   Preserve the calibrated Stage/Scene/Center/Journey/Access dimensions.
   Correct the real text-flow source of the loose Hero stack: unlike
   Dock, Wide never neutralized the browser paragraph margins on the
   live SituationDetail node. Keep all copy dynamic; only geometry is
   normalized. Briefing text is lifted to the visible Figma text origin
   while its existing CTA remains independently anchored. */
@media(min-height:700px){
  @container adventure-canvas (min-width:780px){
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy{
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy .chapter-label,
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy h2,
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-location-title,
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] #adventureSituationDetail{
      margin:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy .chapter-label{
      margin-bottom:3px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] #adventureSituationDetail{
      white-space:normal;
      overflow:visible;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing-copy{
      top:clamp(14px,calc(2.5vh - 5px),18px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-profile-access{
      left:auto;
      right:max(434px,calc(434px + env(safe-area-inset-right)));
    }
    /* Large Wide closes 22px after Center; as local geometry grows toward
       the Tall/Post-Max visual maximum that gap contracts to 4px. This lets the
       complete composition participate in height growth. Past 920px the
       components and this closing gap stop changing; warm space grows. */
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-region{
      margin-top:clamp(4px,calc(107.5px - 11.25vh),22px);
    }
  }
}

/* ==================================================================
   VF1-A · FINAL FIGMA + ADAPTIVE COMPOSITION · FINAL EXECUTION PASS
   Authorities: 559:16 · 559:102 · 559:192 · 559:281 · 559:367 · 559:457.
   00 mandatory amendment: Kitsune participates in BASE -> FLUID ->
   VISUAL MAX, with full-image preservation across family boundaries.
   No new layout family, device detection, scaling or alternate DOM.
   ================================================================== */

/* Figma composes Kitsune at Scene level, while product DOM keeps the
   same node inside the Hero. Let only approved large/wide families
   expose that overlay beyond the Hero core; artwork remains size-bound
   and the physical Wide photo still belongs to html/body. */
@container adventure-canvas (min-width:780px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero{
    overflow:visible;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune,
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune img{
    overflow:visible;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune img{
    object-fit:contain;
  }
}

@media(min-height:900px){
  @container adventure-canvas (min-width:600px){
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero{
      overflow:visible;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-kitsune,
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-kitsune img{
      overflow:visible;
    }
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-hero-kitsune img{
      object-fit:contain;
    }
  }
}

@media(min-height:700px){
  @container adventure-canvas (min-width:780px){
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
      width:clamp(162px,calc(10vh + 92px),184px);
      height:clamp(157px,calc(10vh + 87px),179px);
    }
  }
}

/* ==================================================================
   VF1-A · 559:281 RESIDUAL LOCAL GEOMETRY CORRECTIVE
   User/00 scope: Center heading, secondary access artwork footprint and
   Passport internal geometry only. Exact endpoint; no interpolation.
   ================================================================== */
@media (width:640px) and (height:1180px){
  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center-header{
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-icon.has-image{
    padding:0;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-chevron{
    margin-left:0;
  }
}

/* ==================================================================
   VF1-A · 559:281 SECOND LOCAL FIDELITY CORRECTIVE
   00-authorized scope only: Center heading horizontal ownership,
   per-artwork optical sizing and Passport internal rhythm.
   Master assets, external cards, DOM/state and frozen regions stay intact.
   ================================================================== */
@media (width:640px) and (height:1180px){
  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-center-header h2{
    width:198px;
    max-width:198px;
    text-align:center;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] [data-adventure-portal-card="training"] .adventure-portal-icon img{
    width:84px;
    height:84px;
    max-width:none;
    max-height:none;
    object-fit:contain;
  }
  body[data-shell-variant="adventure"][data-nav-mode="dock"] [data-adventure-portal-card="kana"] .adventure-portal-icon img{
    width:70px;
    height:70px;
    max-width:none;
    max-height:none;
    object-fit:contain;
  }
  body[data-shell-variant="adventure"][data-nav-mode="dock"] [data-adventure-portal-card="dojo"] .adventure-portal-icon img{
    width:103px;
    height:103px;
    max-width:none;
    max-height:none;
    object-fit:contain;
  }
  body[data-shell-variant="adventure"][data-nav-mode="dock"] [data-adventure-portal-card="notebook"] .adventure-portal-icon img{
    width:96px;
    height:96px;
    max-width:none;
    max-height:none;
    object-fit:contain;
  }

  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-copy{
    padding:10px 10px 10px 20px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-passport-chevron{
    margin-left:-2px;
  }
}

/* ==================================================================
   VF1-A · 559:281 ACCESS FIT EVIDENCE CORRECTIVE
   Figma golden matching: master artwork is 64px tall, natural-ratio
   width, centered on the existing 64px anchor and locally unclipped.
   ================================================================== */
@media (width:640px) and (height:1180px){
  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-icon.has-image{
    overflow:visible;
  }
  body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-icon.has-image img{
    width:auto;
    height:64px;
    max-width:none;
    max-height:none;
    object-fit:contain;
    object-position:center;
  }
}

/* ==================================================================
   VF1-A · RI-1 · WIDE SEMANTIC STACK + GROWTH BRIDGE
   Wide ownership remains container-based. STACK01 is valid for the full
   Wide/Rail family, including short landscape. Geometry below 760 extends
   the approved Large-Wide equations down to the compact Wide base without
   introducing another hard height breakpoint.
   ================================================================== */
@container adventure-canvas (min-width:780px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-safe-content{
    z-index:auto;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero{
    overflow:visible;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy{
    z-index:5;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
    z-index:6;
    overflow:visible;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing,
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metrics{
    z-index:4;
  }
}

@media (min-height:440px) and (max-height:759.98px){
  @container adventure-canvas (min-width:780px){
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] main.wrap > .screen.adventure-screen.active{
      /* RI-H · Certified anchors are fixed points. The height-driven cap grows
         toward Large Wide, while the 2px/16px semantic inline reserve remains
         owned by the adventure-canvas at every Wide height. */
      --vf1a-ri-w-stage-w:clamp(980px,calc(66.25vh + 688.5px),1192px);
      width:min(calc(100% - 18px),var(--vf1a-ri-w-stage-w));
      max-width:1192px;
      margin-inline-start:2px;
      margin-inline-end:auto;
      left:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-screen.active{
      --vf1a-ri-w-scene-h:clamp(220px,calc(37.5vh + 37px),322px);
      --vf1a-ri-w-hero-h:clamp(154px,calc(25vh + 30px),220px);
      --vf1a-ri-w-metrics-top:clamp(152px,max(calc(33.75vh - 18.5px),calc(18.75vh + 69.5px)),238px);
      --vf1a-ri-w-metrics-h:clamp(48px,calc(5vh + 22px),60px);
      --vf1a-ri-w-center-h:clamp(160px,calc(73.75vh - 228.5px),332px);
      --vf1a-ri-w-access-h:clamp(48px,calc(32.5vh - 140px),107px);
      --vf1a-ri-w-action-h:clamp(104px,calc(65vh - 264px),230px);
      --vf1a-ri-w-art:clamp(88px,calc(32.5vh - 71px),176px);
      --vf1a-ri-w-access-icon:clamp(32px,calc(10vh - 12px),64px);
      --vf1a-ri-w-passport-h:clamp(40px,calc(7.5vh - 5px),52px);
      --vf1a-ri-w-passport-icon:28px;
    }
    html:has(> body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]),
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
      --vf1a-ac-w-hero-h:clamp(154px,calc(25vh + 30px),220px);
      --vf1a-real-hero-canvas-h:clamp(154px,calc(25vh + 30px),220px);
      background-size:100% 100%,100% var(--vf1a-real-hero-canvas-h),100% auto;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-region{
      height:var(--vf1a-ri-w-scene-h);
      min-height:var(--vf1a-ri-w-scene-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero{
      height:var(--vf1a-ri-w-hero-h);
      min-height:var(--vf1a-ri-w-hero-h);
      grid-template-rows:var(--vf1a-ri-w-hero-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy{
      top:clamp(18px,calc(5.625vh - 6.75px),36px);
      left:clamp(20px,calc(3.75vh + 3.5px),32px);
      width:clamp(340px,calc(28.125vh + 216.25px),430px);
      max-height:clamp(112px,calc(11.875vh + 59.75px),150px);
      display:flex;
      flex-direction:column;
      gap:0;
    }
    /* RI-H flow bridge: at the first pixel above the 440px fixed point, the
       flex stack begins at the same visual text origins as the certified
       block-flow anchor, then continuously sheds the legacy margins by 700px. */
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy .chapter-label{
      align-self:flex-start;
      margin-top:clamp(0px,calc(13.4615384615px - 1.9230769231vh),5px);
      margin-bottom:clamp(0px,calc(2.6923076923px - .3846153846vh),1px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] #adventureSituationDetail{
      margin-top:clamp(0px,calc(43.0769230769px - 6.1538461538vh),16px);
      margin-right:0;
      margin-bottom:clamp(0px,calc(43.0769230769px - 6.1538461538vh),16px);
      margin-left:0;
      white-space:normal;
      overflow:visible;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
      top:clamp(32px,calc(18.75vh - 50.5px),92px);
      left:calc(50% + clamp(-58px,calc(42.5vh - 245px),78px));
      right:auto;
      width:clamp(132px,calc(11.25vh + 82.5px),168px);
      height:clamp(128px,calc(10.9375vh + 79.875px),163px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-profile-access{
      top:clamp(1px,calc(8.4375vh - 36.125px),28px);
      left:auto;
      right:clamp(297px,calc(42.8125vh + 108.625px),434px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing{
      top:clamp(8px,calc(3.75vh - 8.5px),20px);
      left:auto;
      right:clamp(17px,calc(4.6875vh - 3.625px),32px);
      width:clamp(325px,calc(17.1875vh + 249.375px),380px);
      height:clamp(136px,calc(15vh + 70px),184px);
      min-height:clamp(136px,calc(15vh + 70px),184px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing-copy{
      position:absolute;
      left:clamp(32px,calc(129.5px - 16.25vh),58px);
      top:clamp(2px,calc(3.75vh - 14.5px),14px);
      width:clamp(252px,calc(22.5vh + 153px),324px);
      gap:clamp(3px,calc(.3125vh + 1.625px),4px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-primary-cta{
      position:absolute;
      left:auto;
      top:clamp(78px,calc(11.875vh + 25.75px),116px);
      right:clamp(20px,calc(1.25vh + 14.5px),24px);
      width:154px;
      min-width:154px;
      height:44px;
      min-height:44px;
      margin:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metrics{
      top:var(--vf1a-ri-w-metrics-top);
      left:clamp(16px,calc(2.5vh + 5px),24px);
      right:clamp(16px,calc(2.5vh + 5px),24px);
      height:var(--vf1a-ri-w-metrics-h);
      grid-auto-rows:var(--vf1a-ri-w-metrics-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-progress-item{
      height:var(--vf1a-ri-w-metrics-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metric-icon{
      width:clamp(28px,calc(5vh - 10px),28px);
      height:clamp(28px,calc(5vh - 10px),28px);
      flex-basis:28px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center{
      height:var(--vf1a-ri-w-center-h);
      min-height:var(--vf1a-ri-w-center-h);
      padding:clamp(10px,calc(1.875vh + 1.75px),16px) clamp(16px,calc(2.5vh + 5px),24px) clamp(10px,calc(9.375vh - 31.25px),40px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center-header{
      height:clamp(30px,calc(1.25vh + 24.5px),34px);
      min-height:clamp(30px,calc(1.25vh + 24.5px),34px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-action-grid{
      height:var(--vf1a-ri-w-action-h);
      margin-top:clamp(6px,calc(4.375vh - 13.25px),20px);
      grid-template-columns:clamp(396px,calc(45vh + 198px),540px) repeat(2,minmax(0,1fr));
      grid-template-rows:var(--vf1a-ri-w-access-h) var(--vf1a-ri-w-access-h);
      column-gap:clamp(12px,calc(1.875vh + 3.75px),18px);
      row-gap:clamp(8px,calc(2.5vh - 3px),16px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary{
      grid-column:1;
      grid-row:1/3;
      height:var(--vf1a-ri-w-action-h);
      min-height:var(--vf1a-ri-w-action-h);
      padding:8px;
      grid-template-columns:var(--vf1a-ri-w-art) minmax(0,1fr) auto;
      grid-template-rows:1fr;
      gap:10px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-icon{
      width:var(--vf1a-ri-w-art);
      height:var(--vf1a-ri-w-art);
      min-height:var(--vf1a-ri-w-art);
      align-self:center;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-secondary{
      height:var(--vf1a-ri-w-access-h);
      min-height:var(--vf1a-ri-w-access-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-main{
      height:max(48px,100%);
      padding:clamp(0px,calc(14.25px - 1.875vh),6px) clamp(0px,calc(16.625px - 2.1875vh),7px);
      gap:clamp(8px,calc(4.375vh - 11.25px),22px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-icon{
      width:var(--vf1a-ri-w-access-icon);
      height:var(--vf1a-ri-w-access-icon);
      flex-basis:var(--vf1a-ri-w-access-icon);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-region{
      margin-top:clamp(8px,calc(4.375vh - 11.25px),22px);
      margin-left:clamp(16px,calc(2.5vh + 5px),24px);
      margin-right:clamp(16px,calc(2.5vh + 5px),24px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-action{
      height:var(--vf1a-ri-w-passport-h);
      min-height:var(--vf1a-ri-w-passport-h);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-icon{
      width:var(--vf1a-ri-w-passport-icon);
      height:var(--vf1a-ri-w-passport-icon);
      flex-basis:var(--vf1a-ri-w-passport-icon);
    }
  }
}



/* RI-H · 559:102 fixed-point precedence.
   Flex is the continuous Wide bridge above the anchor, but Chromium blockifies
   flex children and therefore cannot reproduce the frozen 440px text raster.
   Preserve only that non-interpolable flow mode at the certified fixed point;
   the 441px family starts from matching text origins via the flow bridge above. */
@media (width:1020px) and (height:440px){
  @container adventure-canvas (min-width:780px){
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy{
      display:block;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy .chapter-label{
      margin:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] #adventureSituationDetail{
      margin:16px 0;
    }
  }
}

/* ==================================================================
   VF1-A · RI-2 · LARGE-WIDE LOCAL COMPONENT INTERPOLATION
   Outer 760->920 growth remains owned by the approved Large-Wide model.
   This bridge connects the two exact internal Figma islands so Journey,
   secondary access cards and Passport do not fall back between anchors.
   ================================================================== */
@media (min-height:760.01px) and (max-height:919.98px){
  @container adventure-canvas (min-width:780px){
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-action-grid{
      --vf1a-ri-w-primary-col:calc(12.5vh + 445px);
      --vf1a-ri-w-secondary-col:calc(341px - 7.5vh);
      --vf1a-ri-w-secondary-gap:calc(2.5vh - 3px);
      grid-template-columns:var(--vf1a-ri-w-primary-col) 20px var(--vf1a-ri-w-secondary-col) var(--vf1a-ri-w-secondary-gap) var(--vf1a-ri-w-secondary-col);
      column-gap:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary{
      grid-column:1;
      padding:8px calc(46px - 5vh) 8px calc(.625vh + 2.25px);
      grid-template-columns:var(--vf1a-ac-w-art) calc(362px - 20vh) calc(16.875vh - 29.25px);
      gap:10px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy{
      width:calc(362px - 20vh);
      height:calc(26.25vh - 45.5px);
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      justify-content:flex-start;
      gap:calc(1.875vh - 13.25px);
      align-self:center;
      padding:0;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="training"],
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="dojo"]{
      grid-column:3;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="kana"],
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="notebook"]{
      grid-column:5;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="training"],
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="kana"]{
      grid-row:1;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="dojo"],
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="notebook"]{
      grid-row:2;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-main{
      position:relative;
      padding:0;
      display:block;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-icon{
      position:absolute;
      left:17px;
      top:calc(9.375vh - 51.25px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-copy{
      position:absolute;
      left:calc(7.5vh + 46px);
      top:calc(15vh - 89px);
      width:calc(236px - 10vh);
      height:calc(1.25vh + 36.5px);
      display:flex;
      flex-direction:column;
      align-items:stretch;
      justify-content:flex-start;
      gap:calc(1.875vh - 7.25px);
      text-align:center;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-icon.has-image img{
      width:100%;
      height:100%;
      max-width:none;
      max-height:none;
      object-fit:cover;
      object-position:center;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-action{
      position:relative;
      padding:0;
      display:block;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-icon{
      position:absolute;
      left:17px;
      top:11px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy{
      position:absolute;
      left:246px;
      top:calc(1.25vh - 5.5px);
      width:650px;
      height:calc(5vh + 4px);
      display:block;
      text-align:left;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy strong{
      position:absolute;
      left:calc(254.25px - 9.375vh);
      top:calc(15.5px - 1.25vh);
      margin:0;
      text-align:center;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy small{
      position:absolute;
      left:calc(253.25px - 6.875vh);
      top:calc(4.375vh - 14.25px);
      margin:0;
      text-align:center;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-chevron{
      position:absolute;
      right:calc(55.75px - 3.125vh);
      top:calc(3.125vh - 8.75px);
      width:calc(3.125vh - 16.75px);
      height:20px;
      margin:0;
    }
  }
}

/* ==================================================================
   VF1-A · ENDPOINT 03 · 559:192 · 824x440
   Figma-direct Landscape Constrained fidelity. Exact endpoint only:
   no Landscape interpolation and no 559:102 implementation.
   ================================================================== */
@media (width:824px) and (height:440px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
    background-color:#fff1df;
    background-image:
      linear-gradient(
        180deg,
        rgba(144,106,74,0) 0%,
        rgba(149,110,77,.03) 16%,
        rgba(157,117,82,.10) 34%,
        rgba(172,132,94,.22) 50%,
        rgba(193,154,113,.40) 62%,
        rgba(220,186,146,.62) 72%,
        rgba(243,220,188,.82) 79%,
        rgba(255,241,223,1) 84%,
        rgba(255,241,223,1) 100%
      ),
      var(--adventure-landscape-side-scrim),
      var(--adventure-hero-image);
    background-position:center 39px,center top,center -149.076787px;
    background-size:100% 140px,100% 154px,824px auto;
    background-repeat:no-repeat;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-screen.active{
    width:656px;
    max-width:656px;
    margin-left:2px;
    margin-right:auto;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
    left:440px;
    right:auto;
    top:36px;
    width:132px;
    height:128px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing{
    position:relative;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing .journey-cta{
    position:absolute;
    top:78px;
    right:20px;
    width:154px;
    min-width:154px;
    height:44px;
    min-height:44px;
    margin:0;
  }
}

/* 559:192 evidence corrective: align Stage ownership, keep the full-canvas
   photo visually clipped by an opaque warm continuation, and match the real
   Briefing content/CTA nodes without pseudo-elements. */
@media (width:824px) and (height:440px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
    background-image:
      linear-gradient(
        180deg,
        rgba(144,106,74,0) 0,
        rgba(144,106,74,0) 74px,
        rgba(166,125,87,.18) 106px,
        rgba(199,158,115,.44) 132px,
        rgba(232,201,166,.76) 148px,
        rgba(255,241,223,1) 154px,
        rgba(255,241,223,1) 100%
      ),
      var(--adventure-landscape-side-scrim),
      var(--adventure-hero-image);
    background-position:center top,center top,center -149.076787px;
    background-size:100% 100%,100% 154px,824px auto;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-screen.active{
    position:relative;
    left:-7px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing-copy > .chapter-label{
    position:relative;
    top:-10px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing-copy > h2{
    position:relative;
    top:-4px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-primary-cta{
    position:absolute;
    top:90px;
    right:20px;
    width:154px;
    min-width:154px;
    height:44px;
    min-height:44px;
    margin:0;
  }
}

/* 559:192 final local rhythm from the direct Figma node. Dynamic strings
   remain product-owned; only their endpoint typography and real-node
   placement are fixed here. */
@media (width:824px) and (height:440px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy .chapter-label{
    margin:0;
    font-size:12px;
    line-height:16px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-copy h2{
    margin:0;
    font-size:28px;
    line-height:32px;
    font-weight:700;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-location-title{
    margin:0;
    font-size:18px;
    line-height:24px;
    font-weight:700;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] #adventureSituationDetail{
    margin:0;
    font-size:14px;
    line-height:20px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing-copy > h2,
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metric-copy .kpi,
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center-header h2{
    font-weight:700;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-primary-cta{
    top:89px;
    right:19px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center-header h2{
    position:relative;
    top:2px;
    font-size:18px;
    line-height:22px;
  }
}


/* ==================================================================
   VF1-A · 559:192 FINAL LOCAL CORRECTIVE V2
   00-authorized exact-endpoint closure only. STACK01 releases the
   inherited SafeContent stacking context so the single Kitsune z:6 can
   paint above sibling Briefing z:4, matching Figma. CTA is the current
   user-approved 154x44 right-aligned control fully inside Briefing.
   Typography family fidelity is explicitly deferred to TYPOGRAPHIC ROLES V1.
   ================================================================== */
@media (width:824px) and (height:440px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-safe-content{
    z-index:auto;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-primary-cta{
    top:71px;
    right:17px;
    width:154px;
    min-width:154px;
    height:44px;
    min-height:44px;
    margin:0;
  }
}


/* ==================================================================
   VF1-A · 559:192 HERO FADE LOCAL CORRECTIVE V3
   00-authorized local fidelity residual only. Recreates the current
   Figma full-viewport Hero Ambient Fade geometry: y=39, h=140. The
   warm atmosphere reaches full opacity at y=179 and remains opaque
   below, preventing photographic reappearance without moving or
   resizing the 154px Hero, changing crop/framing, DOM, or assets.
   ================================================================== */
@media (width:824px) and (height:440px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
    background-image:
      linear-gradient(
        180deg,
        rgba(143,106,74,0) 0,
        rgba(143,106,74,0) 39px,
        rgba(143,106,74,.04) 61.4px,
        rgba(169,126,88,.14) 86.6px,
        rgba(195,154,112,.32) 109px,
        rgba(223,192,154,.56) 125.8px,
        rgba(242,221,192,.78) 139.8px,
        rgba(255,241,223,.94) 149.6px,
        rgba(255,241,223,.995) 156.6px,
        rgba(255,241,223,1) 179px,
        rgba(255,241,223,1) 100%
      ),
      var(--adventure-landscape-side-scrim),
      var(--adventure-hero-image);
    background-position:center top,center top,center -149.076787px;
    background-size:100% 100%,100% 154px,824px auto;
    background-repeat:no-repeat;
  }
}

/* ==================================================================
   VF1-A · ENDPOINT 04 · 559:102 · 1020x440
   00-authorized Landscape Wide endpoint fidelity only. Reuses the
   existing Wide family/DOM/state and calibrates only the exact FINAL
   Figma viewport. Global Rail visual fidelity remains excluded.
   ================================================================== */
@media (width:1020px) and (height:440px){
  html:has(> body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]),
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
    background-color:#fff1df;
    background-image:
      linear-gradient(
        180deg,
        rgba(143,106,74,0) 0,
        rgba(143,106,74,0) 39px,
        rgba(143,106,74,.04) 61.4px,
        rgba(169,126,88,.14) 86.6px,
        rgba(195,154,112,.32) 109px,
        rgba(223,192,154,.56) 125.8px,
        rgba(242,221,192,.78) 139.8px,
        rgba(255,241,223,.94) 149.6px,
        rgba(255,241,223,.995) 156.6px,
        rgba(255,241,223,1) 179px,
        rgba(255,241,223,1) 100%
      ),
      var(--adventure-landscape-side-scrim),
      var(--adventure-hero-image);
    background-position:center top,center top,center -202.852333px;
    background-size:100% 100%,100% 154px,1020px auto;
    background-repeat:no-repeat;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-screen.active{
    position:relative;
    left:-7px;
    width:852px;
    max-width:852px;
    margin-left:0;
    margin-right:auto;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-region{
    height:220px;
    min-height:220px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero{
    height:154px;
    min-height:154px;
    grid-template-rows:154px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-safe-content{
    z-index:auto;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
    top:32px;
    left:432px;
    right:auto;
    width:132px;
    height:128px;
    z-index:6;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-profile-access{
    top:1px;
    left:514px;
    right:auto;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing{
    position:absolute;
    top:8px;
    left:auto;
    right:17px;
    width:325px;
    height:136px;
    min-height:136px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-primary-cta{
    position:absolute;
    top:78px;
    left:auto;
    right:20px;
    width:154px;
    min-width:154px;
    height:44px;
    min-height:44px;
    margin:0;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-metrics{
    position:absolute;
    top:152px;
    left:16px;
    right:16px;
    height:48px;
    grid-auto-rows:48px;
    margin:0;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center{
    height:160px;
    min-height:160px;
    padding:10px 16px;
    margin:0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-center-header{
    height:28px;
    min-height:28px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-action-grid{
    height:104px;
    margin-top:8px;
    grid-template-columns:minmax(396px,1fr) repeat(2,minmax(0,198px));
    grid-template-rows:48px 48px;
    gap:8px 12px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary{
    height:104px;
    min-height:104px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-secondary{
    height:48px;
    min-height:48px;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-region{
    height:40px;
    min-height:40px;
    margin:8px 16px 0;
    padding:0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-action{
    height:40px;
    min-height:40px;
  }
}

/* ==================================================================
   VF1-A · ENDPOINT FIDELITY FIRST V1 · 559:367 INTERNAL COMPOSITION
   Canonical 1360x760 Figma geometry only. This bounded endpoint rule
   aligns Viaje Principal, secondary access-card internals and Passport
   internals without changing Large-Wide fluid ownership or 559:457.
   ================================================================== */
@media (width:1360px) and (height:760px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-action-grid{
    grid-template-columns:540px 20px 284px 16px 284px;
    column-gap:0;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary{
    grid-column:1;
    padding:8px 8px 8px 7px;
    grid-template-columns:176px 210px 99px;
    gap:10px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy{
    width:210px;
    height:154px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:1px;
    align-self:center;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy .chapter-label{
    display:block;
    margin:0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy h3,
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy p{
    margin:0;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="training"],
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="dojo"]{
    grid-column:3;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="kana"],
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="notebook"]{
    grid-column:5;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="training"],
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="kana"]{
    grid-row:1;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="dojo"],
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] [data-adventure-portal-card="notebook"]{
    grid-row:2;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-main{
    position:relative;
    padding:0;
    display:block;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-icon{
    position:absolute;
    left:17px;
    top:20px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-copy{
    position:absolute;
    left:103px;
    top:25px;
    width:160px;
    height:46px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:7px;
    text-align:center;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-action{
    position:relative;
    padding:0;
    display:block;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-icon{
    position:absolute;
    left:17px;
    top:11px;
    width:28px;
    height:28px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy{
    position:absolute;
    left:246px;
    top:4px;
    width:650px;
    height:42px;
    display:block;
    text-align:left;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy strong{
    position:absolute;
    left:183px;
    top:6px;
    margin:0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy small{
    position:absolute;
    left:201px;
    top:19px;
    margin:0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-chevron{
    position:absolute;
    right:32px;
    top:15px;
    width:7px;
    height:20px;
  }
}


/* ==================================================================
   VF1-A · 559:367 USER VISUAL CORRECTIVE · STACK01 + ACCESS ICON FILL
   Endpoint Fidelity First · exact 1360x760 only.
   - Let Kitsune z6 participate in the HeroRegion stacking context instead
     of being trapped by SafeContent z3 below Briefing/Metrics z4.
   - Reproduce Figma IMAGE/FILL for secondary access illustrations while
     preserving the canonical 64x64 icon slot and approved asset masters.
   ================================================================== */
@media (width:1360px) and (height:760px){
  /* STACK01 is owned by the semantic Large-Wide/Tall gate above. This exact
     endpoint retains only the Figma IMAGE/FILL access-artwork calibration. */
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-icon.has-image img{
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:cover;
    object-position:center;
  }
}

/* =================================================================
   VF1-A · ENDPOINT FIDELITY FIRST V1 · 559:457 INTERNAL COMPOSITION
   Canonical 1360x920 Tall/Post-Max authority only. The Wide family has
   already reached its approved outer maxima; this block aligns only the
   internal Figma slots of Viaje Principal, secondary access cards and
   Passport. No new family, alternate DOM/state, transform scale or zoom.
   ================================================================ */
@media (width:1360px) and (height:920px){
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary{
    padding:8px 0 8px 8px;
    grid-template-columns:228px 178px 126px;
    gap:10px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy{
    width:178px;
    height:196px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:4px;
    align-self:center;
    padding:0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy .chapter-label,
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy h3,
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal.is-primary .adventure-portal-copy p{
    margin:0;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-main{
    position:relative;
    padding:0;
    display:block;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-icon{
    position:absolute;
    left:17px;
    top:35px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-copy{
    position:absolute;
    left:115px;
    top:49px;
    width:144px;
    height:48px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:10px;
    text-align:center;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-copy h3,
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-copy p{
    margin:0;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-portal:not(.is-primary) .adventure-portal-icon.has-image img{
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:cover;
    object-position:center;
  }

  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-action{
    position:relative;
    padding:0;
    display:block;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-icon{
    position:absolute;
    left:17px;
    top:11px;
    width:40px;
    height:40px;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy{
    position:absolute;
    left:246px;
    top:6px;
    width:650px;
    height:50px;
    display:block;
    text-align:left;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy strong{
    position:absolute;
    left:168px;
    top:4px;
    width:160px;
    margin:0;
    text-align:center;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-copy small{
    position:absolute;
    left:190px;
    top:26px;
    width:130px;
    margin:0;
    text-align:center;
  }
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-passport-chevron{
    position:absolute;
    right:27px;
    top:20px;
    width:12px;
    height:20px;
    margin:0;
  }
}

/* ==================================================================
   VF1-A · RD-COR01 · REAL-DEVICE RESPONSIVE CORRECTIVE V1
   00-authorized bounded responsive corrective from real Safari telemetry.
   Product families remain Portrait / Constrained / Wide. Certified 440px,
   760px and 920px Known-Good anchors stay outside these interpolation gates.

   Ownership groups:
   A · Constrained low-height vertical rhythm (LS02 / LS03)
   B · Landscape photo aspect/framing owner (LS04 / IPLS02)
   C · Short-Wide Kitsune ↔ Briefing-copy semantic relation (IPLS01)
   D · Large-Portrait shared secondary artwork growth (IP-POR-02)

   IP-POR-01 is deliberately NOT mutated here: canonical raw telemetry reports
   SafeContent z-index:auto while source/paint-order evidence does not yet prove
   the reported visual stacking root cause. 00 requires that sub-issue to stop
   rather than guess when source + runtime evidence conflict.
   ================================================================== */

/* A · CONSTRAINED LOW-HEIGHT VERTICAL GEOMETRY
   The DOM uses #adventureSituationDetail while the old generic visual rule was
   authored for .adventure-situation-detail. In low-height Constrained Safari,
   the unmatched paragraph kept its UA block margin (~17px). Restore the
   intended 2px local rhythm, and compact Briefing's two semantic gaps enough
   for the 44px CTA to remain inside the fixed 128px card without translation. */
@media (max-height:439.98px){
  @container adventure-canvas (max-width:779.98px){
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] #adventureSituationDetail{
      margin:2px 0 0;
      font-size:14px;
      line-height:18px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing{
      padding:8px 19px;
      gap:2px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-briefing-copy{
      gap:3px;
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-primary-cta{
      margin-top:auto;
      margin-bottom:0;
    }
  }
}

/* B · LANDSCAPE PHOTO ASPECT / FRAMING
   Gradients keep independent sizing. The Tokyo Station photo (third layer)
   always preserves the canonical intrinsic aspect represented by the already
   approved 54.8730053160vw fill-height relation, and is adapted only by crop
   + focal centering. No image deformation. */
@media (max-height:439.98px){
  html:has(> body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]),
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
    --vf1a-rd-photo-fill-h:54.8730053160vw;
    background-position:
      center top,
      center top,
      center calc((var(--vf1a-real-hero-canvas-h) - var(--vf1a-rd-photo-fill-h))/2);
    background-size:
      100% 100%,
      100% var(--vf1a-real-hero-canvas-h),
      100% auto;
  }
}

@media (min-height:440.01px) and (max-height:759.98px){
  html:has(> body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]),
  body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"]{
    /* Mirror the existing short-Wide Hero-height interpolation on an ancestor
       that is actually eligible to own html/body paint. The earlier attempt
       inside @container could not select those ancestors. */
    --vf1a-real-hero-canvas-h:clamp(154px,calc(25vh + 30px),220px);
    --vf1a-rd-photo-fill-h:54.8730053160vw;
    background-position:
      center top,
      center top,
      center calc((var(--vf1a-real-hero-canvas-h) - var(--vf1a-rd-photo-fill-h))/2);
    background-size:
      100% 100%,
      100% var(--vf1a-real-hero-canvas-h),
      100% auto;
  }
}

/* C · SHORT-WIDE KITSUNE SEMANTIC RELATION
   Anchor Kitsune's right edge to the real Briefing-copy start rather than to
   a device offset. From the 440 fixed-point gap (-4px) it remains clear of
   copy through the measured 688px dynamic viewport, then continuously joins
   the approved 760px semantic overlap (+30px). dvh intentionally follows the
   visible Safari viewport instead of large-viewport vh saturation. */
@media (min-height:440.01px) and (max-height:759.98px){
  @container adventure-canvas (min-width:780px){
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-screen.active{
      --vf1a-rd-brief-right:clamp(17px,calc(4.6875vh - 3.625px),32px);
      --vf1a-rd-brief-width:clamp(325px,calc(17.1875vh + 249.375px),380px);
      --vf1a-rd-copy-left:clamp(32px,calc(129.5px - 16.25vh),58px);
      --vf1a-rd-kitsune-width:clamp(132px,calc(11.25vh + 82.5px),168px);
      --vf1a-rd-copy-overlap:clamp(-4px,calc(47.222222222dvh - 328.888888889px),30px);
    }
    body[data-shell-variant="adventure"][data-nav-mode="rail"][data-global-nav-visible="true"] .adventure-hero-kitsune{
      left:calc(
        100% - var(--vf1a-rd-brief-right) - var(--vf1a-rd-brief-width)
        + var(--vf1a-rd-copy-left) - var(--vf1a-rd-kitsune-width)
        + var(--vf1a-rd-copy-overlap)
      );
      right:auto;
    }
  }
}

/* D · LARGE-PORTRAIT SECONDARY ARTWORK FLUID GROWTH
   Shared local geometry only: all four access illustrations grow together
   from the certified 64px base, with a bounded visual max. 640px stays an
   exact fixed point; no card-specific or tablet-specific sizing. */
@media (min-height:900px){
  @container adventure-canvas (min-width:640.01px){
    body[data-shell-variant="adventure"][data-nav-mode="dock"] .adventure-portal:not(.is-primary) .adventure-portal-icon{
      --vf1a-rd-access-art:clamp(64px,9cqw,80px);
      width:var(--vf1a-rd-access-art);
      height:var(--vf1a-rd-access-art);
      flex-basis:var(--vf1a-rd-access-art);
    }
  }
}
