@font-face {
  font-family:Inter;
  src:url('./assets/inter-regular.woff2') format('woff2');
  font-weight:400;
  font-display:swap
}
@font-face {
  font-family:Inter;
  src:url('./assets/inter-bold.woff2') format('woff2');
  font-weight:700;
  font-display:swap
}
:root {
  color-scheme:light;
  --bg:#f7f7f4;
  --surface:#f0f1ed;
  --raised:#f0f1ed;
  --line:#dfe2d8;
  --text:#272924;
  --muted:#5c6058;
  --accent:#f2bf58;
  --accent-ink:#28200f;
  --action:#8e5700;
  --selection:#f8eac9;
  --card:#ffffff;
  --control-border:#74796c;
  --link:#8e5700;
  --focus:#8e5700;
  --radius:0.875rem;
  --header-height:4.5rem
}
* {
  box-sizing:border-box
}
html {
  font-size:clamp(16px,min(calc(11px + .4vw),calc(12px + 1svh)),24px);
  scroll-behavior:smooth;
  scroll-padding-top:6.5625rem
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:1rem/1.65 Inter,Arial,sans-serif
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
img {
  display:block;
  max-width:100%;
  height:auto
}
svg {
  flex-shrink:0
}
p,h1,h2,h3,figure {
  margin:0
}
h1,h2,h3 {
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.045em
}
p {
  color:var(--muted)
}
ul {
  margin:0;
  padding:0;
  list-style:none
}
button {
  border:0
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:0.3125rem
}
input,select,textarea {
  min-width:0
}
strong {
  color:var(--text)
}
[hidden] {
  display:none!important
}
.container {
  width:92%;
  max-width:2600px;
  margin-inline:auto;
  padding-inline:0
}
.section {
  padding-block:6rem
}
.eyebrow {
  font-size:0.875rem;
  color:var(--link);
  margin-bottom:1.125rem
}
.skip-link {
  position:fixed;
  top:-6.25rem;
  left:1.25rem;
  padding:0.75rem 1.25rem;
  background:white;
  color:black;
  z-index:100
}
.skip-link:focus {
  top:0.75rem
}
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  border-bottom:1px solid var(--line);
  background:rgba(247,247,244,.97)
}
.header-inner {
  display:flex;
  min-height:var(--header-height);
  align-items:center;
  justify-content:space-between;
  gap:1.5rem
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:0.6875rem;
  font-size:1.3125rem;
  font-weight:700;
  letter-spacing:-.045em;
  white-space:nowrap
}
.brand img {
  width:11rem;
  height:auto;
  display:block
}
#navigation {
  display:flex;
  align-items:center;
  gap:1.875rem;
  font-size:0.875rem
}
#navigation>a:not(.button) {
  color:var(--muted);
  padding-block:0.75rem
}
#navigation>a:not(.button):hover {
  color:var(--link)
}
.menu-toggle {
  display:none
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1.5rem;
  min-height:3.25rem;
  padding:0.8125rem 1.375rem;
  border-radius:0.4375rem;
  background:var(--accent);
  color:var(--accent-ink);
  font-size:0.875rem;
  font-weight:700;
  line-height:1.4;
  transition:background .15s
}
.button:hover {
  background:var(--selection)
}
.button span {
  font-size:1.25rem
}
.button-small {
  min-height:2.75rem;
  padding:0.75rem 1.125rem
}
.button-secondary {
  background:var(--raised);
  color:var(--text);
  border:1px solid var(--line)
}
.button-secondary:hover {
  background:var(--line)
}
.button:disabled {
  opacity:.65;
  cursor:wait
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:0.875rem;
  min-height:2.75rem;
  font-size:0.875rem;
  font-weight:700
}
.text-link:hover,.course-cta:hover {
  color:var(--link)
}
.hero {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(1.5rem,3vw,3rem);
  align-items:center;
  padding-block:clamp(24px,4svh,64px)
}
.audience {
  display:flex;
  align-items:center;
  gap:0.5625rem;
  font-size:0.75rem;
  line-height:1.5;
  margin-bottom:1.5625rem;
  color:var(--muted)
}
.status-dot {
  display:inline-block;
  width:0.375rem;
  height:0.375rem;
  border-radius:100%;
  background:var(--accent);
  flex-shrink:0
}
.hero h1 {
  font-size:clamp(2.25rem,min(3.25vw,6.5svh),3.625rem);
  line-height:1.06;
  letter-spacing:-.06em
}
.hero-lead {
  font-size:1rem;
  line-height:1.75;
  margin-top:1.25rem;
  max-width:28.75rem
}
.actions {
  display:flex;
  gap:1.375rem;
  align-items:center;
  flex-wrap:wrap;
  margin-top:2rem
}
.hero-note {
  font-size:0.75rem;
  margin-top:0.9375rem
}
.hero-product {
  min-width:0;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 1.5625rem 4.375rem rgba(39,41,36,.08);
  overflow:hidden
}
.product-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:0.625rem;
  padding:0.9375rem 1.125rem;
  font-size:0.625rem;
  color:var(--muted)
}
.product-heading>span:first-child {
  display:flex;
  gap:0.5rem;
  align-items:center
}
.product-tag {
  border:1px solid var(--line);
  border-radius:0.25rem;
  padding:3px 0.4375rem;
  white-space:nowrap
}
.capture-link {
  position:relative;
  display:block;
  overflow:hidden
}
.hero-product img {
  width:100%;
  height:auto
}
.expand-label {
  position:absolute;
  bottom:0.75rem;
  right:0.75rem;
  padding:0.4375rem 0.625rem;
  border:1px solid var(--control-border);
  background:#272924ee;
  border-radius:0.3125rem;
  font-size:0.625rem;
  color:white
}
.hero-product figcaption {
  padding:1rem 1.125rem 1.125rem;
  font-size:0.75rem;
  color:var(--text)
}
.hero-product figcaption>span {
  display:block;
  color:var(--muted);
  font-size:0.625rem;
  margin-top:0.25rem
}
.technology-strip {
  border-block:1px solid var(--line);
  background:var(--surface)
}
.technology-strip>.container {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5625rem;
  padding-block:1.625rem
}
.technology-strip p {
  font-size:0.75rem;
  line-height:1.6
}
.technology-strip ul {
  display:flex;
  gap:2.25rem;
  font-weight:700;
  font-size:1.0625rem;
  letter-spacing:-.025em;
  color:var(--text)
}
.section-heading {
  display:flex;
  justify-content:space-between;
  gap:3.75rem;
  align-items:flex-end;
  margin-bottom:3.25rem
}
.section-heading>div {
  flex:1.2
}
.section-heading>p {
  flex:1;
  max-width:24.375rem;
  font-size:0.875rem;
  line-height:1.8
}
h2 {
  font-size:2.5rem
}
.benefits {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3rem
}
.benefits article {
  border-top:1px solid var(--line);
  padding-top:1.75rem
}
.feature-icon {
  width:2.625rem;
  height:2.625rem;
  display:grid;
  place-items:center;
  background:var(--selection);
  color:var(--link);
  border-radius:0.5625rem;
  font-size:1rem;
  font-weight:700;
  margin-bottom:1.4375rem
}
.benefits h3 {
  font-size:1.25rem;
  margin-bottom:0.75rem;
  letter-spacing:-.025em
}
.benefits p {
  font-size:0.875rem;
  max-width:20.625rem
}
.courses-section {
  background:var(--surface);
  border-block:1px solid var(--line)
}
.course-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem
}
.course {
  padding:1.875rem;
  border:1px solid var(--line);
  background:var(--card);
  border-radius:0.75rem;
  display:flex;
  flex-direction:column;
  align-items:stretch
}
.course-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:1.5rem
}
.course-logo {
  width:2.75rem;
  height:2.75rem;
  object-fit:contain
}
.course-top>span {
  font-size:0.75rem;
  color:var(--muted)
}
.course h3 {
  font-size:1.5rem;
  letter-spacing:-.035em;
  margin-bottom:0.75rem
}
.course>p {
  font-size:0.875rem;
  max-width:23.75rem
}
.tags {
  display:flex;
  flex-wrap:wrap;
  gap:0.375rem;
  margin-block:1.375rem
}
.tags li {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:0.6875rem;
  line-height:1.4;
  color:var(--muted);
  border:1px solid var(--line);
  padding:0.3125rem 0.5625rem;
  border-radius:0.25rem
}
.tags img {
  width:1.125rem;
  height:1.125rem;
  object-fit:contain
}
.catalogue-showcase {
  display:grid;
  grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);
  align-items:center;
  gap:clamp(2rem,5vw,5rem);
  margin-top:3.5rem
}
.catalogue-showcase h3 {
  font-size:clamp(1.75rem,2.4vw,2.75rem);
  line-height:1.13;
  letter-spacing:-.045em;
  margin-bottom:1rem
}
.catalogue-showcase p:not(.eyebrow) {max-width:30em}
.catalogue-capture img {
  aspect-ratio:1.75;
  object-fit:cover;
  object-position:50% 54%
}
@media(max-width:800px) {
  .catalogue-showcase {grid-template-columns:1fr;gap:1.5rem}
  .catalogue-showcase h3 br {display:none}
}
.course details {
  margin-top:auto;
  border-top:1px solid var(--line)
}
summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
  cursor:pointer;
  list-style:none
}
summary::-webkit-details-marker {
  display:none
}
summary>span {
  font-size:1.3125rem;
  color:var(--link)
}
details[open]>summary>span {
  transform:rotate(45deg)
}
.course summary {
  padding-block:0.9375rem;
  font-size:0.8125rem;
  color:var(--muted)
}
.course details p {
  font-size:0.8125rem;
  margin-bottom:0.75rem
}
.course-cta {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:2.75rem;
  padding-top:0.875rem;
  border-top:1px solid var(--line);
  font-size:0.8125rem;
  font-weight:700
}
.course-cta span {
  font-size:1.25rem
}
.custom-course {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.875rem;
  margin-top:1.875rem;
  padding:1.75rem 0 0
}
.custom-course h3 {
  font-size:1.1875rem;
  letter-spacing:-.02em;
  margin-bottom:0.5rem
}
.custom-course p {
  font-size:0.8125rem
}
.custom-course a {
  white-space:nowrap
}
.school-section {
  display:grid;
  grid-template-columns:.85fr 1.25fr;
  gap:4.375rem;
  align-items:center
}
.school-copy>p:not(.eyebrow) {
  font-size:0.875rem;
  margin-top:1.4375rem
}
.check-list {
  display:grid;
  gap:0.75rem;
  margin-block:1.5625rem
}
.check-list li {
  position:relative;
  padding-left:1.5625rem;
  font-size:0.875rem;
  color:var(--muted)
}
.check-list li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:var(--link)
}
.dashboard {
  min-width:0
}
.dashboard .capture-link {
  border-radius:0.75rem;
  border:1px solid var(--line);
  box-shadow:0 1.25rem 3.75rem #27292414
}
.dashboard img {
  width:100%
}
.dashboard figcaption {
  font-size:0.625rem;
  color:var(--muted);
  padding-top:0.8125rem
}
.pilot-section {
  background:var(--selection);
  border-block:1px solid var(--line)
}
.pilot-intro>div>p,.pilot-steps p {
  color:var(--accent-ink)
}
.pilot-intro {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:5.3125rem;
  align-items:center
}
.pilot-intro>div>p:not(.eyebrow) {
  font-size:0.9375rem;
  margin-block:1.5625rem;
  max-width:30.625rem
}
.pilot-scope {
  background:#ffffff;
  border:1px solid var(--line);
  padding:1.75rem;
  border-radius:0.75rem
}
.pilot-scope h3 {
  font-size:1.1875rem;
  letter-spacing:-.025em
}
.pilot-scope dl {
  margin:1.5rem 0 0
}
.pilot-scope dl>div {
  display:grid;
  grid-template-columns:7.8125rem 1fr;
  gap:0.75rem;
  padding-block:0.875rem;
  border-top:1px solid var(--line);
  font-size:0.75rem
}
.pilot-scope dt {
  color:var(--muted)
}
.pilot-scope dd {
  margin:0
}
.pilot-scope>p {
  font-size:0.6875rem;
  margin-top:0.9375rem
}
.pilot-steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2.25rem;
  margin:4.0625rem 0 0;
  padding:0;
  list-style:none
}
.pilot-steps li {
  border-top:1px solid var(--line);
  padding:1.5625rem .5rem 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center
}
.pilot-steps li>span {
  display:grid;
  place-items:center;
  width:1.75rem;
  height:1.75rem;
  border-radius:50%;
  background:var(--accent);
  color:var(--accent-ink);
  font-size:0.75rem;
  margin-bottom:1.25rem
}
.pilot-steps h3 {
  font-size:1.0625rem;
  letter-spacing:-.02em;
  margin-bottom:0.75rem
}
.pilot-steps p {
  font-size:0.8125rem;
  max-width:28ch
}
.faq-section {
  max-width:80rem
}
.faq-heading {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3.5rem;
  align-items:end;
  margin-bottom:3rem
}
.faq-heading>p {
  max-width:32rem;
  font-size:1rem
}
.faq-heading a {
  text-decoration:underline;
  text-underline-offset:.2em;
  color:var(--link)
}
.faq-list {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:3.5rem;
  align-items:start
}
.faq-group {
  min-width:0
}
.faq-group h3 {
  font-size:1.125rem;
  letter-spacing:-.025em;
  line-height:1.4;
  padding-bottom:1.125rem;
  border-bottom:2px solid var(--accent)
}
.faq-list details {
  border-bottom:1px solid var(--line);
  transition:background-color .15s ease
}
.faq-list details:hover {
  background:var(--card)
}
.faq-list details[open] {
  background:var(--selection);
  border-bottom-color:var(--accent)
}
.faq-list summary {
  padding:1.125rem .875rem;
  min-height:4.5rem;
  font-size:.9375rem;
  font-weight:700;
  line-height:1.5;
  gap:1rem
}
.faq-list summary:focus-visible {
  outline-offset:-3px
}
.faq-toggle {
  position:relative;
  flex:0 0 1.5rem;
  width:1.5rem;
  height:1.5rem;
  border:1px solid currentColor;
  border-radius:50%;
  color:var(--link)
}
.faq-toggle::before,.faq-toggle::after {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:.625rem;
  height:1.5px;
  background:currentColor;
  transform:translate(-50%,-50%)
}
.faq-toggle::after {
  transform:translate(-50%,-50%) rotate(90deg);
  transition:transform .15s ease
}
.faq-list details[open]>summary>.faq-toggle {
  transform:none
}
.faq-list details[open] .faq-toggle::after {
  transform:translate(-50%,-50%) rotate(0deg)
}
.faq-list details p {
  font-size:1rem;
  max-width:65ch;
  padding:0 3.375rem 1.25rem .875rem;
  color:var(--text)
}
.contact-section {
  background:var(--surface);
  border-top:1px solid var(--line)
}
.contact-layout {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:5.3125rem;
  align-items:start
}
.contact-copy {
  padding-top:1.25rem
}
.contact-copy h2 {
  font-size:2.5rem
}
.contact-copy>p:not(.eyebrow) {
  font-size:0.9375rem;
  max-width:21.25rem;
  margin-top:1.5625rem
}
.contact-next {
  border-top:1px solid var(--line);
  margin-top:2.375rem;
  padding-top:1.6875rem
}
.contact-next h3 {
  font-size:1rem;
  letter-spacing:-.02em
}
.contact-next .check-list {
  margin-block:1.25rem
}
.direct-contact a {
  color:var(--link);
  text-decoration:underline;
  text-underline-offset:0.3125rem
}
.contact-copy>p.small-note {
  font-size:0.75rem
}
.contact-card {
  padding:2rem;
  box-shadow:0 1rem 3.125rem #2729240a;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  min-width:0
}
.contact-card h3 {
  font-size:1.5rem;
  letter-spacing:-.03em
}
.request-summary {
  font-size:0.75rem;
  margin-top:0.625rem
}
.interest-group {
  border:0;
  margin:1.5625rem 0;
  padding:0;
  display:flex;
  gap:0.5625rem;
  flex-wrap:wrap
}
.interest-group legend {
  font-size:0.75rem;
  color:var(--muted);
  padding:0 0 0.5625rem
}
.interest-group label {
  flex:1;
  display:flex;
  align-items:center;
  gap:0.5625rem;
  padding:0.6875rem 0.625rem;
  border:1px solid var(--line);
  border-radius:0.3125rem;
  font-size:0.6875rem;
  cursor:pointer;
  white-space:nowrap
}
.interest-group label:has(input:checked) {
  background:var(--selection);
  border-color:#8e5700;
  color:var(--accent-ink)
}
input[type=radio],input[type=checkbox] {
  accent-color:var(--action);
  margin:0;
  flex-shrink:0;
  width:1rem;
  height:1rem
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.125rem 0.9375rem
}
.field {
  display:flex;
  flex-direction:column;
  gap:0.4375rem
}
.field label {
  font-size:0.6875rem;
  color:var(--text)
}
.field input,.field select,.field textarea {
  width:100%;
  border:1px solid var(--control-border);
  border-radius:0.3125rem;
  background:#ffffff;
  color:var(--text);
  padding:0.625rem 0.75rem;
  font-size:0.75rem;
  line-height:1.5;
  min-height:2.6875rem
}
.field input::placeholder,.field textarea::placeholder {
  color:var(--muted);
  opacity:1
}
.field textarea {
  resize:vertical;
  min-height:5.375rem
}
.message-field {
  margin-top:1.125rem
}
.optional {
  margin-left:0.3125rem;
  color:var(--muted);
  font-size:0.625rem
}
.consent {
  display:flex;
  gap:0.625rem;
  align-items:flex-start;
  font-size:0.6875rem;
  color:var(--muted);
  line-height:1.7;
  margin-top:1.375rem
}
.consent input {
  margin-top:3px
}
.consent a {
  text-decoration:underline;
  text-underline-offset:3px
}
.required-note {
  font-size:0.625rem;
  margin-top:1rem
}
#contact-submit {
  width:100%;
  margin-top:0.75rem
}
.contact-status {
  font-size:0.8125rem;
  margin-top:0.9375rem
}
.contact-status:empty {
  display:none
}
.contact-status[data-state=error] {
  color:#a92e27
}
.contact-success {
  padding-block:2.1875rem
}
.contact-success p {
  font-size:0.875rem;
  margin-block:1.25rem
}
.contact-success a {
  color:var(--link);
  text-decoration:underline
}
.success-icon {
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  border-radius:50%;
  background:#e3f3eb;
  color:#176440;
  font-size:1.4375rem;
  margin-bottom:1.5rem
}
.honeypot {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.site-footer {
  padding-block:2.8125rem 1.5625rem;
  border-top:1px solid var(--line)
}
.footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem
}
.footer-top p,.footer-top>a:last-child {
  font-size:0.75rem
}
.footer-top .brand {
  font-size:1.125rem
}
.faq-list a {
  text-decoration:underline
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:1.25rem;
  padding-top:1.375rem;
  font-size:0.625rem;
  color:var(--muted)
}
@media(max-width:1100px) {
  .course-grid {
    grid-template-columns:1fr 1fr
  }
  .course:last-child {
    grid-column:1 / -1
  }
  .container {
    padding-inline:0
  }
  .hero {
    grid-template-columns:.8fr 1.2fr;
    gap:1.5rem
  }
  .hero h1 {
    font-size:clamp(2.1rem,3.25vw,2.8125rem)
  }
  .hero-lead {
    font-size:0.9375rem
  }
  .actions {
    gap:0.625rem
  }
  .actions .text-link {
    font-size:0.75rem
  }
  .school-section {
    gap:2.1875rem
  }
  .pilot-intro {
    gap:2.5rem
  }
  .contact-layout {
    gap:2.5rem
  }
  .contact-card {
    padding:1.5625rem
  }
  h2,.contact-copy h2 {
    font-size:2.125rem
  }
  #navigation {
    gap:1.25rem
  }
  .technology-strip ul {
    gap:1.5625rem
  }
}
@media(max-width:800px) {
  .container {
    padding-inline:0
  }
  .section {
    padding-block:4.5rem
  }
  .header-inner {
    min-height:5rem
  }
  .brand {
    font-size:1.1875rem
  }
  .brand img {
    width:11.5rem
  }
  .menu-toggle {
    display:flex;
    gap:0.625rem;
    align-items:center;
    background:transparent;
    color:var(--text);
    min-height:2.75rem;
    padding:0.5rem;
    font-size:0.875rem
  }
  #navigation {
    display:none;
    position:absolute;
    top:calc(100% - 1px);
    left:0;
    right:0;
    background:var(--bg);
    padding:1.125rem 1.5rem 1.625rem;
    border-bottom:1px solid var(--line);
    align-items:stretch;
    gap:0.5rem
  }
  #navigation.is-open {
    display:flex;
    flex-direction:column
  }
  #navigation>a:not(.button) {
    padding:0.75rem 0
  }
  .hero {
    grid-template-columns:1fr;
    padding-block:2.25rem;
    gap:2.375rem
  }
  .hero h1 {
    font-size:clamp(2.4375rem,7vw,3.5625rem)
  }
  .hero-copy {
    max-width:37.5rem
  }
  .hero-lead {
    max-width:32.5rem
  }
  .actions {
    gap:1.375rem
  }
  .hero-product {
    max-width:40.625rem
  }
  .technology-strip>.container {
    align-items:flex-start;
    flex-direction:column;
    gap:1rem
  }
  .technology-strip p br {
    display:none
  }
  .technology-strip ul {
    flex-wrap:wrap;
    gap:0.625rem 1.6875rem;
    font-size:0.9375rem
  }
  .section-heading {
    display:block;
    margin-bottom:2.1875rem
  }
  .section-heading>p {
    margin-top:1.5rem;
    max-width:33.125rem
  }
  .benefits {
    gap:1.5rem
  }
  .benefits h3 {
    font-size:1.125rem
  }
  .benefits p {
    font-size:0.8125rem
  }
  .course {
    padding:1.5rem
  }
  .course h3 {
    font-size:1.3125rem
  }
  .custom-course {
    align-items:flex-start;
    flex-direction:column;
    gap:0.75rem
  }
  .school-section {
    grid-template-columns:1fr;
    gap:2.1875rem
  }
  .school-copy {
    max-width:36.25rem
  }
  .school-copy>p:not(.eyebrow) {
    max-width:29.375rem
  }
  .dashboard {
    max-width:43.75rem
  }
  .pilot-intro {
    grid-template-columns:1fr;
    gap:2rem
  }
  .pilot-scope {
    max-width:40.625rem
  }
  .pilot-steps {
    grid-template-columns:1fr 1fr;
    gap:1.875rem;
    margin-top:2.5rem
  }
  .faq-heading {
    grid-template-columns:1fr;
    gap:1rem;
    margin-bottom:2rem
  }
  .faq-list {
    grid-template-columns:1fr;
    gap:2rem
  }
  .contact-layout {
    grid-template-columns:1fr;
    gap:2.1875rem
  }
  .contact-copy {
    padding:0
  }
  .contact-copy>p:not(.eyebrow) {
    max-width:33.75rem
  }
  .contact-next {
    margin-top:1.5625rem
  }
  .contact-card {
    max-width:42.5rem;
    width:100%;
    padding:1.875rem
  }
  .contact-copy>p.direct-contact {
    font-size:0.8125rem
  }
  .footer-top {
    align-items:flex-start;
    flex-wrap:wrap
  }
  .footer-top p {
    flex-basis:50%
  }
}
@media(max-width:520px) {
  .container {
    width:calc(100% - 2.5rem)
  }
  .container {
    padding-inline:0
  }
  .hero {
    padding-block:2.5rem 2.8125rem
  }
  .hero h1 {
    font-size:2.5rem
  }
  .hero-lead {
    font-size:0.875rem;
    line-height:1.8
  }
  .audience {
    font-size:0.625rem
  }
  .actions {
    gap:0.875rem
  }
  .actions .button {
    padding-inline:1rem;
    gap:0.9375rem
  }
  .actions .text-link {
    font-size:0.6875rem;
    gap:0.4375rem
  }
  .hero-note {
    font-size:0.625rem
  }
  .product-heading {
    padding:0.75rem;
    font-size:0.5625rem
  }
  .product-tag {
    font-size:0.5rem
  }
  .hero-product figcaption {
    font-size:0.6875rem;
    padding:0.8125rem
  }
  .hero-product figcaption>span {
    font-size:0.5625rem
  }
  .expand-label {
    font-size:0.5625rem;
    bottom:0.5rem;
    right:0.5rem
  }
  h2,.contact-copy h2 {
    font-size:1.9375rem;
    line-height:1.18
  }
  .eyebrow {
    font-size:0.75rem;
    margin-bottom:0.875rem
  }
  .benefits {
    grid-template-columns:1fr;
    gap:1.625rem
  }
  .benefits article {
    padding-top:1.375rem
  }
  .feature-icon {
    float:left;
    margin-right:1.25rem;
    margin-bottom:0.75rem;
    width:2.375rem;
    height:2.375rem
  }
  .benefits h3 {
    padding-top:0.25rem
  }
  .benefits p {
    clear:both;
    max-width:100%
  }
  .course-grid {
    grid-template-columns:1fr
  }
  .course {
    padding:1.5625rem
  }
  .course h3 {
    font-size:1.5rem
  }
  .course-top {
    margin-bottom:1.25rem
  }
  .pilot-scope {
    padding:1.4375rem
  }
  .pilot-scope dl>div {
    grid-template-columns:6.25rem 1fr
  }
  .pilot-steps {
    gap:1.5625rem
  }
  .pilot-steps h3 {
    font-size:0.9375rem
  }
  .pilot-steps p {
    font-size:0.75rem
  }
  .faq-list summary {
    font-size:.9375rem;
    padding:1rem .625rem
  }
  .faq-list details p {
    padding:0 .625rem 1.25rem
  }
  .contact-card {
    padding:1.4375rem 1.1875rem
  }
  .form-grid {
    grid-template-columns:1fr;
    gap:1rem
  }
  .field input,.field select,.field textarea {
    font-size:1rem;
    min-height:3rem
  }
  .field label {
    font-size:0.75rem
  }
  .interest-group label {
    font-size:0.625rem;
    gap:0.375rem
  }
  .consent {
    font-size:0.75rem
  }
  .footer-top {
    flex-direction:column;
    gap:0.75rem
  }
  .footer-bottom {
    font-size:0.625rem
  }
  .section {
    padding-block:3.625rem
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}
/* Keep supporting copy legible at every breakpoint, including form labels. */
.audience,.hero-note,.product-heading,.product-tag,.expand-label,.hero-product figcaption>span,.tags li,.dashboard figcaption,.pilot-scope>p,.optional,.required-note,.footer-bottom {
  font-size:0.75rem
}
.hero-product figcaption,.course-top>span,.course summary,.course details p,.course-cta,.custom-course p,.pilot-scope dl>div,.pilot-steps p,.request-summary,.interest-group legend,.interest-group label,.field label,.consent,.footer-top p,.footer-top>a:last-child {
  font-size:0.875rem
}
.actions .text-link {
  font-size:0.875rem
}
.contact-copy>p.small-note {
  font-size:0.875rem
}
#navigation>a.button:hover {
  color:var(--accent-ink)
}
@media(max-width:520px) {
  .interest-group {
    flex-direction:column
  }
  .interest-group label {
    min-height:3rem
  }
  .product-heading {
    flex-wrap:wrap
  }
  .actions {
    align-items:stretch;
    flex-direction:column
  }
  .actions .text-link {
    justify-content:center
  }
  .pilot-scope dl>div {
    grid-template-columns:1fr;
    gap:3px
  }
}

/* Text keeps a readable measure while the surrounding composition grows. */
.hero-copy,.school-copy,.pilot-intro>div,.contact-copy {
  min-width:0
}
.hero-lead {
  font-size:1.0625rem;
  max-width:32em
}
.section-heading>p,.benefits p,.course>p,.school-copy>p:not(.eyebrow),.check-list li,.pilot-intro>div>p:not(.eyebrow),.faq-list details p,.contact-copy>p:not(.eyebrow) {
  font-size:1rem
}
.field input,.field select,.field textarea {
  font-size:1rem;
  min-height:3.25rem;
  border-radius:.6rem
}
.course h3 {
  line-height:1.25
}
.hero-product,.dashboard {
  align-self:center
}
@media(max-width:800px) {
  .hero-product,.dashboard,.contact-card {
    max-width:none
  }
}
@media(max-width:520px) {
  .hero-lead {
    font-size:1rem
  }
}
/* Reserve the header and the feature strip before sizing the demo. */
@media(min-width:1024px) and (min-height:600px) {
  .first-screen {
    height:calc(100svh - var(--header-height) - 1px);
    display:grid;
    grid-template-rows:minmax(0,1fr) auto
  }
  .hero {
    min-height:0;
    padding-block:clamp(16px,3svh,40px)
  }
  .hero-copy {min-width:0}
  .hero h1 {
    font-size:clamp(1.9rem,min(3.25vw,5.7svh),3.625rem)
  }
  .hero .audience {margin-bottom:clamp(.75rem,2.2svh,1.5625rem)}
  .hero-lead {margin-top:clamp(.75rem,2svh,1.25rem)}
  .hero .actions {margin-top:clamp(1rem,2.5svh,2rem)}
  .hero-note {margin-top:clamp(.5rem,1.5svh,.9375rem)}
  .technology-strip>.container {padding-block:clamp(.65rem,1.6svh,1.25rem)}
}
@media(min-width:1024px) and (min-height:600px) and (max-height:760px) {
  .hero-lead {font-size:.875rem;line-height:1.6}
  .hero .actions {gap:.5rem 1rem}
  .hero .button {min-height:2.75rem;padding:.65rem 1rem}
}
