/* MedneSSM — restrained editorial type layer. Loaded after styles.css. */
:root {
  --body: 'DM Sans', sans-serif;
  --display: 'DM Sans', sans-serif;
  --type-ink: #142332;
  --type-muted: #5b6b78;
}

body {
  font-family: var(--body);
  font-weight: 400;
  line-height: 1.5;
}

.brand-word,
.sheet-logo,
.dash-brand,
.finale-bottom > span:first-child {
  font-family: var(--body);
  font-weight: 650;
  letter-spacing: -.045em;
}
.brand-word { font-size: 23px; }
.header-center,
.index-toggle,
.scene-eyebrow,
.scene-tag,
.scene-floor,
.visual-caption,
.finale-bottom,
.focus-kicker,
.focus-topic,
.focus-demo,
.curtain-eyebrow,
.index-eyebrow {
  font-family: var(--body);
  font-weight: 600;
  letter-spacing: .055em;
}
.header-center { font-size: 11px; }
.index-toggle { font-size: 12px; min-height: 44px; }
.scene-eyebrow,
.scene-tag { font-size: 12px; }
.scene-tag { margin-top: 28px; }
.tag-star { font-size: 18px; }

.mega-title,
.chapter-title,
.finale-title,
.index-inner h2 {
  font-family: var(--body);
  font-weight: 650;
  font-synthesis: none;
  text-transform: none;
  letter-spacing: -.045em;
}
.mega-title {
  font-size: clamp(64px, 6.7vw, 104px);
  line-height: 1.035;
  max-width: 830px;
}
.mega-title em:after { display: none; }
.chapter-title,
.scene-comprendi .chapter-title {
  font-size: clamp(58px, 5.7vw, 82px);
  line-height: 1.055;
  margin-top: 28px;
}
.finale-title {
  font-size: clamp(70px, 7.8vw, 116px);
  line-height: 1.035;
  max-width: 1100px;
}
.index-inner h2 {
  font-size: clamp(62px, 6.7vw, 96px);
  line-height: 1.04;
  overflow-wrap: normal;
}
.intro-lead,
.chapter-lead,
.finale-lead {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.58;
  letter-spacing: -.01em;
}
.intro-lead { margin: 32px 0 26px; max-width: 560px; }
.chapter-lead { margin-top: 26px; max-width: 510px; }
.finale-lead { margin: 29px 0 25px; }
.primary-action,
.finale-action {
  min-height: 48px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .015em;
  box-shadow: none;
}
.primary-action:hover,
.finale-action:hover { box-shadow: none; }

/* Keep the cinematic motion, but let one clear visual carry each frame. */
.scene-intro,
.scene-finale { background-image: none; }
.intro-disc,
.intro-cross,
.intro-ghost,
.art-annotation,
.scene-ghost-number,
.scene-floor,
.dashboard-wrap:before,
.sheet-back,
.improve-visual:before,
.finale-orbit,
.finale-spark { display: none; }
.signal-graphic { inset: 14% -8% 5% -5%; width: 112%; height: 80%; filter: none; }
.signal-shadow { stroke-width: 10; stroke: rgba(253,185,84,.1); }
.intro-art { height: min(52vh, 500px); }
.question-sheet,
.dashboard { transform: none; border-radius: 4px; box-shadow: 0 16px 50px rgba(12,24,37,.1); }
.question-sheet { width: min(100%, 545px); }
.improve-visual { min-height: 0; box-shadow: none; }
.scene-migliora { background: #efeae1; }
.scene-migliora .chapter-title em { color: #a46d21; }
.scene-migliora .chapter-lead { color: #4c5965; }
.scene-migliora .scene-eyebrow,
.scene-migliora .scene-tag { color: #8d5c1c; }
.scene-migliora .accent-rule { background: #8d5c1c; }

/* The actual product UI must remain legible at its displayed size. */
.sheet-logo { font-size: 17px; }
.sheet-demo,
.sheet-progress,
.sheet-kicker,
.sheet-footer,
.visual-caption,
.dash-demo,
.dash-kicker,
.chart-axis,
.insight div:nth-child(2) > span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .035em;
}
.sheet-progress { padding-top: 18px; }
.sheet-kicker { margin-top: 20px; }
.question-sheet h3 {
  font-size: 25px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.035em;
}
.sheet-description { font-size: 14px; line-height: 1.5; }
.answer-line { min-height: 44px; height: auto; font-size: 13px; }
.answer-line span { width: 26px; height: 26px; font-size: 11px; }
.sheet-footer { min-height: 46px; }
.dash-content { padding: 22px 25px 25px; }
.dash-heading h3 { font-size: 25px; font-weight: 650; letter-spacing: -.04em; }
.dash-summary div span { font-size: 12px; }
.dash-summary strong { font-size: 13px; font-weight: 600; }
.dash-avatar { font-size: 12px; }
.subject-heading h4 { font-size: 17px; font-weight: 650; letter-spacing: -.035em; }
.subject-tabs { gap: 12px; }
.subject-tab {
  min-height: 42px;
  padding: 9px 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -.01em;
}
.subject-row { grid-template-columns: 105px minmax(0,1fr) 38px; gap: 9px; }
.subject-name,
.subject-score { font-size: 12px; font-weight: 600; }
.subject-list { min-height: 135px; }
.insight { padding: 13px; }
.insight strong { font-size: 12px; font-weight: 650; }
.insight p { font-size: 12px; line-height: 1.4; }
.insight-icon { font-size: 16px; }

.focus-kicker,
.focus-topic { font-size: 12px; }
.focus-number {
  font-family: Round8, 'DM Sans', sans-serif;
  font-size: clamp(125px, 13.5vw, 190px);
  line-height: .95;
  letter-spacing: -.025em;
}
.focus-detail {
  font-family: var(--body);
  font-size: clamp(32px, 3.4vw, 48px);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.focus-path { font-family: var(--body); font-size: 18px; }
.path-node b { font-size: 10px; font-weight: 600; letter-spacing: .015em; }
.focus-demo { font-size: 10px; }

.deck-footer button {
  min-height: 44px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .015em;
}
.deck-status { font-size: 11px; font-weight: 600; letter-spacing: .04em; }
.deck-status strong { font-size: 12px; font-weight: 600; letter-spacing: 0; }
.curtain-eyebrow { font-size: 12px; }
.curtain-number { font-family: Round8, 'DM Sans', sans-serif; }
.curtain-title {
  font-family: var(--body);
  font-size: clamp(82px, 12vw, 165px);
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.045em;
}
.index-eyebrow { font-size: 12px; }
.index-list button { min-height: 68px; }
.index-list button span {
  font-family: Round8, 'DM Sans', sans-serif;
  font-size: 29px;
}
.index-list button strong {
  font-family: var(--body);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -.03em;
}

@media (max-width: 800px) {
  .mega-title { font-size: clamp(50px, 8.8vw, 72px); }
  .chapter-title,
  .scene-comprendi .chapter-title { font-size: clamp(46px, 7.8vw, 62px); }
  .finale-title { font-size: clamp(58px, 9vw, 80px); }
  .index-inner h2 { font-size: clamp(54px, 9vw, 76px); }
  .intro-art { height: 300px; min-height: 300px; }
  .improve-layout { gap: 34px; }
  .improve-visual { min-height: 0; }
}

@media (max-width: 520px) {
  .brand-word { font-size: 20px; }
  .index-toggle { font-size: 12px; }
  .scene-eyebrow,
  .scene-tag { font-size: 11px; letter-spacing: .035em; }
  .mega-title { font-size: clamp(39px, 10.6vw, 54px); line-height: 1.07; }
  .chapter-title,
  .scene-comprendi .chapter-title { font-size: clamp(37px, 9.8vw, 49px); line-height: 1.07; }
  .finale-title { font-size: clamp(42px, 11vw, 56px); line-height: 1.07; }
  .index-inner h2 { font-size: clamp(41px, 10.5vw, 56px); line-height: 1.07; }
  .intro-lead,
  .chapter-lead,
  .finale-lead { font-size: 16px; line-height: 1.58; }
  .intro-art { height: 235px; min-height: 235px; }
  .signal-graphic { inset: 0 -15% 0 -8%; width: 125%; height: 100%; }
  .question-sheet { width: 100%; }
  .sheet-header { padding: 14px 16px; }
  .sheet-progress { padding: 16px 17px 10px; }
  .sheet-kicker { margin: 18px 17px 8px; }
  .question-sheet h3 { font-size: 21px; line-height: 1.24; }
  .sheet-description { font-size: 13px; margin-bottom: 14px; }
  .answer-line { min-height: 44px; margin-top: 5px; margin-bottom: 5px; }
  .sheet-footer { padding: 14px 17px; }
  .dash-content { padding: 17px 16px; }
  .dash-heading h3 { font-size: 21px; }
  .dash-summary strong { font-size: 12px; }
  .subject-tabs { gap: 5px; }
  .subject-tab { font-size: 11px; min-height: 40px; }
  .subject-row { grid-template-columns: 93px minmax(0,1fr) 34px; gap: 6px; }
  .subject-name,
  .subject-score { font-size: 11px; }
  .insight strong,
  .insight p { font-size: 11px; }
  .focus-number { font-size: clamp(125px, 36vw, 165px); }
  .focus-detail { font-size: clamp(31px, 8vw, 39px); }
  .focus-path { font-size: 17px; }
  .focus-demo { font-size: 9px; }
  .deck-footer button { font-size: 11px; }
  .deck-status { font-size: 10px; }
  .deck-status strong { font-size: 11px; }
  .curtain-title { font-size: clamp(61px, 14vw, 78px); }
  .curtain-number { font-size: 220px; }
  .index-list button { min-height: 60px; }
  .index-list button strong { font-size: 20px; }
}

@media (max-width: 360px) {
  .mega-title { font-size: 38px; }
  .chapter-title,
  .scene-comprendi .chapter-title { font-size: 36px; }
  .finale-title { font-size: 41px; }
  .index-inner h2 { font-size: 40px; }
  .brand-word { font-size: 18px; }
  .sheet-demo { font-size: 10px; }
  .subject-tab { font-size: 10px; }
}
