/* The reading layout shares the same chapters and controls as the full-screen deck. */
@media screen {
  body:not(.is-presenting) {
    --paper: #f4f3eb;
    --ink: #123335;
    --teal: #186159;
    --rule: #bdcec5;
    --gutter: clamp(20px, 5vw, 92px);
    --display-face: Georgia, Cambria, "Times New Roman", serif;

    .screen:not(.company-split, .packages-reference) {
      min-height: 0;
      padding: calc(var(--header) + 24px) var(--gutter) clamp(42px, 5vw, 84px);
    }
    .screen .screen-inner { max-width: 1440px; }
    .screen h2:not(.package-title, .company-section-title) {
      font-family: var(--display-face);
      font-size: clamp(36px, 4vw, 70px);
      font-weight: 400;
      line-height: 1.07;
      letter-spacing: -.045em;
    }
    .screen .question button, .screen .text-button { min-height: 44px; }
    .screen .qualification { font-size: clamp(16px, 1.2vw, 21px); line-height: 1.55; }
    .screen :focus-visible { outline-offset: 3px; }

    .screen.hero {
      display: grid;
      grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
      align-items: stretch;
      background: var(--paper);
      color: var(--ink);
      padding: var(--header) 0 0;
      min-height: min(800px, 86svh);
      border-bottom: 1px solid var(--rule);
    }
    .hero .background {
      position: relative;
      grid-area: 1 / 2;
      min-width: 0;
      z-index: 0;
      border-inline-start: 1px solid var(--rule);
    }
    .hero .background img {
      position: absolute;
      inset: 0;
      object-position: right center;
      transform: none;
    }
    .hero .background::after { background: linear-gradient(0deg, #0c353a44, transparent 33%); }
    .hero .ambient-orbit {
      grid-area: 1 / 2;
      z-index: 1;
      width: 52px;
      height: 52px;
      inset: auto 22px 20px auto;
      border: 1px dashed #e1f5ef80;
      pointer-events: none;
    }
    .hero .ambient-orbit::before {
      top: 4px;
      left: 8px;
      width: 5px;
      height: 5px;
      background: #e0fff2;
      box-shadow: none;
    }
    .hero .screen-inner {
      grid-area: 1 / 1;
      align-self: center;
      padding: clamp(48px, 6.2vw, 120px) clamp(26px, 4vw, 70px) clamp(64px, 7vw, 120px) var(--gutter);
    }
    .hero .hero-content::before {
      content: "";
      display: block;
      width: 64px;
      height: 5px;
      margin-bottom: clamp(22px, 2.5vw, 40px);
      background: linear-gradient(to right, var(--teal) 68%, transparent 68% 76%, #b88f49 76%);
    }
    .hero h1 {
      max-width: 13ch;
      font: 400 clamp(48px, 5.25vw, 94px)/.99 var(--display-face);
      letter-spacing: -.06em;
      text-wrap: balance;
    }
    .hero .lead {
      max-width: 38ch;
      font-size: clamp(19px, 1.45vw, 26px);
      line-height: 1.45;
      color: var(--ink);
    }
    .hero .activity-line {
      margin-top: 14px;
      color: #46615a;
      font-size: clamp(14px, 1vw, 18px);
      line-height: 1.55;
    }
    .hero .button-row { gap: 12px; margin-top: 30px; }
    .hero .button-row a { min-height: 46px; padding: 12px 16px; font-size: 16px; gap: 10px; }
    .hero .primary-button {
      background: var(--ink);
      border-radius: 4px;
      color: white;
      gap: 14px;
    }
    .hero .primary-button:hover { background: var(--teal); }
    .hero .outline-button, .hero .text-button { color: var(--teal); border-color: var(--teal); background: transparent; }
    .hero .outline-button span, .hero .text-button span { color: inherit; }
    .hero .outline-button:hover, .hero .text-button:hover { background: #dbe7dd; }
    .hero :focus-visible, #processing_products :focus-visible { outline-color: var(--teal); }
    .hero .scroll-cue {
      inset: auto auto 12px var(--gutter);
      width: 44px;
      height: 44px;
      justify-content: center;
      border: 1px solid var(--rule);
      border-radius: 50%;
      color: var(--teal);
    }

    #full_cycle { background: #0c3035; }
    #full_cycle::before, #full_cycle::after { display: none; }
    #full_cycle .cycle-step { border-radius: 5px; box-shadow: none; }
    #full_cycle .cycle-step::before { background: linear-gradient(0deg, #031b23ee, transparent 72%); }
    #full_cycle .cycle-label { color: #fff; }
    #full_cycle .cycle-track { height: 2px; }

    #processing_products {
      background: var(--paper);
      color: var(--ink);
      border-bottom: 1px solid var(--rule);
    }
    #processing_products::before, #processing_products::after { display: none; }
    #processing_products .fact { color: var(--ink); }
    #processing_products .product-types, #processing_products .metric-caption { color: #425f58; }
    #processing_products .processing-metrics { border-top: 1px solid var(--rule); padding-top: 20px; }
    #processing_products .production-number, #processing_products .experience-number {
      color: var(--teal);
      text-shadow: none;
      font-variant-numeric: tabular-nums;
    }
    #processing_products .production-number > span, #processing_products .experience-years-label,
    #processing_products .text-button, #processing_products .text-button span { color: var(--teal); }
    #processing_products .text-button { border-color: var(--teal); }
    #processing_products .processing-mosaic {
      gap: 5px;
      border-radius: 4px;
      outline: 0;
      box-shadow: none;
    }
    #processing_products .processing-mosaic img { border-radius: 0; }
    #processing_products .process-scanner { display: none; }

    .company-split .company-card.company-panel { min-height: clamp(525px, 75svh, 720px); }
    .performance-scene .return-metric { border-radius: 8px; }
    .resale-photo-card, .market-transport-card { border-radius: 6px; }
    .screen .question-actions button[aria-pressed="true"] { box-shadow: inset 0 -2px currentColor; }
    .package-select, .package-select-wrap, .slot-controls { min-height: 44px; }
    .package-select-wrap .package-choice { min-height: 44px; }
    .packages-reference .package-title {
      font-family: var(--display-face);
      font-weight: 400;
      letter-spacing: -.05em;
    }
    .package-cards { align-items: stretch; }
    .participation-panel { border-color: #56b8b4; }
  }

  .evidence-dialog[open] {
    display: flex;
    flex-direction: column;
    height: min(780px, 90dvh);
    border-radius: 12px;
    background: #092832;
  }
  .evidence-dialog .dialog-heading { flex: none; }
  .evidence-dialog .close-button { flex: none; width: 44px; height: 44px; }
  .evidence-dialog .evidence-layout { flex: 1; height: auto; min-height: 0; }
  #evidence-topics button { flex: none; min-height: 44px; }
  #evidence-body { background: #f4f3eb; color: #123335; overscroll-behavior: contain; }
  #evidence-body h3 { max-width: 30ch; font-family: Georgia, Cambria, serif; font-weight: 400; }
  #evidence-body p { color: #253f3f; max-width: 65ch; }
  #evidence-body .formula { color: #163e3b; background: #e3ece4; border-color: #b6cec0; }
  #evidence-body .source-list { border-top-color: #bdcec5; }
  #evidence-body .source-list p { color: #4a625c; font-size: 14px; }
}

@media screen and (min-width: 1101px) {
  body:not(.is-presenting) .screen.packages-reference {
    align-items: flex-start;
    min-height: 0;
    padding-block: calc(var(--header) + 26px) 48px;
  }
  body:not(.is-presenting) .packages-reference .screen-inner { margin-block: 0; }
}

@media screen and (max-width: 760px) {
  body:not(.is-presenting) {
    .screen:not(.hero, .packages-reference, .company-split) {
      padding: 40px var(--gutter);
      scroll-margin-top: var(--header);
    }
    .screen.hero {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      min-height: 0;
      padding: var(--header) 0 0;
    }
    .hero .screen-inner { grid-area: 1 / 1; padding: 36px var(--gutter) 32px; }
    .hero .hero-content::before { margin-bottom: 20px; }
    .hero h1 { max-width: 15ch; font-size: clamp(45px, 9vw, 66px); }
    .hero .lead { margin-top: 16px; font-size: 19px; }
    .hero .activity-line { margin-top: 10px; }
    .hero .button-row { margin-top: 20px; }
    .hero .scroll-cue { display: none; }
    .hero .background {
      grid-area: 2 / 1;
      height: clamp(185px, 51vw, 325px);
      border-inline-start: 0;
      border-top: 1px solid var(--rule);
    }
    .hero .background img { object-position: center 52%; }
    .hero .ambient-orbit { grid-area: 2 / 1; width: 36px; height: 36px; right: 14px; bottom: 14px; }
    #full_cycle .cycle-step { min-height: 145px; padding: 14px; }
    #full_cycle .cycle-step:last-child { min-height: 130px; }
    .screen .question-actions { gap: 8px; }
    .company-split .company-card.company-panel { min-height: 535px; }
    .performance-scene .annual-performance > strong { font-size: clamp(76px, 22vw, 110px); }
    .performance-scene .monthly-performance > strong { font-size: clamp(30px, 8vw, 55px); }
    .screen .qualification { line-height: 1.55; }
    .packages-reference .package-meta { gap: 6px; }
  }
  .evidence-dialog[open] { width: calc(100% - 16px); height: min(880px, 94dvh); }
  #evidence-topics { gap: 4px; padding: 7px; }
  #evidence-topics button { font-size: 14px; }
  #evidence-body { flex: 1; }
}

@media screen and (max-width: 420px) {
  .evidence-dialog .dialog-heading { padding: 16px; gap: 10px; }
  .evidence-dialog .dialog-heading h2 { font-size: clamp(22px, 6.3vw, 26px); }
  body:not(.is-presenting) {
    .packages-reference { padding-inline: 14px; }
    .package-cards { gap: 8px; }
    .package-card-copy { padding-inline: 8px; }
    .package-select { font-size: 13px; gap: 5px; padding-inline: 4px; }
    .package-facts .package-price { gap: 4px; }
    .package-price strong { font-size: clamp(16px, 4.65vw, 20px); }
    .market-country-list { gap: 3px; }
  }
}

@media screen and (min-width: 761px) and (max-width: 900px) {
  body:not(.is-presenting) .performance-scene .annual-performance > strong { font-size: 72px; }
  body:not(.is-presenting) .performance-scene .monthly-performance > strong { font-size: 36px; }
}

/* Keep the question and its optional speaker note together in the chapter's reading order. */
.slide-guide {
  --guide-surface: #092d35;
  --guide-ink: #f2f8f4;
  --guide-accent: #a0e5d6;
  --guide-border: #547a7c;
  display: grid;
  grid-template-columns: fit-content(68ch) 44px;
  align-items: center;
  justify-content: start;
  gap: 0 12px;
  width: 100%;
  min-width: 0;
  margin-block: clamp(20px, 2.25vw, 36px) 0;
  padding: 12px 16px;
  border-block-start: 1px solid var(--guide-border);
  background: var(--guide-surface);
  color: var(--guide-ink);
  text-align: start;
}
.slide-question { display: grid; gap: 3px; min-width: 0; margin: 0; }
.slide-question-label {
  color: var(--guide-accent);
  font: 700 12px/1.35 EgetySans, Arial, sans-serif;
  letter-spacing: .085em;
  text-transform: uppercase;
}
.slide-question-text {
  font-size: clamp(16px, 1.22vw, 22px);
  font-weight: 400;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.presenter-tip { display: contents; }
.presenter-tip-trigger {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--guide-border);
  border-radius: 5px;
  background: transparent;
  color: var(--guide-ink);
  font: 700 14px/1.25 EgetySans, Arial, sans-serif;
}
.presenter-tip-trigger svg { flex: none; width: 20px; height: 20px; }
.presenter-tip-trigger:hover,
.presenter-tip-trigger[aria-expanded="true"] { border-color: var(--guide-accent); color: var(--guide-accent); }
.screen .presenter-tip-trigger:focus-visible { outline: 2px solid var(--guide-accent); outline-offset: 2px; }
.presenter-tip-text:not([hidden]) {
  grid-column: 1 / -1;
  max-width: 75ch;
  margin: 10px 0 0;
  padding: 10px 0 2px;
  border-top: 1px solid var(--guide-border);
  color: var(--guide-ink);
  font-size: clamp(16px, 1.1vw, 20px);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.screen .slide-guide > .question {
  grid-column: 1 / -1;
  display: block;
  margin: 10px 0 0;
  padding: 0;
  border: 0;
}
.screen .slide-guide .question-actions { margin: 0; gap: 8px; }
.screen .slide-guide .question-result {
  color: var(--guide-accent);
  margin: 8px 0 0;
  font-size: 15px;
  line-height: 1.45;
}
.screen-inner.split:has(> .slide-guide) { row-gap: clamp(20px, 2.25vw, 36px); }
.screen-inner.split > .slide-guide { grid-column: 1 / -1; order: 3; margin: 0; }
.packages-reference .slide-guide { margin-block: 16px 0; padding-block: 7px; }
.company-split > .slide-guide, .hero > .slide-guide {
  margin: 0;
  padding-inline: clamp(20px, 5vw, 92px);
}
.screen.hero > .slide-guide { grid-area: 2 / 1 / 3 / -1; position: relative; z-index: 2; }
.is-presenting .screen.hero {
  flex-direction: column;
  align-items: stretch;
}
.is-presenting .hero > .slide-guide { margin: 20px 0 0; padding-inline: 16px; }
.is-presenting .hero .scroll-cue { position: static; margin-top: 18px; }
@media screen and (max-width: 760px) {
  body:not(.is-presenting) .screen.hero > .slide-guide { grid-area: 3 / 1; }
}
@media screen {
  body:not(.is-presenting) :is(.hero, .processing) .slide-guide {
    --guide-surface: #e2ebe3;
    --guide-ink: #173b37;
    --guide-accent: #1a6259;
    --guide-border: #72958a;
  }
}
@media screen and (max-width: 600px) {
  .slide-guide { column-gap: 9px; padding: 10px 12px; }
}
@media screen and (min-width: 761px) and (hover: hover) and (pointer: fine) {
  /* A note in a vertically centered slide must not move the pointer's target. */
  .slide-guide { position: relative; }
  .slide-guide:has(.presenter-tip-trigger[aria-expanded="true"]) { z-index: 5; }
  .slide-guide .presenter-tip-text:not([hidden]) {
    position: absolute;
    inset-inline-end: 0;
    inset-block-start: calc(100% - 1px);
    width: min(100%, 56ch);
    margin: 0;
    padding: 14px 16px;
    border: 1px solid var(--guide-border);
    border-radius: 5px;
    background: var(--guide-surface);
    box-shadow: 0 8px 24px #04191e38;
  }
  .slide-guide.tip-opens-above .presenter-tip-text:not([hidden]) {
    inset-block-start: auto;
    inset-block-end: calc(100% - 1px);
  }
}
@media print {
  .slide-guide {
    --guide-surface: #fff;
    --guide-ink: #142f2d;
    --guide-accent: #285b53;
    --guide-border: #83928b;
    display: block;
    break-inside: avoid;
    margin-block: 3mm;
    padding: 2mm 3mm;
  }
  .slide-question-label { font-size: 9pt; }
  .slide-question-text { font-size: 12pt; }
  .presenter-tip-trigger { display: none; }
  .presenter-tip-text:not([hidden]) { font-size: 11pt; margin-top: 2mm; padding-top: 2mm; }
}

/* In the deck, give the photographs the space left after the text and controls. */
@media screen {
  body.is-presenting {
    #european_markets, #company_chain_erp {
      --stage-gap: clamp(6px, 1.2dvh, 16px);
      display: grid;
      align-items: stretch;
      height: 100dvh;
      min-height: 0;
      padding: calc(var(--header) + var(--stage-gap)) clamp(32px, 4vw, 88px) 74px;
    }
    :is(#european_markets, #company_chain_erp) .slide-guide {
      align-self: end;
      margin: 0;
      padding: 6px 12px;
    }
    #european_markets .screen-inner {
      display: grid;
      grid-template-rows: auto auto minmax(52px, 1fr) minmax(56px, 1.55fr) auto auto;
      gap: var(--stage-gap);
      margin-block: 0;
      min-height: 0;
    }
    #european_markets h2 {
      margin: 0;
      font-size: clamp(30px, min(4vw, 6.4dvh), 76px);
    }
    #european_markets .market-origin {
      max-width: none;
      margin: 0;
      font-size: clamp(16px, 1.65vw, 29px);
      line-height: 1.3;
    }
    #european_markets .market-country-list { margin: 0; gap: clamp(4px, 1vw, 18px); }
    #european_markets .market-country {
      display: grid;
      grid-template-rows: minmax(0, 1fr) auto;
      justify-content: stretch;
      justify-items: center;
      gap: 3px;
      min-height: 0;
      padding: 6px 4px 8px;
      font-size: clamp(16px, 1.7vw, 30px);
    }
    #european_markets .market-country svg { height: 100%; min-height: 0; }
    #european_markets .market-transport-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--stage-gap); }
    #european_markets .market-transport-card { height: 100%; min-height: 0; }
    #european_markets .market-transport-card figcaption {
      left: clamp(8px, 1.5vw, 24px);
      bottom: clamp(8px, 1.5dvh, 18px);
      right: 6px;
      gap: 6px;
      font-size: clamp(16px, 1.8vw, 32px);
    }
    #european_markets .market-transport-card figcaption svg { width: 1em; height: 1em; }
    #european_markets .button-row { margin: 0; }
    #european_markets .text-button { min-height: 38px; font-size: clamp(15px, 1.25vw, 22px); }

    #company_chain_erp {
      grid-template-rows: minmax(0, 1fr) auto;
      gap: var(--stage-gap);
    }
    #company_chain_erp .company-panels-grid {
      min-height: 0;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      /* The photo takes the remaining height above the four shared text rows. */
      grid-template-rows: minmax(0, 1fr) auto auto auto auto;
      gap: 0 var(--stage-gap);
    }
    #company_chain_erp .company-card.company-panel {
      display: grid;
      grid-row: 1 / -1;
      grid-template-rows: subgrid;
      align-items: stretch;
      min-height: 0;
      border: 1px solid #416671;
      border-radius: 8px;
    }
    #company_chain_erp .company-panel-body {
      display: grid;
      grid-row: 2 / -1;
      grid-template-rows: subgrid;
      align-items: start;
      padding: clamp(14px, 2.3vw, 44px);
      transform: none;
    }
    #company_chain_erp .company-card-heading { gap: 10px; }
    #company_chain_erp .company-card-heading .line-icon { width: 1.8em; height: 1.8em; }
    #company_chain_erp h3 { font-size: clamp(28px, 3.15vw, 58px); }
    #company_chain_erp .company-registration { margin: 6px 0 0; font-size: clamp(15px, 1.25vw, 24px); line-height: 1.3; }
    #company_chain_erp ul { margin: clamp(9px, 1.6dvh, 24px) 0 0; gap: clamp(4px, 1dvh, 12px); }
    #company_chain_erp li { gap: 8px; font-size: clamp(16px, 1.4vw, 27px); line-height: 1.25; }
    #company_chain_erp .company-panel-action { margin-top: clamp(8px, 1.4dvh, 18px); }
    #company_chain_erp .text-button { min-height: 40px; font-size: clamp(15px, 1.25vw, 23px); gap: 8px; }
  }
}

@media screen and (max-width: 760px) {
  body.is-presenting {
    #european_markets, #company_chain_erp { padding-inline: 10px; padding-bottom: 63px; }
    #european_markets .market-country { font-size: clamp(12px, 2.9vw, 18px); padding: 4px 2px 6px; }
    #european_markets .market-country svg { max-height: 110px; }
    #european_markets .market-transport-card { border-radius: 7px; }
    #european_markets .market-transport-card figcaption { font-size: clamp(13px, 3.5vw, 18px); gap: 4px; }
    #company_chain_erp .company-panel-body { padding: 10px; }
    #company_chain_erp .company-card-heading { display: block; }
    #company_chain_erp .company-card-heading .line-icon { display: none; }
    #company_chain_erp h3 { font-size: clamp(20px, 5vw, 28px); }
    #company_chain_erp .company-registration { font-size: 14px; }
    #company_chain_erp li { font-size: 15px; gap: 5px; }
    #company_chain_erp li::before { width: 3px; height: 3px; }
    #company_chain_erp .text-button { gap: 3px; font-size: 14px; }
  }
}

@media screen and (max-height: 620px) and (max-width: 450px) {
  body.is-presenting {
    #european_markets, #company_chain_erp { --stage-gap: 5px; }
    #european_markets h2 { font-size: 25px; }
    #european_markets .market-origin { font-size: 14px; }
    #company_chain_erp .company-panel-body { padding: 6px; }
    #company_chain_erp .company-panel-scene::after { background: linear-gradient(#041a29aa, #041a29cc 52%, #041a29f5); }
    #company_chain_erp .company-registration { font-size: 12px; }
    #company_chain_erp ul { margin-top: 5px; gap: 3px; }
    #company_chain_erp li { font-size: 13px; line-height: 1.2; }
    #company_chain_erp .company-panel-action { margin-top: 3px; }
    #company_chain_erp .text-button { min-height: 30px; font-size: 13px; padding-block: 3px; }
    :is(#european_markets, #company_chain_erp) .slide-guide { padding: 4px 7px; column-gap: 6px; }
    :is(#european_markets, #company_chain_erp) .slide-question-text { font-size: 14px; line-height: 1.2; }
    :is(#european_markets, #company_chain_erp) .slide-question-label { font-size: 11px; }
  }
}

@media screen and (orientation: landscape) and (max-height: 520px) {
  body.is-presenting {
    #european_markets, #company_chain_erp {
      --stage-gap: 4px;
      padding-inline: 12px;
      padding-bottom: 74px;
    }
    #european_markets .screen-inner {
      grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr);
      grid-template-rows: auto minmax(0, 1fr) auto auto;
      grid-template-areas: "title countries" "origin transport" "action transport" "question question";
      column-gap: 10px;
    }
    #european_markets h2 { grid-area: title; font-size: clamp(20px, 2.8vw, 28px); align-self: end; }
    #european_markets .market-origin { grid-area: origin; font-size: 14px; align-self: center; }
    #european_markets .market-country-list { grid-area: countries; }
    #european_markets .market-country { min-height: 48px; height: 53px; padding: 2px 3px 4px; font-size: 12px; }
    #european_markets .market-transport-grid { grid-area: transport; }
    #european_markets .button-row { grid-area: action; }
    #european_markets .text-button { padding: 4px 0; min-height: 30px; font-size: 13px; }
    #european_markets .slide-guide { grid-area: question; }
    #company_chain_erp .company-panel-body { padding: 6px 9px; }
    #company_chain_erp .company-panel-scene::after { background: linear-gradient(90deg,#011727df,#011727bf 75%,#01172780); }
    #company_chain_erp .company-card-heading .line-icon { display: none; }
    #company_chain_erp h3 { font-size: 20px; }
    #company_chain_erp .company-registration { margin: 2px 0; font-size: 12px; }
    #company_chain_erp ul { margin: 4px 0 0; gap: 2px 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #company_chain_erp li { gap: 4px; font-size: 13px; line-height: 1.2; }
    #company_chain_erp .company-panel-action { margin-top: 2px; }
    #company_chain_erp .text-button { min-height: 28px; font-size: 13px; padding-block: 3px; }
    :is(#european_markets, #company_chain_erp) .slide-guide { padding-block: 2px; }
    :is(#european_markets, #company_chain_erp) .slide-question-text { font-size: 14px; line-height: 1.2; }
    :is(#european_markets, #company_chain_erp) .slide-question-label { font-size: 10px; }
  }
}

@media screen and (orientation: landscape) and (max-height: 520px) and (max-width: 760px) {
  body.is-presenting {
    #european_markets, #company_chain_erp { padding-top: 50px; padding-bottom: 63px; }
  }
  body.is-presenting:has(.section-nav :is([data-section-slug="european_markets"], [data-section-slug="company_chain_erp"])[aria-current="true"]) {
    .site-header { display: flex; height: 46px; padding: 1px 8px; gap: 6px; }
    .wordmark-copy { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .wordmark { min-width: 36px; justify-content: center; }
    .chapter-nav { height: 44px; gap: 9px; }
    .section-picker:not([hidden]) { margin-inline-start: auto; }
    .section-options { inset-block-start: calc(100% + 4px); max-height: calc(100dvh - 58px); }
    .scroll-progress { top: 46px; }
  }
}

@media screen and (max-width: 760px), screen and (hover: none), screen and (pointer: coarse) {
  body.is-presenting :is(#european_markets, #company_chain_erp) {
    .slide-guide { position: relative; z-index: 3; }
    .presenter-tip-text:not([hidden]) {
      position: absolute;
      inset: auto 0 calc(100% - 1px) auto;
      width: min(100%, 56ch);
      max-height: calc(100dvh - var(--header) - 120px);
      overflow: auto;
      margin: 0;
      padding: 12px 14px;
      border: 1px solid var(--guide-border);
      border-radius: 5px;
      background: var(--guide-surface);
      box-shadow: 0 8px 24px #04191e38;
    }
  }
}

@media screen and (orientation: landscape) and (max-height: 350px) {
  body.is-presenting #company_chain_erp {
    .company-panels-grid { grid-template-rows: minmax(0, 1fr) auto auto auto; }
    .company-panel-body {
      grid-template-columns: minmax(0, 1fr) auto;
      grid-template-areas: "name details" "registration registration" "roles roles";
      align-items: center;
      padding: 4px 7px;
    }
    .company-card-heading { grid-area: name; }
    h3 { font-size: 17px; }
    .company-registration { grid-area: registration; }
    ul { grid-area: roles; grid-template-columns: 1fr; row-gap: 1px; }
    .company-panel-action { grid-area: details; margin: 0; }
    .text-button { min-height: 26px; font-size: 12px; }
  }
}
