/* Shared editorial components */

.section-header {
  max-width: 64rem;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.section-header h2 {
  max-width: 15ch;
  margin-bottom: 1.25rem;
}

.section-header > p:last-child {
  max-width: 66ch;
  color: var(--muted);
  font-size: 1.05rem;
}

.section-header-center {
  margin-inline: auto;
  text-align: center;
}

.section-header-center h2,
.section-header-center > p:last-child {
  margin-inline: auto;
}

.visual-frame {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #07111b;
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.visual-frame::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.035);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

.visual-frame img {
  width: 100%;
  height: auto;
}

.visual-frame figcaption {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 1rem 1.25rem;
  color: var(--muted);
  background: rgba(6, 12, 19, 0.96);
  border-top: 1px solid var(--line);
  font-size: 0.79rem;
  line-height: 1.5;
}

.hero-visual {
  transform: rotate(1deg);
}

.hero-visual::after {
  position: absolute;
  z-index: 2;
  top: 1.25rem;
  right: 1.25rem;
  width: 0.65rem;
  height: 0.65rem;
  background: var(--success);
  border-radius: 50%;
  box-shadow: 0 0 0 0.35rem rgba(168, 235, 199, 0.09);
  content: "";
  pointer-events: none;
}

.plain-list,
.check-list {
  display: grid;
  gap: 0.7rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.plain-list li,
.check-list li {
  position: relative;
  padding-left: 1.45rem;
  color: var(--muted-bright);
}

.plain-list li::before,
.check-list li::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.42rem;
  height: 0.42rem;
  background: var(--cyan);
  border-radius: 50%;
  content: "";
}

.check-list li::before {
  width: 0.52rem;
  height: 0.3rem;
  background: transparent;
  border-bottom: 2px solid var(--success);
  border-left: 2px solid var(--success);
  border-radius: 0;
  transform: rotate(-45deg);
}

[data-reveal] {
  will-change: opacity, transform;
}

.reveal-pending {
  opacity: 0;
  transform: translateY(1.5rem);
  transition:
    opacity 600ms ease,
    transform 600ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

.reveal-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Packages and conversion points */

.package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.package-card {
  position: relative;
  min-width: 0;
  padding: clamp(1.5rem, 2.6vw, 2.25rem);
  background:
    linear-gradient(150deg, rgba(93, 217, 231, 0.045), transparent 38%),
    var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.package-card:nth-child(2) {
  margin-top: 2rem;
}

.package-card:nth-child(3) {
  margin-top: 4rem;
}

.package-card.recommended {
  background:
    linear-gradient(145deg, rgba(255, 152, 94, 0.1), transparent 44%),
    var(--surface-soft);
  border-color: rgba(255, 152, 94, 0.7);
  box-shadow: 0 22px 55px rgba(0, 0, 0, 0.22);
}

.package-card.recommended::before {
  position: absolute;
  top: -1px;
  right: 1.5rem;
  width: 3.5rem;
  height: 3px;
  background: var(--ember);
  content: "";
}

.package-card h3 {
  margin-bottom: 0.75rem;
  font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.package-card > p:not(.tag) {
  min-height: 3.5rem;
  color: var(--muted);
}

.package-card .check-list {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
  font-size: 0.9rem;
}

.package-action {
  display: flex;
  justify-content: flex-end;
  margin-top: 2rem;
}

.final-cta-section {
  overflow: clip;
  background:
    radial-gradient(circle at 80% 30%, rgba(157, 140, 255, 0.11), transparent 24rem),
    radial-gradient(circle at 15% 90%, rgba(255, 152, 94, 0.09), transparent 22rem),
    #070c13;
  border-top: 1px solid var(--line);
}

.final-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(15rem, 0.6fr);
  gap: 1rem 4rem;
  align-items: end;
  padding: clamp(2rem, 5vw, 4.5rem);
  background: rgba(13, 23, 33, 0.74);
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.final-cta .eyebrow,
.final-cta h2 {
  grid-column: 1;
}

.final-cta h2 {
  max-width: 13ch;
  margin-bottom: 0.5rem;
}

.final-cta > p:not(.eyebrow) {
  grid-column: 1;
  max-width: 56ch;
  color: var(--muted);
}

.final-cta .cta-actions {
  grid-column: 2;
  grid-row: 1 / span 3;
  display: grid;
  justify-items: start;
}

.ownership-band {
  padding: clamp(3.5rem, 7vw, 6.5rem) 0;
  background: var(--surface-warm);
  border-block: 1px solid rgba(255, 152, 94, 0.24);
}

.ownership-band .container {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
}

.ownership-copy h2 {
  max-width: 15ch;
  margin-bottom: 0;
  font-size: clamp(2.2rem, 4.3vw, 4.4rem);
}

.ownership-detail {
  padding-left: 1.5rem;
  color: #d1c5bd;
  border-left: 2px solid var(--ember);
}

/* Home */

.hero-home {
  padding-bottom: 0;
}

.hero-home .hero-copy {
  position: relative;
  z-index: 2;
}

.hero-home .hero-copy::before {
  position: absolute;
  z-index: -1;
  top: -2rem;
  left: -3rem;
  width: 12rem;
  height: 12rem;
  background: rgba(255, 152, 94, 0.08);
  border-radius: 50%;
  filter: blur(2rem);
  content: "";
}

.hero-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: clamp(4rem, 8vw, 7rem) 0 0;
  padding: 0;
  border-top: 1px solid var(--line-bright);
  list-style: none;
}

.hero-rail li {
  min-width: 0;
  padding: 1.35rem 1.25rem 1.5rem 0;
  color: var(--muted-bright);
  font-size: 0.82rem;
  line-height: 1.45;
}

.hero-rail li + li {
  padding-left: 1.25rem;
  border-left: 1px solid var(--line);
}

.hero-rail span {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.67rem;
  letter-spacing: 0.13em;
}

.editorial-split {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.editorial-lead h2 {
  max-width: 13ch;
}

.editorial-lead > p:last-child,
.difference-intro > p:last-child {
  color: var(--muted);
  font-size: 1.05rem;
}

.prerequisite-wall {
  position: relative;
  padding: clamp(1.5rem, 4vw, 3rem);
  background:
    linear-gradient(135deg, rgba(157, 140, 255, 0.06), transparent),
    var(--surface);
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.prerequisite-wall::after {
  position: absolute;
  top: 18%;
  bottom: 18%;
  left: 50%;
  width: 1px;
  background: linear-gradient(transparent, var(--ember), transparent);
  content: "";
}

.wall-label,
.index-label {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.prerequisite-wall ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 2.5rem;
  margin: 1.75rem 0;
  padding: 0;
  list-style: none;
}

.prerequisite-wall li {
  padding: 0.75rem 0;
  color: var(--muted-bright);
  border-bottom: 1px solid var(--line);
  font-size: 0.9rem;
}

.wall-release {
  max-width: 34ch;
  margin-left: auto;
  color: var(--text);
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 600;
  line-height: 1.25;
  text-align: right;
}

.difference-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
  gap: 1rem 4rem;
  align-items: end;
  margin-bottom: clamp(3rem, 6vw, 5.5rem);
}

.difference-intro .eyebrow,
.difference-intro h2 {
  grid-column: 1;
}

.difference-intro h2 {
  max-width: 14ch;
  margin-bottom: 0;
}

.difference-intro > p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.principle-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.principle-steps li {
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: rgba(13, 23, 33, 0.72);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.principle-steps li:nth-child(2) {
  transform: translateY(2rem);
}

.principle-steps li:nth-child(3) {
  transform: translateY(4rem);
}

.principle-steps > li > span {
  display: inline-grid;
  width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 3rem;
  color: #061014;
  background: var(--cyan-soft);
  border-radius: 50%;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  place-items: center;
}

.principle-steps h3 {
  max-width: 15ch;
}

.principle-steps p {
  color: var(--muted);
}

.classroom-flow-section .visual-frame {
  transform: rotate(-1deg);
}

.build-loop {
  display: grid;
  gap: 0;
  margin: 2rem 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.build-loop li {
  display: grid;
  grid-template-columns: 6rem minmax(0, 1fr);
  gap: 1rem;
  padding: 0.85rem 0;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  font-size: 0.9rem;
}

.build-loop span {
  color: var(--text);
  font-weight: 700;
}

.build-showcase {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

.build-feature {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.build-feature:nth-child(1) {
  grid-column: span 7;
}

.build-feature:nth-child(2) {
  grid-column: span 5;
}

.build-feature:nth-child(3) {
  grid-column: 3 / span 8;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  grid-template-rows: 1fr;
}

.build-feature img {
  width: 100%;
  height: clamp(14rem, 24vw, 21rem);
  object-fit: cover;
  background: #07111b;
  border-bottom: 1px solid var(--line);
}

.build-feature:nth-child(3) img {
  height: 100%;
  min-height: 18rem;
  border-right: 1px solid var(--line);
  border-bottom: 0;
}

.build-feature > div {
  align-self: end;
  padding: clamp(1.35rem, 3vw, 2.25rem);
}

.build-feature h3 {
  font-size: clamp(1.45rem, 2.4vw, 2.2rem);
}

.build-feature p:last-child {
  color: var(--muted);
}

.invention-index {
  display: grid;
  grid-template-columns: minmax(12rem, 0.34fr) minmax(0, 1fr);
  gap: 2rem 4rem;
  margin-top: clamp(3rem, 7vw, 6rem);
  padding-top: 2rem;
  border-top: 1px solid var(--line-bright);
}

.invention-index ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.invention-index li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.8rem;
  min-width: 0;
  padding: 1.2rem;
  border-bottom: 1px solid var(--line);
}

.invention-index li:nth-child(odd) {
  border-right: 1px solid var(--line);
}

.invention-index li > span,
.ledger-number {
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.69rem;
  letter-spacing: 0.12em;
}

.invention-index strong {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--text);
}

.invention-index p {
  color: var(--muted);
  font-size: 0.82rem;
}

.build-section > .container > .text-link,
.capabilities-section > .container > .text-link {
  margin-top: 2rem;
}

.capability-ledger {
  margin-bottom: 2.25rem;
  border-top: 1px solid var(--line-bright);
}

.capability-ledger article {
  display: grid;
  grid-template-columns: 4.5rem minmax(13rem, 0.75fr) minmax(0, 1fr);
  gap: 1.5rem 3rem;
  align-items: start;
  min-width: 0;
  padding: 2rem 0;
  border-bottom: 1px solid var(--line);
}

.capability-ledger article:nth-child(even) {
  background: linear-gradient(90deg, transparent, rgba(93, 217, 231, 0.025), transparent);
}

.ledger-number {
  padding-top: 0.35rem;
}

.ledger-copy h3 {
  margin-bottom: 0.5rem;
  font-size: clamp(1.4rem, 2.1vw, 2rem);
}

.ledger-copy p {
  color: var(--muted);
}

.capability-ledger article > ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.capability-ledger article > ul li {
  position: relative;
  padding-left: 1rem;
  color: var(--muted-bright);
  font-size: 0.84rem;
}

.capability-ledger article > ul li::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.32rem;
  height: 0.32rem;
  background: var(--cyan);
  border-radius: 50%;
  content: "";
}

.curriculum-preview .curriculum-visual-wrap {
  position: sticky;
  top: 7rem;
}

.module-rail {
  margin: 0 0 2rem;
  padding: 0;
  border-top: 1px solid var(--line-bright);
  list-style: none;
}

.module-rail li {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--line);
}

.module-rail li > span {
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
}

.module-rail strong,
.module-rail small {
  display: block;
}

.module-rail strong {
  color: var(--text);
  font-size: 0.92rem;
}

.module-rail small {
  margin-top: 0.16rem;
  color: var(--muted);
  font-size: 0.75rem;
}

.ecosystem-map {
  display: grid;
  grid-template-columns: minmax(14rem, 0.42fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  background:
    radial-gradient(circle at 17% 50%, rgba(93, 217, 231, 0.11), transparent 16rem),
    var(--surface);
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-lg);
}

.ecosystem-core {
  display: grid;
  aspect-ratio: 1;
  max-width: 18rem;
  padding: 2rem;
  background: #091722;
  border: 1px solid var(--cyan);
  border-radius: 50%;
  box-shadow:
    0 0 0 1rem rgba(93, 217, 231, 0.03),
    0 0 0 2rem rgba(93, 217, 231, 0.015);
  place-content: center;
  text-align: center;
}

.ecosystem-core span {
  color: var(--cyan);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ecosystem-core strong {
  max-width: 12ch;
  margin-top: 0.5rem;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1.15;
}

.ecosystem-map > ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ecosystem-map > ul li {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: 0.75rem;
  min-width: 0;
  padding: 1.1rem;
  color: var(--muted-bright);
  border-bottom: 1px solid var(--line);
  font-size: 0.86rem;
}

.ecosystem-map > ul li:nth-child(odd) {
  border-right: 1px solid var(--line);
}

.ecosystem-map > ul span {
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.66rem;
  letter-spacing: 0.1em;
}

.continuity-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(19rem, 0.95fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
  padding: clamp(2rem, 5vw, 5rem);
  background:
    radial-gradient(circle at 90% 12%, rgba(157, 140, 255, 0.12), transparent 22rem),
    var(--surface);
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.continuity-panel h2 {
  max-width: 13ch;
  font-size: clamp(2.2rem, 4vw, 4rem);
}

.continuity-panel > div > p:not(.eyebrow) {
  color: var(--muted);
}

.continuity-panel > ol {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-bright);
  list-style: none;
}

.continuity-panel > ol li {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 0;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  font-size: 0.86rem;
}

.continuity-panel > ol span {
  color: var(--cyan-soft);
  font-weight: 700;
}

/* Error pages */

.error-page {
  min-height: 76vh;
  padding: clamp(9rem, 16vw, 13rem) 0 clamp(5rem, 8vw, 8rem);
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 50%, rgba(157, 140, 255, 0.12), transparent 28rem),
    linear-gradient(145deg, #0a141e, #06090e 60%, #130d14);
}

.error-page .container {
  position: relative;
}

.error-code {
  position: absolute;
  z-index: 0;
  top: 50%;
  right: 0;
  margin: 0;
  color: transparent;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(11rem, 28vw, 28rem);
  font-weight: 700;
  letter-spacing: -0.09em;
  line-height: 0.7;
  -webkit-text-stroke: 1px rgba(93, 217, 231, 0.12);
  transform: translateY(-50%);
  user-select: none;
}

.error-page .eyebrow,
.error-page h1,
.error-page .container > p:not(.error-code, .eyebrow),
.error-page .hero-actions {
  position: relative;
  z-index: 1;
}

.error-page h1 {
  max-width: 12ch;
  margin-bottom: 1.5rem;
  font-size: clamp(2.8rem, 6vw, 6rem);
  line-height: 0.98;
  letter-spacing: -0.06em;
}

.error-page .container > p:not(.error-code, .eyebrow) {
  max-width: 54ch;
  margin-bottom: 2rem;
  color: var(--muted-bright);
  font-size: 1.05rem;
}

/* Schools */

.schools-hero .page-hero-copy {
  padding-right: clamp(0rem, 4vw, 3rem);
}

.lab-brief {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: rgba(13, 23, 33, 0.82);
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow);
}

.lab-brief dl {
  margin: 0;
}

.lab-brief dl > div {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr);
  gap: 1rem;
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--line);
}

.lab-brief dl > div:last-child {
  border-bottom: 0;
}

.lab-brief dt {
  color: var(--ember);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lab-brief dd {
  margin: 0;
  color: var(--muted-bright);
  font-size: 0.88rem;
}

.room-system-section .section-header {
  margin-bottom: 2rem;
}

.room-system-section .section-header h2 {
  font-size: clamp(2.1rem, 4vw, 3.8rem);
}

.equipment-ledger {
  border-top: 1px solid var(--line-bright);
}

.equipment-ledger article {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.2rem 1rem;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--line);
}

.equipment-ledger article > span {
  grid-row: 1 / span 2;
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.66rem;
  letter-spacing: 0.1em;
}

.equipment-ledger h3 {
  margin-bottom: 0.35rem;
  font-size: 1rem;
}

.equipment-ledger p {
  color: var(--muted);
  font-size: 0.82rem;
}

.access-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(28rem, 1.15fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.access-copy h2 {
  max-width: 12ch;
}

.access-copy > p:last-child {
  color: var(--muted);
}

.browser-stack {
  position: relative;
  min-height: 30rem;
}

.browser-stack::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 74%;
  height: 1px;
  background: linear-gradient(90deg, var(--cyan), var(--violet), var(--ember));
  content: "";
  transform: translate(-50%, -50%) rotate(-24deg);
}

.browser-card {
  position: absolute;
  width: min(21rem, 68%);
  min-height: 12rem;
  padding: 3.5rem 1.5rem 1.5rem;
  background: #0a1723;
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-md);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.28);
}

.browser-card::before {
  position: absolute;
  top: 2.65rem;
  right: 1.25rem;
  left: 1.25rem;
  height: 1px;
  background: var(--line);
  content: "";
}

.browser-card > span {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  margin-right: 0.25rem;
  background: var(--line-bright);
  border-radius: 50%;
  transform: translateY(-2.35rem);
}

.browser-card > span:first-child {
  background: var(--ember);
}

.browser-card strong,
.browser-card small {
  display: block;
}

.browser-card strong {
  margin-top: -0.6rem;
  color: var(--text);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.35rem;
}

.browser-card small {
  margin-top: 0.55rem;
  color: var(--muted);
}

.browser-card-one {
  top: 0;
  left: 0;
  transform: rotate(-2deg);
}

.browser-card-two {
  right: 0;
  bottom: 0;
  border-color: rgba(157, 140, 255, 0.55);
  transform: rotate(2deg);
}

.hub-node {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  width: 9rem;
  aspect-ratio: 1;
  padding: 1rem;
  background: #091923;
  border: 2px solid var(--cyan);
  border-radius: 50%;
  box-shadow: 0 0 0 1rem rgba(93, 217, 231, 0.04);
  place-content: center;
  text-align: center;
  transform: translate(-50%, -50%);
}

.hub-node small {
  color: var(--ember);
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hub-node strong {
  color: var(--text);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.94rem;
  line-height: 1.15;
}

.practice-track {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-block: 1px solid var(--line-bright);
  list-style: none;
}

.practice-track li {
  min-width: 0;
  padding: 1.75rem 1.25rem 2rem;
}

.practice-track li + li {
  border-left: 1px solid var(--line);
}

.practice-track li:nth-child(even) {
  padding-top: 3.75rem;
  background: rgba(93, 217, 231, 0.025);
}

.practice-track span {
  display: block;
  margin-bottom: 3rem;
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
}

.practice-track h3 {
  font-size: 1.08rem;
}

.practice-track p {
  color: var(--muted);
  font-size: 0.82rem;
}

.educator-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(26rem, 1.1fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.educator-statement h2 {
  max-width: 12ch;
}

.educator-statement > p:last-child {
  color: var(--muted);
}

.support-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-bright);
  list-style: none;
}

.support-list li {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.05rem 0;
  color: var(--muted-bright);
  border-bottom: 1px solid var(--line);
}

.support-list span {
  color: var(--cyan);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.deployment-path {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.15fr) auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
}

.deployment-path article {
  min-width: 0;
  min-height: 17rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.deployment-path article.current {
  min-height: 21rem;
  padding-top: 4rem;
  background:
    linear-gradient(145deg, rgba(93, 217, 231, 0.09), transparent 45%),
    var(--surface-soft);
  border-color: var(--cyan);
  box-shadow: var(--shadow);
}

.deployment-path article h3 {
  max-width: 12ch;
  margin-top: 2rem;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.deployment-path article p:last-child {
  color: var(--muted);
  font-size: 0.88rem;
}

.path-arrow {
  color: var(--ember);
  font-size: 1.5rem;
}

/* Platform */

.platform-layers-section {
  overflow: hidden;
}

.layer-stack {
  counter-reset: layer;
  border-top: 1px solid var(--line-bright);
}

.layer-row {
  display: grid;
  grid-template-columns: 4.5rem minmax(14rem, 0.7fr) minmax(0, 1fr);
  gap: 2rem 4rem;
  min-width: 0;
  padding: clamp(2rem, 4vw, 3.25rem) 0;
  border-bottom: 1px solid var(--line);
}

.layer-row:nth-child(even) {
  margin-inline: -100vw;
  padding-inline: 100vw;
  background: rgba(93, 217, 231, 0.025);
}

.layer-number {
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
}

.layer-heading h3 {
  margin-bottom: 0.7rem;
  font-size: clamp(1.5rem, 2.5vw, 2.4rem);
}

.layer-heading p {
  color: var(--muted);
}

.layer-row > ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-content: start;
  margin: 0;
  padding: 0;
  list-style: none;
}

.layer-row > ul li {
  min-width: 0;
  padding: 0.7rem 1rem;
  color: var(--muted-bright);
  border-bottom: 1px solid var(--line);
  font-size: 0.84rem;
}

.layer-row > ul li:nth-child(odd) {
  border-right: 1px solid var(--line);
}

.loop-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.55fr);
  gap: 1rem 5rem;
  align-items: end;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.loop-intro .eyebrow,
.loop-intro h2 {
  grid-column: 1;
}

.loop-intro h2 {
  max-width: 14ch;
  margin-bottom: 0;
}

.loop-intro > p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--muted);
}

.signal-path {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.signal-path::before {
  position: absolute;
  top: 2.4rem;
  right: 8%;
  left: 8%;
  height: 2px;
  background: linear-gradient(90deg, var(--cyan), var(--violet), var(--ember));
  content: "";
}

.signal-path li {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 1.45rem 1.25rem;
  background: #0a1723;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.signal-path li:nth-child(even) {
  margin-top: 2rem;
}

.signal-path span,
.signal-path strong,
.signal-path small {
  display: block;
}

.signal-path span {
  width: 2rem;
  height: 2rem;
  margin-bottom: 2.25rem;
  color: #061014;
  background: var(--cyan-soft);
  border-radius: 50%;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 2rem;
  text-align: center;
}

.signal-path strong {
  margin-bottom: 0.45rem;
  color: var(--text);
  font-family: "Space Grotesk", sans-serif;
}

.signal-path small {
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.45;
}

.technology-showcase > .container {
  display: grid;
  gap: clamp(5rem, 10vw, 10rem);
}

.technology-row {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(28rem, 1.2fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.technology-row-reverse {
  grid-template-columns: minmax(28rem, 1.2fr) minmax(0, 0.8fr);
}

.technology-row-reverse .technology-copy {
  grid-column: 2;
}

.technology-row-reverse .visual-frame {
  grid-row: 1;
  grid-column: 1;
}

.technology-copy h2 {
  max-width: 11ch;
  font-size: clamp(2.2rem, 4vw, 4rem);
}

.technology-copy > p:not(.tag) {
  color: var(--muted);
}

.technology-row:nth-child(odd) .visual-frame {
  transform: rotate(1deg);
}

.technology-row:nth-child(even) .visual-frame {
  transform: rotate(-1deg);
}

.operations-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(27rem, 1.1fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: start;
}

.operations-copy h2 {
  max-width: 12ch;
}

.operations-copy > p:last-child {
  color: var(--muted);
}

.operations-ledger {
  margin: 0;
  border-top: 1px solid var(--line-bright);
}

.operations-ledger > div {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--line);
}

.operations-ledger dt {
  color: var(--cyan);
  font-size: 0.72rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.operations-ledger dd {
  margin: 0;
  color: var(--muted-bright);
}

.operations-section .policy-note {
  max-width: 64ch;
  margin-top: 3rem;
  margin-left: auto;
}

.depth-ramp,
.growth-ladder {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.depth-ramp li,
.growth-ladder li {
  display: grid;
  grid-template-columns: minmax(7rem, 0.23fr) minmax(0, 1fr);
  gap: 1rem 3rem;
  align-items: center;
  min-height: 5.5rem;
  padding: 1.25rem 2rem;
  background: var(--surface);
  border: 1px solid var(--line);
}

.depth-ramp li + li,
.growth-ladder li + li {
  border-top: 0;
}

.depth-ramp li:nth-child(2),
.growth-ladder li:nth-child(2) {
  margin-inline: 3%;
}

.depth-ramp li:nth-child(3),
.growth-ladder li:nth-child(3) {
  margin-inline: 6%;
}

.depth-ramp li:nth-child(4),
.growth-ladder li:nth-child(4) {
  margin-inline: 9%;
}

.depth-ramp li:nth-child(5),
.growth-ladder li:nth-child(5) {
  margin-inline: 12%;
  border-color: rgba(255, 152, 94, 0.55);
}

.depth-ramp span,
.growth-ladder span {
  color: var(--cyan);
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.depth-ramp strong,
.growth-ladder strong {
  color: var(--text);
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(1rem, 1.8vw, 1.35rem);
}

/* Curriculum */

.learning-cycle {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.learning-cycle li {
  position: relative;
  min-width: 0;
  min-height: 15rem;
  padding: 1.5rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.learning-cycle li:nth-child(2),
.learning-cycle li:nth-child(4) {
  margin-top: 2.5rem;
}

.learning-cycle li::after {
  position: absolute;
  z-index: 2;
  top: 2.15rem;
  right: -1.4rem;
  width: 1.75rem;
  height: 1px;
  background: var(--ember);
  content: "";
}

.learning-cycle li:last-child::after {
  display: none;
}

.learning-cycle span,
.learning-cycle strong {
  display: block;
}

.learning-cycle span {
  margin-bottom: 3.2rem;
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
}

.learning-cycle strong {
  margin-bottom: 0.65rem;
  color: var(--text);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.05rem;
}

.learning-cycle p {
  color: var(--muted);
  font-size: 0.8rem;
}

.curriculum-path {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.curriculum-path li {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 1rem;
  min-width: 0;
  min-height: 10.5rem;
  padding: 1.35rem;
  background: rgba(13, 23, 33, 0.78);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.curriculum-path li:nth-child(1),
.curriculum-path li:nth-child(2),
.curriculum-path li:nth-child(3) {
  grid-column: span 4;
}

.curriculum-path li:nth-child(4),
.curriculum-path li:nth-child(5) {
  grid-column: span 6;
}

.curriculum-path li:nth-child(6),
.curriculum-path li:nth-child(7),
.curriculum-path li:nth-child(8) {
  grid-column: span 4;
}

.curriculum-path li:nth-child(9) {
  grid-column: 3 / span 8;
  min-height: 12rem;
  background:
    linear-gradient(135deg, rgba(255, 152, 94, 0.11), transparent 45%),
    var(--surface-soft);
  border-color: rgba(255, 152, 94, 0.65);
}

.path-number {
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
}

.curriculum-path small,
.curriculum-path strong {
  display: block;
}

.curriculum-path small {
  margin-bottom: 0.6rem;
  color: var(--cyan);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.curriculum-path strong {
  color: var(--text);
  font-family: "Space Grotesk", sans-serif;
  line-height: 1.25;
}

.curriculum-path p {
  margin-top: 0.65rem;
  color: var(--muted);
  font-size: 0.78rem;
}

.modules-layout {
  display: grid;
  grid-template-columns: minmax(16rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: start;
}

.modules-intro {
  position: sticky;
  top: 7rem;
}

.modules-intro h2 {
  max-width: 9ch;
}

.modules-intro > p:not(.eyebrow) {
  color: var(--muted);
}

.module-note {
  margin-top: 2rem;
  padding: 1.25rem;
  background: var(--surface-warm);
  border: 1px solid rgba(255, 152, 94, 0.28);
  border-radius: var(--radius-sm);
}

.module-note strong {
  color: var(--ember);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.module-note p {
  margin-top: 0.5rem;
  color: #cbbfb7;
  font-size: 0.82rem;
}

.curriculum-accordion {
  border-top: 1px solid var(--line-bright);
}

.curriculum-accordion .accordion-item {
  color: var(--text);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
}

.curriculum-accordion .accordion-button {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  gap: 1rem;
  padding: 1.35rem 0;
  color: var(--text);
  background: transparent;
  border: 0;
  border-radius: 0 !important;
  box-shadow: none;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(1rem, 1.7vw, 1.3rem);
  font-weight: 600;
  line-height: 1.25;
}

.curriculum-accordion .accordion-button:not(.collapsed) {
  color: var(--cyan-soft);
  background: rgba(93, 217, 231, 0.025);
}

.curriculum-accordion .accordion-button::after {
  grid-column: 3;
  grid-row: 1;
  width: 0.75rem;
  height: 0.75rem;
  margin-top: 0.4rem;
  background-image: none;
  border-right: 2px solid var(--cyan);
  border-bottom: 2px solid var(--cyan);
  transform: rotate(45deg);
}

.curriculum-accordion .accordion-button:not(.collapsed)::after {
  transform: rotate(-135deg);
}

.curriculum-accordion .accordion-button > span:first-child {
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.67rem;
  letter-spacing: 0.12em;
}

.curriculum-accordion .accordion-button > span:nth-child(2) small {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--muted);
  font-family: "Inter", sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.curriculum-accordion .accordion-body {
  padding: 0 0 1.75rem 4rem;
  color: var(--muted-bright);
}

.curriculum-accordion .accordion-body dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
}

.curriculum-accordion .accordion-body dl > div {
  min-width: 0;
  padding: 1rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.curriculum-accordion .accordion-body dt {
  margin-bottom: 0.45rem;
  color: var(--cyan);
  font-size: 0.66rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.curriculum-accordion .accordion-body dd {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
}

.context-layout {
  display: grid;
  grid-template-columns: minmax(22rem, 0.65fr) minmax(0, 1.35fr);
  gap: clamp(3rem, 8vw, 8rem);
}

.context-layout > div:first-child h2 {
  max-width: 12ch;
}

.context-stages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.context-stages article {
  min-width: 0;
  padding: 1.5rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.context-stages article:nth-child(2) {
  margin-top: 2rem;
}

.context-stages article:nth-child(3) {
  margin-top: 4rem;
  border-color: rgba(255, 152, 94, 0.5);
}

.context-stages article > span {
  color: var(--cyan);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.context-stages h3 {
  margin-top: 2.5rem;
  font-size: 1.15rem;
}

.context-stages p {
  color: var(--muted);
  font-size: 0.8rem;
}

.curriculum-context-section .policy-note {
  max-width: 68ch;
  margin-top: 3rem;
  margin-left: auto;
}

/* Projects */

.project-method {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.project-method li {
  grid-column: span 2;
  min-width: 0;
  min-height: 12rem;
  padding: 1.5rem;
  background: var(--surface);
  border-top: 3px solid var(--cyan);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
}

.project-method li:nth-child(2),
.project-method li:nth-child(4) {
  margin-top: 2.5rem;
  border-color: var(--violet);
}

.project-method li:last-child {
  border-color: var(--ember);
}

.project-method span {
  display: block;
  margin-bottom: 2.75rem;
  color: var(--text);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.08rem;
  font-weight: 600;
}

.project-method p {
  color: var(--muted);
  font-size: 0.81rem;
}

.gallery-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(17rem, 0.55fr);
  gap: 2rem 5rem;
  align-items: end;
  margin-bottom: 2.5rem;
}

.gallery-heading h2 {
  max-width: 13ch;
  margin-bottom: 0;
}

.gallery-heading > p {
  color: var(--muted);
}

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line-bright);
}

.filter {
  padding: 0.6rem 0.95rem;
  color: var(--muted-bright);
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--line-bright);
  border-radius: 999px;
  font-size: 0.79rem;
  font-weight: 700;
  transition:
    color 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease,
    transform 160ms ease;
}

.filter:hover {
  color: var(--text);
  border-color: var(--cyan);
  transform: translateY(-1px);
}

.filter.active,
.filter[aria-pressed="true"] {
  color: #061014;
  background: var(--cyan-soft);
  border-color: var(--cyan-soft);
}

.filter-status {
  margin: 1rem 0 2rem;
  color: var(--muted);
  font-size: 0.78rem;
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.project-card {
  grid-column: span 4;
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.project-card[hidden] {
  display: none !important;
}

.project-card-featured {
  grid-column: span 8;
  grid-template-columns: minmax(0, 1.15fr) minmax(15rem, 0.85fr);
  grid-template-rows: 1fr;
  background:
    linear-gradient(145deg, rgba(93, 217, 231, 0.055), transparent 42%),
    var(--surface-soft);
  border-color: var(--line-bright);
}

.project-art {
  min-height: 13rem;
  overflow: hidden;
  background: #07111b;
  border-bottom: 1px solid var(--line);
}

.project-art img {
  width: 100%;
  height: 100%;
  min-height: 13rem;
  object-fit: cover;
  transition: transform 500ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

.project-card:hover .project-art img {
  transform: scale(1.025);
}

.project-card-featured .project-art {
  min-height: 24rem;
  border-right: 1px solid var(--line);
  border-bottom: 0;
}

.project-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.project-copy h3 {
  margin-bottom: 0.75rem;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.project-copy > p:not(.tag) {
  color: var(--muted);
  font-size: 0.84rem;
}

.project-loop {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: auto 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}

.project-loop > div {
  min-width: 0;
}

.project-loop > div + div {
  padding-left: 1rem;
  border-left: 1px solid var(--line);
}

.project-loop dt {
  color: var(--cyan);
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.project-loop dd {
  margin: 0.35rem 0 0;
  color: var(--muted);
  font-size: 0.7rem;
  line-height: 1.4;
}

.capstone-bridge {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.65fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
  padding: clamp(2rem, 5vw, 4.5rem);
  background:
    radial-gradient(circle at 10% 100%, rgba(157, 140, 255, 0.12), transparent 25rem),
    var(--surface);
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.capstone-bridge h2 {
  max-width: 13ch;
  margin-bottom: 0;
}

.capstone-bridge > div:last-child > p {
  color: var(--muted);
}

/* Students */

.continuity-journey {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.continuity-journey::before {
  position: absolute;
  top: 2rem;
  right: 8%;
  left: 8%;
  height: 1px;
  background: linear-gradient(90deg, var(--cyan), var(--violet), var(--ember));
  content: "";
}

.continuity-journey li {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.continuity-journey li > span {
  display: grid;
  width: 4rem;
  height: 4rem;
  margin-bottom: 1.5rem;
  color: #061014;
  background: var(--cyan-soft);
  border: 0.5rem solid var(--bg);
  border-radius: 50%;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  place-items: center;
}

.continuity-journey li:nth-child(2) > span,
.continuity-journey li:nth-child(3) > span {
  background: #c7bfff;
}

.continuity-journey li:last-child > span {
  background: #ffc09b;
}

.continuity-journey li > div {
  min-height: 15rem;
  padding: 1.5rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.continuity-journey li:nth-child(even) > div {
  margin-top: 2rem;
}

.continuity-journey h3 {
  font-size: 1.12rem;
}

.continuity-journey li > div > p:last-child {
  color: var(--muted);
  font-size: 0.81rem;
}

.home-workbench-section h2 {
  max-width: 12ch;
}

.home-workbench-section .col-lg-6 > p:not(.eyebrow, .policy-note) {
  color: var(--muted);
}

.home-list {
  margin-bottom: 1.75rem;
}

.portfolio-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(25rem, 1.2fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.portfolio-title h2 {
  max-width: 12ch;
}

.portfolio-title > p:last-child {
  color: var(--muted);
}

.evidence-stack {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-bright);
  list-style: none;
}

.evidence-stack li {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 0;
  color: var(--muted-bright);
  border-bottom: 1px solid var(--line);
}

.evidence-stack span {
  color: var(--cyan);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.student-next {
  padding: clamp(2rem, 5vw, 4.5rem);
  background:
    radial-gradient(circle at 85% 10%, rgba(93, 217, 231, 0.1), transparent 22rem),
    var(--surface);
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.student-next h2 {
  max-width: 13ch;
}

.student-next-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 3rem;
  border-top: 1px solid var(--line-bright);
}

.student-next-links a {
  min-width: 0;
  padding: 1.5rem;
  color: var(--muted);
  text-decoration: none;
  transition:
    color 160ms ease,
    background-color 160ms ease;
}

.student-next-links a + a {
  border-left: 1px solid var(--line);
}

.student-next-links a:hover {
  color: var(--text);
  background: rgba(93, 217, 231, 0.035);
}

.student-next-links span {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--cyan-soft);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
}

/* About */

.about-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(18rem, 0.7fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
}

.about-hero blockquote {
  position: relative;
  margin: 0 0 1rem;
  padding: 2rem 0 2rem 2rem;
  border-left: 2px solid var(--ember);
}

.about-hero blockquote::before {
  position: absolute;
  top: -2rem;
  left: 1rem;
  color: rgba(93, 217, 231, 0.18);
  content: "“";
  font-family: Georgia, serif;
  font-size: 9rem;
  line-height: 1;
}

.about-hero blockquote p {
  position: relative;
  margin: 0;
  color: var(--text);
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.5rem);
  font-weight: 600;
  line-height: 1.15;
}

.manifesto-layout {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1.15fr) minmax(18rem, 0.7fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.manifesto-index {
  color: transparent;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(4rem, 8vw, 8rem);
  font-weight: 700;
  letter-spacing: -0.08em;
  line-height: 0.85;
  -webkit-text-stroke: 1px rgba(255, 152, 94, 0.45);
}

.manifesto-layout h2 {
  max-width: 14ch;
}

.manifesto-copy {
  padding-top: 4rem;
  color: var(--muted);
}

.principles-rail {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.principles-rail li {
  grid-column: span 4;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 1rem;
  min-width: 0;
  min-height: 15rem;
  padding: 1.5rem;
  background: rgba(13, 23, 33, 0.76);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.principles-rail li:nth-child(2),
.principles-rail li:nth-child(5) {
  transform: translateY(2rem);
}

.principles-rail li:nth-child(3),
.principles-rail li:nth-child(6) {
  transform: translateY(4rem);
}

.principles-rail li > span {
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
}

.principles-rail h3 {
  margin-bottom: 0.65rem;
  font-size: 1.12rem;
}

.principles-rail p {
  color: var(--muted);
  font-size: 0.8rem;
}

.role-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.83fr) minmax(27rem, 1.17fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.role-statement h2 {
  max-width: 12ch;
}

.role-statement > p:last-child {
  color: var(--muted);
}

.role-spectrum {
  border-top: 1px solid var(--line-bright);
}

.role-spectrum article {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}

.role-spectrum span {
  color: var(--cyan);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.role-spectrum p {
  color: var(--muted-bright);
}

.continuity-belief {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.7fr);
  gap: 1rem 6rem;
  align-items: end;
}

.continuity-belief .eyebrow,
.continuity-belief h2 {
  grid-column: 1;
}

.continuity-belief h2 {
  max-width: 12ch;
  margin-bottom: 0;
}

.continuity-belief > div {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--muted);
}

.mission-bridge {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1.2fr) minmax(18rem, 0.6fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  padding: clamp(2rem, 5vw, 4rem);
  background: var(--surface);
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-lg);
}

.mission-bridge h2 {
  max-width: 14ch;
  margin-bottom: 0;
  font-size: clamp(2rem, 4vw, 3.8rem);
}

.mission-bridge > p {
  color: var(--muted);
}

/* Inquiry form */

.inquiry-prompt {
  margin: 0;
  padding: 1.5rem 0 0 1.5rem;
  color: var(--muted-bright);
  border-top: 1px solid var(--ember);
  border-left: 1px solid var(--ember);
  font-size: 0.92rem;
}

.inquiry-layout {
  display: grid;
  grid-template-columns: minmax(17rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: start;
}

.inquiry-aside {
  position: sticky;
  top: 7rem;
}

.inquiry-aside h2 {
  max-width: 10ch;
}

.inquiry-aside > p:not(.eyebrow, .aside-note) {
  color: var(--muted);
}

.inquiry-aside ol {
  margin: 2rem 0;
  padding: 0;
  border-top: 1px solid var(--line-bright);
  list-style: none;
}

.inquiry-aside ol li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.8rem;
  padding: 0.85rem 0;
  color: var(--muted-bright);
  border-bottom: 1px solid var(--line);
  font-size: 0.82rem;
}

.inquiry-aside ol span {
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.66rem;
  letter-spacing: 0.1em;
}

.aside-note {
  padding: 1rem;
  color: #d2c6bd;
  background: var(--surface-warm);
  border: 1px solid rgba(255, 152, 94, 0.28);
  border-radius: var(--radius-sm);
  font-size: 0.78rem;
}

.inquiry-form {
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  background:
    linear-gradient(145deg, rgba(93, 217, 231, 0.035), transparent 35%),
    var(--surface);
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.form-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem 2rem;
  align-items: end;
  margin-bottom: 2.5rem;
}

.form-heading .eyebrow,
.form-heading h2 {
  grid-column: 1;
}

.form-heading h2 {
  max-width: 12ch;
  margin-bottom: 0;
  font-size: clamp(2rem, 4vw, 3.5rem);
}

.form-heading > p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--muted);
  font-size: 0.75rem;
}

.form-heading > p:last-child span {
  color: var(--ember);
}

.inquiry-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 2rem 0;
  border: 0;
  border-top: 1px solid var(--line-bright);
}

.inquiry-form legend {
  float: none;
  width: auto;
  margin: 0 0 1.5rem;
  color: var(--text);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
}

.inquiry-form legend span {
  margin-right: 0.75rem;
  color: var(--ember);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.15rem;
}

.form-field {
  min-width: 0;
}

.form-label {
  margin-bottom: 0.45rem;
  color: var(--muted-bright);
  font-size: 0.78rem;
  font-weight: 700;
}

.form-label span {
  color: var(--ember);
}

.form-control,
.form-select {
  min-height: 3.15rem;
  padding: 0.72rem 0.9rem;
  color: var(--text);
  background-color: #07111b;
  border: 1px solid var(--line-bright);
  border-radius: var(--radius-sm);
  font-size: 0.92rem;
  line-height: 1.45;
  transition:
    background-color 160ms ease,
    border-color 160ms ease;
}

.form-control:hover,
.form-select:hover {
  border-color: #4b6d83;
}

.form-control:focus,
.form-select:focus {
  color: var(--text);
  background-color: #091722;
  border-color: var(--cyan);
  box-shadow: none;
}

.form-control::placeholder {
  color: #718696;
  opacity: 1;
}

.form-select {
  color-scheme: dark;
}

.form-select option {
  color: var(--text);
  background: #07111b;
}

textarea.form-control {
  min-height: 10rem;
  resize: vertical;
}

.form-control.is-invalid,
.form-select.is-invalid {
  color: var(--text);
  background-image: none;
  border-color: var(--danger);
}

.form-control.is-invalid:focus,
.form-select.is-invalid:focus {
  border-color: var(--danger);
  box-shadow: 0 0 0 1px var(--danger);
}

.invalid-feedback,
.field-error {
  margin-top: 0.45rem;
  color: var(--danger);
  font-size: 0.76rem;
  font-weight: 600;
}

.invalid-feedback {
  display: block;
}

.error-summary {
  margin-bottom: 2.5rem;
  padding: 1.5rem;
  color: var(--text);
  background: #271518;
  border: 1px solid #8b464d;
  border-left: 4px solid var(--danger);
  border-radius: var(--radius-sm);
}

.error-summary:focus-visible {
  outline-color: var(--danger);
}

.error-summary h2 {
  max-width: none;
  margin-bottom: 0.75rem;
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  letter-spacing: -0.025em;
}

.error-summary p:not(.tag),
.error-summary li {
  color: #f1cfd2;
  font-size: 0.82rem;
}

.error-summary ul {
  margin: 0.75rem 0 0;
  padding-left: 1.25rem;
}

.error-summary a {
  color: #ffffff;
}

.consent-field {
  margin: 0.5rem 0 1rem;
  padding: 1.25rem;
  background: #091722;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.check {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  margin: 0;
  color: var(--muted-bright);
  cursor: pointer;
  font-size: 0.84rem;
}

.check .form-check-input {
  flex: 0 0 auto;
  width: 1.2rem;
  height: 1.2rem;
  margin: 0.15rem 0 0;
  background-color: #050b13;
  border: 1px solid var(--line-bright);
  border-radius: 0.3rem;
}

.check .form-check-input:checked {
  background-color: var(--cyan);
  border-color: var(--cyan);
}

.check .form-check-input.is-invalid {
  border-color: var(--danger);
}

.form-privacy {
  max-width: 62ch;
  margin: 1.25rem 0;
  color: var(--muted);
  font-size: 0.76rem;
}

/* Policy, safety, and legal content */

.policy-layout {
  display: grid;
  grid-template-columns: minmax(13rem, 0.35fr) minmax(0, 1fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: start;
}

.policy-index {
  position: sticky;
  top: 7rem;
  display: grid;
  gap: 0;
  padding: 1.35rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.policy-index a {
  padding: 0.75rem 0;
  color: var(--muted-bright);
  border-bottom: 1px solid var(--line);
  font-size: 0.82rem;
  text-decoration: none;
}

.policy-index a:last-child {
  border-bottom: 0;
}

.policy-index a:hover {
  color: var(--cyan-soft);
}

.policy-copy {
  border-top: 1px solid var(--line-bright);
}

.policy-copy > section {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: 0.25rem 2rem;
  padding: clamp(2rem, 4vw, 3.5rem) 0;
  scroll-margin-top: 7rem;
  border-bottom: 1px solid var(--line);
}

.policy-number {
  grid-row: 1 / span 3;
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
}

.policy-copy h2 {
  max-width: 16ch;
  margin-bottom: 1rem;
  font-size: clamp(1.7rem, 3.2vw, 3rem);
}

.policy-copy section > p:not(.policy-number) {
  grid-column: 2;
  color: var(--muted);
}

.safety-statement {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.55fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.safety-statement .eyebrow,
.safety-statement h2 {
  grid-column: 1;
}

.safety-statement h2 {
  max-width: 14ch;
  margin-bottom: 0;
}

.safety-principles {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

.safety-principles article {
  grid-column: span 4;
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.safety-principles article:nth-child(2) {
  margin-top: 2.5rem;
}

.safety-principles article:nth-child(3) {
  margin-top: 5rem;
}

.safety-principles article > span {
  display: block;
  margin-bottom: 3rem;
  color: var(--ember);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
}

.safety-principles h3 {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.safety-principles ul {
  display: grid;
  gap: 0.75rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.safety-principles li {
  position: relative;
  padding-left: 1.2rem;
  color: var(--muted);
  font-size: 0.82rem;
}

.safety-principles li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 0.36rem;
  height: 0.36rem;
  background: var(--cyan);
  border-radius: 50%;
  content: "";
}

.safety-limit {
  max-width: 68rem;
  padding: clamp(2rem, 5vw, 4rem);
  background: var(--surface-warm);
  border: 1px solid rgba(255, 152, 94, 0.42);
  border-left: 5px solid var(--ember);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}

.safety-limit h2 {
  max-width: 15ch;
  font-size: clamp(2rem, 4vw, 3.8rem);
}

.safety-limit > p:not(.tag) {
  color: #d4c7bd;
}

/* Route-specific hero atmosphere */

.schools-hero {
  background:
    radial-gradient(circle at 82% 62%, rgba(255, 152, 94, 0.13), transparent 24rem),
    radial-gradient(circle at 18% 18%, rgba(93, 217, 231, 0.08), transparent 26rem),
    linear-gradient(145deg, #0a141e, #070b11 58%, #15100d);
}

.platform-hero {
  background:
    radial-gradient(circle at 80% 36%, rgba(157, 140, 255, 0.15), transparent 26rem),
    radial-gradient(circle at 12% 90%, rgba(93, 217, 231, 0.08), transparent 24rem),
    linear-gradient(145deg, #0a141e, #070b11 58%, #100d18);
}

.curriculum-hero {
  background:
    radial-gradient(circle at 76% 22%, rgba(255, 152, 94, 0.12), transparent 24rem),
    radial-gradient(circle at 18% 86%, rgba(157, 140, 255, 0.09), transparent 24rem),
    linear-gradient(145deg, #0b141d, #070b11 58%, #15100e);
}

.projects-hero {
  background:
    radial-gradient(circle at 84% 44%, rgba(93, 217, 231, 0.15), transparent 27rem),
    radial-gradient(circle at 15% 86%, rgba(255, 152, 94, 0.08), transparent 24rem),
    linear-gradient(145deg, #091722, #070b11 58%, #100d16);
}

.students-hero {
  background:
    radial-gradient(circle at 80% 32%, rgba(157, 140, 255, 0.14), transparent 25rem),
    radial-gradient(circle at 15% 88%, rgba(93, 217, 231, 0.08), transparent 24rem),
    linear-gradient(145deg, #0a141e, #070b11 58%, #100d18);
}

.about-hero {
  background:
    radial-gradient(circle at 84% 54%, rgba(255, 152, 94, 0.13), transparent 25rem),
    radial-gradient(circle at 12% 18%, rgba(93, 217, 231, 0.06), transparent 25rem),
    linear-gradient(145deg, #0b131c, #070b11 58%, #15100d);
}

.inquiry-hero,
.policy-hero,
.safety-hero {
  background:
    radial-gradient(circle at 84% 36%, rgba(93, 217, 231, 0.11), transparent 25rem),
    radial-gradient(circle at 18% 88%, rgba(255, 152, 94, 0.07), transparent 22rem),
    linear-gradient(145deg, #0a141e, #070b11 64%, #100d14);
}

@media (max-width: 1199.98px) {
  .hero-visual {
    max-width: 52rem;
    margin-inline: auto;
    transform: none;
  }

  .hero-rail {
    grid-template-columns: 1fr 1fr;
  }

  .hero-rail li:nth-child(3) {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .hero-rail li:nth-child(4) {
    border-top: 1px solid var(--line);
  }

  .project-card-featured {
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.9fr);
  }
}

@media (max-width: 991.98px) {
  .visual-frame {
    border-radius: clamp(1.1rem, 3vw, 1.75rem);
  }

  .final-cta {
    grid-template-columns: 1fr;
  }

  .final-cta .eyebrow,
  .final-cta h2,
  .final-cta > p:not(.eyebrow),
  .final-cta .cta-actions {
    grid-column: 1;
  }

  .final-cta .cta-actions {
    grid-row: auto;
    margin-top: 1rem;
  }

  .package-grid {
    grid-template-columns: 1fr 1fr;
  }

  .package-card:nth-child(2),
  .package-card:nth-child(3) {
    margin-top: 0;
  }

  .package-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  .package-card > p:not(.tag) {
    min-height: 0;
  }

  .ownership-band .container {
    grid-template-columns: 1fr;
  }

  .ownership-detail {
    max-width: 60ch;
  }

  .editorial-split {
    grid-template-columns: 1fr;
  }

  .difference-intro {
    grid-template-columns: 1fr;
  }

  .difference-intro .eyebrow,
  .difference-intro h2,
  .difference-intro > p:last-child {
    grid-column: 1;
  }

  .difference-intro > p:last-child {
    grid-row: auto;
  }

  .principle-steps li:nth-child(2) {
    transform: translateY(1rem);
  }

  .principle-steps li:nth-child(3) {
    transform: translateY(2rem);
  }

  .invention-index {
    grid-template-columns: 1fr;
  }

  .capability-ledger article {
    grid-template-columns: 3rem minmax(0, 1fr);
  }

  .capability-ledger article > ul {
    grid-column: 2;
  }

  .curriculum-preview .curriculum-visual-wrap {
    position: static;
  }

  .ecosystem-map {
    grid-template-columns: minmax(12rem, 0.42fr) minmax(0, 1fr);
    gap: 2rem;
  }

  .continuity-panel {
    grid-template-columns: 1fr;
  }

  .access-layout,
  .educator-layout,
  .operations-layout {
    grid-template-columns: 1fr;
  }

  .browser-stack {
    width: min(100%, 44rem);
    margin-inline: auto;
  }

  .practice-track {
    grid-template-columns: 1fr 1fr;
    border-bottom: 0;
  }

  .practice-track li,
  .practice-track li:nth-child(even) {
    padding: 1.5rem;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    border-left: 0;
  }

  .practice-track li:nth-child(even) {
    border-right: 0;
  }

  .practice-track li:last-child {
    grid-column: 1 / -1;
    border-right: 0;
  }

  .practice-track span {
    margin-bottom: 1.75rem;
  }

  .deployment-path {
    grid-template-columns: 1fr;
  }

  .deployment-path article,
  .deployment-path article.current {
    min-height: 0;
    padding: 2rem;
  }

  .deployment-path article h3 {
    margin-top: 1.25rem;
  }

  .path-arrow {
    justify-self: center;
    transform: rotate(90deg);
  }

  .layer-row {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 1.5rem 2rem;
  }

  .layer-row > ul {
    grid-column: 2;
  }

  .signal-path {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .signal-path::before {
    display: none;
  }

  .signal-path li {
    grid-column: span 2;
  }

  .signal-path li:nth-child(even) {
    margin-top: 0;
  }

  .signal-path li:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .technology-row,
  .technology-row-reverse {
    grid-template-columns: 1fr;
  }

  .technology-row-reverse .technology-copy,
  .technology-row-reverse .visual-frame {
    grid-row: auto;
    grid-column: 1;
  }

  .technology-row .technology-copy {
    max-width: 42rem;
  }

  .technology-row .visual-frame {
    transform: none;
  }

  .learning-cycle {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .learning-cycle li {
    grid-column: span 2;
    min-height: 13rem;
  }

  .learning-cycle li:nth-child(2),
  .learning-cycle li:nth-child(4) {
    margin-top: 0;
  }

  .learning-cycle li:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .learning-cycle li::after {
    display: none;
  }

  .modules-layout,
  .context-layout {
    grid-template-columns: 1fr;
  }

  .modules-intro {
    position: static;
    max-width: 42rem;
  }

  .context-layout > div:first-child {
    max-width: 42rem;
  }

  .context-layout > div:first-child h2 {
    max-width: 16ch;
  }

  .project-method {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .project-method li {
    grid-column: span 2;
  }

  .project-method li:nth-child(2),
  .project-method li:nth-child(4) {
    margin-top: 0;
  }

  .project-method li:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .gallery-heading {
    grid-template-columns: 1fr;
  }

  .project-card {
    grid-column: span 6;
  }

  .project-card-featured {
    grid-column: 1 / -1;
  }

  .capstone-bridge {
    grid-template-columns: 1fr;
  }

  .continuity-journey {
    grid-template-columns: 1fr 1fr;
  }

  .continuity-journey::before {
    display: none;
  }

  .continuity-journey li:nth-child(even) > div {
    margin-top: 0;
  }

  .portfolio-layout,
  .role-layout {
    grid-template-columns: 1fr;
  }

  .about-hero-layout {
    grid-template-columns: 1fr;
  }

  .about-hero blockquote {
    max-width: 34rem;
  }

  .manifesto-layout {
    grid-template-columns: 5rem minmax(0, 1fr);
  }

  .manifesto-copy {
    grid-column: 2;
    padding-top: 0;
  }

  .principles-rail li {
    grid-column: span 6;
    transform: none !important;
  }

  .continuity-belief {
    grid-template-columns: 1fr;
  }

  .continuity-belief .eyebrow,
  .continuity-belief h2,
  .continuity-belief > div {
    grid-column: 1;
  }

  .continuity-belief > div {
    grid-row: auto;
  }

  .mission-bridge {
    grid-template-columns: 5rem minmax(0, 1fr);
  }

  .mission-bridge > p {
    grid-column: 2;
  }

  .inquiry-layout {
    grid-template-columns: 1fr;
  }

  .inquiry-aside {
    position: static;
    max-width: 46rem;
  }

  .policy-layout {
    grid-template-columns: minmax(11rem, 0.34fr) minmax(0, 1fr);
    gap: 2rem;
  }

  .safety-principles article {
    grid-column: span 6;
    margin-top: 0 !important;
  }

  .safety-principles article:last-child {
    grid-column: 4 / span 6;
  }
}

@media (max-width: 767.98px) {
  .section-header h2 {
    max-width: 17ch;
  }

  .package-grid {
    grid-template-columns: 1fr;
  }

  .package-card:nth-child(3) {
    grid-column: auto;
  }

  .package-action {
    justify-content: stretch;
  }

  .package-action .btn {
    width: 100%;
  }

  .hero-rail li {
    padding: 1rem 0.75rem 1rem 0;
    font-size: 0.75rem;
  }

  .hero-rail li:nth-child(even) {
    padding-right: 0;
    padding-left: 0.75rem;
  }

  .prerequisite-wall::after {
    display: none;
  }

  .prerequisite-wall ul {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .wall-release {
    margin-left: 0;
    text-align: left;
  }

  .principle-steps {
    grid-template-columns: 1fr;
  }

  .principle-steps li {
    transform: none !important;
  }

  .principle-steps > li > span {
    margin-bottom: 2rem;
  }

  .build-feature:nth-child(1),
  .build-feature:nth-child(2),
  .build-feature:nth-child(3) {
    grid-column: 1 / -1;
  }

  .build-feature:nth-child(3) {
    grid-template-columns: 1fr;
  }

  .build-feature:nth-child(3) img {
    height: clamp(14rem, 58vw, 20rem);
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .invention-index ul,
  .capability-ledger article > ul,
  .ecosystem-map > ul {
    grid-template-columns: 1fr;
  }

  .invention-index li:nth-child(odd),
  .ecosystem-map > ul li:nth-child(odd) {
    border-right: 0;
  }

  .capability-ledger article {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 1rem;
  }

  .capability-ledger article > ul {
    grid-column: 1 / -1;
  }

  .ecosystem-map {
    grid-template-columns: 1fr;
  }

  .ecosystem-core {
    width: min(14rem, 80%);
    margin-inline: auto;
  }

  .continuity-panel > ol li {
    grid-template-columns: 5.5rem minmax(0, 1fr);
  }

  .browser-stack {
    min-height: 25rem;
  }

  .browser-card {
    width: 78%;
    min-height: 10rem;
  }

  .hub-node {
    width: 7.25rem;
  }

  .practice-track {
    grid-template-columns: 1fr;
  }

  .practice-track li,
  .practice-track li:nth-child(even),
  .practice-track li:last-child {
    grid-column: auto;
    border-right: 0;
  }

  .support-list li,
  .operations-ledger > div,
  .evidence-stack li,
  .role-spectrum article {
    grid-template-columns: 5.5rem minmax(0, 1fr);
  }

  .layer-row {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 1rem;
  }

  .layer-row > ul {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .layer-row > ul li:nth-child(odd) {
    border-right: 0;
  }

  .loop-intro {
    grid-template-columns: 1fr;
  }

  .loop-intro .eyebrow,
  .loop-intro h2,
  .loop-intro > p:last-child {
    grid-column: 1;
  }

  .loop-intro > p:last-child {
    grid-row: auto;
  }

  .signal-path {
    grid-template-columns: 1fr;
  }

  .signal-path li,
  .signal-path li:nth-child(4) {
    grid-column: auto;
  }

  .signal-path span {
    margin-bottom: 1.25rem;
  }

  .depth-ramp li,
  .growth-ladder li {
    grid-template-columns: 1fr;
    gap: 0.4rem;
    margin-inline: 0 !important;
    padding: 1.15rem;
  }

  .learning-cycle {
    grid-template-columns: 1fr;
  }

  .learning-cycle li,
  .learning-cycle li:nth-child(4) {
    grid-column: auto;
    min-height: 0;
  }

  .learning-cycle span {
    margin-bottom: 1.75rem;
  }

  .curriculum-path {
    grid-template-columns: 1fr;
  }

  .curriculum-path li,
  .curriculum-path li:nth-child(1),
  .curriculum-path li:nth-child(2),
  .curriculum-path li:nth-child(3),
  .curriculum-path li:nth-child(4),
  .curriculum-path li:nth-child(5),
  .curriculum-path li:nth-child(6),
  .curriculum-path li:nth-child(7),
  .curriculum-path li:nth-child(8),
  .curriculum-path li:nth-child(9) {
    grid-column: auto;
    min-height: 0;
  }

  .curriculum-accordion .accordion-body {
    padding-left: 0;
  }

  .curriculum-accordion .accordion-body dl,
  .context-stages {
    grid-template-columns: 1fr;
  }

  .context-stages article {
    margin-top: 0 !important;
  }

  .project-method {
    grid-template-columns: 1fr;
  }

  .project-method li,
  .project-method li:nth-child(4) {
    grid-column: auto;
    min-height: 0;
  }

  .project-method span {
    margin-bottom: 1.75rem;
  }

  .project-card,
  .project-card-featured {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .project-card-featured .project-art {
    min-height: 14rem;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .continuity-journey {
    grid-template-columns: 1fr;
  }

  .continuity-journey li > span {
    margin-bottom: 0.75rem;
  }

  .continuity-journey li > div {
    min-height: 0;
  }

  .student-next-links {
    grid-template-columns: 1fr;
  }

  .student-next-links a + a {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .manifesto-layout {
    grid-template-columns: 1fr;
  }

  .manifesto-index {
    font-size: 4rem;
  }

  .manifesto-copy {
    grid-column: 1;
  }

  .principles-rail {
    grid-template-columns: 1fr;
  }

  .principles-rail li {
    grid-column: auto;
    min-height: 0;
  }

  .mission-bridge {
    grid-template-columns: 1fr;
  }

  .mission-bridge > p {
    grid-column: 1;
  }

  .inquiry-prompt {
    padding: 1.25rem 0 0;
    border-left: 0;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-heading {
    grid-template-columns: 1fr;
  }

  .form-heading .eyebrow,
  .form-heading h2,
  .form-heading > p:last-child {
    grid-column: 1;
  }

  .form-heading > p:last-child {
    grid-row: auto;
  }

  .policy-layout {
    grid-template-columns: 1fr;
  }

  .policy-index {
    position: static;
  }

  .safety-statement {
    grid-template-columns: 1fr;
  }

  .safety-principles {
    grid-template-columns: 1fr;
  }

  .safety-principles article,
  .safety-principles article:last-child {
    grid-column: auto;
  }
}

@media (max-width: 575.98px) {
  .visual-frame figcaption {
    padding: 0.85rem 1rem;
    font-size: 0.72rem;
  }

  .final-cta,
  .continuity-panel,
  .capstone-bridge,
  .student-next,
  .mission-bridge {
    padding: 1.35rem;
    border-radius: var(--radius-md);
  }

  .final-cta .cta-actions {
    width: 100%;
  }

  .hero-rail {
    margin-top: 3rem;
  }

  .build-loop li {
    grid-template-columns: 5rem minmax(0, 1fr);
  }

  .invention-index li {
    padding-inline: 0;
  }

  .ecosystem-map {
    padding: 1.25rem;
    border-radius: var(--radius-md);
  }

  .ecosystem-map > ul li {
    padding-inline: 0;
  }

  .continuity-panel > ol li {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .error-code {
    top: 15%;
    right: -1rem;
    font-size: 10rem;
    transform: none;
  }

  .error-page h1 {
    font-size: clamp(2.5rem, 13vw, 3.6rem);
  }

  .browser-stack {
    min-height: 23rem;
  }

  .browser-card {
    width: 84%;
    padding-inline: 1rem;
  }

  .hub-node {
    width: 6.5rem;
  }

  .layer-row:nth-child(even) {
    margin-inline: -1rem;
    padding-inline: 1rem;
  }

  .curriculum-accordion .accordion-button {
    grid-template-columns: 2.25rem minmax(0, 1fr) auto;
    gap: 0.65rem;
  }

  .project-loop {
    grid-template-columns: 1fr;
  }

  .project-loop > div + div {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    padding-left: 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .inquiry-form {
    padding: 1.15rem;
    border-radius: var(--radius-md);
  }

  .policy-copy > section {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: 0.25rem 1rem;
  }

  .safety-limit {
    padding: 1.5rem;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal],
  .reveal-pending,
  .reveal-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .project-art img,
  .filter {
    transition: none !important;
  }

  .project-card:hover .project-art img,
  .filter:hover {
    transform: none;
  }
}
