/* Screen layouts share content and navigation. Print retains the 1600 × 900 master. */
@media screen {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; overscroll-behavior:none; }
  .reader { height:100%; height:100dvh; padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); }
  /* Round the unscaled wrapper so corners stay visible at phone sizes. */
  .sheet-wrap { width:calc(var(--stage-width,1600px) * var(--scale)); height:calc(var(--stage-height,900px) * var(--scale)); border-radius:24px; overflow:hidden; isolation:isolate; }
  [data-layout="portrait"] .sheet-wrap { border-radius:20px; }
  [data-layout="compact"] .sheet-wrap { border-radius:16px; }
  .sheet { width:var(--stage-width,1600px); height:var(--stage-height,900px); }
  .toc-fab { width:44px; height:44px; padding:11px; top:max(8px,env(safe-area-inset-top)); left:max(8px,env(safe-area-inset-left)); }
  .sidebar { padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom)); overscroll-behavior:contain; }
  .sidebar input { height:44px; font-size:16px; }
  .sidebar-intro button { width:44px; height:44px; }
  .sidebar nav a[data-page] { min-height:44px; font-size:14px; }
  .nav-group-title { font-size:15px; }
  .career-visual picture { display:flex; width:100%; height:100%; min-height:0; }
  .career-visual picture img { width:100%; height:100%; object-fit:contain; }

  /* Tall screens: the same content becomes an editorial vertical page. */
  :root[data-layout="portrait"] { --body-size:32px; --lead-size:34px; --section-gap:16px; --feature-pad:14px; }
  [data-layout="portrait"] .reader { padding-top:calc(max(8px,env(safe-area-inset-top)) + 50px); }
  [data-layout="portrait"] .sheet { padding:32px 38px 24px; grid-template-rows:auto minmax(0,1fr) 28px; gap:24px; }
  [data-layout="portrait"] .heading { justify-content:flex-start; }
  [data-layout="portrait"] .product-heading { gap:22px; }
  [data-layout="portrait"] .product-marker { min-width:70px; padding-right:18px; gap:5px; }
  [data-layout="portrait"] .product-marker span { font-size:16px; letter-spacing:4px; }
  [data-layout="portrait"] .product-marker b { font-size:46px; }
  [data-layout="portrait"] .product-title { font-size:46px; line-height:1.28; letter-spacing:-.5px; text-wrap:balance; }
  [data-layout="portrait"] .product-intro .product-title { font-size:50px; }
  [data-layout="portrait"] .product-title br { display:none; }
  [data-layout="portrait"] .module-title { font-size:34px; line-height:1.4; margin:20px 0 0; }
  [data-layout="portrait"] .page-slogan { font-size:30px; line-height:1.45; margin:18px 0 0; }
  [data-layout="portrait"] .page-title { font-size:56px; line-height:1.4; }
  [data-layout="portrait"] .page-grid { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) auto; gap:24px; }
  [data-layout="portrait"] .page-copy { display:contents; }
  [data-layout="portrait"] .lead { font-size:var(--lead-size); line-height:1.5; margin:0; }
  [data-layout="portrait"] .page-copy>.lead { grid-row:1; margin:0; }
  [data-layout="portrait"] .page-grid>.visual { grid-row:2; }
  [data-layout="portrait"] .page-copy>.features { grid-row:3; }
  [data-layout="portrait"] .visual img { width:100%; height:100%; object-fit:contain; object-position:center; }
  [data-layout="portrait"] .visual figcaption { display:none; }
  [data-layout="portrait"] .features { grid-template-columns:minmax(0,1fr); gap:var(--section-gap); }
  [data-layout="portrait"] .features section { display:grid; grid-template-columns:210px minmax(0,1fr); column-gap:22px; align-items:start; padding-top:var(--feature-pad); }
  [data-layout="portrait"] .features h3 { font-size:var(--body-size); line-height:1.45; margin:0; text-wrap:balance; }
  [data-layout="portrait"] .features p { font-size:var(--body-size); line-height:1.45; }
  [data-layout="portrait"] .page-footer { font-size:18px; padding-top:9px; }
  [data-layout="portrait"] .page-footer b { font-size:22px; }
  [data-layout="portrait"] .visual-scene { gap:18px; }
  [data-layout="portrait"] .visual-scene img { flex:1; min-height:0; aspect-ratio:auto; }
  [data-layout="portrait"] .visual-notes { gap:24px; }
  [data-layout="portrait"] .visual-notes>div { padding-top:12px; gap:6px; }
  [data-layout="portrait"] .visual-notes strong { font-size:28px; }
  [data-layout="portrait"] .visual-notes span { font-size:25px; line-height:1.4; }

  [data-layout="portrait"] .overview-body { grid-template-rows:auto minmax(0,1fr); gap:24px; }
  [data-layout="portrait"] .overview-list { grid-template-columns:minmax(0,1fr); grid-template-rows:repeat(7,auto); row-gap:4px; }
  [data-layout="portrait"] .overview-row { grid-template-columns:42px minmax(0,1fr) 70px; gap:18px; padding:10px 0; }
  [data-layout="portrait"] .overview-row h3 { font-size:32px; line-height:1.32; margin-bottom:8px; }
  [data-layout="portrait"] .overview-row p { font-size:26px; line-height:1.45; }
  [data-layout="portrait"] .overview-row>span { font-size:21px; }

  [data-layout="portrait"] .paired-body { grid-template-rows:auto minmax(0,1fr) auto; gap:22px; }
  [data-layout="portrait"] .paired-body>.lead { white-space:normal; }
  [data-layout="portrait"] .paired-photos { grid-template-columns:minmax(0,1fr); grid-template-rows:repeat(2,minmax(0,1fr)); gap:20px; }
  [data-layout="portrait"] .hardware-panel { grid-template-rows:minmax(0,1fr) 34px; gap:8px; }
  [data-layout="portrait"] .hardware-panel h3 { font-size:27px; }
  [data-layout="portrait"] .career-body { grid-template-rows:auto minmax(0,1fr); gap:22px; }
  [data-layout="portrait"] .career-body>.lead { font-size:var(--lead-size); line-height:1.5; }

  [data-layout="portrait"] .cover { display:grid; grid-template-rows:auto auto minmax(0,1fr) 28px; gap:38px; }
  [data-layout="portrait"] .cover-brand b { font-size:46px; }
  [data-layout="portrait"] .cover-brand span { font-size:23px; line-height:1.5; }
  [data-layout="portrait"] .cover-title { position:static; width:auto; margin-top:44px; }
  [data-layout="portrait"] .cover-title h1 { font-size:76px; line-height:1.35; margin-bottom:28px; }
  [data-layout="portrait"] .cover-title>div { font-size:32px; line-height:1.5; }
  [data-layout="portrait"] .cover .visual { position:static; }
  [data-layout="portrait"] .cover .page-footer,
  [data-layout="portrait"] .back .page-footer { position:static; height:auto; }
  [data-layout="portrait"] .back { display:grid; grid-template-rows:auto minmax(0,1fr) 28px; }
  [data-layout="portrait"] .back-content { position:static; align-self:center; }
  [data-layout="portrait"] .back-content h2 { font-size:70px; line-height:1.5; }
  [data-layout="portrait"] .back-content p { font-size:30px; letter-spacing:4px; line-height:1.6; }
  [data-layout="portrait"] .back-content strong { font-size:32px; line-height:1.6; }

  /* Tablets and nearly square windows have less vertical space per text column. */
  :root[data-layout="portrait"][data-density="short"] { --body-size:26px; --lead-size:28px; --section-gap:10px; --feature-pad:10px; }
  [data-layout="portrait"][data-density="short"] .sheet { padding:26px 32px 20px; gap:18px; }
  [data-layout="portrait"][data-density="short"] .product-title { font-size:40px; }
  [data-layout="portrait"][data-density="short"] .module-title { font-size:30px; margin-top:14px; }
  [data-layout="portrait"][data-density="short"] .page-slogan { font-size:27px; margin-top:12px; }
  [data-layout="portrait"][data-density="short"] .page-grid { gap:18px; }
  [data-layout="portrait"][data-density="short"] .features section { grid-template-columns:170px minmax(0,1fr); gap:18px; }
  [data-layout="portrait"][data-density="short"] .paired-photos { grid-template-columns:1fr 1fr; grid-template-rows:minmax(0,1fr); gap:16px; }
  [data-layout="portrait"][data-density="short"] .hardware-panel h3 { font-size:23px; }
  [data-layout="portrait"][data-density="short"] .overview-body { gap:16px; }
  [data-layout="portrait"][data-density="short"] .overview-row { padding:9px 0; }
  [data-layout="portrait"][data-density="short"] .overview-row h3 { font-size:29px; margin-bottom:4px; }
  [data-layout="portrait"][data-density="short"] .overview-row p { font-size:22px; }
  [data-layout="portrait"][data-density="short"] .cover { gap:22px; }
  [data-layout="portrait"][data-density="short"] .cover-title { margin-top:16px; }
  [data-layout="portrait"][data-density="short"] .cover-title h1 { font-size:64px; }
  [data-layout="portrait"][data-density="short"] .visual-notes strong { font-size:25px; }
  [data-layout="portrait"][data-density="short"] .visual-notes span { font-size:23px; }

  /* Phones held horizontally: larger type relative to the smaller stage. */
  [data-layout="compact"] .reader { padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) calc(max(8px,env(safe-area-inset-left)) + 48px); }
  [data-layout="compact"] .sheet { padding:20px 32px 18px; grid-template-rows:auto minmax(0,1fr) 22px; gap:14px; }
  [data-layout="compact"] .product-heading { gap:18px; }
  [data-layout="compact"] .product-marker { min-width:62px; padding-right:18px; }
  [data-layout="compact"] .product-marker b { font-size:40px; }
  [data-layout="compact"] .product-title,
  [data-layout="compact"] .product-intro .product-title { font-size:39px; line-height:1.25; }
  [data-layout="compact"] .product-title br { display:none; }
  [data-layout="compact"] .module-title { font-size:28px; margin:10px 0 0 80px; }
  [data-layout="compact"] .page-slogan { font-size:24px; margin:10px 0 0 80px; }
  [data-layout="compact"] .page-title { font-size:44px; }
  [data-layout="compact"] .page-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); grid-template-rows:auto minmax(0,1fr); column-gap:30px; row-gap:16px; }
  [data-layout="compact"] .page-copy { display:contents; }
  [data-layout="compact"] .lead { font-size:26px; line-height:1.45; margin:0; }
  [data-layout="compact"] .page-copy>.lead { grid-column:1/-1; line-height:1.45; margin:0; }
  [data-layout="compact"] .page-copy>.features { grid-column:1; grid-row:2; align-self:center; }
  [data-layout="compact"] .page-grid>.visual { grid-column:2; grid-row:2; }
  [data-layout="compact"] .features { gap:8px; }
  [data-layout="compact"] .features section { padding-top:6px; }
  [data-layout="compact"] .features h3 { font-size:25px; line-height:1.3; margin:0 0 3px; }
  [data-layout="compact"] .features p { font-size:24px; line-height:1.38; }
  [data-layout="compact"] .visual img { object-fit:contain; object-position:center; }
  [data-layout="compact"] .visual figcaption { display:none; }
  [data-layout="compact"] .page-footer { font-size:15px; }
  [data-layout="compact"] .overview-body { grid-template-rows:auto minmax(0,1fr); gap:14px; }
  [data-layout="compact"] .overview-list { column-gap:30px; row-gap:3px; }
  [data-layout="compact"] .overview-row { grid-template-columns:38px minmax(0,1fr) 55px; gap:12px; padding:9px 0; }
  [data-layout="compact"] .overview-row h3 { font-size:25px; line-height:1.3; margin-bottom:5px; }
  [data-layout="compact"] .overview-row p { font-size:20px; line-height:1.4; }
  [data-layout="compact"] .paired-body { grid-template-rows:auto minmax(0,1fr) auto; gap:14px; }
  [data-layout="compact"] .paired-body>.lead { white-space:normal; }
  [data-layout="compact"] .hardware-panel h3 { font-size:23px; }
  [data-layout="compact"] .paired-body .features { gap:25px; }
  [data-layout="compact"] .paired-body .features p { font-size:23px; }
  [data-layout="compact"] .visual-scene { gap:12px; }
  [data-layout="compact"] .visual-scene img { flex:1; min-height:0; aspect-ratio:auto; }
  [data-layout="compact"] .visual-notes { gap:20px; }
  [data-layout="compact"] .visual-notes>div { padding-top:10px; gap:4px; }
  [data-layout="compact"] .visual-notes strong { font-size:23px; }
  [data-layout="compact"] .visual-notes span { font-size:20px; line-height:1.4; }
  [data-layout="compact"] .career-body { grid-template-rows:auto minmax(0,1fr); gap:16px; }
  [data-layout="compact"] .cover-brand b { font-size:34px; }
  [data-layout="compact"] .cover-title { left:32px; top:205px; width:500px; }
  [data-layout="compact"] .cover-title h1 { font-size:58px; margin-bottom:24px; }
  [data-layout="compact"] .cover-title>div { font-size:25px; }
  [data-layout="compact"] .cover .visual { left:535px; right:24px; top:120px; bottom:72px; }
  [data-layout="compact"] .cover .page-footer,
  [data-layout="compact"] .back .page-footer { left:32px; right:32px; bottom:20px; height:22px; }
  [data-layout="compact"] .back-content { top:190px; left:32px; right:32px; }
  [data-layout="compact"] .back-content h2 { font-size:62px; }
  [data-layout="compact"] .back-content p { font-size:25px; margin-bottom:40px; }
  [data-layout="compact"] .back-content strong { font-size:27px; }
}
@media print {
  .sheet { width:1600px!important; height:900px!important; }
  .career-visual picture { display:flex; width:100%; height:100%; min-height:0; }
  .career-visual picture img { width:100%; height:100%; object-fit:contain; }
}
