/* Readability layer: preserves the premium visual identity while making
   long-form reading, scanning and presentation use more comfortable. */

body {
  font-size:16px;
  line-height:1.65;
}
body::before { display:none; }

:focus-visible {
  outline:3px solid var(--lux-bronze-light) !important;
  outline-offset:3px;
}

.presentation-page .slide {
  padding-top:112px;
  padding-bottom:58px;
}
.presentation-page h1 {
  max-width:920px;
  font-size:clamp(56px,7.2vw,102px);
  line-height:.94;
}
.presentation-page h2 {
  max-width:900px;
  font-size:clamp(42px,5vw,72px);
  line-height:1;
}
.presentation-page h3 {
  font-size:19px;
  line-height:1.35;
}
.presentation-page .lead {
  max-width:72ch;
  color:var(--muted);
  font-size:clamp(17px,1.45vw,21px);
  line-height:1.65;
}
.presentation-page .slide:nth-child(odd) {
  --ink:#faf8f3;
  --muted:#c4cad2;
  --card:#171b21;
  --line:rgba(255,255,255,.16);
}
.presentation-page .slide:nth-child(even) {
  --ink:#111318;
  --muted:#4e5662;
  --card:rgba(255,255,255,.92);
  --line:rgba(17,19,24,.15);
}
.presentation-page .card {
  box-shadow:0 18px 48px rgba(0,0,0,.12);
  backdrop-filter:none;
}
.presentation-page .slide:nth-child(odd) .card {
  box-shadow:0 20px 54px rgba(0,0,0,.25);
}
.presentation-page .card p,
.presentation-page .card li,
.presentation-page .plain-note,
.presentation-page .metric small,
.presentation-page .arch p,
.presentation-page .phase-card p {
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}
.presentation-page .priority p,
.presentation-page .branch-reason p,
.presentation-page .north-star p { font-size:14px; line-height:1.7; }
.presentation-page .metric span {
  color:var(--ink);
  font-size:12px;
}
.presentation-page .story-step p { font-size:13px; line-height:1.65; }
.presentation-page .definition {
  padding:18px 20px;
  color:var(--ink);
  font-size:14px;
  line-height:1.65;
}
.presentation-page .cover-panel p {
  font-size:27px;
  line-height:1.35;
}
.presentation-page .cover-panel strong { font-size:11px; }
.presentation-page .priority,
.presentation-page .metric,
.presentation-page .arch,
.presentation-page .issue-group,
.presentation-page .score { padding:24px; }
.presentation-page .phase-card { min-height:205px; }
.presentation-page .phase-card ul { font-size:12px; line-height:1.65; }
.presentation-page .mix { font-size:13px; }
.presentation-page .score-top h3 { font-size:15px; }
.presentation-page .decision-item p { font-size:13px; line-height:1.65; }
.presentation-page .detail-link {
  min-height:36px;
  font-size:11px;
  text-decoration:underline;
  text-decoration-color:rgba(199,154,91,.45);
  text-underline-offset:5px;
}
.presentation-page .keyboard-hint { display:none; }
.presentation-page .lux-cursor-glow { display:none; }

/* Keep the long report on consistently bright reading surfaces. */
.detail-page {
  --ink:#111318;
  --muted:#59616d;
  --card:#ffffff;
  --line:rgba(17,19,24,.14);
  font-size:16px;
}
.detail-page main > section,
.detail-page main > section:nth-of-type(3n+2) {
  --ink:#111318;
  --muted:#59616d;
  --card:#ffffff;
  --line:rgba(17,19,24,.14);
  color:var(--ink);
  background:
    radial-gradient(circle at 95% 0,rgba(199,154,91,.07),transparent 24%),
    linear-gradient(145deg,#fbf9f5,#f0ece4);
}
.detail-page main > section:nth-of-type(3n+2) .card {
  box-shadow:0 16px 46px rgba(0,0,0,.09);
}
.detail-page .hero {
  min-height:70vh;
}
.detail-page .hero h1 {
  max-width:850px;
  font-size:clamp(54px,6.4vw,88px);
  line-height:.96;
}
.detail-page .hero-copy {
  max-width:68ch;
  color:#c1c7d0;
  font-size:18px;
  line-height:1.75;
}
.detail-page .hero-card p,
.detail-page .hero-card li {
  color:#c1c7d0;
  font-size:14px;
  line-height:1.7;
}
.detail-page .hero-card h2 {
  font-size:32px;
  line-height:1.15;
}
.detail-page main > section {
  padding:52px;
}
.detail-page .section-head {
  gap:30px;
}
.detail-page .section-head h2 {
  max-width:760px;
  font-size:clamp(36px,4vw,56px);
  line-height:1.06;
}
.detail-page .section-note {
  max-width:52ch;
  color:var(--muted);
  font-size:14px;
  line-height:1.75;
}
.detail-page h3 {
  color:var(--ink);
  font-size:19px;
  line-height:1.4;
}
.detail-page p,
.detail-page li,
.detail-page dd,
.detail-page td {
  color:var(--muted);
  line-height:1.7;
}
.detail-page .card {
  color:var(--ink);
  background:#fff;
  box-shadow:0 12px 38px rgba(0,0,0,.08);
  backdrop-filter:none;
}
.detail-page .exec-value {
  color:var(--ink);
  font-size:20px;
  line-height:1.4;
}
.detail-page .priority-card p,
.detail-page .channel p,
.detail-page .content-item p,
.detail-page .issue p,
.detail-page .task p {
  font-size:14px;
  line-height:1.7;
}
.detail-page .control {
  color:#15181d;
  background:#fff;
  font-size:13px;
}
.detail-page table {
  min-width:720px;
  background:#fff;
}
.detail-page .table-wrap {
  overflow-x:auto;
  border-radius:20px;
}
.detail-page th {
  color:#745028;
  background:#f3eadc;
  font-size:10px;
}
.detail-page td {
  color:#424a55;
  background:#fff;
  font-size:13px;
}
.detail-page details {
  color:var(--ink);
  background:#fff;
}
.detail-page details p { color:var(--muted); }
.detail-page .source span { color:var(--muted); }
.detail-page code {
  color:#623f18;
  background:#f2e8d8;
}
.detail-page .lux-cursor-glow { display:none; }

@media (max-height:820px) and (min-width:901px) {
  .presentation-page .slide { padding-top:100px; padding-bottom:38px; }
  .presentation-page h1 { font-size:clamp(54px,6.4vw,84px); }
  .presentation-page h2 { font-size:clamp(40px,4.4vw,60px); }
  .presentation-page .lead { margin-bottom:18px; font-size:17px; }
  .presentation-page .metric-grid,
  .presentation-page .priority-grid,
  .presentation-page .timeline,
  .presentation-page .architecture,
  .presentation-page .branch-grid,
  .presentation-page .issue-groups,
  .presentation-page .mix-grid,
  .presentation-page .score-grid,
  .presentation-page .decision-grid { margin-top:22px; }
}

@media (max-width:900px) {
  .presentation-page .slide { padding:98px 22px 54px; }
  .presentation-page h1 { font-size:clamp(48px,13vw,70px); }
  .presentation-page h2 { font-size:clamp(38px,10vw,58px); }
  .presentation-page .lead { font-size:17px; }
  .detail-page main > section { padding:32px 22px; }
  .detail-page .section-head { gap:18px; }
}

@media (max-width:560px) {
  body { font-size:15px; }
  .presentation-page h1 { font-size:46px; }
  .presentation-page h2 { font-size:38px; }
  .presentation-page .cover-panel p { font-size:23px; }
  .detail-page .hero h1 { font-size:46px; }
  .detail-page .hero-copy { font-size:16px; }
  .detail-page .section-head h2 { font-size:35px; }
}
