@font-face {
  font-family: "GT Sectra";
  src: url("../fonts/GT-Sectra-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GT America Standard";
  src: url("../fonts/GT-America-Standard-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GT America Standard";
  src: url("../fonts/GT-America-Standard-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GT America Mono";
  src: url("../fonts/GT-America-Mono-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --brand: #1b5faf;
  --brand-deep: #143f79;
  --brand-soft: #2a70be;
  --accent: #f6ec00;
  --paper: #fbf7f1;
  --paper-soft: #f4ede3;
  --paper-warm: #efe6d8;
  --mist: #edf2f6;
  --ink: #141921;
  --ink-soft: rgba(20, 25, 33, 0.82);
  --ink-faint: rgba(20, 25, 33, 0.58);
  --line: rgba(20, 25, 33, 0.12);
  --line-strong: rgba(20, 25, 33, 0.18);
  --white: #fff;
  --max: 1240px;
  --pad: clamp(1.35rem, 2vw, 1.7rem);
  --pad-lg: clamp(1.75rem, 3vw, 2.8rem);
}




.site-preloader { position: fixed; inset: 0; z-index: 9999; display: none; }
html.preloader-active .site-preloader { display: grid; }
html.preloader-active,
html.preloader-active body { overflow: hidden; }
html.preloader-active body > *:not(.site-preloader) { visibility: hidden; }
html.preloader-active .site-preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  background: linear-gradient(145deg, #0d2340 0%, #143f79 38%, #1b5faf 68%, #f3ecdf 130%);
  transition: opacity .9s cubic-bezier(.22,1,.36,1), visibility .9s ease;
}
.site-preloader.is-leaving { opacity: 0; visibility: hidden; pointer-events: none; }
.site-preloader__bg,
.site-preloader__veil {
  position: absolute;
  inset: 0;
}
.site-preloader__bg {
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.05) 16%, rgba(255,255,255,0) 34%),
    radial-gradient(circle at 82% 18%, rgba(246,236,0,0.22) 0%, rgba(246,236,0,0.10) 18%, rgba(246,236,0,0) 34%),
    radial-gradient(circle at 20% 76%, rgba(18,40,79,0.55) 0%, rgba(18,40,79,0.18) 34%, rgba(18,40,79,0) 56%),
    linear-gradient(145deg, #0c1f38 0%, #123566 42%, #1b5faf 74%, #efe7d8 126%);
  transform: scale(1.12);
}

.site-preloader__veil--blue {
  background:
    radial-gradient(circle at 18% 24%, rgba(27,95,175,0.9) 0%, rgba(27,95,175,0.5) 24%, rgba(27,95,175,0.0) 48%),
    radial-gradient(circle at 28% 72%, rgba(11,29,56,0.72) 0%, rgba(11,29,56,0.25) 30%, rgba(11,29,56,0) 52%),
    linear-gradient(105deg, rgba(27,95,175,0.32) 0%, rgba(27,95,175,0.12) 40%, rgba(27,95,175,0) 72%);
  mix-blend-mode: screen;
}

.site-preloader__veil--yellow {
  background:
    radial-gradient(circle at 76% 32%, rgba(246,236,0,0.38) 0%, rgba(246,236,0,0.16) 20%, rgba(246,236,0,0) 42%),
    linear-gradient(295deg, rgba(246,236,0,0.12) 0%, rgba(246,236,0,0.03) 34%, rgba(246,236,0,0) 58%);
  mix-blend-mode: screen;
}

.site-preloader__field {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 1rem;
  justify-items: center;
  width: min(60rem, calc(100vw - 3rem));
  padding: 0 1rem;
  opacity: 0;
}
.site-preloader__field::before,
.site-preloader__field::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.site-preloader__field::before {
  width: clamp(16rem, 34vw, 28rem);
  height: clamp(16rem, 34vw, 28rem);
  border-radius: 999px;
  background: radial-gradient(circle, rgba(246,236,0,0.20) 0%, rgba(246,236,0,0.08) 28%, rgba(246,236,0,0) 68%);
  filter: blur(24px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -52%);
}
.site-preloader__field::after {
  width: min(40rem, 78vw);
  height: 1px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -190%);
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.28) 24%, rgba(255,255,255,0.28) 76%, rgba(255,255,255,0) 100%);
}
.site-preloader__spotlight,
.site-preloader__echo {
  position: absolute;
  inset: auto 0;
  pointer-events: none;
}
.site-preloader__spotlight {
  inset: 0;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.08) 16%, rgba(255,255,255,0) 34%),
    radial-gradient(circle at 50% 50%, rgba(246,236,0,0.26) 0%, rgba(246,236,0,0.12) 18%, rgba(246,236,0,0) 38%),
    radial-gradient(circle at 50% 50%, rgba(27,95,175,0.28) 0%, rgba(27,95,175,0.10) 24%, rgba(27,95,175,0) 46%);
  mix-blend-mode: screen;
  opacity: 0;
}
.site-preloader__echo {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -53%);
  width: 100%;
  text-align: center;
  font-family: "GT America Standard", Inter, sans-serif;
  font-size: clamp(4.2rem, 13vw, 10rem);
  font-weight: 700;
  letter-spacing: -0.06em;
  color: rgba(255,255,255,0.10);
  opacity: 0;
  filter: blur(10px);
}
.site-preloader__rule { display: none !important; }
.pre-char { will-change: transform, opacity, filter; }
.site-preloader__label {
  margin: 0;
  font-family: "GT America Standard", Inter, sans-serif;
  font-size: clamp(3.4rem, 8.8vw, 7.6rem);
  letter-spacing: -0.05em;
  line-height: 0.92;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  text-wrap: balance;
  opacity: 0;
  visibility: hidden;
  text-shadow: 0 0 22px rgba(8, 16, 28, 0.18);
}

.site-preloader__meta {
  margin: 0;
  font-family: "GT America Standard", Inter, sans-serif;
  font-size: 0.84rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.74);
  text-align: center;
  opacity: 0;
  visibility: hidden;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: linear-gradient(180deg, #fbf8f3 0%, #f8f3ea 100%);
  font-family: "GT America Standard", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 18px;
  line-height: 1.68;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a {
  color: var(--ink);
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
}
a:hover { color: var(--brand-deep); }
p, li { max-width: 68ch; }

.site-shell {
  width: min(calc(100% - 2rem), var(--max));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(251, 247, 241, 0.88);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(20, 25, 33, 0.08);
}
.header-row {
  min-height: 74px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.5rem;
}
.brand-wordmark {
  text-decoration: none;
  font-size: .98rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.site-nav { justify-self: end; }
.nav-stack {
  display: flex;
  gap: 1.15rem;
  align-items: center;
}
.nav-link,
.footer-nav a {
  position: relative;
  text-decoration: none;
  color: var(--ink-soft);
  font-size: .97rem;
}
.nav-link::after,
.footer-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.22rem;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease;
}
.nav-link:hover,
.nav-link:focus-visible,
.nav-link[aria-current="page"] { color: var(--ink); }
.footer-nav a:hover,
.footer-nav a:focus-visible,
.footer-nav a[aria-current="page"] { color: rgba(255,255,255,1); }
.nav-link:hover::after,
.nav-link:focus-visible::after,
.nav-link[aria-current="page"]::after,
.footer-nav a:hover::after,
.footer-nav a:focus-visible::after,
.footer-nav a[aria-current="page"]::after { transform: scaleX(1); }
.mobile-toggle {
  display: none;
  justify-self: end;
  font: inherit;
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--line);
  padding: .55rem .75rem;
}

.hero {
  position: relative;
  overflow: clip;
  padding: clamp(2.7rem, 6vw, 5rem) 0 clamp(2.15rem, 4vw, 3rem);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 100%;
  z-index: 0;
}
.hero-home::before {
  background:
    radial-gradient(56rem 34rem at 82% 18%, rgba(246,236,0,.26), rgba(246,236,0,0) 54%),
    radial-gradient(30rem 22rem at 18% 70%, rgba(246,236,0,.10), rgba(246,236,0,0) 44%),
    linear-gradient(145deg, rgba(27,95,175,.66) 0%, rgba(28,98,177,.60) 24%, rgba(36,112,190,.34) 44%, rgba(247,243,236,.24) 66%, rgba(247,243,236,0) 100%);
}
.page-hero::before {
  background:
    radial-gradient(36rem 24rem at 82% 18%, rgba(246,236,0,.16), rgba(246,236,0,0) 46%),
    linear-gradient(145deg, rgba(27,95,175,.84) 0%, rgba(27,95,175,.76) 40%, rgba(20,63,121,.78) 100%);
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 36%;
  background: linear-gradient(180deg, rgba(251,247,241,0), rgba(251,247,241,.84) 78%, rgba(251,247,241,1));
  z-index: 0;
}
.hero-shell,
.hero-grid,
.page-hero-panel { position: relative; z-index: 1; }

.parallax-soft {
  will-change: transform;
  transform: translate3d(0, var(--parallax-y, 0px), 0);
}
.parallax-slow { --parallax-strength: .08; }
.parallax-fast { --parallax-strength: .14; }


.hero-grid {
  display: grid;
  gap: 1.15rem;
  align-items: stretch;
}
.hero-grid-home {
  grid-template-columns: minmax(0, 1.3fr) minmax(18rem, .78fr);
}
.hero-main,
.hero-side,
.page-hero-panel {
  background: rgba(251,247,241,.985);
  border: 1px solid rgba(20,25,33,.09);
  padding: var(--pad-lg);
}
.hero-main-home {
  display: grid;
  gap: 1.15rem;
  align-content: start;
}
.hero-side-home {
  display: grid;
  align-content: start;
  gap: 1.4rem;
  color: rgba(255,255,255,.93);
  background:
    radial-gradient(24rem 16rem at 80% 18%, rgba(246,236,0,.22), rgba(246,236,0,0) 46%),
    linear-gradient(160deg, rgba(27,95,175,.94) 0%, rgba(20,63,121,.96) 100%);
}
.hero-logo { width: min(200px, 56vw); }
.hero-side-note { display: grid; gap: 1rem; }
.hero-side-note p {
  margin: 0;
  padding-top: .9rem;
  border-top: 1px solid rgba(255,255,255,.18);
  display: grid;
  gap: .3rem;
}
.hero-side-note strong,
.hero-label,
.section-kicker,
.entry-number,
.agenda-kind,
.footer-nav,
.brand-wordmark {
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hero-side-note strong,
.hero-label,
.section-kicker,
.entry-number,
.agenda-kind {
  font-size: .74rem;
}
.hero-side-note strong { color: rgba(255,255,255,.72); }
.hero-label,
.section-kicker,
.entry-number,
.agenda-kind { color: var(--ink-faint); }
.hero-lead,
.page-lead,
.lead {
  font-size: 1.18rem;
  line-height: 1.56;
  color: var(--ink-soft);
  max-width: 34ch;
  margin: 0;
}

.hero-main .hero-lead,
.page-hero-panel .page-lead,
.measure-copy .lead,
.section-heading .lead {
  margin-top: 1.35rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line-strong);
}
.page-hero-panel {
  max-width: 54rem;
}

.display-title,
.page-title,
.section-title,
.entry-title,
.rail-title,
.card-title,
.subsection-title {
  font-family: "GT Sectra", Georgia, serif;
  font-weight: 400;
  letter-spacing: 0;
  margin: 0;
}
.display-title {
  font-size: clamp(3rem, 6.2vw, 5rem);
  line-height: .95;
  /*max-width: 9ch;*/
}
.page-title {
  font-size: clamp(2.55rem, 5vw, 4rem);
  line-height: .97;
  max-width: 17ch;
}
.section-title {
  font-size: clamp(1.9rem, 3.6vw, 2.7rem);
  line-height: 1.03;
  max-width: 15ch;
}
.entry-title,
.card-title { font-size: clamp(1.45rem, 2.6vw, 2rem); line-height: 1.08; }
.rail-title,
.subsection-title {
  font-family: "GT America Standard", sans-serif;
  font-size: .94rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .8rem 1.1rem;
  border: 1px solid transparent;
  text-decoration: none;
  font-size: .96rem;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.btn-primary {
  background: var(--brand);
  color: #fff;
}
.btn-primary:hover { background: var(--brand-deep); color: #fff; }
.btn-secondary {
  background: rgba(255,255,255,.74);
  border-color: rgba(20,25,33,.12);
}
.btn-secondary:hover { background: rgba(255,255,255,.92); }
.text-link,
main a.text-link {
  text-decoration: none;
  font-weight: 700;
  color: var(--ink);
}
.text-link:hover { color: var(--brand-deep); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .7rem; }

.section {
  padding: clamp(3rem, 6vw, 5rem) 0;
}
.section-intro { background: var(--paper); }
.section-entries { background: linear-gradient(180deg, var(--paper) 0%, var(--paper-soft) 100%); }
.section-practice,
.section-stack { background: linear-gradient(180deg, var(--paper-soft) 0%, var(--paper) 100%); }
.section-contact-callout { background: linear-gradient(180deg, var(--paper) 0%, var(--paper-warm) 100%); }
.section-heading { margin-bottom: clamp(1.6rem, 3vw, 2.5rem); }
.editorial-two-col {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}
.editorial-two-col-wide { grid-template-columns: minmax(0, 1.18fr) minmax(16rem, .82fr); }
.page-home .editorial-two-col-wide { grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr); }
.editorial-two-col-narrow { grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .85fr); }
.measure-copy { max-width: 44rem; }
.text-rail,
.text-list-panel,
.panel-text,
.text-slab,
.contact-callout-panel,
.page-hero-panel,
.hero-main,
.hero-side { box-shadow: 0 0 0 1px rgba(20,25,33,.01); }
.text-rail,
.text-list-panel,
.panel-text,
.text-slab,
.contact-callout-panel {
  background: rgba(255,255,255,.52);
  border: 1px solid var(--line);
  padding: var(--pad-lg);
}
.panel-text-roomy { padding: clamp(2rem, 4vw, 3rem); }
.rail-item p,
.text-list-panel p,
.text-list-panel li,
.contact-callout-panel p,
.text-slab p,
.text-slab li { color: var(--ink-soft); }
.rail-divider,
.editorial-divider {
  height: 1px;
  background: var(--line);
  margin: 1rem 0;
}
.entry-grid {
  display: grid;
  gap: 1rem;
}
.entry-grid-editorial { grid-template-columns: minmax(0, 1.18fr) minmax(0, .92fr) minmax(0, .82fr); align-items: start; }
.page-home .entry-panel:nth-child(2) { margin-top: 2.4rem; }
.page-home .entry-panel:nth-child(3) { margin-top: 4.8rem; }
.entry-panel {
  padding: var(--pad-lg);
  border-top: 1px solid var(--line-strong);
  background: rgba(255,255,255,.32);
  display: grid;
  gap: .8rem;
  align-content: start;
}
.entry-panel-primary {
  background: rgba(27,95,175,.08);
  border-top-color: rgba(27,95,175,.34);
}
.entry-number { margin: 0; color: rgba(27,95,175,.72); }
.entry-panel p { margin: 0; color: var(--ink-soft); }
.text-list-panel,
.contact-callout-panel { background: rgba(255,255,255,.64); }
.plain-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}
.plain-list li {
  display: grid;
  gap: .24rem;
}
.plain-list li strong {
  font-size: .96rem;
  font-weight: 700;
}
.plain-list li span { color: var(--ink-soft); }
.plain-list-compact { gap: 0; }
.plain-list-spaced { gap: 1.1rem; }

.minimal-figure {
  margin: 0;
  display: grid;
  gap: .7rem;
  align-content: start;
}
.editorial-photo {
  width: 100%;
  min-height: 20rem;
  object-fit: cover;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(27,95,175,.08), rgba(27,95,175,.04));
}
.minimal-figure figcaption {
  font-size: .86rem;
  color: var(--ink-faint);
  max-width: 30ch;
}

.stack-layout {
  display: grid;
  gap: 1.1rem;
}
.text-slab { background: rgba(255,255,255,.66); }
.text-slab-primary {
  background: linear-gradient(180deg, rgba(27,95,175,.06) 0%, rgba(255,255,255,.70) 100%);
}
.text-slab-band {
  background:
    radial-gradient(26rem 16rem at 84% 18%, rgba(246,236,0,.15), rgba(246,236,0,0) 48%),
    linear-gradient(145deg, rgba(27,95,175,.92), rgba(20,63,121,.96));
  border-color: rgba(255,255,255,.08);
}
.slab-head {
  display: grid;
  gap: .85rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--line);
  margin-bottom: 1.3rem;
}
.text-slab-band .slab-head { border-bottom-color: rgba(255,255,255,.16); }
.slab-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  gap: clamp(1.25rem, 3vw, 2.2rem);
}
.light-kicker { color: rgba(255,255,255,.68); }
.light-title, .light-copy { color: rgba(255,255,255,.94); }
.light-copy { max-width: 42ch; }

.contact-callout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .72fr);
  gap: 1.25rem;
  align-items: start;
}

.agenda-note-panel { background: rgba(255,255,255,.46); }
.page-agenda .editorial-two-col-wide { grid-template-columns: minmax(15rem, .34fr) minmax(0, 1.66fr); gap: clamp(1.5rem, 3vw, 3rem); }
.agenda-list {
  display: grid;
  gap: 1.05rem;
  width: 100%;
}
.agenda-row {
  display: grid;
  grid-template-columns: minmax(13.5rem, 15.5rem) minmax(0, 1fr);
  gap: 1.4rem;
  padding: 1.35rem 0;
  border-top: 1px solid var(--line-strong);
  align-items: start;
}
.agenda-row:first-child { padding-top: 0; border-top: 0; }
.agenda-day,
.agenda-kind {
  font-family: "GT America Mono", monospace;
  margin: 0;
}
.agenda-day { font-size: .94rem; color: var(--ink); }
.agenda-kind { font-size: .72rem; color: var(--ink-faint); margin-top: .28rem; }
.agenda-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: .8rem;
}
.agenda-tags span {
  font-size: .94rem;
  /*color: var(--ink-faint);*/
  border: 1px solid var(--line);
  padding: .18rem .45rem;
}
.agenda-copy p { color: var(--ink-soft); margin-bottom: 0; max-width: 78ch; }
.page-agenda .agenda-date { padding-top: .15rem; }

.footer-editorial {
  position: relative;
  background:
    radial-gradient(32rem 18rem at 82% 22%, rgba(246,236,0,.22), rgba(246,236,0,0) 52%),
    linear-gradient(160deg, rgba(27,95,175,.96) 0%, rgba(20,63,121,.98) 100%);
  color: rgba(255,255,255,.92);
  padding: 1.6rem 0 1.8rem;
}
.footer-editorial::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 36%);
  pointer-events: none;
}
.footer-shell {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1.4rem;
  align-items: center;
}
.footer-logo { width: 118px; }
.footer-nav {
  display: flex;
  justify-content: center;
  gap: 1rem;
  font-size: .92rem;
}
.footer-nav a,
.footer-contact a { color: rgba(255,255,255,.94); }
.footer-contact { justify-self: end; }

.page-cursussen .page-hero::before,
.page-evenementen .page-hero::before,
.page-contact .page-hero::before,
.page-agenda .page-hero::before {
  background:
    radial-gradient(30rem 18rem at 82% 18%, rgba(246,236,0,.16), rgba(246,236,0,0) 46%),
    linear-gradient(145deg, rgba(27,95,175,.86), rgba(20,63,121,.9));
}

@media (max-width: 1040px) {
  .hero-grid-home,
  .editorial-two-col-wide,
  .editorial-two-col-narrow,
  .contact-callout-grid,
  .agenda-row,
  .slab-columns {
    grid-template-columns: 1fr;
  }
  .page-home .entry-panel:nth-child(2),
  .page-home .entry-panel:nth-child(3) { margin-top: 0; }
  .entry-grid-editorial { grid-template-columns: 1fr; }
  .footer-shell {
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .footer-nav { justify-content: flex-start; flex-wrap: wrap; }
}
@media (max-width: 900px) {
  .mobile-toggle { display: inline-flex; }
  .site-nav {
    position: absolute;
    top: calc(100% + .5rem);
    right: 1rem;
    background: rgba(251,247,241,.98);
    border: 1px solid var(--line);
    padding: .8rem;
    min-width: 15rem;
    display: none;
  }
  .site-nav.is-open { display: block; }
  .nav-stack { flex-direction: column; align-items: flex-start; gap: .65rem; }
}
@media (max-width: 680px) {
  body { font-size: 17px; }
  .site-shell { width: min(calc(100% - 1.2rem), var(--max)); }
  .hero-main,
  .hero-side,
  .page-hero-panel,
  .text-rail,
  .text-list-panel,
  .panel-text,
  .text-slab,
  .contact-callout-panel { padding: 1.2rem; }
  .display-title { font-size: clamp(2.3rem, 12vw, 3.35rem); }
  .page-title { font-size: clamp(2rem, 9vw, 2.9rem); }
  .section-title { font-size: clamp(1.55rem, 8vw, 2.1rem); }
  .hero-lead,
  .page-lead,
  .lead { font-size: 1.05rem; }
}

.page-home .text-rail { margin-top: 2.35rem; }
.page-home .section-entries .section-heading { max-width: 42rem; }
.page-home .section-practice .text-list-panel { margin-top: 1.25rem; }
.page-home .contact-callout-panel { max-width: 34rem; justify-self: end; }
.page-home .measure-copy .lead { max-width: 33ch; }


.page-home .entry-panel .btn{justify-self:start;}
.page-home .contact-callout-panel .btn{justify-self:start; margin-top:.2rem;}

.hero-side-home a, .text-slab-band a { color: rgba(255,255,255,.94); }
.text-slab-band .section-title, .text-slab-band .lead, .text-slab-band p, .text-slab-band li, .text-slab-band .subsection-title { color: rgba(255,255,255,.94); }
.text-slab-band .section-kicker, .text-slab-band .agenda-kind { color: rgba(255,255,255,.72); }

.site-preloader__label .pre-char{display:inline-block;will-change:transform,opacity,filter;transform-origin:50% 100%;}
.site-preloader__meta{will-change:opacity,transform;}

/* =========================================================
   MOBILE PATCH — HOME + AGENDA
   ========================================================= */

@media (max-width: 980px) {
  .hero-grid-home,
  .editorial-two-col,
  .editorial-two-col-wide,
  .editorial-two-col-narrow,
  .entry-grid-editorial,
  .contact-callout-grid,
  .agenda-row {
    grid-template-columns: 1fr !important;
  }

  .hero-side-home,
  .text-rail,
  .text-list-panel,
  .contact-callout-panel,
  .agenda-note-panel,
  .agenda-copy,
  .agenda-date {
    width: 100%;
    max-width: 100%;
  }

  .entry-grid-editorial {
    gap: 1.25rem;
  }

  .entry-panel,
  .text-slab,
  .contact-callout-panel,
  .text-list-panel,
  .agenda-note-panel {
    min-height: 0;
  }

  .page-home .entry-grid-editorial > * {
    margin-top: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 760px) {
  .site-shell {
    width: 100%;
  }

  .ph3,
  .ph4-l {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .hero-shell,
  .section,
  .section-intro,
  .section-entries,
  .section-practice,
  .section-contact-callout,
  .section-stack {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .hero-main-home,
  .hero-side-home,
  .page-hero-panel,
  .entry-panel,
  .text-slab,
  .text-list-panel,
  .agenda-note-panel,
  .contact-callout-panel {
    padding: 1.25rem;
  }

  .display-title,
  .page-title {
    font-size: clamp(2.35rem, 12vw, 4.15rem) !important;
    line-height: 0.94;
    letter-spacing: -0.02em;
  }

  .section-title {
    font-size: clamp(1.85rem, 8vw, 3rem) !important;
    line-height: 0.97;
  }

  .hero-lead,
  .page-lead,
  .lead,
  .measure-copy p,
  .text-list-panel p,
  .entry-panel p,
  .agenda-copy p,
  .contact-callout-panel p,
  .agenda-note-panel p {
    font-size: 1rem;
    line-height: 1.65;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    align-items: stretch;
  }

  .hero-actions .btn,
  .hero-actions .button,
  .entry-panel .btn,
  .entry-panel .button {
    width: 100%;
    justify-content: center;
  }

  .hero-logo {
    max-width: 140px;
    height: auto;
  }

  .hero-side-note {
    margin-top: 1rem;
  }

  .hero-side-note p {
    margin-bottom: 0.9rem;
  }

  .full-bleed-figure,
  .editorial-photo-wide {
    margin: 0;
  }

  .editorial-photo-wide {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
  }

  .entry-grid-editorial {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }

  .entry-panel {
    width: 100%;
    margin: 0 !important;
  }

  .entry-number {
    margin-bottom: 0.5rem;
  }

  .contact-callout-grid {
    gap: 1rem;
  }

  .page-home .text-rail,
  .page-home .text-list-panel,
  .page-home .contact-callout-panel {
    margin-top: 0;
  }
}

/* =========================================================
   AGENDA — EXTRA MOBILE TUNING
   ========================================================= */

@media (max-width: 760px) {
  .page-agenda .editorial-two-col,
  .page-agenda .editorial-two-col-wide,
  .page-agenda .editorial-two-col-narrow {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }

  .page-agenda .agenda-note-panel {
    order: 1;
  }

  .page-agenda .agenda-list {
    order: 2;
  }

  .page-agenda .agenda-row {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 0.75rem;
    padding: 1rem 0;
  }

  .page-agenda .agenda-date {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.25rem;
    align-items: start;
  }

  .page-agenda .agenda-day {
    font-size: 0.95rem;
    line-height: 1.3;
    margin: 0;
  }

  .page-agenda .agenda-kind {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.7;
    margin: 0;
  }

  .page-agenda .agenda-copy {
    display: grid;
    gap: 0.6rem;
  }

  .page-agenda .agenda-copy .card-title,
  .page-agenda .agenda-copy h2 {
    font-size: clamp(1.7rem, 7vw, 2.45rem);
    line-height: 0.98;
  }

  .page-agenda .agenda-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
  }

  .page-agenda .agenda-tags span,
  .page-agenda .agenda-tag {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.25rem 0.55rem;
    font-size: 0.8rem;
    line-height: 1;
  }

  .page-agenda .agenda-note-panel {
    padding: 1.25rem;
  }
}

/* ========================================
   MOBILE TYPE SCALE TUNING
   ======================================== */

@media (max-width: 760px) {
  .display-title,
  .page-title {
    font-size: clamp(2rem, 9.2vw, 3.2rem) !important;
    line-height: 0.98;
    letter-spacing: -0.015em;
  }

  .section-title {
    font-size: clamp(1.45rem, 6.8vw, 2.2rem) !important;
    line-height: 1.02;
    letter-spacing: -0.01em;
  }

  .card-title,
  .agenda-copy .card-title,
  .agenda-copy h2 {
    font-size: clamp(1.15rem, 5.2vw, 1.55rem) !important;
    line-height: 1.06;
  }

  .hero-label,
  .section-kicker,
  .entry-number,
  .agenda-kind {
    font-size: 0.76rem;
    line-height: 1.2;
    letter-spacing: 0.06em;
  }
}

@media (max-width: 520px) {
  .display-title,
  .page-title {
    font-size: clamp(1.8rem, 8.6vw, 2.7rem) !important;
    line-height: 1;
    letter-spacing: -0.01em;
  }

  .section-title {
    font-size: clamp(1.28rem, 6.2vw, 1.8rem) !important;
    line-height: 1.05;
  }

  .card-title,
  .agenda-copy .card-title,
  .agenda-copy h2 {
    font-size: clamp(1.05rem, 4.9vw, 1.35rem) !important;
    line-height: 1.08;
  }
}

.page-agenda .agenda-note-panel .section-kicker {
  font-size: 0.8rem;
}

.page-agenda .agenda-note-panel .lead,
.page-agenda .agenda-note-panel p,
.page-agenda .agenda-note-panel li {
  font-size: 0.95rem;
  line-height: 1.6;
}
