/* Illustrations, practices and study cards share the warm accents of the program deck. */
#problems mark { color: inherit; background: linear-gradient(transparent 58%, #ffda4c 58%); }
.eeg { display: grid; grid-template-columns: .84fr 1.16fr; gap: 32px; align-items: center; }
.chariot-title { font-size: clamp(28px, 3.5vw, 44px); line-height: 1.1; letter-spacing: -.045em; }
.exercise-copy p { color: #4c493e; font-size: 15px; }
.chariot-roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(22px, 4vw, 54px); margin: 22px 0 0; }
.chariot-roles > div { padding-left: 16px; border-left: 3px solid #e1b239; }
.chariot-roles dt { margin: 0 0 8px; color: #28241b; font-size: clamp(19px, 2vw, 25px); line-height: 1.2; letter-spacing: -.035em; font-weight: 650; }
.chariot-roles dd { margin: 0; color: #4c493e; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.55; }
.scenes, .story-track, .platforms { margin: 0; padding: 0; list-style: none; }
.scenes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; counter-reset: scenes; }
.scenes li { display: flex; flex-direction: column; min-width: 0; padding: 15px; border-radius: 18px; background: #fff; }
.scenes img { display: block; width: 100%; height: auto; aspect-ratio: 1.8; object-fit: contain; }
.scenes li>div { border-top: 1px solid #eeeadf; margin-top: 10px; padding: 14px 0 3px; }
.scene-index { float: left; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #ffe57b; color: #5c4812; font-size: 11px; font-weight: 650; }
.scenes h3 { margin: 2px 0 11px 34px; line-height: 1.25; font-size: clamp(17px, 1.65vw, 22px); letter-spacing: -.04em; }
.scenes p, .catalog-description, .eeg p, .research-list p, .story-track li>div>p:last-child { color: #55544c; font-size: 14px; line-height: 1.6; }
.practice-lab, .evidence { margin-bottom: 38px; }
.exercise-spread { display: grid; grid-template-columns: 1.2fr .8fr .8fr; align-items: stretch; gap: 16px; }
.exercise-copy { padding: 20px 22px 20px 0; align-self: center; }
.exercise-copy p+p { margin-top: 16px; }
.exercise-spread figure { background: #fffaf0; padding: 15px 18px; border: 1px solid #ece3cb; border-radius: 18px; }
.exercise-spread figure>img { display: block; width: 100%; height: 135px; object-fit: contain; mix-blend-mode: multiply; }
.exercise-spread figcaption { font-size: 13px; line-height: 1.5; color: #585445; padding-top: 10px; }
.exercise-spread figcaption b { display: block; color: #211e16; font-size: 17px; margin-bottom: 4px; }
.eeg { background: #f4f3ec; padding: 24px; border-radius: 20px; grid-template-columns: .82fr 1.18fr; gap: 25px; }
.eeg figure { min-width: 0; }
.eeg figure img { display: block; width: 100%; height: auto; border-radius: 10px; }
.eeg figcaption { color: #625e51; margin-top: 8px; font-size: 11px; }
.eeg .eyebrow { font-size: 10px; margin-bottom: 8px; }
.eeg h3, .research-list h3 { font-size: 22px; letter-spacing: -.035em; margin: 0 0 8px; line-height: 1.2; }
.research-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; margin-top: 24px; }
.research-list article { display: flex; flex-direction: column; border-top: 2px solid #f4cf51; padding-top: 13px; }
.research-list article>span { font-size: 12px; font-weight: 500; color: #756126; margin-bottom: 9px; }
.research-list h3 { font-size: 19px; }
.research-list a { align-self: flex-start; font-size: 12px; padding-block: 10px 0; margin-top: auto; text-decoration-color: #9c977e; }
.platforms { display: flex; flex-wrap: wrap; gap: 7px; margin: 17px 0; }
.platforms li { background: #fff2b8; border-radius: 8px; padding: 6px 12px; font-size: 13px; font-weight: 600; }
.stories-section .section-head { align-items: flex-end; }
.stories-section h2 { max-width: 720px; }
.story-nav:not([hidden]) { display: flex; gap: 8px; }
.story-nav button { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #d7ceaf; border-radius: 50%; color: #231f16; background: #ffdf64; font-size: 23px; cursor: pointer; }
.story-nav button:disabled { background: #f7f6f0; color: #a7a599; cursor: default; }
.story-track { display: flex; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #c4ae58 #f4f1e8; padding-bottom: 12px; }
.story-track li { display: grid; grid-template-columns: minmax(110px,.62fr) minmax(0,1fr); align-items: start; flex: 0 0 55%; scroll-snap-align: start; padding: 16px; gap: 20px; border-radius: 22px; border: 1px solid #eee8dc; background: #faf7ee; }
.story-track li:nth-child(2) { background: #f1f6ef; border-color: #e0e9dc; }
.story-track li:last-child { scroll-snap-align: end; }
.story-track li:nth-child(3) { background: #f5f1fa; border-color: #e9e1ee; }
.story-track img { display: block; width: 100%; height: auto; max-height: 255px; aspect-ratio: .76; object-fit: cover; object-position: 50% 25%; border-radius: 12px; }
.story-name { font-weight: 650; font-size: 16px; }
.story-role { color: #656052; font-size: 12px; }
.story-track h3 { margin: 17px 0 8px; font-size: clamp(18px, 2vw, 25px); line-height: 1.19; letter-spacing: -.035em; }
.gifts-heading { grid-template-columns: minmax(0,1fr) minmax(100px,180px) minmax(0,255px); }
.present-art { width: min(100%,160px); height: auto; justify-self: center; border-radius: 20%; }
.gifts-grid { gap: 20px; }
.gifts-grid>.gift-card:nth-child(1) { --accent: #886817; --tint: #ffedac; --edge: #e7d394; --surface-tint: #fff8de; }
.gifts-grid>.gift-card:nth-child(2) { --accent: #71559a; --tint: #e8dcf8; --edge: #d5c3e8; --surface-tint: #f6f0fb; }
.gifts-grid>.gift-card:nth-child(3) { --accent: #357264; --tint: #d5eee4; --edge: #afd4c4; --surface-tint: #edf7f2; }
.gifts-grid>.gift-card { border: 1px solid var(--edge); border-top: 5px solid var(--accent); background: var(--surface-tint); }
.gift-card .plan-number { color: var(--accent); font-weight: 650; }
.gift-top .plan-number { display: inline-flex; align-items: center; gap: 6px; }
.gift-top .plan-number::before { content: ''; display: block; width: 16px; height: 16px; background: var(--accent); mask: url(assets/program/parcel.svg) center / contain no-repeat; }
.gift-card .gift-included, .gift-card .gift-duration, .gift-card .gift-highlight { background: var(--tint); border-color: var(--edge); }
.gift-card .gift-infinity, .gift-card .gift-annual>strong>span { color: var(--accent); }
.gift-card .gift-features li::before { background: var(--accent); }
.gift-card .gift-ages li { border-color: var(--edge); background: #ffffff86; }
.extra-gifts article:first-child { background: #fff8e5; border: 1px solid #e9ddaf; }
.extra-gifts article:nth-child(2) { background: #f0f3f8; border: 1px solid #d4deea; }
@media (max-width:880px) {
  .chariot-roles { grid-template-columns: 1fr; gap: 18px; margin-top: 18px; }
  .scenes { gap: 10px; }
  .scenes li { padding: 12px; }
  .scene-index { float: none; margin-bottom: 7px; }
  .scenes h3 { margin-left: 0; }
  .exercise-spread { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .exercise-copy { grid-column: 1/-1; padding: 0 0 4px; }
  .exercise-copy p+p { margin-top: 9px; }
  .research-list { gap: 15px; }
  .story-track li { flex-basis: 78%; }
  .gifts-heading { grid-template-columns: minmax(0,1fr) minmax(90px,150px); }
  .present-art { grid-column: 2; grid-row: 1/3; }
}
@media (max-width:640px) {
  .scenes, .eeg, .research-list { grid-template-columns: 1fr; }
  .scenes li { padding: 16px; }
  .scenes img { height: 140px; }
  .scene-index { float: left; }
  .scenes h3 { margin-left: 34px; font-size: 20px; }
  .eeg { padding: 18px; gap: 15px; }
  .eeg figure { order: 2; }
  .research-list { gap: 16px; }
  .exercise-spread { gap: 10px; }
  .exercise-spread figure { padding: 10px; }
  .exercise-spread figure>img { height: 94px; }
  .exercise-spread figcaption { font-size: 12px; }
  .exercise-spread figcaption b { font-size: 15px; }
  .stories-section .section-head { flex-direction: row; align-items: flex-end; gap: 10px; }
  .story-nav:not([hidden]) { gap: 4px; }
  .story-nav button { width: 38px; height: 44px; }
  .story-track { gap: 10px; }
  .story-track li { display: block; flex-basis: 90%; padding: 16px; }
  .story-track img { width: 66px; height: 76px; float: left; margin: 0 12px 12px 0; }
  .story-track h3 { clear: both; padding-top: 3px; }
  .gifts-heading { display: grid; grid-template-columns: minmax(0,1fr) 76px; gap: 10px; padding: 18px; }
  .gifts-heading h2 { font-size: 25px; }
  .present-art { grid-column: 2; grid-row: 1; }
  .gifts-value { grid-column: 1/-1; }
}
@media (max-width:375px) {
  .stories-section .section-head { align-items: flex-start; flex-direction: column; }
  .topbar { gap: 10px; }
}

/* Research and supporting materials from the presentation. */
.method-lead { max-width: 870px; margin: 0 0 22px; color: #45443c; font-size: clamp(15px,1.5vw,18px); line-height: 1.55; }
.study-feature { background: #f5f3e9; border: 1px solid #e2decb; padding: clamp(16px,3vw,36px); border-radius: 24px; }
.study-result { display: grid; align-items: center; gap: 28px; grid-template-columns: 1.25fr .75fr; }
.study-result .eyebrow { color: #736024; margin-bottom: 9px; }
.study-result h3 { font-size: clamp(21px,2.65vw,34px); line-height: 1.16; letter-spacing: -.05em; margin-bottom: 12px; }
.study-result p:not(.eyebrow), .story-film p:not(.eyebrow) { font-size: 14px; line-height: 1.55; color: #504e43; }
.study-result img { width: 100%; height: auto; border-radius: 8px; display: block; }
.study-result figcaption, .study-caption { font-size: 12px; line-height: 1.55; color: #605e51; margin-top: 7px; }
.study-stats { list-style: none; display: flex; flex-wrap: wrap; gap: 14px 32px; border-block: 1px solid #d9d4bb; margin: 22px 0; padding: 14px 0; }
.study-stats li { font-size: 13px; color: #524e3e; }
.study-stats b { font-size: 22px; margin-right: 3px; font-weight: 600; color: #2c2c24; letter-spacing: -.05em; }
.study-films { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.study-films figure { background: #191b17; padding: 10px; border-radius: 14px; }
.study-films figcaption { color: #fae088; padding: 2px 4px 8px; font-size: 13px; font-weight: 600; }
.study-films video, .story-film video { max-width: 100%; width: 100%; height: auto; display: block; }
.study-films video { background: black; aspect-ratio: 960 / 342; }
.study-caption { margin-top: 13px; }
.other-studies { margin: 22px 0 0; font-size: 19px; letter-spacing: -.04em; }
.other-studies + .research-list { margin-top: 12px; }
.story-film { display: grid; grid-template-columns: minmax(0,285px) minmax(0,490px); align-items: center; gap: clamp(16px,3vw,40px); background: #f7f5ed; border-radius: 20px; overflow: hidden; margin-top: 15px; padding: 14px; }
.story-film video { border-radius: 11px; background: #28251b; }
.story-film h3 { margin: 4px 0 9px; font-size: clamp(20px,2.4vw,29px); letter-spacing: -.04em; }
.gifts-grid { gap: clamp(18px,2.5vw,32px); }
.gifts-grid>.gift-card { border-top-width: 7px; }
.gift-picture { display: flex; align-items: center; justify-content: center; gap: 12px; background: var(--tint); min-height: 128px; border-radius: 14px; padding: 10px; margin: 0 0 17px; }
.gift-picture img { display: block; width: min(46%,110px); height: 108px; object-fit: cover; }
.gift-portrait img { border-radius: 50%; }
.gift-phone img { border-radius: 12px; transform: rotate(-3deg); }
.gift-picture figcaption { font-size: 14px; line-height: 1.25; font-weight: 650; }
.gift-picture figcaption span { font-weight: 450; font-size: 11px; }
.gift-phone figcaption b { font: 54px/.9 Arial,sans-serif; display: block; color: #674b89; }
.gift-tickets { position: relative; padding-bottom: 35px; gap: 4px; }
.gift-tickets div { position: relative; color: #254b3e; width: 45%; max-width: 117px; background: #fbf9dc; border: 1px dashed #527d6a; border-radius: 8px; padding: 8px 6px 10px; text-align: center; }
.gift-tickets div:first-child { transform: rotate(-6deg); }
.gift-tickets div:nth-child(2) { transform: rotate(6deg); }
.gift-tickets div span { display: block; font-size: 8px; letter-spacing: .1em; }
.gift-tickets div b { font-size: 23px; letter-spacing: -.05em; }
.gift-tickets figcaption { position: absolute; bottom: 11px; font-size: 12px; }
.gift-family { width: 100%; display: block; height: auto; margin-top: 12px; border-radius: 4px; }
@media(max-width:880px) {
  .study-result { grid-template-columns: 1fr; gap: 14px; }
  .study-result figure { max-width: 500px; }
  .gift-club .gift-picture { justify-content: flex-start; padding-inline: 20px; }
}
@media(max-width:640px) {
  .study-films { grid-template-columns: 1fr; }
  .study-stats { gap: 8px 18px; margin: 15px 0; padding: 10px 0; }
  .study-stats li { font-size: 12px; }
  .study-stats b { font-size: 19px; }
  .story-film { grid-template-columns: 1fr; gap: 12px; padding: 13px; }
  .story-film video { width: min(100%,370px); }
  .story-film>div { padding: 0 3px 5px; }
  .gifts-grid { gap: 24px; }
  .gift-picture { min-height: 125px; }
  .gift-club .gift-picture { justify-content: center; }
}
.study-document { display: grid; grid-template-columns: .44fr 1fr; align-items: end; gap: 10px; }
.study-result .study-cover { max-height: 136px; width: auto; max-width: 100%; justify-self: end; }
.study-document .study-session { object-fit: contain; }
.study-document figcaption { grid-column: 1/-1; margin-top: 0; }
@media(max-width:640px) { .study-result .study-cover { max-height: 98px; } }
.extra-gifts article { display: flow-root; }
.extra-gift-icon, .book-symbol { float: right; margin: 0 0 8px 15px; }
.extra-gift-icon { width: 77px; height: 70px; object-fit: contain; mix-blend-mode: multiply; }
.book-symbol { display: grid; align-content: space-between; width: 66px; height: 82px; padding: 6px 4px 9px 8px; background: #494e6a; border-radius: 2px 5px 5px 2px; border-left: 4px solid #6b7189; box-shadow: 2px 2px 0 #d4d0c3; color: #fff9df; transform: rotate(4deg); }
.extra-gifts .book-symbol span { display: block; font-size: 6px; background: none; border: 0; padding: 0; margin: 0; color: inherit; }
.book-symbol b { font-size: 9px; line-height: 1.1; }

/* Product feature. The original phone image includes the whole screen and hand. */
.app-showcase-panel {
  display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
  grid-template-areas: "heading photo" "copy photo"; align-content: center;
  column-gap: clamp(16px,3vw,48px); padding: clamp(24px,4vw,52px) 0 clamp(24px,4vw,52px) clamp(24px,4vw,52px);
  background: #fff6d8; border-radius: 26px; overflow: hidden;
}
.app-showcase-heading { grid-area: heading; align-self: end; }
.app-showcase-heading h2 { max-width: 17ch; font-size: clamp(31px,4vw,55px); line-height: 1.04; letter-spacing: -.05em; }
.app-showcase-copy { grid-area: copy; align-self: start; }
.app-showcase-copy p { margin-top: 16px; color: #49453d; font-size: clamp(15px,1.35vw,17px); line-height: 1.55; }
.app-showcase-copy strong { color: #28251e; }
.app-showcase-copy .app-showcase-access { padding-top: 13px; border-top: 1px solid #e9dba9; font-size: 14px; }
.app-showcase-photo { grid-area: photo; align-self: center; margin: 0; }
.app-showcase-photo img { display: block; width: 100%; height: auto; }

.app-reviews { min-width: 0; padding-block: 28px 38px; }
.app-reviews-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.app-reviews-head h2 { font-size: clamp(27px,3.1vw,40px); letter-spacing: -.045em; line-height: 1.1; }
.app-reviews-head .story-nav { flex-shrink: 0; }
.app-review-track {
  display: flex; gap: 16px; padding: 18px 1px 16px; margin: 0; list-style: none;
  overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory;
  scrollbar-width: thin; scrollbar-color: #d5ccef #f8f6ff;
}
.app-review-track li { display: flex; flex: 0 0 clamp(305px,31%,380px); min-width: 0; scroll-snap-align: start; }
.app-review-track li:last-child { scroll-snap-align: end; }
.review-card { display: flex; flex-direction: column; width: 100%; padding: 22px; border: 1px solid #ddd5ff; border-radius: 22px; background: rgba(255,255,255,.92); box-shadow: 0 12px 28px rgba(100,79,177,.055); color: #505052; }
.review-top { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 12px; }
.review-avatar { position: relative; display: grid; place-items: center; width: 44px; height: 44px; overflow: hidden; border-radius: 50%; background: linear-gradient(135deg,#f1cc75,#aa7cff); box-shadow: 0 5px 13px rgba(119,91,182,.15); color: white; font-size: 11px; font-weight: 900; }
.review-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.review-user { overflow-wrap: anywhere; }
.review-user strong { display: block; font-size: 13px; font-weight: 900; line-height: 1.25; }
.review-user small { display: block; margin-top: 4px; color: #79727e; font-size: 10px; }
.review-rating { text-align: right; font-size: 11px; }
.review-rating b { display: block; color: #77717b; }
.review-rating span { display: block; margin-top: 3px; color: #846dff; }
.review-card blockquote { margin: 22px 0 20px; color: #57525b; font-size: 15px; font-weight: 500; line-height: 1.45; white-space: pre-line; overflow-wrap: anywhere; }
.review-card blockquote.is-collapsed { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 7; overflow: hidden; }
.review-expand { align-self: flex-start; margin: -8px 0 14px; border: 0; padding: 5px 0; background: transparent; color: #705ac0; font-size: 13px; font-weight: 650; cursor: pointer; }
.review-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.review-tags span { padding: 6px 8px; border-radius: 9px; background: #f0ebff; color: #7566cf; font-size: 9px; font-weight: 800; }
@media (max-width: 740px) {
  .app-showcase-panel { grid-template-columns: minmax(0,1fr) minmax(0,.78fr); grid-template-areas: "heading photo" "copy copy"; padding: 24px 0; }
  .app-showcase-heading { padding-left: 24px; align-self: center; }
  .app-showcase-copy { padding: 0 24px; }
  .app-showcase-photo img { max-width: 340px; margin-left: auto; }
}
@media (max-width: 520px) {
  .app-showcase-panel { grid-template-columns: minmax(0,1fr); grid-template-areas: "heading" "photo" "copy"; gap: 12px; border-radius: 20px; }
  .app-showcase-heading, .app-showcase-copy { padding: 0 20px; }
  .app-showcase-photo img { width: 89%; max-width: 310px; }
  .app-showcase-copy p:first-child { margin-top: 0; }
  .app-reviews-head { align-items: flex-end; flex-wrap: wrap; }
  .app-review-track { gap: 10px; }
  .app-review-track li { flex-basis: 91%; }
  .review-card { padding: 17px; }
  .review-top { gap: 8px; }
  .app-reviews .story-nav button { width: 44px; }
}

/* Exercise cards use the same headings, reading text, and controls as the course. */
.exercise-catalog { min-width: 0; }
.catalog-heading { display: flex; flex-wrap: wrap; align-items: flex-end; }
.catalog-intro { flex: 1 1 490px; max-width: 820px; }
.catalog-intro p { margin-top: 12px; max-width: 72ch; color: #504d42; font-size: 16px; line-height: 1.55; }
.catalog-heading .story-nav { flex: none; margin-left: auto; }
.catalog-heading .story-nav button { width: 44px; height: 44px; }
.catalog-track {
  display: flex; gap: 16px; overflow-x: auto; overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #c4ae58 #f4f1e8; padding-bottom: 12px;
}
.catalog-card {
  flex: 0 0 clamp(286px,30%,360px); min-width: 0; padding: clamp(18px,2vw,24px);
  border: 1px solid #e5e0d3; border-radius: 20px; background: #fff; scroll-snap-align: start;
}
.catalog-card:last-child { scroll-snap-align: end; }
.catalog-card-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px; }
.catalog-number {
  display: inline-grid; place-items: center; flex: none; min-width: 32px; height: 28px;
  padding-inline: 5px; border-radius: 12px; background: #ffe57b; color: #5c4812;
  font-size: 11px; line-height: 1; font-weight: 650; font-variant-numeric: tabular-nums;
}
.catalog-card h3 { line-height: 1.25; font-size: clamp(17px,1.65vw,22px); letter-spacing: -.04em; }
.catalog-label { margin: 0 0 6px; color: #615d50; font-size: 13px; line-height: 1.45; }
.catalog-zones { display: flex; flex-wrap: wrap; gap: 5px; align-content: start; list-style: none; padding: 0; margin: 0; }
.catalog-zones li {
  display: inline-flex; align-items: center; gap: 5px; border-radius: 7px; padding: 4px 7px;
  background: #f5f3ed; color: #454239; font-size: 12px; line-height: 1.4;
}
.catalog-zones li::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--zone); }
.catalog-zones .occipital { --zone: #f2c34d; }
.catalog-zones .frontal { --zone: #83bdec; }
.catalog-zones .parietal { --zone: #df86ad; }
.catalog-zones .left-brain { --zone: #efa7c6; }
.catalog-zones .right-brain { --zone: #81c8ab; }
.catalog-zones .temporal { --zone: #a2c970; }
.catalog-zones .hippocampus { --zone: #a7558b; }
.catalog-zones .prefrontal { --zone: #9286db; }
.catalog-card img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 1; object-fit: contain; margin: 18px 0 14px; }
.catalog-card h4 { border-top: 1px solid var(--line); padding-top: 14px; margin: 0 0 5px; font-size: 16px; line-height: 1.35; letter-spacing: -.02em; }
@media (max-width: 640px) {
  .catalog-card { flex-basis: min(90%,340px); }
  .catalog-track { gap: 10px; }
  .catalog-heading { gap: 12px; }
}

.science-method .section-head h2 { max-width: 800px; }
.science-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.science-step { padding: clamp(18px,2.4vw,30px); min-width: 0; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.science-heading { display: flex; align-items: baseline; gap: 10px; margin-bottom: 16px; }
.science-heading .scene-index { float: none; flex: none; }
.science-heading h3 { font-size: clamp(20px,2.1vw,26px); line-height: 1.2; letter-spacing: -.035em; }
.science-step p { font-size: 15px; line-height: 1.55; color: #504d42; }
.science-step p+p, .science-person+p { margin-top: 12px; }
.science-person { display: flex; align-items: flex-start; gap: 14px; }
.science-person img { width: clamp(58px,6vw,82px); height: auto; flex: none; border-radius: 50%; }
.science-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 14px; }
.science-links a { color: #615022; font-size: 13px; font-weight: 600; text-decoration-color: #b4a375; }
.science-practice { background: #fffaf0; border-color: #eee1bb; }
.science-examples { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-block: 15px; }
.science-examples>div { background: #fff; border: 1px solid #ede6d3; border-radius: 12px; padding: 10px 8px 8px; text-align: center; }
.science-examples img { display: block; width: 100%; height: 68px; object-fit: contain; }
.science-examples span, .science-session figcaption { display: block; font-size: 12px; line-height: 1.4; color: #5a5547; margin-top: 6px; }
.science-pilot { grid-column: 1/-1; background: #f6f5ef; border-color: #e5e1d4; }
.science-pilot-body { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); gap: clamp(20px,3.5vw,48px); align-items: center; }
.science-session img { width: 100%; height: auto; border-radius: 10px; display: block; }
.science-finding { border-left: 3px solid var(--yellow); padding-left: 12px; }
.science-finding strong { color: #26251e; }
.science-records { margin-top: 18px; border-top: 1px solid #dad4c2; }
.science-records summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0 0; color: #3e3a30; font-size: 15px; font-weight: 600; }
.science-records summary::after { content: '⌄'; font-size: 19px; }
.science-records[open] summary::after { transform: rotate(180deg); }
.science-records .study-films { margin-top: 14px; }
.science-records .study-caption { font-size: 12px; }
@media (max-width: 760px) {
  .science-steps, .science-pilot-body { grid-template-columns: 1fr; }
  .science-session { width: min(100%,480px); }
}
@media (max-width: 450px) {
  .science-person { display: flow-root; }
  .science-person img { float: left; margin: 0 10px 4px 0; }
  .science-steps { gap: 12px; }
}

.review-position { margin: 8px 0 0; font-size: 13px; font-variant-numeric: tabular-nums; color: #655e57; }
.review-avatar img { opacity: 0; }
.review-avatar img.is-loaded { opacity: 1; }
.science-materials { display: grid; gap: 16px; align-content: center; }
.science-report { display: flex; align-items: center; gap: 15px; width: fit-content; max-width: 100%; margin-top: 20px; padding: 8px 14px 8px 8px; border: 1px solid #ded9ca; border-radius: 10px; background: #fff; color: #615022; text-decoration: none; }
.science-report img { display: block; width: clamp(66px, 8vw, 90px); height: auto; border: 1px solid #e5e1d4; border-radius: 2px; }
.science-report strong { display: block; font-size: 15px; line-height: 1.35; }
.science-report small { display: block; margin-top: 4px; font-size: 13px; color: #5c594e; }
.science-report:hover strong, .science-report:focus-visible strong { text-decoration: underline; }
.science-records-visible { margin-top: 22px; padding-top: 18px; border-top: 1px solid #dad4c2; }
.science-records-visible h3 { margin-bottom: 12px; font-size: clamp(18px,2vw,23px); letter-spacing: -.025em; }
.science-records-visible .study-caption { font-size: 12px; }

.research-video, .brain-comparison figure { margin: 0; min-width: 0; }
.research-video video, .brain-comparison img { display: block; width: 100%; height: auto; border-radius: 10px; }
.research-video video { background: #171814; aspect-ratio: 16 / 9; }
.research-video figcaption, .brain-comparison figcaption { margin-top: 7px; font-size: 14px; line-height: 1.4; color: #514e43; }
.kawashima-study { grid-column: 1 / -1; display: grid; align-items: center; gap: clamp(20px,3vw,40px); }
.brain-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
@media (min-width: 761px) {
  .science-pilot-body, .kawashima-study { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
}

.brain-comparison .comparison-note { grid-column: 1 / -1; margin: 0; }


.closing-offer {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr);
  align-items: center;
  gap: clamp(24px, 4vw, 60px);
  padding: clamp(24px, 4vw, 56px);
  margin: clamp(48px, 7vw, 96px) 0;
  border-radius: 24px;
  background: #f8f6ee;
}
.closing-copy h2 { margin: 0 0 20px; font-size: clamp(30px, 3.3vw, 44px); line-height: 1.03; letter-spacing: -.052em; text-wrap: balance; }
.closing-copy p { margin: 0; max-width: 51ch; color: #414038; font-size: clamp(16px, 1.45vw, 19px); line-height: 1.5; }
.closing-copy p + p { margin-top: 12px; }
.closing-copy .closing-schedule { margin-top: 14px; font-weight: 600; color: #25241f; }
.closing-copy .cta { margin-top: 26px; }
.closing-copy small { display: block; max-width: 38ch; margin-top: 12px; color: #5f594a; line-height: 1.4; font-size: 13px; }
.closing-art { display: block; width: min(100%, 390px); height: auto; justify-self: center; mix-blend-mode: multiply; }

@font-face { font-family: 'Neurolight Montserrat'; src: url('assets/footer-montserrat-500.woff') format('woff'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Neurolight Montserrat'; src: url('assets/footer-montserrat-900.woff') format('woff'); font-weight: 900; font-display: swap; }
.neurolight-footer-surface { background: #f4f4f4; }
.neurolight-footer {
  display: flex; flex-direction: column; align-items: flex-start;
  width: min(calc(100% - 40px), 1060px); margin: 0 auto; padding: 34px 0 60px;
  font: 500 14px/1.25 'Neurolight Montserrat', Montserrat, sans-serif; color: #505050;
}
.neurolight-footer a { color: #8b7cff; text-underline-offset: 4px; }
.neurolight-footer .neurolight-wordmark { display: inline-block; margin-bottom: 10px; font-size: 16px; line-height: 1.25; font-weight: 900; text-decoration: none; }
.neurolight-wordmark strong { font-weight: 900; }
.neurolight-footer nav { margin-bottom: 18px; }
.neurolight-footer nav a { text-decoration: underline; }
.neurolight-footer p { margin: 0; }
.neurolight-footer .footer-address { display: block; margin-top: 18px; }
.neurolight-footer img { display: block; width: min(100%, 240px); height: auto; margin-top: 24px; }
@media (max-width: 760px) {
  .closing-offer { grid-template-columns: 1fr; gap: 24px; padding: clamp(18px, 5vw, 32px); border-radius: 18px; }
  .closing-art { width: min(75%, 240px); }
}
