@charset "UTF-8";

/* The title stays in its own layer. All links belong to the moving content,
   so fading the title never leaves an invisible control in the tab order. */
.home-opening, .home-flow {
  --hero-viewport: calc(100svh - var(--header-height));
  --hero-lower-height: 220px;
}
.home-opening { --hero-scale: 1; --hero-opacity: 1; position: relative; }
.home-opening .home-hero { display: block; min-height: 0; padding-block: clamp(64px, 8vw, 110px) 48px; }
.home-flow { position: relative; z-index: 1; }
.hero-lower { display: flex; align-items: center; min-height: var(--hero-lower-height); padding-block: 24px; background: linear-gradient(110deg, #eeeee8 30%, #e7e8e0); }
.hero-lower .hero-copy { margin: 0 0 24px; }
.hero-lower .hero-foot { margin-top: 0; }
.home-content { position: relative; background: var(--paper) url("assets/brand-pattern.svg") 100% 0 / 1080px 1080px repeat-y; }

.video-scene .scene-art { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 12px; padding: 20px 24px; background: #171e1c; }
.video-scene .scene-art::after { display: none; }
.video-scene video { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; background: #0b100e; }
.video-scene-heading, .video-scene-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #edf1e7; }
.video-scene-heading p, .video-scene-footer p { margin: 0; }
.video-scene-heading > span { font-size: 12px; color: #bfc8ba; }
.video-scene-footer { font-size: 12px; color: #bfc8ba; }
.video-scene-footer a { display: inline-flex; align-items: center; gap: 14px; min-height: 36px; color: #edf1e7; white-space: nowrap; }
.video-scene :focus-visible { outline-color: #ffb66d; }

.home-chapters { padding-block: 38px 42px; border-block: 1px solid var(--line); background: #e5e6de; }
.home-chapters > .container > .eyebrow { color: var(--muted); margin-bottom: 24px; }
.home-chapters ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; list-style: none; padding: 0; margin: 0; }
.home-chapters li { border-top: 1px solid #c9cdc1; }
.home-chapters a { display: flex; align-items: center; gap: 14px; min-height: 68px; padding-block: 16px; font-size: 15px; }
.chapter-number { color: var(--accent-text); font: 11px/1.5 Consolas, monospace; }
.chapter-arrow { margin-left: auto; color: #68705e; font-size: 19px; transition: transform .2s ease; }
.home-chapters a:hover { color: var(--accent-text); }
.home-chapters a:hover .chapter-arrow { transform: translate(2px, -2px); color: var(--accent-text); }

.editorial-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1fr); gap: clamp(36px, 5vw, 90px); align-items: start; }
.intro-grid > *, .editorial-grid > * { min-width: 0; }
.section-pin { align-self: start; }
.section-pin .section-heading { font-size: clamp(36px, calc((100vw - var(--sidebar-width)) * .047), 64px); }
.section-pin .text-link { margin-top: 30px; }
.editorial-grid .service-row { grid-template-columns: 26px minmax(0, 1fr) 36px; gap: 14px; min-height: 112px; }
.editorial-grid .service-row h3 { font-size: clamp(22px, calc((100vw - var(--sidebar-width)) * .025), 32px); }
.editorial-grid .service-arrow { width: 36px; height: 36px; }
.editorial-grid .service-row:hover { padding-inline: 8px; }
.seminars .editorial-grid .richtext { columns: auto; margin-top: 0; }
.news-home .editorial-grid .richtext { width: 100%; margin: 0; }
.news-home .editorial-grid .news-item > summary { grid-template-columns: minmax(0, 1fr) 24px; gap: 8px 14px; }
.news-home .editorial-grid .news-date { grid-column: 1; }
.news-home .editorial-grid .news-title { grid-column: 1; font-size: 22px; }
.news-home .editorial-grid .news-item > summary::after { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.news-home .editorial-grid .news-body { padding: 0 0 28px; }

/* A short viewport or reduced-motion setting keeps the ordinary page flow.
   No overflow or transforms on the content ancestors: section pins stay native. */
@media (min-height: 700px) and (prefers-reduced-motion: no-preference) {
  .motion-ready .home-opening { height: calc(var(--hero-viewport) * 2); }
  .motion-ready .home-opening .home-hero { position: sticky; top: var(--header-height); height: var(--hero-viewport); padding: 0; overflow: clip; }
  .motion-ready .home-hero > .container { height: calc(var(--hero-viewport) - var(--hero-lower-height)); display: flex; align-items: center; padding-block: 32px; }
  .motion-ready .home-hero .hero-title { width: 100%; transform: scale(var(--hero-scale)); transform-origin: 25% 50%; opacity: var(--hero-opacity); will-change: transform, opacity; }
  .motion-ready .home-hero .hero-brand-signal { transform: scale(var(--hero-scale)); opacity: calc(var(--hero-opacity) * .6); }
  .motion-ready .home-flow { margin-top: calc(0px - var(--hero-viewport) - var(--hero-lower-height)); }
}
@media (min-width: 851px) and (min-height: 700px) and (prefers-reduced-motion: no-preference) {
  .section-pin { position: sticky; top: calc(var(--header-height) + 64px); }
}
@media (max-width: 1000px) {
  .home-chapters ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .editorial-grid { grid-template-columns: 1fr; gap: 38px; }
  .section-pin .section-heading { font-size: clamp(38px, 6.6vw, 54px); }
  .editorial-grid .service-row { min-height: 100px; }
}
@media (max-width: 540px) {
  .video-scene .scene-art { padding: 16px 12px; }
  .video-scene-heading .eyebrow { font-size: 9px; }
  .video-scene-heading > span { font-size: 10px; }
  .video-scene-footer { flex-wrap: wrap; gap: 4px 14px; font-size: 11px; }
  .home-opening, .home-flow { --hero-lower-height: 280px; }
  .home-chapters { padding-block: 28px; }
  .home-chapters ol { grid-template-columns: 1fr; }
  .home-chapters a { min-height: 57px; font-size: 15px; }
  .section-pin .section-heading { font-size: 42px; }
  .editorial-grid .service-row:hover { padding-inline: 0; }
  .news-home .editorial-grid .news-title { font-size: 20px; }
}
@media (max-height: 699px), (prefers-reduced-motion: reduce) {
  .environment-heading { position: static; }
}
@media print {
  .home-opening, .motion-ready .home-opening { height: auto; }
  .home-opening .home-hero, .motion-ready .home-opening .home-hero { position: relative; top: auto; height: auto; padding-block: 24px; }
  .motion-ready .home-hero > .container { height: auto; }
  .motion-ready .home-hero .hero-title { transform: none; opacity: 1; }
  .home-flow, .motion-ready .home-flow { margin-top: 0; }
  .home-content, .hero-lower { background: white; }
  .hero-lower, .home-chapters { display: none; }
  .editorial-grid { display: block; }
  .section-pin, .environment-heading { position: static; }
}
