/* Business Culture: a shared visual hierarchy over the existing landing.
   Content, section order, source styles and interactive behaviour stay intact. */
:root {
  --section-space: clamp(72px, 7.8vw, 112px);
  --section-title: clamp(44px, 4.2vw, 60px);
  --copy-size: 16px;
  --muted: #bdb9af;
}

/* Display / reading / navigation are three distinct typographic roles. */
h2, .evidence-grid h2 {
  font: 400 var(--section-title)/1.03 var(--display);
  letter-spacing: .012em;
  text-wrap: balance;
}
h3 { text-wrap: balance; }
.section { padding-block: var(--section-space); }
.section-heading { margin-bottom: 44px; }
.eyebrow { font-size: 11px; letter-spacing: .1em; margin-bottom: 20px; }
.section-lead, .method-copy .section-lead,
.program-heading .section-lead, .tariffs-heading .section-lead {
  font: 400 18px/1.7 var(--support);
  text-wrap: pretty;
}
.small-label, .speaker-label, .archive-kicker { font-size: 11px; }
.question-item p, .method-steps p, .team-composition p,
.topic-copy small, .topic-detail, .speaker-bio,
.archive-intro, .archive-film-copy p, .tariff-description,
.faq-item p, .location-panel p, .request-steps p {
  font: 400 var(--copy-size)/1.75 var(--support);
  text-wrap: pretty;
}
.editor-note, .program-bottom p, .draft-notice p, .package-note,
.calculator-discount, .calculator-result > p, .discount-rule p,
.price-schedule > p, .contact-pending, .form-test-notice p,
.checkbox-field, .form-footnote, .footer-brand p {
  font: 400 14px/1.7 var(--support);
}
.text-link { font-size: 13px; }
.button { min-height: 54px; font-size: 13px; }
.button, .nav-cta, input, select, textarea { border-radius: 0; }

/* A quieter year leaves the event name as the primary visual accent. */
.hero-inner { padding-top: 46px; min-height: 740px; }
.hero h1 { font-size: clamp(96px, 9.45vw, 136px); line-height: .94; }
.hero-year {
  top: 202px;
  font-size: clamp(110px, 10.4vw, 150px);
  letter-spacing: -.065em;
  padding-right: 5px;
}
.hero-year::after { margin-top: 24px; opacity: .5; }
.event-meta { font-size: 13px; gap: 20px; }
.event-meta time { font-size: 16px; }
.hero-eyebrow { margin-top: 32px; }
.hero-lead { font-size: 21px; line-height: 1.6; max-width: 620px; margin-top: 30px; }
.hero-audience { font: 400 15px/1.7 var(--support); max-width: 590px; }
.hero-actions { margin-top: 28px; }
.hero-organizers { font-size: 11px; line-height: 1.8; }
.hero-bottom { margin-top: 36px; font-size: 11px; letter-spacing: .025em; }
.hero-rail { opacity: .65; }
.header-inner { gap: 24px; }
.navigation { gap: 22px; }
.navigation a { font-size: 12px; }
.navigation .nav-cta { color: var(--black); background: var(--gold); padding: 11px 17px; }
.navigation .nav-cta:hover { color: var(--black); background: #e0bc47; border-color: #e0bc47; }

/* Shared editorial rhythm: readable copy, thin rules, measured spacing. */
.question-item { padding: 32px; grid-template-columns: 28px 1fr; gap: 18px; }
.question-item h3 { font-size: 22px; font-weight: 500; }
.question-item a { font-size: 12px; }
/* Paired cards share three content rows, including when titles wrap. */
@media (min-width: 701px) {
  .question-item {
    grid-row: span 3;
    grid-template-rows: subgrid;
    row-gap: 0;
  }
  .question-number { grid-row: 1; }
  .question-item > div {
    display: grid;
    grid-column: 2;
    grid-row: 1 / span 3;
    grid-template-rows: subgrid;
    row-gap: 0;
    min-width: 0;
  }
  .question-item h3, .question-item p { align-self: start; }
  .question-item a { align-self: end; justify-self: start; }
}
.method-section { padding-bottom: 56px; }
.method-steps { margin-top: 56px; }
.method-steps h3 { font-size: 21px; font-weight: 500; }
.method-steps p { max-width: 32ch; }
.program-heading { grid-template-columns: 1.4fr 1fr; gap: 64px; }
.program-heading h2 { max-width: 660px; }
.program-heading .section-lead { max-width: 370px; }
.program-topic summary { padding-block: 28px; }
.topic-copy strong { font-size: 25px; font-weight: 500; }
.topic-copy small { max-width: 72ch; margin-top: 10px; }
.topic-detail { max-width: 1050px; }
.program-bottom .text-link { font-size: 12px; }
.team-layout, .materials-teaser-layout, .request-layout { gap: clamp(40px, 5vw, 72px); }
.team-caption { font-size: 11px; }
.team-composition { padding: 28px; }
.team-person { font-size: 19px; }
.material-path { padding: 28px; }
.material-path > strong { font-size: 23px; font-weight: 500; }
.material-path > span:not(.small-label):not(.path-link) { font: 400 16px/1.7 var(--support); }
.material-path .path-link { font-size: 12px; }

/* Speaker and archive blocks share the same title and spacing scale. */
.evidence-grid { row-gap: 104px; }
.speaker-main { margin-top: 40px; padding-block: 36px 48px; gap: 64px; }
.speaker-main h3 { font-size: clamp(42px, 4.2vw, 60px); }
.speaker-expertise { font-size: 14px; }
.speaker-bio { max-width: 65ch; }
.speaker-colleagues { gap: 56px; }
.speaker-secondary { padding-top: 32px; gap: 24px; }
.speaker-secondary h3 { font-size: 25px; font-weight: 500; }
.archive-heading { gap: 56px; margin-bottom: 40px; }
.archive-film { padding-block: 36px; gap: 48px; }
.archive-film-copy h3 { font-size: clamp(34px, 3.1vw, 44px); }
.archive-gallery-heading { margin-top: 48px; }
.archive-gallery-heading h3 { font-size: 22px; font-weight: 500; }
.archive-gallery-heading > span, .archive-credit { font-size: 12px; }

/* Tariffs and form retain their existing interaction and business logic. */
.tariff-grid { gap: 22px; }
.tariff-card { padding: 30px 28px; }
.tariff-card h3 { font-size: 48px; }
.tariff-card .tariff-kicker, .tariff-card .price-label, .tariff-period { font-size: 11px; }
.tariff-description { min-height: 112px; margin-block: 24px; }
.tariff-card .button { font-size: 12px; }
.tariff-card .button [data-choice-label] { font: 600 12px/1.5 var(--body); }
.field-label, .calculator-result .button, .price-schedule, .discount-rule { font-size: 12px; }
.faq-layout { gap: 72px; }
.faq-item summary { font-size: 18px; font-weight: 500; padding-block: 24px; }
.faq-item p { padding-bottom: 26px; }
.request-steps { max-width: 430px; }
.form-panel { padding: 32px; }
.field > label, .contact-choice legend, .contact-choice label { font-size: 13px; }
.required-label, .optional-label { font-size: 11px; }
.field input:not([type=checkbox]):not([type=radio]), .field select, .field textarea {
  font: 400 16px/1.6 var(--support);
}
.checkbox-field small { font: 400 12px/1.65 var(--support); }
.form-footnote { font-size: 12px; }
.footer-links { font-size: 12px; }
.footer-bottom { font-size: 10px; }

@media (max-width: 1190px) {
  .brand-context { display: none; }
  .navigation { gap: 18px; }
  .hero h1 { font-size: 116px; }
  .hero-year { font-size: 124px; top: 196px; }
  .hero-lead { max-width: 570px; }
  .question-item { padding: 28px; }
  .program-heading, .tariffs-heading { gap: 40px; }
  .speaker-main { gap: 40px; }
  .speaker-colleagues, .archive-heading { gap: 40px; }
  .tariff-card { padding: 26px 22px; }
  .tariff-price { font-size: 35px; }
}
@media (max-width: 980px) {
  :root { --section-title: 48px; }
  .hero h1 { font-size: 104px; }
  .hero-year { font-size: 108px; top: 195px; }
  .navigation a { font-size: 13px; }
  .question-item { padding: 24px; grid-template-columns: 22px 1fr; gap: 12px; }
  .question-item h3, .method-steps h3 { font-size: 20px; }
  .method-steps article { padding-right: 14px; margin-right: 20px; }
  .team-layout, .materials-teaser-layout { gap: 32px; }
  .program-heading { grid-template-columns: 1.25fr 1fr; gap: 32px; }
  .evidence-grid { row-gap: 80px; }
  .tariff-grid { gap: 14px; }
  .tariff-card { padding: 24px 16px; }
  .tariff-price { font-size: 30px; }
  .tariff-card .tariff-kicker { min-height: 40px; }
  .tariff-description { font-size: 15px; min-height: 160px; }
  .tariff-card .button { padding-inline: 14px; gap: 8px; }
  .faq-layout { gap: 40px; }
  .request-layout { gap: 32px; }
  .form-panel { padding: 24px; }
}
@media (max-width: 700px) {
  :root { --section-space: 68px; --section-title: 44px; }
  .section-heading { margin-bottom: 32px; }
  .eyebrow { font-size: 10px; margin-bottom: 16px; letter-spacing: .075em; }
  .section-lead, .method-copy .section-lead,
  .program-heading .section-lead, .tariffs-heading .section-lead { font-size: 17px; }
  .hero-inner { padding-top: 30px; min-height: auto; }
  .hero h1 { font-size: clamp(66px, 16.5vw, 108px); line-height: .96; }
  .hero-year { position: static; font-size: clamp(64px, 15.5vw, 92px); line-height: 1.12; margin-top: 12px; }
  .event-meta { gap: 12px; font-size: 11px; }
  .event-meta time { font-size: 14px; }
  .hero-eyebrow { margin-top: 28px; }
  .hero-lead { font-size: 18px; line-height: 1.65; margin-top: 24px; }
  .hero-audience { font-size: 14px; }
  .hero-actions { gap: 12px; }
  .hero-actions .button { width: 100%; min-height: 52px; }
  .hero-organizers { font-size: 10px; gap: 10px 20px; }
  .hero-bottom { margin-top: 28px; padding-block: 22px; font-size: 10px; }
  .question-item { padding: 26px 20px; gap: 14px; }
  .question-item h3 { font-size: 21px; }
  .method-section { padding-bottom: 36px; }
  .method-steps { margin-top: 36px; }
  .method-steps article { margin: 0; padding: 24px 0; }
  .method-steps h3 { font-size: 20px; }
  .method-steps p { max-width: none; }
  .method-copy .text-link { font-size: 12px; }
  .program-heading { grid-template-columns: 1fr; gap: 0; }
  .program-heading .section-lead { max-width: none; }
  .editor-note { gap: 12px; font-size: 13px; }
  .program-topic summary { padding-block: 24px; gap: 12px; grid-template-columns: 28px minmax(0, 1fr) 22px; }
  .topic-copy { min-width: 0; }
  .topic-copy strong { font-size: 21px; overflow-wrap: anywhere; hyphens: auto; }
  .topic-copy small { font-size: 15px; }
  .topic-detail { font-size: 16px; padding-right: 0; }
  .program-bottom { gap: 20px; }
  .team-composition, .material-path { padding: 24px; }
  .team-person { font-size: 18px; }
  .material-path > strong { font-size: 22px; }
  .evidence-grid { row-gap: 72px; }
  .speaker-main { padding-top: 24px; padding-bottom: 36px; gap: 28px; margin-top: 32px; }
  .speaker-main h3 { font-size: 44px; }
  .speaker-colleagues { gap: 36px; }
  .speaker-secondary { gap: 24px; padding-top: 28px; }
  .archive-heading { gap: 22px; margin-bottom: 28px; }
  .archive-film { gap: 28px; padding-block: 28px; }
  .archive-film-copy h3 { font-size: 36px; }
  .archive-gallery-heading { gap: 12px; margin-top: 36px; }
  .archive-gallery-heading h3 { font-size: 21px; }
  .tariff-grid { gap: 20px; }
  .tariff-card { padding: 28px 24px; }
  .tariff-card .tariff-kicker { min-height: 0; }
  .tariff-description { min-height: 0; font-size: 16px; margin-block: 22px; }
  .tariff-price { font-size: 38px; }
  .tariff-card .button { min-height: 52px; }
  .draft-notice { gap: 12px; padding: 18px; }
  .draft-notice p { font-size: 13px; }
  .faq-layout { gap: 36px; }
  .faq-item summary { font-size: 17px; padding-block: 22px; }
  .request-layout { gap: 36px; }
  .form-panel { padding: 24px 20px; }
  .footer-links { font-size: 11px; }
  .footer-brand p { font-size: 13px; }
  .site-footer { padding-bottom: 104px; }
}
@media (max-width: 360px) {
  .event-meta { gap: 9px; font-size: 10px; }
  .event-meta time { font-size: 13px; }
  .form-panel { padding-inline: 16px; }
}

/* Context section: light palette, retaining the approved grid and alignment. */
.questions-section.section-light {
  --line: var(--light-line);
  --muted: #57544e;
}
.questions-section.section-light .question-number,
.questions-section.section-light .question-item a { color: #6c5412; }
.questions-section.section-light .question-item:hover,
.questions-section.section-light .question-item:focus-within { background: #e9e4d8; }
.questions-section.section-light .question-item a:hover { color: #080808; }
.questions-section.section-light a:focus-visible { outline-color: #6c5412; }

/* Program focus: emphasize the title without framing the whole row. */
.program-topic summary:focus-visible { outline: none; }
.program-topic summary:focus-visible .topic-copy strong { text-decoration: underline; text-decoration-color: #8a6b16; text-decoration-thickness: 1px; text-underline-offset: 6px; }
