/* Mobile composition only. Desktop remains the approved e838562 layout. */
@media (max-width:800px) {
  :root { --mobile-left:max(22px,env(safe-area-inset-left)); --mobile-right:max(22px,env(safe-area-inset-right)); --mobile-top:max(18px,env(safe-area-inset-top)); --mobile-bottom:max(18px,env(safe-area-inset-bottom)); }
  .cs-fixed { top:var(--mobile-top); left:var(--mobile-left); max-width:calc(100% - 165px); }
  .cs-wordmark { font-size:22px; letter-spacing:.13em; }
  .cs-wordmark small { font-size:6px; letter-spacing:.2em; white-space:nowrap; }
  .cs-menu { top:var(--mobile-top); right:var(--mobile-right); min-height:44px; padding:12px; letter-spacing:.09em; font-size:9px; }
  /* Reserved branding slot: future approved compact art can replace contents. */
  [data-brand-slot] { isolation:isolate; }
  .cs-primary,.cs-secondary,.cs-link { min-height:44px; }
  .cs-orbit-copy { padding-left:var(--mobile-left); padding-right:var(--mobile-right); padding-bottom:calc(32px + var(--mobile-bottom)); }
  .cs-orbit-actions { display:grid; grid-template-columns:1fr; }
  .cs-orbit-actions>* { width:100%; min-height:44px; }
  .cs-orbit-status { gap:12px; }
  .cs-orbit-status span { min-width:0; overflow-wrap:break-word; }
  .cs-back,.cs-aboard-exit { top:calc(var(--mobile-top) + 64px); }
  .cs-discovery-bottom { padding-bottom:calc(40px + var(--mobile-bottom)); }
  #drawer { max-width:100%; padding-top:calc(30px + var(--mobile-top)); padding-bottom:var(--mobile-bottom); }
}
@media (max-width:800px) and (orientation:portrait) {
  /* A complete yacht image above the editorial, rather than copy over its crop. */
  .cs-arrival { height:auto; min-height:100svh; overflow:hidden; background:#0b3040; padding:calc(max(88px,env(safe-area-inset-top) + 68px) + 56.25vw) var(--mobile-right) var(--mobile-bottom) var(--mobile-left); }
  .cs-arrival video { top:max(88px,env(safe-area-inset-top) + 68px); height:auto; aspect-ratio:16/9; object-fit:contain; object-position:center; transform:none; animation:none; }
  .cs-arrival:after { background:linear-gradient(0deg,#071923,transparent 75%); pointer-events:none; }
  .cs-arrival-inner { position:relative; inset:auto; transform:none; max-width:none; padding-top:22px; }
  .cs-arrival .cs-tag { font-size:8px; letter-spacing:.17em; }
  .cs-arrival h1 { font-size:clamp(42px,12vw,55px); line-height:1.02; margin:14px 0 18px; max-width:360px; }
  .cs-arrival p { font-size:13px; line-height:1.6; margin:0; max-width:35ch; }
  .cs-arrival-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:22px; }
  .cs-arrival-actions .cs-primary { grid-column:1/-1; }
  .cs-arrival-actions button { padding:13px 9px; font-size:9px; letter-spacing:.09em; }
  .cs-arrival-foot { position:relative; inset:auto; margin-top:26px; font-size:7px; letter-spacing:.13em; }
  /* Dedicated editorial/header, geographical camera, and seasonal control zones. */
  .cs-network:not(.cs-camera-settled) { height:100svh; min-height:660px; display:grid; grid-template-rows:auto minmax(280px,1fr) auto auto; padding:calc(var(--mobile-top) + 66px) var(--mobile-right) var(--mobile-bottom) var(--mobile-left); gap:12px; }
  .cs-map-title { position:relative; inset:auto; max-width:none; grid-row:1; }
  .cs-map-title h1 { font-size:clamp(30px,8.8vw,38px); line-height:1.03; margin:8px 0; max-width:13ch; }
  .cs-map-title p { font-size:11px; line-height:1.45; margin:0; max-width:38ch; }
  .cs-map-title .cs-eyebrow { font-size:8px; letter-spacing:.14em; }
  .cs-network>.cs-map { position:relative; inset:auto; width:auto; height:auto; min-height:280px; grid-row:2; margin:0 -22px; background-size:192% 85.7142857%; background-position:44.5652174% 50%; background-color:#082638; }
  .cs-map:after { background:linear-gradient(0deg,#082638,transparent 12%,transparent 87%,#082638); }
  .cs-vessel { width:44px; height:44px; }
  .cs-vessel-label { top:calc(var(--y) + 31px)!important; font-size:8px; letter-spacing:.08em; padding:6px 8px; }
  .cs-point { width:44px; height:44px; display:grid; place-items:center; }
  .cs-point span { top:0; left:28px; font-size:8px; letter-spacing:.04em; }
  .cs-origin span { top:-16px; left:28px; }
  .cs-point:not(.cs-origin) span { left:auto; right:27px; }
  .cs-place-nodes button { font-size:8px; min-height:36px; margin-top:28px; }
  .cs-seasons { position:relative; inset:auto; grid-row:3; gap:8px; padding-top:10px; margin-top:10px; }
  .cs-seasons button { min-height:44px; font-size:9px; letter-spacing:.02em; padding:7px 0; }
  .cs-seasons button:before { margin:-23px 0 10px; }
  .cs-seasons small { font-size:8px; line-height:1.4; }
  .cs-map-hint { display:none; } /* Marker retains its accessible action label. */
  .cs-map-credit { position:relative; inset:auto; grid-row:4; font-size:6px; line-height:1.3; text-align:left; }
}
@media (max-height:500px) and (orientation:landscape) and (max-width:950px) {
  .cs-arrival,.cs-network { min-height:650px; }
  .cs-arrival-inner { top:140px; bottom:auto; transform:none; }
  .cs-arrival h1 { font-size:46px; }
}

@media (max-width:800px) and (orientation:portrait) {
 .cs-origin span { display:block; }
 .cs-place-nodes button { margin-top:52px; }
}
@media (max-height:500px) and (orientation:landscape) and (max-width:950px) {
 .cs-network:not(.cs-camera-settled) { height:auto; min-height:100svh; display:grid; grid-template-columns:minmax(200px,30%) 1fr; grid-template-rows:minmax(290px,1fr) auto auto; gap:18px; padding:90px max(24px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); }
 .cs-network>.cs-map { position:relative; inset:auto; width:100%; height:100%; grid-column:2; grid-row:1; background-size:100% 100%; }
 .cs-map-title { position:relative; inset:auto; grid-column:1; grid-row:1; max-width:none; }
 .cs-map-title h1 { font-size:34px; }
 .cs-map-title p { font-size:12px; }
 .cs-seasons { position:relative; inset:auto; grid-column:1/-1; grid-row:2; }
 .cs-map-credit { position:relative; inset:auto; grid-column:1/-1; grid-row:3; }
 .cs-map-hint { display:none; }
 .cs-vessel { width:44px; height:44px; }
 .cs-vessel-label { top:calc(var(--y) + 31px)!important; font-size:8px; }
 .cs-point { width:44px; height:44px; display:grid; place-items:center; }
 .cs-point span { font-size:8px; }
}

@media (max-height:500px) and (orientation:landscape) and (max-width:950px) {
 .cs-fixed { top:max(18px,env(safe-area-inset-top)); left:max(24px,env(safe-area-inset-left)); }
 .cs-menu { top:max(18px,env(safe-area-inset-top)); right:max(24px,env(safe-area-inset-right)); min-height:44px; }
 .cs-arrival-inner { left:max(24px,env(safe-area-inset-left)); right:max(24px,env(safe-area-inset-right)); }
}

@media (max-width:800px) {
 body:before { content:''; position:fixed; z-index:59; inset:0 0 auto; height:calc(var(--mobile-top) + 60px); pointer-events:none; background:linear-gradient(#071923 75%,#07192300); }
 #drawer { height:100svh; height:100dvh; }
}
