/* Shared finishing layer. Keeps the authored desktop composition and brand. */
.site-menu-toggle { display:none; }
.complete-brand { min-height:44px; }
.complete-header nav > a { min-height:44px; display:inline-flex; align-items:center; }
.complete-footer nav a, .footer-links a { display:inline-flex; align-items:center; min-height:44px; }
.complete-footer { padding-bottom:max(56px,env(safe-area-inset-bottom)); }
.complete-site .cinematic-switch { display:none; } /* The same destination is in header and footer. */
.complete-site .paper-band .process li::before { color:#376a5b; }
.complete-site .paper-band .app-figure figcaption,
.complete-site .paper-band .screen-caption { color:#4c655d; }
.complete-site dialog { width:min(1100px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:18px; overflow:auto; overscroll-behavior:contain; border:1px solid #a7dbce66; border-radius:12px; background:#081d21; color:#ede8db; }
.complete-site dialog::backdrop { background:#020b10d9; }
.complete-site dialog > button { position:sticky; top:0; z-index:1; display:block; min-height:44px; margin:0 0 16px auto; padding:10px 16px; background:#173c3e; color:#ede8db; border:1px solid #a7dbce80; border-radius:7px; }
.complete-site dialog > img { width:100%; height:auto; max-height:none; object-fit:contain; }
.complete-site dialog > p { margin-top:16px; font-size:13px; line-height:1.7; }
.complete-site:has(dialog[open]) { overflow:hidden; }
.complete-site .image-zoom { min-height:44px; }
.complete-site .apply-status { line-height:1.65; letter-spacing:.09em; }
.complete-site .field > span, .complete-site .choices legend { line-height:1.5; }
.complete-site .choices label { min-height:44px; margin-block:4px; padding-block:6px; cursor:pointer; }
.complete-site .consent { min-height:44px; padding-block:6px; cursor:pointer; }
.complete-site .choices input, .complete-site .consent input { width:20px; height:20px; flex-shrink:0; }
.complete-site .apply-card :is(.sent,.failed):focus { outline:2px solid #376a5b; outline-offset:4px; }
.complete-site .apply-card .failed { color:#213e39; border-color:#a13f39; background:#a13f390d; }
.complete-site .apply-card .field:focus-within > span { color:#285346; }

@media (max-width:1100px) {
  .complete-header { min-height:80px; padding:16px 0; gap:12px; }
  .complete-header:not(.has-menu) nav { display:flex; flex-wrap:wrap; gap:8px 20px; }
  .complete-header.has-menu { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
  .complete-header.has-menu .complete-brand { justify-self:start; }
  .site-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; min-width:88px; padding:10px 12px; border:1px solid #a7dbce55; border-radius:8px; color:#ede8db; background:#123438; font:500 13px/1.4 Inter,Arial,sans-serif; cursor:pointer; }
  .menu-lines, .menu-lines::after { display:block; width:16px; height:1px; background:currentColor; transition:transform .18s; }
  .menu-lines { position:relative; transform:translateY(-3px); }
  .menu-lines::after { content:''; position:absolute; top:6px; }
  .menu-open .menu-lines { transform:rotate(45deg); }
  .menu-open .menu-lines::after { transform:translateY(-6px) rotate(90deg); }
  .complete-header.has-menu nav { display:none; }
  .complete-header.has-menu.menu-open nav { display:grid; grid-column:1/-1; grid-template-columns:1fr 1fr; gap:8px; width:100%; margin-top:8px; padding:16px; max-height:calc(100dvh - 112px - env(safe-area-inset-top)); overflow-y:auto; overscroll-behavior:contain; border:1px solid #a7dbce30; border-radius:12px; background:#102c30; }
  .complete-header.has-menu nav > a:not(.cta) { display:flex; justify-content:flex-start; min-height:48px; padding:10px 12px!important; font-size:14px; line-height:1.4; border-radius:6px; }
  .complete-header.has-menu nav > a:not(.cta)::after { display:none; }
  .complete-header.has-menu nav > a[aria-current=page] { background:#a7dbce14; color:#c0eadc; }
  .complete-header.has-menu nav > .cta { grid-column:1/-1; grid-row:auto; width:100%; min-height:48px; margin:8px 0 0; justify-self:stretch; justify-content:center; }
  .complete-header.has-menu nav > .film-nav { grid-column:1/-1; justify-self:stretch; justify-content:center; border-color:#a7dbce40; border-radius:7px; margin-top:4px; }
  .complete-header.has-menu nav > .film-nav + a { grid-column:auto; }
}

@media (max-width:760px) {
  html { scroll-padding-top:24px; }
  html:has(body:not(.complete-site)) { scroll-padding-top:88px; }
  .complete-header { padding-top:max(16px,env(safe-area-inset-top)); }
  .complete-header .complete-brand { font-size:25px; gap:9px; }
  .complete-header .complete-brand img { width:32px; height:36px; }
  .complete-site .complete-header { margin-bottom:0; }
  .complete-site .complete-footer { gap:24px; padding-top:38px; padding-bottom:max(40px,env(safe-area-inset-bottom)); }
  .complete-footer nav { gap:4px 20px; }
  .complete-footer nav a { font-size:13px; }
  .complete-site .text-link, .story-nav a, .journey-view-switch a { min-height:44px; align-items:center; display:inline-flex; }
  .story-nav { gap:6px 20px; }
  .lore-sources summary { min-height:44px; padding-block:12px; line-height:1.6; }
  .complete-site.apply-body .apply-card { width:calc(100% - 36px); margin:32px auto 56px; padding:30px 22px; min-height:0; box-shadow:0 18px 50px #0004; }
  .apply-card .apply-card-mark { width:60px; }
  .apply-card .apply-status { font-size:11px; }
  .apply-card .apply-lede { font-size:16px; line-height:1.8; }
  .apply-card .sent, .apply-card .failed { padding:16px; line-height:1.8; overflow-wrap:anywhere; }
  .apply-card .field input, .apply-card .field textarea { font-size:16px; }
  .apply-card .choices, .apply-card .movement { min-width:0; }
  .apply-card button[type=submit] { min-height:48px; width:100%; }
  .panorama .hero-a h1 { font-size:clamp(44px,13.4vw,58px); line-height:1.08; }
  .panorama .hero-a { padding-top:40px; }
  .panorama .floating-note { position:static; width:auto; margin:16px 0 0; padding:16px 20px; }
  .panorama .hero-stage .screen-frame { margin-right:0; }
  .product-journey .section-heading p, .product-journey .radio-story p, .product-journey .detail-lines p, .product-journey .beta-section p { font-size:15px; line-height:1.8; }
  .product-journey .workspace-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; }
  .product-journey .workspace-nav button { min-width:44px; min-height:48px; font-size:11px; }
  .product-journey .screen-switch { gap:8px 16px; flex-wrap:wrap; }
  .product-journey .screen-switch button, .product-journey .station-switch button { font-size:12px; min-height:48px; }
  .product-journey .theme-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 16px; }
  .product-journey .theme-switch button { font-size:13px; min-height:48px; }
  .product-journey .theme-switch i { width:18px; height:18px; }
  .product-journey .app-figure figcaption, .product-journey .desk figcaption, .product-journey .theme-stage figcaption, .product-journey .more-themes, .product-journey .radio-story .credits { font-size:11px; line-height:1.7; color:#b3c8bf; }
  .product-journey .eyebrow, .product-journey .bridge > .eyebrow { font-size:10px; letter-spacing:.14em; }
  .product-journey .beta-section small, .product-journey .bridge > span:last-child { font-size:11px; line-height:1.8; }
  .product-journey .detail-lines article > div { min-width:0; }
  .product-journey .radio-bottom b { font-size:clamp(21px,6vw,25px); }
  .product-journey .radio-bottom #track-title { font-size:11px; }
  .product-journey .radio-top, .product-journey .radio-status { font-size:10px; }
  .product-journey .radio-top { gap:12px; }
  .product-journey .section-heading h2 { font-size:clamp(34px,10.2vw,40px); }
  .product-journey .detail-lines h3 { font-size:clamp(22px,6.4vw,25px); }
  .complete-site.simple-body .paper-band .process li::before { color:#376a5b; }
  .complete-site.simple-body .paper-band figcaption { color:#4c655d; }
  /* Cinematic header controls retain labels and comfortably sized hit areas. */
  .header { padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left)); padding-top:max(12px,env(safe-area-inset-top)); }
  .header .header-left, .header .header-right { gap:8px; }
  .header .sound, .header .brand, .header .brand-seat { min-width:44px; min-height:44px; }
  .header .plain-toggle { min-height:44px; padding:8px; gap:7px; }
  .header .plain-toggle-label { display:inline!important; font-size:10px!important; letter-spacing:0!important; }
  .header .plain-toggle-track { display:none; }
  .header .cta.header-apply { min-height:44px; padding:10px 14px; }
  .footer-links { gap:8px 20px; }
  .footer .brand { min-height:44px; min-width:44px; }
}
@media (prefers-reduced-motion:reduce) { .menu-lines, .menu-lines::after { transition:none; } }
