/* Figma parity audit, 2026-11-01. Kept after the historical theme sheets. */
#program .program-days li { opacity:1; }
#program .program-days li:not(.is-active) .program-day span { color:#000; }
#program .program-days li:not(.is-active) .program-day strong { color:#747474; }
#program .is-loading > .program-card__art { visibility:hidden; }
body[class] .included { background:transparent; }
body[class] .benefits article { border:0; }
@media (min-width:681px) {
 body.theme-blue .included { height:auto; min-height:0; overflow:visible; container-type:inline-size; }
 body.theme-blue .section__included { width:100%; height:auto; min-height:0; margin:0; aspect-ratio:auto; }
 body.theme-blue .included::before, body.theme-blue .included::after { display:none; }
 body.theme-blue .included__video { display:none; }
 body.theme-blue .section__included { background:#010101 url('assets/included-background.svg') center/100% 100% no-repeat; }
}
/* Component 12 is 1360 x 444 in Figma. Its own width scales the complete
   composition, including the 60px column and 72px row gaps. */
@media (min-width:1051px) {
 body.theme-blue .included { margin-top:calc((min(100vw,1920px) - 80px) * .088235294 - 24px); }
 body.theme-blue .section__included { padding:2.205883cqw; border-width:.735295cqw; border-radius:2.205883cqw; }
 body.theme-blue .included__heading { height:2.941176cqw; gap:2.352941cqw; margin:0; }
 body.theme-blue .included__mark { width:2.251008cqw; height:2.599493cqw; flex:0 0 2.251008cqw; }
 body.theme-blue .section__included h2 { margin:0; font-size:2.941176cqw; line-height:1; letter-spacing:-.04em; }
 body.theme-blue .benefits { grid-template-columns:repeat(5,minmax(0,1fr)); grid-auto-rows:auto; gap:5.294118cqw 4.411765cqw; margin:4.411765cqw -.147059cqw 0 0; }
 body.theme-blue .benefits article { min-height:0; padding:0; gap:0; }
 body.theme-blue .benefit-icon, body.theme-blue .benefit-icon img { width:3.676471cqw; height:3.676471cqw; }
 body.theme-blue .benefit-icon { flex:0 0 3.676471cqw; }
 body.theme-blue .benefits b { min-height:2.5cqw; margin: .882353cqw 0 0; color:#fff; font-size:1.029412cqw; font-weight:500; line-height:1.25cqw; letter-spacing:-.04em; }
}
@media (min-width:681px) and (max-width:1050px) {
 body.theme-blue .section__included { padding:24px; border-width:8px; border-radius:24px; }
 body.theme-blue .included__heading { gap:20px; align-items:center; }
 body.theme-blue .included__mark { width:31px; height:36px; flex:0 0 31px; }
 body.theme-blue .section__included h2 { margin:0; font-size:28px; line-height:1.05; letter-spacing:-.04em; }
 body.theme-blue .benefits { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; margin:36px 0 0; }
 body.theme-blue .benefits article { min-height:0; padding:0; }
 body.theme-blue .benefit-icon, body.theme-blue .benefit-icon img { width:42px; height:42px; }
 body.theme-blue .benefit-icon { flex:0 0 42px; }
 body.theme-blue .benefits b { min-height:34px; margin:12px 0 0; color:#fff; font-size:13px; font-weight:500; line-height:17px; letter-spacing:-.04em; }
}
body.theme-blue .outcomes-card__intro .section__mark { content:url('assets/brand-mark-coral.svg'); }
@media (max-width:680px) {
 body.theme-blue .included { height:auto; aspect-ratio:370 / 857; }
}
body .feature-stack { background: transparent; }
#program .program__desktop-scene > .section__eyebrow { display: none; }
#program .program__head { padding-left: 0; }
#program .program-card { background: transparent !important; box-shadow: none !important; }
#program .program-card__status {
  position: absolute; z-index: 12; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 16px; padding: 24px;
  color: var(--ink); text-align: center; font-size: 14px;
}
/* Original demo vectors and readable theme surfaces. */
body[class] .demo__list li { position:relative; padding-left:30px; }
body[class] .demo__list li::before { content:none; }
body[class] .demo__list img { position:absolute; left:0; top:50%; transform:translateY(-50%); width:20px; height:22px; object-fit:contain; }
body.theme-blue .demo .swipe--red { background:linear-gradient(18deg,#713c2c 0%,#ff755f 65%,#ffd2d7 100%); }
body.theme-blue .demo__notice { border-color:#ff755f; }
body.theme-beige .results-banner { background:#fbeee4; }
body.theme-beige .results-banner::before { display:none; }
body.theme-beige .results-banner__video { display:none; }
body.theme-beige .results-banner__copy strong { color:#ac7046; }
body.theme-beige .results-banner__copy p { color:#747474; }
#program .program-card__status[hidden] { display: none; }
#program .is-loading .program-card__status::before {
  content: ''; width: 30px; height: 30px; border: 3px solid transparent;
  border-color: color-mix(in srgb, var(--accent) 20%, transparent);
  border-top-color: var(--accent); border-radius: 50%; animation: program-loading .7s linear infinite;
}
#program .is-loading::before { display: none; }
#program .is-error > .program-card__art { visibility: hidden; }
#program .program-card__status button { border: 1px solid currentColor; border-radius: 24px; padding: 10px 20px; color: inherit; background: transparent; font: inherit; cursor: pointer; }
@keyframes program-loading { to { transform: rotate(1turn); } }

@media (min-width: 1051px) {
  #program.program { display: block; padding: 0; height: 500svh; min-height: 0; }
  #program .program__desktop-scene {
    position: sticky; top: 0; display: grid; box-sizing: border-box;
    grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr);
    grid-template-rows: auto minmax(0, 1fr); gap: 24px clamp(28px, 3vw, 48px);
    width: 100%; height: 100svh; min-height: 0; padding: 24px 20px; overflow: hidden;
  }
  #program .program__head {
    position: static; grid-column: 1; grid-row: 1; width: auto; margin: 0; padding: 0;
    align-self: start; display: block;
  }
  #program .program__head h2 { max-width: 100%; margin: 0; font-size: clamp(38px, 3.85vw, 58px); line-height: .98; }
  #program .program__head > p { display: none; }
  #program .program-layout { display: contents; }
  #program .program-days {
    grid-column: 1; grid-row: 2; position: relative; display: grid; align-self: stretch;
    align-content: stretch; grid-template-rows: repeat(5, 1fr); gap: 0;
    min-height: 0; margin: 0 !important; padding: 0 0 0 22px; border-left-width: 1px;
  }
  #program .program-days li, #program .program-days li:first-child {
    position: static; display: grid; align-content: center; min-height: 0; margin: 0;
    padding: clamp(6px, 1.1vh, 14px) 0 clamp(6px, 1.1vh, 14px) clamp(12px, 1.25vw, 20px);
    border-left: 0; border-top: 0; border-right: 0;
  }
  #program .program-days li.is-active::before { display: none; }
  #program .program-day { gap: 8px; }
  #program .program-day span { font-size: clamp(22px, 2.1vw, 31px); line-height: 1; }
  #program .program-day strong { font-size: clamp(12px, 1.1vw, 16px); line-height: 1.3; }
  #program .program-card {
    grid-column: 2; grid-row: 1 / 3; position: relative; justify-self: center; align-self: center;
    width: min(100%, calc(100svh - 48px)) !important; height: auto !important;
    min-height: 0; max-height: calc(100svh - 48px); aspect-ratio: 1; margin: 0;
    transform: none; border: 0; border-radius: clamp(18px, 2vw, 30px); overflow: hidden;
  }
  #program .program-card > img {
    position: absolute; inset: 0; display: block; width: 100%; height: 100%;
    object-fit: contain !important; object-position: center !important;
  }
  #program .program-card__topics, #program .program-card__result, #program .program-card::after { display: none; }
  #program .program-mobile-rail { display: none; }
}

/* Tablet is a normal two-column section, without a five-screen empty scene. */
@media (min-width: 681px) and (max-width: 1050px) {
  #program.program {
    display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
    grid-template-rows: auto auto; align-items: center; gap: 24px;
    height: auto; min-height: 0; padding: 56px 20px;
  }
  #program .program__desktop-scene, #program .program-layout { display: contents; }
  #program .program__head { position: static; grid-column: 1; grid-row: 1; margin: 0; padding: 0; width: auto; }
  #program .program__head h2 { max-width: 100%; margin: 0; font-size: clamp(30px, 4vw, 42px); }
  #program .program__head > p { display: none; }
  #program .program-days { grid-column: 1; grid-row: 2; display: grid; margin: 0 !important; padding: 0; }
  #program .program-days li { min-height: 0; padding: 14px 16px; }
  #program .program-day span { font-size: 23px; }
  #program .program-day strong { font-size: 12px; line-height: 1.35; }
  #program .program-card {
    grid-column: 2; grid-row: 1 / 3; justify-self: stretch; align-self: center;
    width: 100% !important; height: auto !important; min-height: 0; aspect-ratio: 1; transform: none;
  }
  #program .program-card > img { width: 100%; height: 100%; object-fit: contain !important; object-position: center !important; }
  #program .program-mobile-rail { display: none; }
}

@media (max-width: 680px) {
  #program.program { height: auto; min-height: 0; }
  #program .program__head { position: static; width: auto; padding: 0; }
  #program .program-card { display: none; }
  .theme-beige #program .program-mobile__details { display: none; }
  #program .program-mobile__card { flex: 0 0 min(100%, 340px); width: min(100%, 340px); }
  #program .program-mobile__card > img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
}

/* The source photographs span the whole mentor frame, including the sofa. */
body.theme-blue .mentor { --mentor-art: url('assets/mentor-full.png'); --mentor-glass: rgba(241,247,252,.62); --mentor-ink: #000; }
body.theme-beige .mentor { --mentor-art: url('assets/mentor-full.png'); --mentor-glass: rgba(255,250,245,.64); --mentor-ink: #000; }
body.theme-black .mentor { --mentor-art: url('assets/mentor-original.jpg'); --mentor-glass: rgba(255,255,255,.20); --mentor-ink: #fff; }
@media (min-width: 681px) {
  body[class] .mentor {
    position: relative; display: block; min-height: 0; height: auto; aspect-ratio: 1360 / 527;
    margin: 0 20px; padding: 0; border-radius: 30px; overflow: hidden;
    background: transparent;
  }
  body[class] .mentor::before { display: none; }
  body[class] .mentor__photo {
    display: block; position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0;
    background-image: var(--mentor-art); background-color: transparent; background-repeat: no-repeat;
    background-size: 105.1% auto; background-position: center bottom;
    mask-image: none; -webkit-mask-image: none;
  }
  body[class] .mentor__copy {
    display: block; position: relative; z-index: 1; top: auto; right: auto; bottom: auto; left: auto;
    box-sizing: border-box; width: 39.3%; height: auto; margin: 1.47%; padding: 1.47%;
    transform: none; overflow: visible; clip: auto; white-space: normal;
    border: 1px solid rgba(255,255,255,.8); border-radius: 20px;
    color: var(--mentor-ink); background: var(--mentor-glass);
    backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); box-shadow: none;
  }
  body[class] .mentor__copy h2 { margin: 0 0 18px; color: var(--accent); font-size: clamp(28px, 3vw, 42px); line-height: 1.12; }
  body[class] .mentor__copy h2 span { color: inherit; }
  body[class] .mentor__copy > p { margin: 0 0 18px; color: var(--mentor-ink); font-size: clamp(11px, 1vw, 14px); line-height: 1.2; letter-spacing: -.04em; }
  body[class] .mentor__copy > p:last-child { margin-bottom: 0; }
  body.theme-black .mentor__photo { background-color: #050505; background-image: linear-gradient(90deg,#050505 0%,#050505 26%,transparent 60%), var(--mentor-art); background-size: 100% 100%,81.6176% auto; background-position: center,150.4% 46.57%; }
}
@media (min-width: 681px) and (max-width: 1000px) {
  body[class] .mentor { aspect-ratio: auto; min-height: 440px; }
  body[class] .mentor__copy { width: 48%; padding: 20px; margin: 16px; }
  body[class] .mentor__photo { background-size: cover; background-position: 66% bottom; }
}
@media (max-width: 680px) {
  body[class] .mentor { aspect-ratio: auto; height: auto; min-height: 0; padding: 260px 12px 12px; background: transparent; }
  body[class] .mentor__photo { display: block; inset: 0; min-height: 0; background-image: var(--mentor-art); background-size: auto 440px; background-position: 72% top; background-repeat: no-repeat; mask-image: none; -webkit-mask-image: none; }
  body[class] .mentor__copy { position: relative; top: auto; left: auto; right: auto; bottom: auto; width: auto; height: auto; margin: 0; padding: 20px; clip: auto; overflow: visible; white-space: normal; transform: none; background: var(--mentor-glass); color: var(--mentor-ink); backdrop-filter: blur(15px); }
  body[class] .mentor__copy h2 { font-size: 30px; color: var(--accent); }
  body[class] .mentor__copy > p { font-size: 12px; line-height: 1.4; color: var(--mentor-ink); }
  body.theme-blue .mentor { background: #d7e9f2; }
  body.theme-beige .mentor { background: #f1e3d6; }
  body.theme-black .mentor { background: #080808; }
}

/* Restore the actual three Figma card compositions; the pin only moves wrappers. */
body[class] .feature-stack .section__mark { display: block; width: 31px; height: 36px; object-fit: contain; }
body[class] .feature-stack .practical-card, body[class] .feature-stack .stack-surface { box-sizing: border-box; }
body[class] .outcomes-card__list li::before { content: none; }
body[class] .outcomes-card__list li { display: flex; align-items: center; gap: 10px; padding-left: 0; }
body[class] .outcomes-card__list img { width: 18px; height: 18px; flex: 0 0 18px; object-fit: contain; }
body[class] .prize-card { background: #010101; }
body[class] .prize-card__image { object-fit: contain; object-position: left center; }
body[class] .prize-card__wash { display: none; }
@media (min-width: 1051px) {
  body[class] .feature-stack .practical-card, body[class] .feature-stack .stack-surface { height: auto; min-height: 0; aspect-ratio: 1360 / 527; }
  body[class] .feature-stack .practical-card { display: grid; grid-template-columns: 25% 24% 51%; gap: 0; padding: 10px; }
  body[class] .feature-stack .practical__copy { align-self: stretch; display: flex; flex-direction: column; padding: 20px 28px; }
  body[class] .feature-stack .practical__copy h2 { margin: auto 0 16px; font-size: clamp(28px, 2.85vw, 40px); line-height: 1; }
  body[class] .feature-stack .practical__copy p { margin: 0; font-size: clamp(11px, .88vw, 13px); line-height: 1.2; }
  body[class] .feature-stack .practical__image { width: 100%; height: 100%; min-height: 0; border-radius: 20px; object-fit: cover; }
  body[class] .feature-stack .practical__list { display: grid; grid-template-columns: 1fr; align-self: stretch; padding: 4px 10px 4px 34px; }
  body[class] .feature-stack .practical__list li { min-height: 0; padding-top: 8px; padding-bottom: 8px; font-size: clamp(11px, .96vw, 14px); line-height: 1.2; }
  body[class] .outcomes-card { display: grid; grid-template-columns: 25% 25% 50%; padding: 10px; gap: 0; }
  body[class] .outcomes-card__visual { height: 100%; min-height: 0; border-radius: 20px; overflow: hidden; }
  body[class] .outcomes-card__visual img { width: 100%; height: 100%; object-fit: cover; object-position: 80% center; }
  body[class] .outcomes-card__intro { display: flex; flex-direction: column; min-width: 0; padding: 20px 28px; }
  body[class] .outcomes-card__intro h2 { margin: auto 0 18px; font-size: clamp(28px, 2.85vw, 40px); line-height: 1; color: #000; }
  body[class] .outcomes-card__intro p { margin: 0; font-size: clamp(11px, .88vw, 13px); line-height: 1.2; }
  body[class] .outcomes-card__list { display: grid; grid-template-rows: repeat(10, 1fr); align-content: stretch; margin: 0; padding: 4px 10px; }
  body[class] .outcomes-card__list li { min-height: 0; padding: 6px 0; font-size: clamp(11px, .96vw, 14px); line-height: 1.2; }
  body[class] .prize-card { border: 10px solid #fff; }
  body[class] .prize-card__image { width: 77.5%; height: 100%; left: -2.28%; }
  body[class] .prize-card__title { left: 44%; top: 30px; bottom: 30px; width: 26%; max-width: none; display: flex; flex-direction: column; }
  body[class] .prize-card__title h2 { margin: auto 0 14px; font-size: clamp(28px, 2.85vw, 40px); line-height: 1; }
  body[class] .prize-card__title h2 span { font-weight: 500; }
  body[class] .prize-card__title p { margin: 0; max-width: 265px; color: #4eacff; font-size: clamp(11px, .88vw, 13px); line-height: 1.2; }
  body[class] .prize-card__criteria { top: 30px; right: 30px; width: 25%; padding: 20px; font-size: clamp(11px, .88vw, 13px); line-height: 1.3; background: rgba(255,255,255,.06); }
  body[class] .prize-card__criteria p:first-child { font-size: clamp(15px, 1.25vw, 19px); }
  body[class] .feature-stack__card--outcomes::after { display: none; }
}
@media (min-width: 1051px) and (min-height: 700px) {
  body[class] .feature-stack--scene { --stack-card-height: calc((min(100vw, 1920px) - 80px) * 527 / 1360); --stack-step: clamp(54px, 4.5vw, 82px); }
}
/* Short windows keep every line readable instead of pinning oversized content. */
@media (min-width: 681px) and (max-width: 1050px), (min-width: 1051px) and (max-height: 699px) {
  body[class] .feature-stack { height: auto; min-height: 0; padding: 16px 0; }
  body[class] .feature-stack::after { display: none; }
  body[class] .feature-stack__pin { position: static; height: auto; }
  body[class] .feature-stack__stage { display: block; position: static; transform: none !important; }
  body[class] .feature-stack__card { position: static !important; margin: 24px 0 !important; padding: 0 20px !important; }
  body[class] .feature-stack .practical-card, body[class] .feature-stack .stack-surface { height: auto; min-height: 0; aspect-ratio: auto; }
  body[class] .feature-stack .practical-card { grid-template-columns: .9fr 1.1fr; }
  body[class] .feature-stack .practical__list { grid-column: 1 / -1; }
  body[class] .feature-stack .practical__image { height: 380px; }
  body[class] .outcomes-card { grid-template-columns: 35% 65%; }
  body[class] .outcomes-card__visual { grid-column: 1; grid-row: 1 / 3; }
  body[class] .outcomes-card__intro, body[class] .outcomes-card__list { grid-column: 2; }
  body[class] .prize-card { display: grid; grid-template-columns: 1fr 1fr; padding: 28px; }
  body[class] .prize-card__image { inset: 0 auto 0 0; width: 60%; height: 100%; }
  body[class] .prize-card__title { position: relative; top: auto; bottom: auto; left: auto; width: auto; grid-column: 2; padding: 20px; }
  body[class] .prize-card__criteria { position: relative; top: auto; right: auto; grid-column: 2; width: auto; margin: 0; }
}
@media (max-width: 680px) {
  body[class] .feature-stack .practical-card { height: auto; min-height: 0; }
  body[class] .prize-card { display: flex; flex-direction: column; min-height: 0; padding: 300px 20px 24px; }
  body[class] .prize-card__image { top: 0; left: 0; width: 100%; height: 300px; object-fit: contain; }
  body[class] .prize-card__title { position: static; width: auto; max-width: none; }
  body[class] .prize-card__title h2 { font-size: 32px; }
  body[class] .prize-card__criteria { position: static; width: auto; margin: 24px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  #program .program-card__status::before { animation: none; }
}

/* Theme-specific source artwork and colors, read from Figma. */
body.theme-blue .outcomes-card__intro .section__mark { filter: none; }
body.theme-blue .outcomes-card__intro p { color: #ff755f; }
body.theme-black .outcomes-card__intro p { color: #ff4149; }
body.theme-beige .prize-card__image { left: 0; width: 100%; height: 100%; object-fit: cover; }
body.theme-beige .prize-card__title, body.theme-beige .prize-card__title h2 { color: #fff; }
body.theme-beige .prize-card__title p { color: #fff; }
body.theme-beige .prize-card__title .section__mark { filter: brightness(0) invert(1); }
body.theme-beige .prize-card__criteria { background: rgba(42,22,10,.55); }
@media (min-width:1051px) { body.theme-beige .prize-card__title { left:47.3%; width:23%; } }
@media (max-width:680px) { body.theme-beige .prize-card__image { height:300px; object-fit:cover; object-position:15% center; } }
@media (min-width:681px) {
 body[class] .feature-stack:not(.feature-stack--scene) { height:auto; min-height:0; padding:16px 0; }
 body[class] .feature-stack:not(.feature-stack--scene)::after { display:none; }
 body[class] .feature-stack:not(.feature-stack--scene) .feature-stack__pin { position:static; height:auto; }
 body[class] .feature-stack:not(.feature-stack--scene) .feature-stack__stage { display:block; position:static; transform:none!important; }
 body[class] .feature-stack:not(.feature-stack--scene) .feature-stack__card { position:static!important; margin:24px 0!important; padding:0 20px!important; }
}
