main.programok-page {
  overflow: clip;
}

.programok-page .programok-shell {
  width: min(100% - (var(--container-gutter) * 2), var(--container-max));
  margin-inline: auto;
}

.programok-page .programok-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.programok-page .programok-grid > * { min-width: 0; }
.programok-page .programok-kicker { color: var(--color-turquoise); }
.programok-page .programok-lead { color: var(--color-muted-text); font-size: 1.0625rem; }
.programok-page .programok-hero { padding-block: var(--space-10) var(--space-9); }
.programok-page .programok-hero__copy { grid-column: 1 / span 6; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); min-width: 0; }
.programok-page .programok-hero__copy > * { margin: 0; }
.programok-page .programok-hero__title { max-width: 47.5rem; }
.programok-page .programok-hero__lead { max-width: 35rem; }
.programok-page .programok-hero__media { grid-column: 7 / span 6; width: calc(100% + var(--space-6)); margin-inline-end: calc(var(--space-6) * -1); align-self: end; }
.programok-page .programok-hero__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 65% center; }
.programok-page .programok-category-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); width: 100%; }
.programok-page .programok-category-nav > a { display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: 4.5rem; padding: var(--space-3); border: var(--border-ink); text-decoration: none; font-size: var(--text-button); font-weight: var(--font-weight-semibold); line-height: 1.15; }
.programok-page .programok-category-nav small { margin-top: var(--space-1); color: var(--color-muted-text); font-size: .75rem; font-weight: var(--font-weight-medium); }
.programok-page .programok-category-nav > a:hover { border-color: var(--color-turquoise); background: var(--color-turquoise); }

.programok-page .programok-section-head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: end; margin-bottom: var(--space-7); }
.programok-page .programok-section-head > * { min-width: 0; }
.programok-page .programok-section-head__title { grid-column: 1 / span 5; margin: 0; }
.programok-page .programok-section-head__intro { grid-column: 7 / span 4; max-width: 38rem; margin: 0; color: var(--color-muted-text); }
.programok-page .programok-table-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.programok-page .programok-table-card { display: flex; flex-direction: column; min-width: 0; border-top: .5rem solid var(--color-cobalt); }
.programok-page .programok-table-card--apricot { border-top-color: var(--color-apricot); }
.programok-page .programok-table-card--turquoise { border-top-color: var(--color-turquoise); }
.programok-page .programok-table-card .card__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: var(--space-4); }
.programok-page .programok-table-card .card__body > * { margin: 0; }
.programok-page .programok-table-card p { max-width: 31rem; }
.programok-page .programok-table-card dl { display: grid; gap: var(--space-2); margin: 0; padding-top: var(--space-3); border-top: var(--border-default); }
.programok-page .programok-table-card dd { margin: 0; }
.programok-page .programok-card-link { margin-top: auto; color: var(--color-ink); font-size: var(--text-button); font-weight: var(--font-weight-semibold); text-decoration-color: var(--color-turquoise); }
.programok-page .programok-host { width: min(100%, 22rem); margin-top: var(--space-5); }
.programok-page .programok-host img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.programok-page .programok-host figcaption, .programok-page .programok-gallery-caption { padding: var(--space-3); border: var(--border-default); border-top: 0; background: var(--color-white); font-size: var(--text-small); font-weight: var(--font-weight-medium); }
.programok-page .programok-summary-band { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-6); padding: var(--space-5); border-block: var(--border-ink); font-family: var(--font-heading); font-size: clamp(1.6rem, 3vw, 2.5rem); font-weight: var(--font-weight-semibold); line-height: 1; }
.programok-page .programok-summary-band p { max-width: 55rem; margin: 0; }
.programok-page .programok-suits { color: var(--color-apricot); font-size: 2rem; letter-spacing: .12em; white-space: nowrap; }

.programok-page .programok-energy { background: var(--color-concrete); }
.programok-page .programok-energy__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.programok-page .programok-energy__copy { grid-column: 1 / span 5; display: flex; flex-direction: column; gap: var(--space-5); }
.programok-page .programok-energy__copy > * { margin: 0; }
.programok-page .programok-energy__copy p { max-width: 38rem; }
.programok-page .programok-energy__media { grid-column: 7 / span 6; }
.programok-page .programok-energy__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.programok-page .programok-caption { display: block; margin-top: var(--space-2); color: var(--color-muted-text); font-size: var(--text-small); }
.programok-page .programok-energy-modules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.programok-page .programok-energy-module { min-width: 0; padding-top: var(--space-4); border-top: var(--border-ink); }
.programok-page .programok-energy-module > *:last-child { margin-bottom: 0; }
.programok-page .programok-energy-number { color: var(--color-cobalt); font-size: var(--text-small); font-weight: var(--font-weight-bold); letter-spacing: var(--tracking-label); }
.programok-page .programok-energy-quote { margin: var(--space-4) 0 0; padding: var(--space-3); background: var(--color-apricot); font-weight: var(--font-weight-semibold); line-height: 1.3; }
.programok-page .programok-tech-image { width: min(100%, 27rem); margin-top: var(--space-6); }
.programok-page .programok-tech-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.programok-page .programok-energy-close { max-width: 55rem; margin: var(--space-7) 0 0; font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3.6rem); font-weight: var(--font-weight-semibold); line-height: .96; }

.programok-page .programok-occasion-intro { max-width: 42.5rem; margin-bottom: var(--space-7); }
.programok-page .programok-occasion-grid { display: flex; flex-direction: column; gap: var(--space-8); }
.programok-page .programok-occasion { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.programok-page .programok-occasion__media { grid-column: 1 / span 5; }
.programok-page .programok-occasion__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.programok-page .programok-occasion__content { grid-column: 7 / span 5; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.programok-page .programok-occasion__content > * { margin: 0; }
.programok-page .programok-occasion__content p { max-width: 37.5rem; }
.programok-page .programok-occasion--reverse .programok-occasion__content { grid-column: 1 / span 5; grid-row: 1; }
.programok-page .programok-occasion--reverse .programok-occasion__media { grid-column: 7 / span 4; grid-row: 1; }
.programok-page .programok-occasion-points { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: 0; margin: 0; list-style: none; }
.programok-page .programok-occasion-points li { padding: .3rem .5rem; border: 1px solid var(--color-line); font-size: var(--text-small); font-weight: var(--font-weight-semibold); }
.programok-page .programok-oak-note { padding: var(--space-3); background: var(--color-oak); font-weight: var(--font-weight-semibold); line-height: 1.3; }

.programok-page .programok-custom { background: var(--color-concrete); }
.programok-page .programok-custom__intro { width: min(100%, 43.75rem); margin-inline: auto; text-align: left; }
.programok-page .programok-custom__intro h2 { margin-bottom: var(--space-5); text-align: center; }
.programok-page .programok-custom__intro p { margin-bottom: 0; }
.programok-page .programok-highlight { display: inline-block; margin-top: var(--space-5); padding: var(--space-3) var(--space-4); background: var(--color-cobalt); color: var(--color-white); font-weight: var(--font-weight-semibold); line-height: 1.3; }
.programok-page .programok-decision-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.programok-page .programok-decision-card { min-width: 0; padding: var(--space-5); border: var(--border-default); background: var(--color-white); }
.programok-page .programok-decision-card > *:last-child { margin-bottom: 0; }
.programok-page .programok-decision-card ul { margin-bottom: 0; }
.programok-page .programok-plan-panel { width: min(100%, 57rem); margin-top: var(--space-6); padding: var(--space-6); border: var(--border-default); background: var(--color-white); }
.programok-page .programok-plan-panel > *:last-child { margin-bottom: 0; }
.programok-page .programok-plan-panel p { max-width: 32.5rem; }

.programok-page .programok-directions__intro { max-width: 38.75rem; margin-bottom: var(--space-6); color: var(--color-muted-text); }
.programok-page .programok-direction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.programok-page .programok-direction { display: flex; flex-direction: column; min-width: 0; padding: var(--space-5); border: var(--border-default); background: var(--color-white); }
.programok-page .programok-direction:nth-child(2) { margin-top: var(--space-5); }
.programok-page .programok-direction:nth-child(3) { margin-top: var(--space-3); }
.programok-page .programok-direction > *:last-child { margin-bottom: 0; }
.programok-page .programok-direction p { max-width: 31rem; }
.programok-page .programok-direction-number { display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; margin-bottom: var(--space-4); border-radius: 50%; background: var(--color-cobalt); color: var(--color-white); font-weight: var(--font-weight-bold); }
.programok-page .programok-direction--turquoise .programok-direction-number { background: var(--color-turquoise); color: var(--color-ink); }
.programok-page .programok-direction--apricot .programok-direction-number { background: var(--color-apricot); color: var(--color-ink); }
.programok-page .programok-layers { padding-top: var(--space-3); border-top: var(--border-default); color: var(--color-muted-text); font-size: var(--text-small); }

.programok-page .programok-process-layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.programok-page .programok-process-intro { grid-column: 1 / span 6; }
.programok-page .programok-process-intro p { max-width: 38.75rem; }
.programok-page .programok-process-list { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: var(--space-5); }
.programok-page .programok-step { display: grid; grid-template-columns: minmax(5rem, .9fr) minmax(0, 4fr); gap: var(--space-4); padding-bottom: var(--space-5); border-bottom: var(--border-default); }
.programok-page .programok-step > * { min-width: 0; }
.programok-page .programok-step__number { color: var(--color-cobalt); font-family: var(--font-heading); font-size: clamp(4rem, 8vw, 7rem); font-weight: var(--font-weight-bold); line-height: .8; font-variant-numeric: tabular-nums; }
.programok-page .programok-step:nth-child(3) .programok-step__number { color: var(--color-apricot); }
.programok-page .programok-step__content p { max-width: 32.5rem; }
.programok-page .programok-process-link { display: inline-block; margin-top: var(--space-6); font-weight: var(--font-weight-semibold); text-decoration-color: var(--color-turquoise); }

.programok-page .programok-inspiration { background: var(--color-concrete); }
.programok-page .programok-inspiration__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: end; margin-bottom: var(--space-7); }
.programok-page .programok-inspiration__head h2 { grid-column: 1 / span 5; margin: 0; }
.programok-page .programok-inspiration__head p { grid-column: 7 / span 4; max-width: 35rem; margin: 0; }
.programok-page .programok-inspiration__head strong { color: var(--color-turquoise); }
.programok-page .programok-gallery-strip { display: grid; grid-template-columns: 7fr 5fr; gap: var(--space-5); }
.programok-page .programok-gallery-strip figure { min-width: 0; margin: 0; }
.programok-page .programok-gallery-strip img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.programok-page .programok-gallery-strip .programok-gallery-graphic { display: grid; min-width: 0; min-height: 100%; align-content: end; padding: var(--space-5); background: var(--color-oak); }
.programok-page .programok-gallery-graphic span { display: block; color: var(--color-cobalt); font-family: var(--font-heading); font-size: clamp(3rem, 7vw, 7rem); font-weight: var(--font-weight-bold); line-height: .8; }
.programok-page .programok-gallery-graphic p { max-width: 20rem; margin: var(--space-4) 0 0; font-weight: var(--font-weight-semibold); }
.programok-page .programok-gallery-cta { width: min(100%, 21rem); margin-top: var(--space-6); }

.programok-page .programok-conversion { background: var(--color-cobalt); color: var(--color-white); }
.programok-page .programok-conversion-layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.programok-page .programok-conversion-copy { grid-column: 1 / span 5; display: flex; flex-direction: column; gap: var(--space-5); }
.programok-page .programok-conversion-copy > * { margin: 0; }
.programok-page .programok-conversion-copy p { max-width: 32.5rem; }
.programok-page .programok-conversion-copy ul { margin: 0; padding-left: 1.25rem; }
.programok-page .programok-conversion-copy li::marker { color: var(--color-turquoise); }
.programok-page .programok-form-card { grid-column: 7 / span 6; min-width: 0; padding: var(--space-6); border: var(--border-default); background: var(--color-white); color: var(--color-ink); }
.programok-page .programok-form-card h3 { margin: 0 0 var(--space-5); }
.programok-page .programok-form { display: flex; flex-direction: column; gap: var(--space-4); }
.programok-page .programok-form > * { min-width: 0; }
.programok-page .programok-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.programok-page .programok-form-grid > * { min-width: 0; }
.programok-page .programok-fieldset { display: grid; gap: var(--space-2); }
.programok-page .programok-fieldset legend { margin-bottom: var(--space-2); font-size: var(--text-label); font-weight: var(--font-weight-semibold); line-height: 1.2; }
.programok-page .programok-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.programok-page .programok-options label, .programok-page .programok-consent { display: flex; align-items: flex-start; gap: var(--space-2); min-width: 0; margin: 0; font-size: .875rem; font-weight: var(--font-weight-medium); line-height: 1.35; }
.programok-page .programok-options input, .programok-page .programok-consent input { flex: 0 0 auto; margin-top: .15rem; }
.programok-page .programok-field--full { grid-column: 1 / -1; }
.programok-page .programok-form .form-help { margin: 0; }
.programok-page .programok-form-status { min-height: 1.35rem; margin: 0; }
.programok-page .programok-form-status > * { margin: 0; }
.programok-page .programok-form .button { align-self: stretch; min-height: 3rem; }

@media (max-width: 69.9375rem) {
  .programok-page .programok-grid, .programok-page .programok-section-head, .programok-page .programok-energy__top, .programok-page .programok-occasion, .programok-page .programok-process-layout, .programok-page .programok-inspiration__head, .programok-page .programok-conversion-layout { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-5); }
  .programok-page .programok-hero__copy { grid-column: 1 / span 4; }
  .programok-page .programok-hero__media { grid-column: 5 / span 4; width: 100%; margin: 0; }
  .programok-page .programok-section-head__title { grid-column: 1 / span 4; }
  .programok-page .programok-section-head__intro { grid-column: 5 / span 4; }
  .programok-page .programok-table-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .programok-page .programok-table-card:nth-child(3) { grid-column: 1 / span 1; }
  .programok-page .programok-energy__copy { grid-column: 1 / span 4; }
  .programok-page .programok-energy__media { grid-column: 5 / span 4; }
  .programok-page .programok-energy-modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .programok-page .programok-energy-module:nth-child(3) { grid-column: 1 / span 1; }
  .programok-page .programok-occasion__media { grid-column: 1 / span 4; }
  .programok-page .programok-occasion__content { grid-column: 5 / span 4; }
  .programok-page .programok-occasion--reverse .programok-occasion__content { grid-column: 1 / span 4; }
  .programok-page .programok-occasion--reverse .programok-occasion__media { grid-column: 5 / span 3; }
  .programok-page .programok-decision-grid, .programok-page .programok-direction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .programok-page .programok-decision-card:nth-child(3), .programok-page .programok-direction:nth-child(3) { grid-column: 1 / span 1; }
  .programok-page .programok-process-intro { grid-column: 1 / -1; }
  .programok-page .programok-process-list { grid-column: 2 / span 6; }
  .programok-page .programok-inspiration__head h2 { grid-column: 1 / span 4; }
  .programok-page .programok-inspiration__head p { grid-column: 5 / span 4; }
  .programok-page .programok-conversion-copy { grid-column: 1 / span 3; }
  .programok-page .programok-form-card { grid-column: 4 / span 5; }
}

@media (max-width: 56.1875rem) {
  .programok-page .programok-hero { padding-block: var(--space-9) var(--space-8); }
  .programok-page .programok-grid { grid-template-columns: 1fr; }
  .programok-page .programok-hero__copy, .programok-page .programok-hero__media { grid-column: 1; width: 100%; }
  .programok-page .programok-hero__media { order: 2; }
  .programok-page .programok-hero__title { font-size: clamp(3.25rem, 14vw, 4.75rem); }
  .programok-page .programok-category-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .programok-page .programok-section-head, .programok-page .programok-energy__top, .programok-page .programok-occasion, .programok-page .programok-process-layout, .programok-page .programok-inspiration__head, .programok-page .programok-conversion-layout { grid-template-columns: 1fr; }
  .programok-page .programok-section-head__title, .programok-page .programok-section-head__intro, .programok-page .programok-energy__copy, .programok-page .programok-energy__media, .programok-page .programok-occasion__media, .programok-page .programok-occasion__content, .programok-page .programok-occasion--reverse .programok-occasion__content, .programok-page .programok-occasion--reverse .programok-occasion__media, .programok-page .programok-process-intro, .programok-page .programok-process-list, .programok-page .programok-inspiration__head h2, .programok-page .programok-inspiration__head p, .programok-page .programok-conversion-copy, .programok-page .programok-form-card { grid-column: 1; grid-row: auto; }
  .programok-page .programok-section-head { gap: var(--space-4); margin-bottom: var(--space-6); }
  .programok-page .programok-table-card-grid, .programok-page .programok-energy-modules, .programok-page .programok-decision-grid, .programok-page .programok-direction-grid { grid-template-columns: 1fr; }
  .programok-page .programok-table-card:nth-child(3), .programok-page .programok-energy-module:nth-child(3), .programok-page .programok-decision-card:nth-child(3), .programok-page .programok-direction:nth-child(3) { grid-column: 1; }
  .programok-page .programok-host { width: 100%; }
  .programok-page .programok-energy-modules { gap: var(--space-5); }
  .programok-page .programok-tech-image { width: 100%; }
  .programok-page .programok-occasion-grid { gap: var(--space-7); }
  .programok-page .programok-occasion__content { order: 2; }
  .programok-page .programok-occasion--reverse .programok-occasion__content { order: 1; }
  .programok-page .programok-occasion--reverse .programok-occasion__media { order: 2; }
  .programok-page .programok-direction:nth-child(2), .programok-page .programok-direction:nth-child(3) { margin-top: 0; }
  .programok-page .programok-process-list { gap: var(--space-5); }
  .programok-page .programok-gallery-strip { grid-template-columns: 1fr; }
  .programok-page .programok-gallery-strip .programok-gallery-graphic { min-height: 14rem; }
  .programok-page .programok-conversion-layout { gap: var(--space-6); }
}

@media (max-width: 38.75rem) {
  .programok-page .programok-category-nav, .programok-page .programok-form-grid, .programok-page .programok-options { grid-template-columns: 1fr; }
  .programok-page .programok-category-nav > a { min-height: 3.5rem; }
  .programok-page .programok-table-card .card__body, .programok-page .programok-direction, .programok-page .programok-decision-card { padding: var(--space-4); }
  .programok-page .programok-summary-band { align-items: flex-start; flex-direction: column; }
  .programok-page .programok-plan-panel, .programok-page .programok-form-card { padding: var(--space-4); }
  .programok-page .programok-step { grid-template-columns: 1fr; gap: var(--space-3); }
  .programok-page .programok-step__number { font-size: clamp(4rem, 20vw, 5rem); }
  .programok-page .programok-gallery-cta { width: 100%; }
}
