/* Compact reading rhythm; archive palette, type, artwork and tariffs stay intact. */
.request-layout { align-items:start; row-gap:24px; }
.request-intro { grid-column:1; grid-row:1; }
.request-details { grid-column:1; grid-row:2; min-width:0; }
.request-layout > .form-panel { grid-column:2; grid-row:1 / span 2; min-width:0; }
#participation-form { scroll-margin-top:110px; }
#participation-form:focus { outline:none; }
#participation-form:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.request-details .request-steps { margin-top:0; }
.speaker-short { display:none; }
.mobile-details > summary { display:none; }
.speaker-details { grid-column:1 / -1; min-width:0; }
#speakers .speaker-secondary .speaker-details { margin-top:28px; }
#speakers .speaker-details .speaker-bio { margin-top:0; }
#speakers .speaker-details .speaker-bio + .speaker-bio { margin-top:18px; }
.mobile-details > summary span { margin-left:auto; font:400 22px/1 var(--support); transition:transform .2s; }
.mobile-details[open] > summary span { transform:rotate(45deg); }

@media (max-width:900px) {
  .hero-inner { min-height:0; }
  #hero-title::after { height:clamp(150px,40vw,210px); margin-bottom:12px; }
}

@media (max-width:800px) {
  .request-layout { grid-template-columns:minmax(0,1fr); row-gap:24px; }
  .request-intro, .request-details, .request-layout > .form-panel { grid-column:1; grid-row:auto; }
  #participation-form { scroll-margin-top:86px; }
  .mobile-details > summary { display:flex; align-items:center; gap:12px; min-height:44px; cursor:pointer; list-style:none; }
  .mobile-details > summary::-webkit-details-marker { display:none; }
  .mobile-details > summary:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
  #speakers .speaker-short { display:block; color:#42423a; font:400 15px/1.65 var(--support); margin:12px 0 0; grid-column:1 / -1; }
  #speakers .speaker-details, #speakers .speaker-secondary .speaker-details { margin-top:8px; }
  .speaker-details > summary { color:#78601f; font:500 12px/1.5 var(--body); border-bottom:1px solid var(--speaker-line); }
  .speaker-details-content { padding-top:16px; }
  #speakers .speaker-main { gap:20px; margin-top:24px; padding-bottom:28px; }
  #speakers .speaker-main .speaker-photo img { aspect-ratio:3 / 2; }
  #speakers .speaker-main h3 { font-size:44px; max-width:none; padding-bottom:14px; }
  #speakers .speaker-label { margin-bottom:12px; }
  #speakers .speaker-expertise { margin:12px 0 0; }
  #speakers .speaker-fact { padding:12px 14px; }
  #speakers .speaker-fact strong { font-size:38px; }
  #speakers .speaker-colleagues { gap:28px; margin-top:28px; }
  #speakers .speaker-secondary + .speaker-secondary { padding-top:28px; }
  .request-extra { margin-bottom:18px; border-block:1px solid var(--line); }
  .request-extra > summary { padding-block:10px; color:var(--gold); font:500 11px/1.5 var(--body); }
  .request-extra-content { padding-top:12px; }
  .request-details .request-steps { max-width:none; }
  .request-details .request-steps > div { padding-block:12px; gap:14px; }
  .request-details .organizer-contacts { margin-top:24px; padding-top:20px; }
  .request-details .request-landscape { margin-top:24px; height:180px; min-height:0; }
  .request-details .request-landscape img { width:100%; height:100%; object-fit:cover; }
}

@media (max-width:700px) {
  body:not(.internal-page) { --section-space:40px; }
  .section-heading { margin-bottom:28px; }
  .section-lead { margin-top:16px; }
  #questions .question-item { padding:18px 0; }
  #questions .question-item p { margin-top:10px; }
  #questions .question-item a { margin-top:6px; }
  .method-steps { margin-top:24px; }
  .method-steps article { padding-block:16px; }
  .program-topic summary { padding-block:16px; }
  .program-bottom { margin-top:24px; gap:18px; }
  .team-layout, .materials-teaser-layout { gap:24px; }
  .team-person { padding-block:14px; }
  .team-composition { padding:20px; }
  #speakers { padding-block:40px; }
  .evidence-grid { row-gap:36px; }
  .archive-film { padding-block:24px; gap:20px; }
  .request-intro .section-lead { margin-top:16px; }
  .form-panel { padding:20px 16px; }
  .form-test-notice { padding-bottom:14px; }
  .form-summary { padding-block:14px; margin-bottom:18px; }
  /* Keep the supplied prices and calculator; package descriptions come from content. */
  #tariffs { padding-block:56px; }
  #tariffs .section-heading { margin-bottom:44px; }
  #tariffs .section-lead { margin-top:18px; }
}

@media (prefers-reduced-motion:reduce) {
  .mobile-details > summary span { transition:none; }
}

.tariff-card .tariff-description { flex:0 0 auto; min-height:4.8em; margin-block:18px 12px; }
.tariff-details { flex:1; min-width:0; }
.tariff-features { margin:0; padding-left:1.15em; color:var(--ivory); font-size:14px; line-height:1.65; }
.tariff-features li + li { margin-top:6px; }
.tariff-features li::marker { color:var(--gold); }
@media (max-width:800px) {
  .tariff-card .tariff-description { min-height:0; margin-bottom:8px; }
  .tariff-details > summary { color:var(--gold); font-size:14px; }
  .tariff-features { margin-top:10px; font-size:15px; }
}
