/* Mobile pass. Loaded after voyage.css on every page.
   1. Hamburger icon + full-height navigation sheet on phones and tablets (≤820px).
      The header uses backdrop-filter, which makes it the containing block for any
      fixed descendant, so the sheet is positioned absolutely under the header and
      sized to the rest of the viewport instead of using position:fixed.
   2. Type floors: the desktop design annotates in 6–10px mono. On phones and tablets
      nothing goes below 11px, body copy stays at 16px, and links are 44px targets.
   3. Notch-safe fixed header via viewport-fit=cover + env(safe-area-inset-*). */

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
h1,h2,h3{text-wrap:balance}
.v-header{padding-top:env(safe-area-inset-top)}

/* ---- hamburger button (voyage.css hides it above 820px) ---- */
.v-menu{display:none;align-items:center;justify-content:center;gap:10px;padding:0 12px;min-height:44px;min-width:44px;border:1px solid var(--v-line);border-radius:3px;background:none;color:inherit;font:11px/1 var(--v-mono)!important;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.v-menu__bars{position:relative;width:18px;height:12px;display:block;flex:none}
.v-menu__bars i{position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:1px;transition:transform .25s ease,opacity .2s ease,top .25s ease}
.v-menu__bars i:nth-child(1){top:0}
.v-menu__bars i:nth-child(2){top:5px}
.v-menu__bars i:nth-child(3){top:10px}
.v-menu[aria-expanded=true] .v-menu__bars i:nth-child(1){top:5px;transform:rotate(45deg)}
.v-menu[aria-expanded=true] .v-menu__bars i:nth-child(2){opacity:0}
.v-menu[aria-expanded=true] .v-menu__bars i:nth-child(3){top:5px;transform:rotate(-45deg)}

@media(max-width:820px){
  .v-menu{display:inline-flex}

  /* navigation sheet */
  .v-nav{position:absolute;top:100%;left:0;right:0;height:calc(100vh - 72px - env(safe-area-inset-top));height:calc(100dvh - 72px - env(safe-area-inset-top));overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px var(--v-gutter) calc(32px + env(safe-area-inset-bottom));background:rgba(16,18,16,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:0;border-top:1px solid var(--v-line)}
  .v-nav a{font-size:24px;letter-spacing:-.02em;min-height:66px;opacity:.94}
  .v-nav a::after{display:none}
  .v-nav a:hover,.v-nav a[aria-current]{color:var(--v-accent)}
  body.v-menu-open{overflow:hidden}

  /* type floors */
  body.voyage{font-size:16px}
  .v-copy,.v-hero .v-copy,.v-tech .v-section-head .v-copy,.v-world .v-copy{font-size:16px!important;max-width:none}
  .v-label,.v-hero .v-label,.v-label.v-eyebrow{font-size:11px!important;letter-spacing:.1em}
  .v-meta,.v-person .v-meta,.v-dossier__foot>.v-meta,.v-metric small{font-size:11px!important;line-height:1.6}
  .v-stage-caption,.v-tech-foot p,.v-benchmark-note,.v-footer__bottom,.v-footer__links h2,.v-window__foot,.v-window__bar span,.v-hero__rail a,.v-proof-item span,.v-proof-strip__inner>p,.v-tab span,.v-category-context span,.v-dossier__number,.v-art-label,.v-motion,.v-roadmap,.v-legacy .gate__card .gate__hint,.v-window small,.v-product-links small,.v-assurances span,.v-dossier__audience,.v-dossier__audience span,.v-dossier__grid h5,.v-dossier__verb,.v-status,.v-case-steps span,.v-tech-foot b,dt,small,em:not(h1 em):not(h2 em):not(h3 em):not(.v-product-hero em){font-size:11px!important;line-height:1.6}
  .v-window__bar{font-size:12px}
  .v-metric p{font-size:13px!important}
  .v-proof-item span{max-width:none}
  .v-roadmap{padding:4px 7px}
  svg text{font-size:10px!important}

  /* tap targets */
  .v-benchmark-note{line-height:1.9}
  .v-benchmark-note a,.v-prose a,.legal a,.v-dossier__foot a,a[href^="mailto:"]:not(.v-btn){display:inline-block;padding:8px 0}
  .v-footer__links a,.v-footer__bottom a{min-height:44px;display:inline-flex;align-items:center;padding:0}
  .v-footer__bottom{gap:6px}
  .v-hero__rail a{min-height:44px}
  input[type=radio],input[type=checkbox]{width:22px;height:22px}
  .v-industry-tab,.v-tab,.v-dossier summary{min-height:48px}
}

@media(max-width:560px){
  /* header: icon-only hamburger, compact CTA, legible brand line */
  .v-menu{padding:0;gap:0}
  .v-menu__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .v-header__inner>.v-btn{min-height:40px;padding:9px 12px;font-size:11px;gap:10px}
  .v-brand__sub{font-size:8.5px;letter-spacing:.2em}
  .v-hero h1{font-size:clamp(52px,14.5vw,68px)}
  /* conviction cards: label above the heading instead of a cramped 38px column */
  .v-principle{grid-template-columns:1fr;gap:6px}
  .v-principle p{grid-column:1;margin-top:10px}
  .v-principle .v-meta{margin:0 0 4px}
  .v-motion{white-space:nowrap}
}

@media(max-width:360px){
  .v-label,.v-meta{font-size:10.5px!important}
  .v-hero h1{font-size:50px}
  .v-brand__sub{display:none}
}
