:root {
  color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
body {
  margin: 0;
  padding-bottom: 4rem;
  background: var(--color-surface-base);
  color: var(--color-text-main);
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
}
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, summary:focus-visible {
  outline: 3px solid var(--color-focus-ring);
  outline-offset: 3px;
}
.skip-link {
  position: fixed; top: .5rem; left: .5rem; z-index: 10001;
  transform: translateY(-160%); padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-sm); background: var(--color-text-heading);
  color: var(--color-text-inverted); font-weight: var(--font-weight-semibold);
}
.skip-link:focus { transform: translateY(0); }
.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.section-shell { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.demo-watermark {
  position: fixed; right: 16px; bottom: 16px; z-index: 9999;
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 38px; padding: 7px 13px; border: 1px solid rgba(21,19,19,.13);
  border-radius: var(--radius-pill); background: var(--color-tertiary);
  color: var(--color-text-heading); box-shadow: var(--shadow-md);
  font-size: .68rem; font-weight: var(--font-weight-bold); line-height: 1.15;
  letter-spacing: .055em; text-transform: uppercase; pointer-events: none;
}
.watermark-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-primary-dark); }
.watermark-divider { width: 1px; height: 15px; background: rgba(21,19,19,.32); }
.watermark-subtitle { font-size: .57rem; letter-spacing: .035em; }
.site-header {
  position: sticky; top: 0; z-index: var(--z-header);
  background: rgba(250,250,250,.95); border-bottom: 1px solid rgba(232,220,218,.78);
  backdrop-filter: blur(14px);
}
.header-inner {
  width: min(1240px, calc(100% - 40px)); min-height: 82px; margin: auto;
  position: relative; display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg);
}
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; min-width: 0; }
.brand img { width: 46px; height: 46px; object-fit: contain; }
.brand-copy { display: grid; line-height: 1.25; }
.brand-name { color: var(--color-text-heading); font-size: .96rem; font-weight: var(--font-weight-bold); white-space: nowrap; letter-spacing: -.035em; }
.brand-name > span, .brand-name b { color: var(--color-primary-dark); }
.brand-name b { font-size: .82em; }
.brand-tagline { color: var(--color-text-muted); font-size: .67rem; }
.primary-nav { display: flex; align-items: center; gap: clamp(14px,2vw,27px); }
.primary-nav a { color: var(--color-text-main); text-decoration: none; font-size: .82rem; font-weight: var(--font-weight-medium); }
.primary-nav a:hover { color: var(--color-primary-dark); }
.primary-nav .nav-cta { display: inline-flex; gap: 9px; align-items: center; border-radius: var(--radius-pill); padding: 11px 17px; background: var(--color-text-heading); color: var(--color-text-inverted); }
.primary-nav .nav-cta:hover { background: var(--color-primary-dark); color: var(--color-text-inverted); }
.menu-toggle { display: none; padding: 8px 13px; border: 1px solid var(--color-border-base); border-radius: var(--radius-pill); background: var(--color-surface-strong); color: var(--color-text-heading); }
.hero {
  min-height: 586px; display: grid; grid-template-columns: 1fr .93fr; align-items: center;
  gap: clamp(42px,7vw,100px); padding-block: 78px 86px;
}
.hero-copy { max-width: 590px; }
.eyebrow {
  display: flex; align-items: center; gap: 9px; margin: 0 0 16px;
  color: var(--color-primary-dark); font-size: .73rem; font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-wide); text-transform: uppercase;
}
.eyebrow-mark { width: 22px; height: 2px; border-radius: 2px; background: var(--color-primary); }
.hero h1 {
  max-width: 700px; margin: 0; color: var(--color-text-heading);
  font-size: clamp(2.5rem,5.2vw,4.25rem); line-height: 1.08;
  font-weight: var(--font-weight-semibold); letter-spacing: var(--letter-spacing-tight);
}
h1 em, h2 em { color: var(--color-primary-dark); font-style: normal; }
.hero-lede { max-width: 555px; margin: 22px 0 26px; color: var(--color-text-muted); font-size: 1.05rem; }
.hero-actions, .closing-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; }
.button {
  display: inline-flex; justify-content: center; align-items: center; gap: 12px;
  min-height: 47px; padding: 12px 18px; border: 1px solid transparent;
  border-radius: var(--radius-pill); text-decoration: none; font-size: .83rem;
  font-weight: var(--font-weight-semibold); cursor: pointer; transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--color-primary); color: var(--color-text-heading); box-shadow: var(--shadow-sm); }
.button-primary:hover { background: var(--color-primary-dark); color: var(--color-text-inverted); }
.button-quiet { background: transparent; color: var(--color-text-heading); border-color: var(--color-border-base); }
.button-quiet:hover { background: var(--color-surface-strong); box-shadow: var(--shadow-sm); }
.hero-note { display: flex; gap: 8px; align-items: flex-start; margin: 21px 0 0; color: var(--color-text-muted); font-size: .74rem; }
.hero-note span { color: var(--color-primary-dark); }
.hero-art { min-height: 420px; position: relative; display: grid; place-items: center; }
.art-orbit { position: absolute; border: 1px solid rgba(112,69,170,.16); border-radius: 50%; transform: rotate(-23deg); }
.orbit-one { width: 480px; height: 290px; }
.orbit-two { width: 370px; height: 450px; transform: rotate(38deg); border-color: rgba(255,87,52,.13); }
.art-card { position: absolute; border: 1px solid rgba(232,220,218,.9); border-radius: 23px; box-shadow: var(--shadow-lg); }
.art-card-back {
  width: min(345px,78%); padding: 20px 22px; top: 36px; left: 1%;
  transform: rotate(-8deg); background: var(--color-tertiary-soft);
}
.art-card-kicker { color: var(--color-text-muted); font-size: .57rem; font-weight: var(--font-weight-bold); letter-spacing: .08em; }
.art-mini-row { display: flex; align-items: center; gap: 11px; margin-top: 15px; }
.mini-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; font-size: .72rem; font-weight: var(--font-weight-bold); }
.mini-icon-orange { background: var(--color-primary); color: var(--color-text-heading); }
.art-mini-row b, .art-mini-row small { display: block; }
.art-mini-row b { font-size: .76rem; color: var(--color-text-heading); }
.art-mini-row small { color: var(--color-text-muted); font-size: .63rem; }
.mini-progress { height: 6px; margin: 19px 0 9px; overflow: hidden; border-radius: var(--radius-pill); background: rgba(21,19,19,.11); }
.mini-progress span { display: block; width: 63%; height: 100%; border-radius: inherit; background: var(--color-primary-dark); }
.mini-footer { display: flex; justify-content: space-between; color: var(--color-text-muted); font-size: .56rem; }
.art-card-front {
  width: min(360px,82%); min-height: 288px; padding: 21px 23px 17px;
  right: 0; bottom: 50px; transform: rotate(4deg); background: var(--color-surface-strong);
}
.art-front-top { display: flex; align-items: center; gap: 8px; }
.art-orb { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: var(--color-secondary-soft); color: var(--color-secondary-dark); }
.art-label { color: var(--color-text-muted); font-size: .58rem; font-weight: var(--font-weight-bold); letter-spacing: .07em; }
.art-menu { margin-left: auto; color: var(--color-text-muted); font-weight: var(--font-weight-bold); }
.art-card-front h2 { margin: 18px 0 8px; color: var(--color-text-heading); font-size: 1.62rem; line-height: 1.15; letter-spacing: -.04em; }
.art-card-front p { max-width: 260px; margin: 0; color: var(--color-text-muted); font-size: .75rem; }
.art-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.art-pills span { padding: 4px 9px; border: 1px solid var(--color-border-base); border-radius: var(--radius-pill); color: var(--color-text-main); font-size: .6rem; }
.art-bottom { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--color-border-base); color: var(--color-text-muted); font-size: .65rem; }
.art-avatar { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: var(--color-secondary); color: var(--color-text-heading); font-size: .56rem; font-weight: var(--font-weight-bold); }
.art-arrow { margin-left: auto; color: var(--color-primary-dark); font-size: 1.1rem; }
.floating-stamp { position: absolute; right: 3%; top: 73px; display: grid; place-items: center; width: 83px; height: 83px; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: var(--color-primary); box-shadow: var(--shadow-md); color: var(--color-text-heading); transform: rotate(9deg); }
.floating-stamp span { margin-top: 10px; font-size: .55rem; font-weight: var(--font-weight-bold); letter-spacing: .13em; }
.floating-stamp b { margin-top: -14px; font-size: 1.5rem; line-height: 1; }
.floating-stamp small { margin-top: -11px; font-size: .53rem; }
.hero-caption { position: absolute; bottom: 4px; left: 12%; display: flex; align-items: center; gap: 9px; color: var(--color-text-muted); font-size: .65rem; }
.caption-line { width: 29px; height: 1px; background: var(--color-primary-dark); }
.proof-strip {
  display: grid; grid-template-columns: auto auto auto 1fr; align-items: center; gap: clamp(24px,5vw,70px);
  padding: 22px max(calc((100vw - 1160px)/2),24px); background: var(--color-surface-inverted); color: var(--color-text-inverted);
}
.proof-strip > div { display: flex; align-items: center; gap: 12px; }
.proof-strip strong { color: var(--color-tertiary); font-size: 1.8rem; line-height: 1; }
.proof-strip span { font-size: .66rem; line-height: 1.35; }
.proof-strip p { justify-self: end; max-width: 265px; margin: 0; color: rgba(255,255,255,.72); font-size: .69rem; }
.intro-section { display: grid; grid-template-columns: 1fr 1fr; column-gap: 9%; padding-block: 100px 77px; }
.section-heading-wide { grid-column: 1; }
.section-heading h2, .catalog-heading h2, .experience-head h2, .institution-copy h2, .closing-section h2, .institution-onepager h2 {
  margin: 0; color: var(--color-text-heading); font-size: clamp(2rem,3.4vw,3rem); line-height: 1.15;
  letter-spacing: var(--letter-spacing-tight); font-weight: var(--font-weight-semibold);
}
.intro-copy { align-self: end; padding-bottom: 4px; }
.intro-copy p { margin: 0 0 13px; color: var(--color-text-muted); font-size: .9rem; }
.intro-line { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin-top: 35px; color: var(--color-text-muted); font-size: .65rem; font-weight: var(--font-weight-semibold); letter-spacing: .07em; text-transform: uppercase; }
.intro-line > span:first-child { color: var(--color-primary-dark); }
.intro-line .line { width: 60px; height: 1px; background: var(--color-border-base); }

.future-section { position: relative; display: grid; grid-template-columns: 62px 1fr auto; align-items: center; gap: 24px; padding-block: 34px; border-top: 1px solid var(--color-border-base); border-bottom: 1px solid var(--color-border-base); }
.future-mark { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--color-primary-light); color: var(--color-primary-dark); font-size: 1.35rem; }
.future-copy .eyebrow { margin: 0 0 8px; }
.future-copy h2 { margin: 0; font-size: clamp(1.45rem, 2.3vw, 2rem); line-height: 1.18; }
.future-copy h2 em { color: var(--color-primary-dark); font-style: normal; }
.future-copy > p:not(.eyebrow) { max-width: 710px; margin: 12px 0 0; color: var(--color-text-muted); font-size: .85rem; }
.future-copy .future-note { font-size: .72rem; }
.future-link { white-space: nowrap; }
.workshop-section { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(28px,5vw,70px); align-items: start; padding-block: 86px; }
.workshop-intro h2 { margin: 0; color: var(--color-text-heading); font-size: clamp(2rem,3.4vw,3rem); line-height: 1.15; letter-spacing: var(--letter-spacing-tight); }
.workshop-intro h2 em { color: var(--color-primary-dark); font-style: normal; }
.workshop-intro > p:not(.eyebrow) { color: var(--color-text-muted); font-size: .88rem; line-height: 1.6; }
.workshop-topics { display: grid; gap: 11px; margin: 22px 0; padding-left: 22px; color: var(--color-text-main); font-size: .82rem; line-height: 1.5; }
.workshop-topics li::marker { color: var(--color-primary-dark); }
.workshop-note { padding: 12px 14px; border-left: 3px solid var(--color-primary-dark); background: var(--color-primary-light); font-size: .74rem !important; }
.request-card { padding: clamp(20px,3vw,30px); border: 1px solid var(--color-border-base); border-radius: var(--radius-lg); background: var(--color-surface-strong); box-shadow: var(--shadow-md); }
.request-card h3 { margin: 0; color: var(--color-text-heading); font-size: 1.35rem; }
.request-intro { margin: 8px 0 20px; color: var(--color-text-muted); font-size: .76rem; line-height: 1.5; }
.request-card form, .request-card label { display: grid; gap: 7px; }
.request-card form { gap: 15px; }
.request-card label { color: var(--color-text-heading); font-size: .72rem; font-weight: var(--font-weight-semibold); }
.request-card input, .request-card select, .request-card textarea { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid var(--color-border-base); border-radius: var(--radius-sm); background: var(--color-surface-base); color: var(--color-text-main); font: inherit; font-size: .76rem; }
.request-card textarea { min-height: 112px; resize: vertical; }
.other-request-field[hidden] { display: none; }
.academy-workshop-field[hidden] { display: none; }
.request-card input:focus-visible, .request-card select:focus-visible, .request-card textarea:focus-visible { outline: 3px solid var(--color-focus-ring); outline-offset: 2px; }
.request-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.request-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.request-actions .button { min-height: 43px; font-size: .74rem; }
.request-actions .button:disabled { cursor: not-allowed; opacity: .5; }
.request-status { margin: 0; color: var(--color-text-muted); font-size: .68rem; line-height: 1.5; }
.request-fallback { display: grid; gap: 9px; padding-top: 12px; border-top: 1px solid var(--color-border-base); color: var(--color-text-muted); font-size: .72rem; }
.request-fallback[hidden], .prepared-template-label[hidden] { display: none; }
.request-fallback > a { width: fit-content; font-weight: var(--font-weight-bold); }
.request-fallback a { color: var(--color-primary-dark); }
.prepared-template-label textarea { min-height: 150px; font-weight: 400; }
.catalog-section { padding: 88px 0 92px; background: var(--color-surface-muted); }
.catalog-heading { display: grid; grid-template-columns: 1fr .6fr; align-items: end; gap: 60px; }
.heading-aside { max-width: 345px; justify-self: end; margin: 0 0 4px; color: var(--color-text-muted); font-size: .82rem; }
.catalog-tools { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 33px; }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-chip { min-height: 37px; padding: 7px 13px; border: 1px solid var(--color-border-base); border-radius: var(--radius-pill); background: transparent; color: var(--color-text-main); font-size: .69rem; cursor: pointer; }
.filter-chip span { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-left: 5px; border-radius: 50%; background: var(--color-surface-strong); font-size: .58rem; }
.filter-chip:hover, .filter-chip.is-active { border-color: var(--color-text-heading); background: var(--color-text-heading); color: var(--color-text-inverted); }
.filter-chip.is-active span { background: var(--color-tertiary); color: var(--color-text-heading); }
.search-field { display: flex; align-items: center; min-width: 220px; gap: 7px; padding: 8px 12px; border: 1px solid var(--color-border-base); border-radius: var(--radius-pill); background: var(--color-surface-strong); }
.search-icon { font-size: 1.15rem; color: var(--color-text-muted); line-height: 1; }
.search-field input { width: 100%; border: 0; outline: 0; color: var(--color-text-heading); background: transparent; font-size: .72rem; }
.search-field input:focus-visible { outline: 0; }
.catalog-status { min-height: 20px; margin: 15px 0 10px; color: var(--color-text-muted); font-size: .68rem; }
.academy-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.academy-card {
  --academy-accent: var(--color-primary); --academy-soft: var(--color-primary-soft);
  position: relative; display: flex; flex-direction: column; min-height: 270px; padding: 21px;
  border: 1px solid rgba(232,220,218,.88); border-radius: var(--radius-lg); background: var(--color-surface-strong);
  box-shadow: var(--shadow-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.academy-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--academy-accent); }
.academy-card.tone-violet { --academy-accent: var(--color-secondary-dark); --academy-soft: var(--color-secondary-soft); }
.academy-card.tone-blue { --academy-accent: var(--color-secondary-dark); --academy-soft: var(--color-secondary-soft); }
.academy-card.tone-yellow { --academy-accent: var(--color-tertiary-dark); --academy-soft: var(--color-tertiary-soft); }
.academy-card.tone-pink { --academy-accent: var(--color-primary-dark); --academy-soft: var(--color-primary-soft); }
.academy-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.academy-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: var(--academy-soft); color: var(--academy-accent); font-size: .7rem; font-weight: var(--font-weight-bold); letter-spacing: .035em; }
.status-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: var(--radius-pill); background: var(--color-success-soft); color: var(--color-success); font-size: .57rem; font-weight: var(--font-weight-bold); }
.status-badge.review { background: var(--color-tertiary-soft); color: var(--color-tertiary-dark); }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.academy-count { display: block; margin: 18px 0 2px; color: var(--academy-accent); font-size: .64rem; font-weight: var(--font-weight-bold); letter-spacing: .04em; text-transform: uppercase; }
.academy-card h3 { margin: 0; color: var(--color-text-heading); font-size: 1.14rem; line-height: 1.22; letter-spacing: -.035em; }
.academy-card p { margin: 10px 0 12px; color: var(--color-text-muted); font-size: .76rem; line-height: 1.55; }
.academy-topics { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--color-border-base); color: var(--color-text-main); font-size: .64rem; line-height: 1.45; }
.academy-structure-hint { margin-top: 8px; color: var(--academy-accent); font-size: .6rem; font-weight: var(--font-weight-bold); }
.card-action { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 11px; padding: 8px 0 0; border: 0; background: transparent; color: var(--color-text-heading); text-align: left; font-size: .72rem; font-weight: var(--font-weight-bold); cursor: pointer; }
.card-action span:last-child { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid var(--color-border-base); border-radius: 50%; transition: .18s ease; }
.card-action:hover { color: var(--academy-accent); }
.card-action:hover span:last-child { border-color: var(--academy-accent); transform: translateX(2px); }
.empty-results { grid-column: 1 / -1; padding: 44px 20px; border: 1px dashed var(--color-border-base); border-radius: var(--radius-lg); color: var(--color-text-muted); text-align: center; }
.catalog-footnote { display: flex; align-items: flex-start; gap: 10px; max-width: 620px; margin-top: 22px; }
.footnote-icon { flex: 0 0 auto; display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid var(--color-border-base); border-radius: 50%; color: var(--color-primary-dark); font-size: .68rem; font-weight: var(--font-weight-bold); }
.catalog-footnote p { margin: 0; color: var(--color-text-muted); font-size: .68rem; }
.catalog-service-promo { margin-top: 48px; padding: clamp(24px,4vw,44px); border: 1px solid var(--color-border-base); border-radius: var(--radius-lg); background: var(--color-surface-strong); box-shadow: var(--shadow-sm); }
.catalog-service-heading { max-width: 700px; }
.catalog-service-heading h2 { margin: 0; color: var(--color-text-heading); font-size: clamp(1.65rem,3vw,2.35rem); line-height: 1.15; letter-spacing: var(--letter-spacing-tight); }
.catalog-service-heading h2 em { color: var(--color-primary-dark); font-style: normal; }
.catalog-service-heading > p:last-child { max-width: 610px; margin: 12px 0 0; color: var(--color-text-muted); font-size: .84rem; line-height: 1.6; }
.catalog-service-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 26px; }
.service-option { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: clamp(20px,3vw,30px); border: 1px solid var(--color-border-base); border-radius: var(--radius-md); background: var(--color-surface-base); }
.service-option-featured { border-color: var(--color-primary); background: var(--color-primary-light); }
.service-option-number { display: grid; place-items: center; width: 35px; height: 35px; margin-bottom: 18px; border-radius: 50%; background: var(--color-surface-strong); color: var(--color-primary-dark); font-size: .7rem; font-weight: var(--font-weight-bold); }
.service-option .eyebrow { margin: 0 0 7px; }
.service-option h3 { margin: 0; color: var(--color-text-heading); font-size: 1.15rem; line-height: 1.25; }
.service-option > p:not(.eyebrow) { margin: 10px 0; color: var(--color-text-muted); font-size: .78rem; line-height: 1.55; }
.service-option ul { display: grid; gap: 7px; margin: 8px 0 20px; padding-left: 20px; color: var(--color-text-main); font-size: .73rem; line-height: 1.5; }
.service-option li::marker { color: var(--color-primary-dark); }
.service-option .button { margin-top: auto; }
.catalog-service-note { margin: 20px 0 0; color: var(--color-text-muted); font-size: .73rem; line-height: 1.5; text-align: center; }
.catalog-service-note a { color: var(--color-primary-dark); font-weight: var(--font-weight-bold); text-underline-offset: 3px; }
.experience-section { padding-block: 100px; }
.experience-head { display: grid; grid-template-columns: 1fr .62fr; align-items: end; gap: 8%; }
.experience-head > p { max-width: 385px; margin: 0 0 5px; color: var(--color-text-muted); font-size: .84rem; }
.experience-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 55px; margin-top: 45px; }
.experience-steps { border-top: 1px solid var(--color-border-base); }
.experience-step { display: grid; grid-template-columns: 43px 1fr 25px; align-items: center; gap: 14px; min-height: 86px; border-bottom: 1px solid var(--color-border-base); }
.step-number { align-self: start; padding-top: 20px; color: var(--color-primary-dark); font-size: .67rem; font-weight: var(--font-weight-bold); }
.experience-step h3 { margin: 0 0 2px; color: var(--color-text-heading); font-size: .92rem; }
.experience-step p { margin: 0; color: var(--color-text-muted); font-size: .71rem; }
.step-symbol { justify-self: end; color: var(--color-secondary-dark); font-size: 1.25rem; }
.experience-note { align-self: center; padding: 27px 29px; border-radius: var(--radius-lg); background: var(--color-secondary-soft); }
.note-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; background: var(--color-secondary); color: var(--color-text-heading); }
.note-kicker { margin: 16px 0 7px; color: var(--color-secondary-dark); font-size: .61rem; font-weight: var(--font-weight-bold); letter-spacing: .08em; }
.experience-note h3 { margin: 0; color: var(--color-text-heading); font-size: 1.42rem; line-height: 1.2; letter-spacing: -.04em; }
.experience-note > p:not(.note-kicker) { color: var(--color-text-main); font-size: .74rem; }
.text-link { display: inline-flex; align-items: center; gap: 9px; padding: 3px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--color-text-heading); font-size: .73rem; font-weight: var(--font-weight-bold); text-decoration: none; cursor: pointer; }
.institution-section { overflow: hidden; padding-block: 91px; background: var(--color-text-heading); color: var(--color-text-inverted); }
.institution-layout { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 9%; }
.eyebrow-light { color: var(--color-tertiary); }
.institution-copy h2 { color: var(--color-text-inverted); }
.institution-copy h2 em { color: var(--color-tertiary); }
.institution-copy > p:not(.eyebrow):not(.institution-small) { max-width: 565px; margin: 19px 0 23px; color: rgba(255,255,255,.76); font-size: .89rem; }
.button-light { background: var(--color-tertiary); color: var(--color-text-heading); }
.button-light:hover { background: var(--color-tertiary-soft); }
.institution-small { max-width: 450px; margin: 13px 0 0; color: rgba(255,255,255,.57); font-size: .65rem; }
.institution-board { position: relative; padding: 20px; border: 1px solid rgba(255,255,255,.15); border-radius: 20px; background: #211f1f; box-shadow: 0 20px 60px rgba(0,0,0,.25); transform: rotate(1.5deg); }
.board-top, .board-heading, .board-footer { display: flex; justify-content: space-between; align-items: center; }
.board-brand { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.85); font-size: .68rem; font-weight: var(--font-weight-semibold); }
.board-brand i { width: 8px; height: 8px; border-radius: 50%; background: var(--color-primary); }
.board-demo-tag { padding: 3px 7px; border-radius: var(--radius-pill); background: var(--color-tertiary); color: var(--color-text-heading); font-size: .5rem; font-weight: var(--font-weight-bold); }
.board-heading { margin: 23px 0 10px; color: rgba(255,255,255,.73); font-size: .66rem; }
.board-period { color: rgba(255,255,255,.68); font-size: .56rem; }
.board-metric { display: flex; justify-content: space-between; align-items: center; padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.04); }
.board-metric small, .board-metric b { display: block; }
.board-metric small { color: rgba(255,255,255,.52); font-size: .55rem; }
.board-metric b { margin-top: 3px; color: var(--color-text-inverted); font-size: .83rem; }
.board-metric-icon { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: rgba(255,87,52,.2); color: var(--color-primary); }
.board-themes { display: flex; flex-wrap: wrap; gap: 7px; padding: 20px 0 15px; }
.board-themes span { padding: 6px 10px; border: 1px solid rgba(255,255,255,.17); border-radius: var(--radius-pill); color: rgba(255,255,255,.78); font-size: .58rem; }
.board-footer { justify-content: flex-start; gap: 8px; margin-top: 13px; color: rgba(255,255,255,.65); font-size: .61rem; }
.board-bubble { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--color-tertiary); color: var(--color-text-heading); font-size: .65rem; font-weight: var(--font-weight-bold); }
.board-footer-arrow { margin-left: auto; color: var(--color-tertiary); }
.board-disclaimer { position: absolute; right: 16px; bottom: 6px; color: rgba(255,255,255,.72); font-size: .55rem; letter-spacing: .04em; text-transform: uppercase; }
.institution-onepager { display: none; }
.onepager-brand { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--color-border-base); color: var(--color-text-heading); font-size: .72rem; font-weight: var(--font-weight-bold); }
.onepager-brand img { width: 38px; height: 38px; object-fit: contain; }
.onepager-brand b { color: var(--color-primary-dark); }
.onepager-mark { margin-left: auto; padding: 5px 9px; border-radius: var(--radius-pill); background: var(--color-tertiary); font-size: .55rem; }
.institution-onepager > .eyebrow { margin-top: 23px; }
.institution-onepager h2 { max-width: 670px; font-size: 2.25rem; }
.onepager-lede { max-width: 670px; color: var(--color-text-muted); }
.onepager-future { max-width: 740px; padding: 11px 14px; border-left: 3px solid var(--color-primary-dark); background: var(--color-primary-light); }
.onepager-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 22px 0; }
.onepager-grid > div { display: grid; gap: 2px; padding: 14px; border: 1px solid var(--color-border-base); border-radius: var(--radius-sm); }
.onepager-grid b { color: var(--color-primary-dark); font-size: 1.45rem; }
.onepager-grid span, .institution-onepager > p:not(.eyebrow):not(.onepager-lede) { color: var(--color-text-muted); font-size: .72rem; }
.onepager-bottom { display: flex; justify-content: space-between; margin-top: 22px; padding-top: 12px; border-top: 1px solid var(--color-border-base); color: var(--color-text-heading); font-size: .71rem; font-weight: var(--font-weight-semibold); }
.closing-section { position: relative; padding-block: 98px 90px; text-align: center; }
.closing-section > .eyebrow { justify-content: center; }
.closing-orb { display: grid; place-items: center; width: 46px; height: 46px; margin: 0 auto 17px; border-radius: 50%; background: var(--color-primary-soft); color: var(--color-primary-dark); }
.closing-section h2 { max-width: 790px; margin: auto; }
.closing-actions { justify-content: center; margin-top: 25px; }
.closing-note { color: var(--color-text-muted); font-size: .7rem; }
.site-footer { padding: 34px max(calc((100vw - 1160px)/2),24px) 20px; border-top: 1px solid var(--color-border-base); background: var(--color-surface-strong); }
.footer-main { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 20px; padding-bottom: 22px; }
.footer-main > p { margin: 0; color: var(--color-text-muted); font-size: .68rem; }
.footer-contact-group { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.footer-contact { color: var(--color-primary-dark); font-size: .72rem; font-weight: var(--font-weight-bold); text-decoration: none; }
.copy-email { padding: 6px 10px; border: 1px solid var(--color-border-base); border-radius: var(--radius-pill); background: var(--color-surface-base); color: var(--color-text-heading); font-size: .67rem; font-weight: var(--font-weight-semibold); cursor: pointer; }
.copy-email:hover { border-color: var(--color-primary-dark); color: var(--color-primary-dark); }
.copy-status { flex-basis: 100%; color: var(--color-text-muted); font-size: .68rem; text-align: right; }
.footer-contact span { padding-left: 5px; }
.brand-footer .brand-tagline { display: none; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 14px; border-top: 1px solid var(--color-border-base); color: var(--color-text-muted); font-size: .62rem; }
.footer-bottom a { color: var(--color-text-main); text-decoration: none; }
.sample-dialog {
  width: min(560px, calc(100% - 28px)); max-height: min(90vh,780px); padding: 0;
  border: 1px solid var(--color-border-base); border-radius: 22px; background: var(--color-surface-base);
  color: var(--color-text-main); box-shadow: 0 25px 90px rgba(21,19,19,.28); overflow-y: auto; overscroll-behavior: contain;
}
.sample-dialog::backdrop { background: rgba(21,19,19,.62); backdrop-filter: blur(4px); }
.dialog-top { display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--color-border-base); }
.dialog-label { color: var(--color-primary-dark); font-size: .62rem; font-weight: var(--font-weight-bold); letter-spacing: .08em; }
.dialog-watermark { margin-left: auto; margin-right: 11px; padding: 4px 9px; border-radius: var(--radius-pill); background: var(--color-tertiary); color: var(--color-text-heading); font-size: .58rem; font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: .07em; }
.dialog-close { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid var(--color-border-base); border-radius: 50%; background: var(--color-surface-strong); color: var(--color-text-heading); font-size: 1.35rem; cursor: pointer; }
.sample-dialog > .eyebrow, .sample-dialog > h2, .sample-dialog > .sample-scenario, .sample-options, .sample-feedback, .dialog-footer { margin-left: 25px; margin-right: 25px; }
.sample-dialog > .eyebrow { margin-top: 25px; margin-bottom: 7px; }
.sample-dialog > h2 { margin-top: 0; margin-bottom: 10px; color: var(--color-text-heading); font-size: 1.7rem; line-height: 1.15; letter-spacing: -.04em; }
.academy-profile, .academy-simulation { margin: 17px 25px 0; padding: 16px 17px; border: 1px solid var(--color-border-base); border-radius: var(--radius-md); background: var(--color-surface-strong); }
.academy-profile h3 { margin: 0 0 5px; color: var(--color-text-heading); font-size: .72rem; }
.academy-profile p { margin: 0 0 13px; color: var(--color-text-muted); font-size: .72rem; line-height: 1.5; }
.academy-profile .structure-label { margin-bottom: 7px; color: var(--color-primary-dark); font-weight: var(--font-weight-bold); }
.academy-profile > ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 6px 12px; margin: 0; padding: 0; list-style: none; }
.academy-profile > ul > li { position: relative; display: grid; grid-template-columns: minmax(0,1fr); align-items: center; align-self: start; gap: 4px; min-width: 0; padding: 7px 7px 7px 31px; border-radius: var(--radius-sm); background: var(--color-surface-base); color: var(--color-text-main); font-size: .66rem; line-height: 1.35; }
.academy-profile > ul > li.has-details { grid-template-columns: minmax(0,1fr) 40px; padding: 5px 6px 5px 31px; }
.academy-profile > ul > li.is-expanded { grid-column: 1 / -1; }
.academy-profile > ul > li::before { content: attr(data-step); position: absolute; left: 8px; color: var(--color-primary-dark); font-weight: var(--font-weight-bold); }
.structure-name { min-width: 0; }
.structure-toggle { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--color-border-base); border-radius: 50%; background: var(--color-surface-strong); color: var(--color-primary-dark); font: inherit; font-size: 1.2rem; font-weight: var(--font-weight-bold); line-height: 1; cursor: pointer; }
.structure-toggle:hover, .structure-toggle[aria-expanded="true"] { border-color: var(--color-primary-dark); background: var(--color-primary-soft); }
.structure-toggle:focus-visible { outline: 3px solid var(--color-focus-ring); outline-offset: 2px; }
.structure-detail { grid-column: 1 / -1; margin: 3px 0 4px; padding: 12px; border: 1px solid var(--color-border-base); border-radius: var(--radius-sm); background: var(--color-surface-base); box-shadow: 0 6px 16px rgba(21,19,19,.1); }
.structure-detail > b { display: block; margin-bottom: 8px; color: var(--color-text-heading); font-size: .66rem; }
.academy-profile .structure-module-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.academy-profile .structure-module-list li { display: grid; gap: 2px; color: var(--color-text-main); font-size: .64rem; line-height: 1.4; }
.academy-profile .structure-module-list strong { color: var(--color-primary-dark); font-size: .66rem; }
.academy-profile .structure-module-list span { color: var(--color-text-muted); }
.academy-simulation { margin-top: 11px; background: var(--color-secondary-soft); }
.discipline-selector { margin-top: 12px; padding: 11px; border: 1px solid var(--color-border-base); border-radius: var(--radius-sm); background: rgba(255,255,255,.55); }
.discipline-selector h3, .stem-routes h3 { margin: 0 0 8px; color: var(--color-text-heading); font-size: .68rem; }
.discipline-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
.discipline-chip { min-height: 34px; padding: 6px 9px; border: 1px solid var(--color-border-base); border-radius: var(--radius-pill); background: var(--color-surface-base); color: var(--color-text-main); font: inherit; font-size: .62rem; cursor: pointer; }
.discipline-chip[aria-pressed="true"] { border-color: var(--color-secondary-dark); background: var(--color-secondary); color: var(--color-text-heading); font-weight: var(--font-weight-bold); }
.discipline-chip:focus-visible { outline: 3px solid var(--color-focus-ring); outline-offset: 2px; }
.discipline-context { min-height: 2.8em; margin: 9px 0 0; color: var(--color-text-muted); font-size: .68rem; line-height: 1.45; }
.stem-routes { margin: 11px 25px 0; padding: 13px 16px; border: 1px solid var(--color-border-base); border-radius: var(--radius-md); background: var(--color-tertiary-soft); }
.stem-routes ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 18px; margin: 0; padding-left: 21px; color: var(--color-text-main); font-size: .68rem; }
.stem-routes li:last-child { grid-column: 1 / -1; }
.simulation-tag { display: inline-flex; padding: 5px 8px; border-radius: var(--radius-pill); background: var(--color-secondary); color: var(--color-text-heading); font-size: .56rem; font-weight: var(--font-weight-bold); letter-spacing: .04em; }
.academy-simulation .sample-scenario { margin: 11px 0; color: var(--color-text-main); font-size: .77rem; }
.simulation-artifact { padding: 10px 11px; border-radius: var(--radius-sm); background: rgba(255,255,255,.72); }
.simulation-artifact > b { display: block; margin-bottom: 7px; color: var(--color-text-heading); font-size: .61rem; }
#sample-artifact-items { display: flex; flex-wrap: wrap; gap: 6px; }
.artifact-chip { padding: 5px 8px; border: 1px solid var(--color-border-base); border-radius: var(--radius-pill); background: var(--color-surface-base); color: var(--color-text-main); font-size: .59rem; }
#sample-artifact-items:has(.artifact-chip:nth-child(7)) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
#sample-artifact-items:has(.artifact-chip:nth-child(7)) .artifact-chip { position: relative; padding-left: 26px; border-radius: var(--radius-sm); }
#sample-artifact-items:has(.artifact-chip:nth-child(7)) .artifact-chip::before { content: counter(canvas-item, decimal-leading-zero); counter-increment: canvas-item; position: absolute; left: 8px; color: var(--color-primary-dark); font-weight: var(--font-weight-bold); }
#sample-artifact-items:has(.artifact-chip:nth-child(7)) { counter-reset: canvas-item; }
.academy-simulation .sample-options { margin: 14px 0 0; }
.academy-simulation .sample-options legend { font-size: .64rem; }
.academy-simulation .sample-choice { margin: 6px 0; padding: 9px 11px; font-size: .69rem; }
.sample-scenario { color: var(--color-text-muted); font-size: .86rem; }
.sample-options { min-width: 0; margin-top: 21px; padding: 0; border: 0; }
.sample-options legend { margin-bottom: 9px; color: var(--color-text-heading); font-size: .7rem; font-weight: var(--font-weight-bold); }
.sample-choice {
  display: block; width: 100%; margin: 8px 0; padding: 12px 14px; border: 1px solid var(--color-border-base);
  border-radius: var(--radius-sm); background: var(--color-surface-strong); color: var(--color-text-main);
  text-align: left; font-size: .77rem; cursor: pointer;
}
.sample-choice:hover:not(:disabled), .sample-choice:focus-visible { border-color: var(--color-secondary-dark); background: var(--color-secondary-soft); }
.sample-choice:disabled { cursor: default; opacity: .75; }
.sample-feedback { margin-top: 15px; padding: 12px 14px; border-left: 3px solid var(--color-primary-dark); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--color-primary-soft); color: var(--color-text-heading); font-size: .77rem; }
.dialog-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 22px; margin-bottom: 21px; padding-top: 14px; border-top: 1px solid var(--color-border-base); }
.dialog-footer > span { color: var(--color-text-muted); font-size: .61rem; }
.dialog-footer-actions { display: flex; align-items: center; gap: 15px; }
.dialog-footer .text-link { flex: 0 0 auto; font-size: .66rem; }
.sample-choice.is-chosen { border-color: var(--color-secondary-dark); background: var(--color-secondary-soft); color: var(--color-text-heading); opacity: 1; }
.sample-access { margin: 13px 25px 0; padding: 15px 17px 13px; border: 1px solid var(--color-border-base); border-inline-start: 4px solid var(--color-primary-dark); border-radius: var(--radius-md); background: var(--color-surface-strong); }
.sample-access-heading { display: flex; align-items: flex-start; gap: 10px; }
.sample-access-mark { display: grid; flex: 0 0 25px; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--color-primary-soft); color: var(--color-primary-dark); font-size: .75rem; font-weight: var(--font-weight-bold); }
.sample-access-heading h3 { margin: 0; color: var(--color-text-heading); font-size: .84rem; line-height: 1.3; }
.sample-access-heading p { margin: 3px 0 0; color: var(--color-text-muted); font-size: .68rem; line-height: 1.4; }
.sample-access-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin: 12px 0 10px; padding: 0; list-style: none; }
.sample-access-list li { display: flex; align-items: flex-start; gap: 8px; min-width: 0; padding: 2px 0; color: var(--color-text-main); font-size: .68rem; line-height: 1.4; }
.sample-access-list li > span:first-child { flex: 0 0 auto; color: var(--color-primary-dark); font-size: .7rem; font-weight: var(--font-weight-bold); }
.sample-access-note { margin: 0; color: var(--color-text-muted); font-size: .64rem; line-height: 1.4; }
@media (max-width: 600px) {
  .academy-profile > ul { grid-template-columns: 1fr; }
  .sample-access { margin-inline: 14px; padding: 13px 12px 11px; }
  .sample-access-list { grid-template-columns: 1fr; gap: 6px; margin-block: 10px 8px; }
}
.faq-section { padding-block: 70px 10px; }
.faq-list { display: grid; gap: 10px; max-width: 820px; margin-top: 24px; }
.faq-list details { border: 1px solid var(--color-border-base); border-radius: var(--radius-sm); background: var(--color-surface-strong); }
.faq-list summary { cursor: pointer; padding: 14px 16px; color: var(--color-text-heading); font-weight: var(--font-weight-semibold); font-size: .86rem; }
.faq-list details p { margin: 0; padding: 0 16px 14px; color: var(--color-text-muted); font-size: .8rem; }
.faq-list a { color: var(--color-primary-dark); }
.audience-section { padding-block: 70px 20px; }
.audience-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 26px; }
.audience-card { display: flex; flex-direction: column; gap: 8px; padding: 18px; border: 1px solid var(--color-border-base); border-radius: var(--radius-md, 16px); background: var(--color-surface-strong); }
.audience-card h3 { margin: 0; font-size: .95rem; color: var(--color-text-heading); }
.audience-card p { margin: 0; font-size: .78rem; color: var(--color-text-muted); }
.audience-kicker { color: var(--color-primary-dark) !important; font-size: .62rem !important; font-weight: var(--font-weight-bold); letter-spacing: .08em; text-transform: uppercase; }
.audience-academies { margin-top: auto !important; padding-top: 8px; border-top: 1px solid var(--color-border-base); font-size: .7rem !important; }
.audience-academies b { color: var(--color-text-heading); }
.audience-note { margin-top: 14px; color: var(--color-text-muted); font-size: .72rem; }
.onepager-audiences { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0 0 16px; }
.onepager-audiences > div { display: grid; gap: 2px; padding: 10px 12px; border-left: 3px solid var(--color-secondary-dark); background: var(--color-secondary-soft); }
.onepager-audiences b { color: var(--color-text-heading); font-size: .78rem; }
.onepager-audiences span { color: var(--color-text-muted); font-size: .68rem; }
@media (max-width: 1000px) {
  .audience-grid { grid-template-columns: repeat(2, 1fr); }
  .primary-nav { gap: 13px; }
  .primary-nav a { font-size: .75rem; }
  .hero { gap: 35px; }
  .proof-strip { gap: 23px; }
  .academy-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1280px) {
  .header-inner { min-height: 72px; }
  .hero-art { overflow: hidden; }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; cursor: pointer; }
  .primary-nav { display: none; position: absolute; top: calc(100% + 1px); left: -20px; right: -20px; z-index: 2; padding: 15px 20px 20px; border-bottom: 1px solid var(--color-border-base); background: var(--color-surface-base); box-shadow: var(--shadow-md); }
  .primary-nav.is-open { display: grid; grid-template-columns: 1fr; align-items: stretch; }
  .primary-nav a { padding: 10px 5px; font-size: .86rem; }
  .primary-nav .nav-cta { justify-content: center; padding: 11px; }
}
@media (max-width: 760px) {
  .audience-grid { grid-template-columns: 1fr; }
  .section-shell { width: min(100% - 36px, 600px); }
  .header-inner { width: calc(100% - 30px); min-height: 70px; }
  .brand img { width: 40px; height: 40px; }
  .brand-name { font-size: .84rem; }
  .brand-tagline { font-size: .58rem; }
  .primary-nav { left: 0; right: 0; }
  .hero { grid-template-columns: 1fr; gap: 12px; padding-block: 57px 44px; }
  .hero h1 { max-width: 620px; font-size: clamp(2.5rem,9vw,3.8rem); }
  .hero-lede { font-size: .94rem; }
  .hero-art { min-height: 410px; width: min(100%,540px); justify-self: center; }
  .art-card-back { left: 4%; }
  .art-card-front { right: 2%; bottom: 38px; }
  .floating-stamp { right: 5%; top: 48px; }
  .proof-strip { grid-template-columns: repeat(3,1fr); gap: 14px; padding: 20px 18px; }
  .proof-strip > div { gap: 7px; }
  .proof-strip strong { font-size: 1.45rem; }
  .proof-strip span { font-size: .58rem; }
  .proof-strip p { grid-column: 1 / -1; justify-self: start; max-width: none; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.15); }
  .intro-section { grid-template-columns: 1fr; padding-block: 70px 57px; }
  .intro-copy { margin-top: 21px; }
  .intro-line { grid-column: 1; margin-top: 16px; }
  .future-section { grid-template-columns: 44px 1fr; gap: 14px; padding-block: 25px; }
  .future-mark { width: 42px; height: 42px; }
  .future-link { grid-column: 2; white-space: normal; }
  .workshop-section { grid-template-columns: 1fr; gap: 24px; padding-block: 65px; }
  .request-fields { grid-template-columns: 1fr; }
  .catalog-section { padding-block: 65px; }
  .catalog-service-promo { margin-top: 34px; padding: 22px 17px; }
  .catalog-service-options { grid-template-columns: 1fr; gap: 12px; margin-top: 20px; }
  .service-option { padding: 21px; }
  .catalog-heading, .experience-head { grid-template-columns: 1fr; gap: 14px; }
  .heading-aside { justify-self: start; }
  .catalog-tools { align-items: stretch; flex-direction: column; }
  .search-field { min-width: 0; }
  .academy-grid { grid-template-columns: 1fr; }
  .academy-profile, .academy-simulation, .stem-routes { margin-inline: 14px; }
  .academy-profile ul { grid-template-columns: 1fr; }
  .stem-routes ol { grid-template-columns: 1fr; }
  .stem-routes li:last-child { grid-column: auto; }
  .academy-card { min-height: 245px; }
  .experience-section { padding-block: 68px; }
  .experience-layout { grid-template-columns: 1fr; gap: 23px; margin-top: 28px; }
  .experience-note { padding: 23px; }
  .institution-section { padding-block: 67px; }
  .institution-layout { grid-template-columns: 1fr; gap: 36px; }
  .institution-board { width: min(100%,490px); justify-self: center; }
  .institution-onepager { width: calc(100% - 36px); }
  .closing-section { padding-block: 72px 68px; }
  .footer-main { grid-template-columns: 1fr; gap: 10px; }
  .footer-contact-group { justify-content: flex-start; }
  .copy-status { text-align: left; }
  .footer-bottom { flex-wrap: wrap; justify-content: flex-start; }
  .demo-watermark { right: 8px; bottom: 8px; min-height: 33px; gap: 6px; padding: 6px 9px; }
  .watermark-subtitle { font-size: .51rem; }
}
@media (max-width: 390px) {
  .header-inner { gap: 10px; }
  .brand { gap: 7px; }
  .menu-toggle { flex: 0 0 auto; padding-inline: 10px; font-size: .78rem; }
  .brand-tagline { display: none; }
  .brand-name { font-size: .76rem; }
  .hero-actions .button { width: 100%; }
  .filter-row { gap: 6px; }
  .filter-chip { padding-inline: 10px; font-size: .64rem; }
  .demo-watermark { gap: 4px; padding: 5px 7px; }
  .dialog-footer { align-items: flex-start; flex-direction: column; }
  .dialog-footer-actions { width: 100%; justify-content: space-between; gap: 8px; }
  .watermark-subtitle { font-size: .47rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
@media print {
  @page { margin: 15mm; }
  body { padding: 0; background: #fff; }
  body > .site-header, body > .skip-link, body > footer { display: none !important; }
  body > main > section { display: none !important; }
  body > main > .institution-onepager { display: block !important; width: 100%; padding: 10mm; border: 1px solid #ddd; border-radius: 12px; }
  .demo-watermark { position: fixed; top: 2mm; right: 0; bottom: auto; box-shadow: none; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .onepager-mark { display: none; }
  .institution-onepager { page-break-inside: avoid; }
}
.structure-detail-note { margin: -3px 0 9px; color: var(--color-text-muted); font-size: .62rem; line-height: 1.4; }
