/* The Bridge: original portrait, mineral ground, weathered foil and space to unfold. */
body {
  background: #171510 url('/assets/earth-1600.webp') center top / 1500px auto;
  background-blend-mode: soft-light;
}
.foil-frame { position: relative; isolation: isolate; }
.foil-frame::before {
  content: ""; position: absolute; inset: -13px; z-index: 2;
  border: 36px solid transparent;
  border-image: url('/cohort/ancient-gold-frame.webp') 20% / 36px stretch;
  pointer-events: none;
}

/* A human entrance. The bridge becomes a quiet material underneath Koré. */
.crossing-hero {
  min-height: 880px; min-height: min(1040px, 100svh);
  padding-top: 90px; padding-bottom: 12px; justify-content: center;
  background: #171510 url('/assets/earth-1600.webp') center / cover;
}
.bridge-art { inset: 0; z-index: -2; }
.bridge-art img {
  opacity: .24; object-position: center 58%;
  filter: saturate(.65) brightness(.68);
}
.hero-shade {
  background: linear-gradient(90deg, #15130fd9 0%, #15130f80 48%, #15130f4d),
    linear-gradient(0deg, #171510, transparent 30%, #17151044);
}
.hero-inner {
  grid-template-columns: 1.04fr .96fr;
  grid-template-rows: auto auto auto;
  align-items: start; gap: 1.9rem 7rem;
  padding-top: 4.5rem; padding-bottom: 3.5rem;
}
.hero-title-block { grid-column: 1; grid-row: 1; align-self: end; padding-top: 1.8rem; }
.hero-title-block h1 { font-size: clamp(4.5rem, 7.4vw, 6rem); max-width: 8ch; }
.hero-definition { margin-top: 1.65rem; font-size: 1.28rem; color: var(--sand); }
.hero-invitation { grid-column: 1; grid-row: 2; margin-top: .4rem; align-self: start; }
.hero-invitation > p { max-width: 35ch; font-size: 1.07rem; line-height: 1.7; margin-bottom: 1.6rem; }
.hero-invitation .button { min-height: 60px; padding-inline: 1.65rem; }
.hero-invitation > span { margin-top: .9rem; }
.hero-explore {
  grid-column: 1; grid-row: 3; justify-self: start; gap: 2rem;
  border: 0; border-bottom: 1px solid var(--line); background: none;
  padding: .65rem 0 .8rem; min-height: 48px; font-size: .84rem;
}
.hero-explore br { display: none; }
.hero-explore strong { margin-left: .35rem; }
.hero-portrait {
  grid-column: 2; grid-row: 1 / 4; position: relative;
  width: min(100%, 440px); justify-self: center; align-self: center;
  padding: 0; margin: 1rem 1.1rem 0 0;
}
.hero-portrait-image { width: 100%; }
.hero-portrait-image::before { inset: -23px; border-image-width: 58px; }
.hero-portrait-image img {
  height: clamp(440px, 41vw, 580px); object-fit: cover; object-position: center 44%;
  filter: saturate(.84) brightness(.92);
}
.hero-portrait figcaption {
  display: flex; flex-direction: column; gap: .1rem; padding: 1.3rem 0 0;
  color: var(--sand); font-size: .75rem; line-height: 1.65;
}
.hero-portrait figcaption span:first-child { font-size: 1.1rem; color: var(--cream); }

.hero-bottom { border: 0; position: relative; padding-top: 1.5rem; font-size: .75rem; }
.hero-bottom::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px;
  background: url('/assets/gold-lettering.webp') center / 550px;
  opacity: .48; mask-image: linear-gradient(90deg, transparent, #000 15% 85%, transparent);
}

/* More earthen depth, with quiet uninterrupted reading fields. */
.recognition { padding-bottom: 3rem; }
.answer-field { background: #c6a56b; padding-block: 5.5rem; }
.answer-grain { opacity: .29; background-position: 55% 40%; }
.answer-seal { width: 142px; height: 142px; opacity: .8; transform: rotate(var(--seal-turn, 0deg)); }
.answer-end { border-color: #5a411d60; }
.process-word::before { border-image-width: 30px; inset: -11px; }
.process-word:nth-of-type(2)::before { transform: scaleX(-1); }
.process-word:nth-of-type(3)::before { transform: scaleY(-1); }
/* A personal invitation, held by a portrait and an engraved gold field. */
.guide {
  position: relative; isolation: isolate; overflow: hidden;
  background: linear-gradient(105deg, #191810b3, #15140fd9), url('/assets/earth-1600.webp') center / cover;
  padding-block: 8rem;
}
.guide-layout { gap: 6rem; grid-template-columns: 1fr 1fr; }
.guide-portrait { padding: 0; max-width: 550px; width: 100%; }

.portrait-frame::before { inset: -22px; border: 36px solid transparent; border-image: url('/cohort/ancient-gold-frame.webp') 20% / 54px stretch; }
.portrait-frame img { aspect-ratio: 4/5; object-position: 55% center; filter: saturate(.86); }
.guide-portrait figcaption { padding-top: 1.6rem; font-size: .78rem; }
.guide-copy h2 { margin-bottom: 2rem; }
.guide-copy .lead { font-size: clamp(1.25rem, 1.8vw, 1.55rem); }
.guide-copy .guide-signature { margin-top: 1.6rem; }
.guide-invitation { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.guide-invitation .button { font-size: .95rem; width: min(100%, 360px); }
.guide-invitation p { font-size: .8rem; color: var(--sand); margin-top: .9rem; line-height: 1.6; max-width: 38ch; }
.seen-photo { position: relative; }
.seen-photo::after { content: ""; position: absolute; inset: 20px; border: 1px solid #e6cb9670; pointer-events: none; }
.fit { background: #e9dfca url('/assets/paper-grain.svg'); }
.enroll-material { opacity: .42; }
.pricing-grid { border: 0; gap: 1.5rem; grid-template-columns: 1.15fr 1fr 1fr; align-items: stretch; }
.price-tier { border: 0; padding: 2rem 1.9rem; background: #242017d9; }
.price-tier + .price-tier { border: 0; }
.price-tier::before { inset: -12px; border-image-width: 39px; }
.price-tier:nth-child(2)::before { transform: scaleX(-1); }
.price-tier:nth-child(3)::before { transform: scaleY(-1); }
.price-tier.founding { background: #efe4cf url('/assets/paper-grain.svg'); }
.tier-seal { width: 62px; height: 62px; color: #d7b477; margin-bottom: 1.8rem; }
.founding .tier-seal { color: #79572a; }
.tier-top { min-height: 4rem; }
.tier-price { font-size: clamp(2.7rem, 4.3vw, 4rem); }
.tier-description { min-height: 5.1em; }
.upcoming .tier-seal { opacity: .7; }
.last-word { background: linear-gradient(#171510a3, #171510c4), url('/assets/earth-1600.webp') center / cover; }
.closing-seed { width: 100px; height: 100px; margin-bottom: 2.5rem; }
.motion-ready .reveal.is-entering { animation: ink-arrives .75s var(--ease) both; }
.motion-ready .hero-title-block { animation: ink-arrives .85s var(--ease) both; }
.motion-ready .hero-invitation { animation: ink-arrives .85s .08s var(--ease) both; }
.motion-ready .hero-portrait { animation: portrait-arrives 1.1s var(--ease) both; }
@keyframes ink-arrives { from { opacity: .3; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
@keyframes portrait-arrives { from { opacity: .4; transform: translateY(16px); clip-path: inset(0 0 12%); } to { opacity: 1; transform: translateY(0); clip-path: inset(-25% -30%); } }

@media (max-width: 1200px) {
  .hero-inner { gap: 1.6rem 4.5rem; padding-block: 4rem 3rem; }
  .hero-portrait { width: min(100%, 390px); }
  .hero-portrait-image img { height: 510px; }
  .hero-title-block h1 { font-size: 5.4rem; }
.guide-layout { gap: 4rem; }
  .price-tier { padding: 1.8rem 1.4rem; }
}
@media (max-width: 1000px) {
  .crossing-hero { min-height: auto; }
  .hero-inner { gap: 1.5rem 3rem; padding-top: 3.5rem; }
  .hero-title-block h1 { font-size: clamp(3.7rem, 7vw, 5.2rem); }
  .hero-portrait-image img { height: 470px; }
  .hero-definition { font-size: 1.12rem; }
  .hero-invitation .button { font-size: .85rem; gap: .8rem; padding-inline: 1rem; }
  .hero-invitation > p { font-size: 1rem; }
  .hero-portrait figcaption { font-size: .75rem; }


.guide-layout { gap: 3rem; }
  .guide { padding-block: 6rem; }
  .guide-invitation .button { padding-inline: .9rem; font-size: .85rem; gap: .6rem; }
  .pricing-grid { gap: 1.1rem; }
  .tier-price { font-size: 2.65rem; }
  .price-tier { padding-inline: 1.1rem; }
  .tier-description { min-height: 7em; font-size: .87rem; }
  .founding-checkout { padding-inline: .6rem; font-size: .78rem; }
}
@media (max-width: 760px) {
  .crossing-hero { padding-top: 76px; padding-bottom: 0; }
  .bridge-art { inset: 0; height: auto; }
  .bridge-art img { height: 100%; object-position: 65% center; opacity: .18; }
  .hero-shade { background: linear-gradient(#17151055, #171510b0 60%, #171510); }
  .hero-inner { grid-template-columns: 1fr; grid-template-rows: auto auto auto auto; gap: 1.8rem; padding-top: 2.3rem; padding-bottom: 2rem; }
  .hero-title-block { grid-column: 1; grid-row: 1; padding: 0; }
  .hero-title-block h1 { font-size: clamp(3.65rem, 13.5vw, 5.5rem); }
  .hero-definition { margin-top: 1.15rem; font-size: 1.08rem; }
  .hero-portrait { grid-column: 1; grid-row: 2; width: min(100% - 12px, 440px); margin: .5rem 0 0; }
  .hero-portrait-image img { height: 330px; object-position: center 32%; }
  .hero-portrait-image::before { inset: -18px; border-image-width: 45px; }
  .hero-portrait figcaption { flex-direction: row; justify-content: space-between; align-items: baseline; gap: .5rem; padding-top: 1.1rem; font-size: .75rem; }
  .hero-portrait figcaption span:first-child { font-size: .95rem; }



  .hero-invitation { grid-row: 3; grid-column: 1; margin: .1rem 0 0; max-width: none; }
  .hero-invitation > p { font-size: 1.04rem; margin-bottom: 1.2rem; }
  .hero-invitation .button { max-width: none; font-size: .91rem; min-height: 60px; padding-inline: 1.3rem; gap: 1rem; }
  .hero-invitation > span { font-size: .8rem; }
  .hero-explore { grid-column: 1; grid-row: 4; font-size: .8rem; gap: 1.2rem; margin-top: -.2rem; }
  .hero-bottom { font-size: .75rem; padding-block: 1.25rem 1.8rem; margin-inline: var(--gutter); }
  .recognition { padding-bottom: 1.8rem; }
.answer-field { padding-block: 4.2rem; }
  .answer-seal { width: 85px; height: 85px; }
  .answer-intro { align-items: center; }
  .answer-intro p { font-size: .92rem; }
.journey-heading { margin-bottom: 2.5rem; gap: 1.7rem; }
.weeks::before, .weeks::after { display: none; }
.practice { gap: .8rem; grid-template-columns: 36px 1fr; }
  .practice .practice-seal { width: 36px; height: 36px; }
  .practice p { font-size: .89rem; }
  .guide { padding-block: 4.8rem; }
  .guide-layout { grid-template-columns: 1fr; gap: 3rem; }
  .guide-portrait { width: calc(100% - 12px); margin-inline: auto; }
  .portrait-frame img { aspect-ratio: 1.05; object-position: 55% 40%; }
  .portrait-frame::before { inset: -17px; border-image-width: 44px; }
  .guide-portrait figcaption { font-size: .75rem; padding-top: 1.3rem; }

  .guide-copy .lead { font-size: 1.35rem; }
  .guide-copy .guide-signature { font-size: 1.8rem; margin-top: 1.4rem; }
  .guide-invitation { margin-top: 1.5rem; }
  .guide-invitation .button { width: 100%; max-width: none; font-size: .92rem; padding: 1rem 1.25rem; }
  .guide-invitation p { font-size: .8rem; margin-top: .9rem; }
  .seen-photo::after { inset: 14px; }
  .pricing-grid { grid-template-columns: 1fr; gap: 1.6rem; }
  .price-tier, .price-tier + .price-tier { border: 0; padding: 1.8rem 1.7rem; }
  .price-tier::before { border-image-width: 37px; }
  .tier-seal { width: 57px; height: 57px; margin-bottom: 1.5rem; }
  .tier-top { min-height: 0; }
  .tier-price { font-size: 3.7rem; }
  .tier-description { min-height: 0; font-size: .94rem; margin-block: 1.4rem; }
  .founding-checkout { font-size: .88rem; padding-inline: .7rem; }
  .upcoming .tier-price { font-size: 3rem; }
.closing-seed { width: 82px; height: 82px; margin-bottom: 2rem; }
}
@media (max-width: 359px) {
  .hero-portrait-image img { height: 290px; }
  .hero-portrait figcaption { flex-direction: column; gap: 0; }
  .hero-title-block h1 { font-size: 3.6rem; }
  .hero-invitation .button { font-size: .85rem; padding-inline: 1rem; }
.guide-invitation .button { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .orbit-outer, .orbit-middle, .answer-seal { transform: none !important; }
.butterfly-wing { animation: none !important; }
  .hero-portrait { clip-path: none !important; }
}
@media (forced-colors: active) {
  body, .crossing-hero, .guide, .journey, .week, .price-tier, .faq-list { background: Canvas; color: CanvasText; }
  .foil-frame::before, .flight-passage, .journey::before { display: none; }
  .week, .price-tier, .faq-list, .process-word { border: 1px solid CanvasText; }
}

/* Three practices, each with its own small imprint. */
.living-process {
  gap: 2.3rem; padding-top: 1rem; margin-top: .5rem;
}
.process-word {
  border: 0; background: #25231bcc; padding: 1.7rem 1.75rem 1.6rem;
}
.process-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.process-heading span { font-size: clamp(2rem, 3vw, 2.9rem); }
.process-heading svg { width: 52px; height: 52px; flex: 0 0 52px; color: #d7b477; }
.process-word p { margin-top: .7rem; }

/* The nine-point index: a generous perimeter, one teaching at its center. */
.journey { position: relative; isolation: isolate; background-color: #e9dfca; }
.journey::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url('/assets/earth-1600.webp') 40% 0 / 1500px auto; opacity: .035;
  mix-blend-mode: multiply;
}
.journey-heading { margin-bottom: 3.6rem; }
.journey-layout { grid-template-columns: minmax(230px, 310px) minmax(0, 1fr); gap: clamp(3rem, 7vw, 7rem); }
.journey-map {
  position: sticky; top: 116px; display: block; max-width: 310px; width: 100%;
  height: auto; align-self: start; justify-self: center; text-align: center;
}
.journey-wheel { position: relative; width: 100%; aspect-ratio: 1; }
.journey-orbit { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.journey-orbit > svg { width: 100%; height: 100%; opacity: .8; transform: none; transition: none; overflow: visible; }
.orbit-outer, .orbit-middle { transform-origin: 150px 150px; }
.orbit-outer { transform: rotate(var(--outer-turn, 0deg)); }
.orbit-middle { transform: rotate(var(--inner-turn, 0deg)); opacity: .6; }
.orbit-sanctum { fill: #e9dfca; stroke-opacity: .4; }
.journey-orbit svg.orbit-emblem { width: 84px; height: 84px; opacity: 1; transform: none; transition: none; }
.journey-map .journey-wheel nav { position: absolute; inset: 0; display: block; margin: 0; }
.journey-map .journey-wheel nav a {
  position: absolute; left: var(--node-x); top: var(--node-y); transform: translate(-50%, -50%);
  display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px;
  border: 1px solid #80633575; border-radius: 50%; background: #eee5d3;
  color: #634820; font-size: .83rem; font-weight: 500;
  transition: color .25s, background-color .25s, box-shadow .25s;
}
.journey-map .journey-wheel nav a:hover { background: #e2cda5; color: #3a2c19; box-shadow: 0 0 0 4px #ba945a1a; }
.journey-map .journey-wheel nav a[aria-current] { background: #705026; color: #fff7e6; border-color: #705026; box-shadow: 0 0 0 4px #70502616; }
.journey-current { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: .3rem 1.1rem; margin-top: 1.3rem; }
.journey-current > p { font-size: 1.4rem; color: #32291e; line-height: 1.3; letter-spacing: -.02em; }
.journey-count { font-size: .76rem; font-variant-numeric: tabular-nums; letter-spacing: .04em; color: #705026; white-space: nowrap; }
.journey-map .journey-map-note { font-size: .83rem; color: #66553d; margin: .8rem 0 0; line-height: 1.65; }
.weeks { min-width: 0; }
.weeks::before, .weeks::after { display: none; }
.week {
  border: 0; background: #e3d5ba9e; margin-bottom: 1.7rem; scroll-margin-top: 114px;
  transition: background-color .35s;
}
.week:last-child { border: 0; margin-bottom: 0; }
.week::before { inset: -10px; border-image-width: 33px; opacity: .8; }
.week:nth-child(even)::before { transform: scaleX(-1); }
.week:nth-child(3n)::before { transform: scaleY(-1); }
.week[open], .week.is-current { background: #f8f2e6; }
.week summary { grid-template-columns: 68px minmax(0, 1fr) 24px; gap: 1.3rem; min-height: 128px; padding: 1.4rem 1.65rem; }
.week-emblem { display: flex; flex-direction: column; align-items: center; gap: .25rem; color: #87612c; }
.week-glyph { display: block; width: 60px; height: 60px; }
.week-number { font-size: .75rem; line-height: 1.5; position: static; }
.week-title > strong { font-size: clamp(1.5rem, 2.15vw, 1.95rem); }
.week-body { padding: 0 2rem 2rem calc(1.65rem + 68px + 1.3rem); }
.week-body h3 { font-size: 1.18rem; line-height: 1.45; }
.practice .practice-seal { width: 40px; height: 40px; }

/* Short, untethered flights between chapters; never across the reading column. */
.flight-passage { position: relative; overflow: hidden; height: 150px; margin: 0; pointer-events: none; }
.flight-passage.flight-reverse { height: 128px; }
.butterfly { position: absolute; left: 0; top: 0; width: 96px; height: 96px; opacity: 0; transform-style: preserve-3d; }
.flight-reverse .butterfly { width: 80px; height: 80px; }
.butterfly-wing, .butterfly-body { position: absolute; inset: 0; background: url('/cohort/butterfly.webp') center / contain no-repeat; }
.butterfly-left { clip-path: inset(0 50% 0 0); transform-origin: 50% 50%; }
.butterfly-right { clip-path: inset(0 0 0 50%); transform-origin: 50% 50%; }
.butterfly-body { clip-path: inset(20% 46% 16% 46%); }
.is-flying .butterfly-left { animation: wing-left .42s ease-in-out infinite alternate; }
.is-flying .butterfly-right { animation: wing-right .42s ease-in-out infinite alternate; }
.motion-sleep .butterfly-wing { animation-play-state: paused; }
@keyframes wing-left { from { transform: perspective(180px) rotateY(-8deg); } to { transform: perspective(180px) rotateY(66deg); } }
@keyframes wing-right { from { transform: perspective(180px) rotateY(8deg); } to { transform: perspective(180px) rotateY(-66deg); } }

/* A conversational reading room, organized around what choosing the journey involves. */
.questions { background: #eee5d3 url('/assets/paper-grain.svg'); }
.question-layout { grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.questions-intro { position: sticky; top: 118px; }
.question-layout h2 { font-size: clamp(2.7rem, 3.8vw, 3.7rem); }
.questions-intro > p { max-width: 31ch; margin-top: 1.6rem; color: #65523b; font-size: 1rem; }
.question-navigation { display: flex; flex-direction: column; align-items: flex-start; margin-top: 1.5rem; }
.question-navigation a { display: flex; align-items: center; gap: 1.2rem; min-height: 44px; color: #684b23; font-size: .88rem; }
.question-navigation svg { width: 17px; height: 17px; transition: transform .25s; }
.question-navigation a:hover svg { transform: translateX(3px); }
.questions-aside { position: relative; isolation: isolate; padding: 1.8rem 0 0 1.4rem; margin-top: 2.2rem; border-left: 1px solid #8d6b36; }
.questions-aside::before {
  content: ''; position: absolute; z-index: -1; inset: 0 -1rem -1rem 0; pointer-events: none;
  background: url('/assets/aged-gold-1600.webp') 50% 30% / cover; opacity: .08;
  mask-image: linear-gradient(90deg, #000, transparent 95%);
}
.questions-aside p { font-size: 1.15rem; line-height: 1.6; color: #5a4324; }
.questions-aside a { display: inline-flex; gap: .8rem; align-items: center; margin-top: .7rem; min-height: 44px; font-size: .8rem; color: #634820; text-decoration: underline; text-underline-offset: 5px; }
.questions-aside svg { width: 18px; height: 18px; flex: 0 0 18px; }
.faq-list { border: 0; background: none; padding: 0; }
.faq-group { scroll-margin-top: 110px; }
.faq-group + .faq-group { margin-top: 3.2rem; }
.faq-group h3 { font-size: 1.85rem; font-weight: 450; letter-spacing: -.025em; color: #705026; margin-bottom: 1.35rem; }
.faq-list details { border-top: 1px solid #70502645; }
.faq-list details:last-child { border-bottom: 1px solid #70502645; }
.faq-list summary { gap: 1.5rem; padding: 1.25rem 0; min-height: 80px; font-size: 1.02rem; line-height: 1.5; color: #32281b; }
.faq-list summary .plus { width: 30px; height: 30px; padding: 5px; flex: 0 0 30px; color: #86602c; border: 1px solid #9f7a424d; border-radius: 50%; }
.faq-list details > div { padding: 0 3rem 1.65rem 0; color: #5d4d37; font-size: .96rem; line-height: 1.8; }
.faq-list details > div p + p { margin-top: .9rem; }
.faq-list a { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.faq-text-link { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; margin-top: .75rem; font-size: .84rem; }
.faq-text-link svg { width: 18px; height: 18px; }
.faq-list summary:hover { color: #87612c; }

@media (max-width: 1100px) {
  .journey-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 3rem; }
  .week summary { padding: 1.3rem; gap: 1rem; grid-template-columns: 60px minmax(0, 1fr) 22px; }
  .week-body { padding-left: 1.3rem; padding-right: 1.3rem; }
  .living-process { gap: 1.7rem; }
  .process-word { padding: 1.4rem; }
  .process-heading svg { width: 42px; height: 42px; flex-basis: 42px; }
  .question-layout { gap: 3rem; }
}
@media (max-width: 900px) {
  .journey-layout { grid-template-columns: 1fr; gap: 3rem; }
  .journey-map { position: static; max-width: 630px; display: grid; grid-template-columns: 260px 1fr; gap: 0 2.5rem; align-items: center; text-align: left; }
  .journey-wheel { grid-row: 1 / 3; }
  .journey-current { align-self: end; margin-top: 0; justify-content: flex-start; }
  .journey-current > p { width: 100%; font-size: 1.65rem; }
  .journey-map .journey-map-note { align-self: start; }
  .journey-map-note br { display: none; }
  .week summary { grid-template-columns: 68px minmax(0, 1fr) 24px; gap: 1.3rem; padding-inline: 1.65rem; }
  .week-body { padding-left: calc(1.65rem + 68px + 1.3rem); padding-right: 2rem; }
  .question-layout { grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); gap: 2.5rem; }
  .question-layout h2 { font-size: 2.65rem; }
}
@media (max-width: 760px) {
  .living-process { grid-template-columns: 1fr; gap: 1.4rem; margin-top: .1rem; padding-top: .6rem; }
  .process-word { padding: 1.3rem 1.5rem; }
  .process-heading span { font-size: 2rem; }
  .process-heading svg { width: 46px; height: 46px; flex-basis: 46px; }
  .process-word p { font-size: .93rem; margin-top: .2rem; }
  .journey-heading { margin-bottom: 2.6rem; }
  .flight-passage, .flight-passage.flight-reverse { height: 110px; }
  .butterfly { width: 74px; height: 74px; }
  .flight-reverse .butterfly { width: 64px; height: 64px; }
  .question-layout { grid-template-columns: 1fr; gap: 3rem; }
  .questions-intro { position: static; }
  .questions-intro > p { max-width: 40ch; margin-top: 1.2rem; }
  .question-navigation { flex-flow: row wrap; gap: 0 1.5rem; margin-top: 1rem; }
  .question-navigation a { font-size: .85rem; gap: .6rem; }
  .questions-aside { margin-top: 1.3rem; padding-top: .8rem; padding-left: 1.2rem; }
  .questions-aside p { font-size: 1.05rem; }
  .questions-aside a { margin-top: .4rem; }
  .faq-group + .faq-group { margin-top: 2.5rem; }
  .faq-group h3 { font-size: 1.65rem; }
  .faq-list summary { font-size: 1rem; gap: .9rem; padding-block: 1.15rem; }
  .faq-list details > div { padding: 0 .2rem 1.5rem 0; font-size: .95rem; }
}
@media (max-width: 600px) {
  .journey-map { display: block; max-width: 280px; text-align: center; }
  .journey-current { justify-content: center; margin-top: 1.1rem; }
  .journey-current > p { width: auto; font-size: 1.4rem; }
  .journey-map .journey-map-note { max-width: 29ch; margin: .65rem auto 0; }
  .week summary { grid-template-columns: 49px minmax(0, 1fr) 20px; gap: .85rem; padding: 1.15rem; min-height: 116px; }
  .week-glyph { width: 48px; height: 48px; }
  .week-title > strong { font-size: 1.55rem; }
  .week-number { font-size: .75rem; }
  .week::before { border-image-width: 29px; }
  .week-body { padding: 0 1.15rem 1.5rem; }
  .week-body h3 { font-size: 1.12rem; }
  .week-body > p { font-size: .94rem; }
  .week-body .practice { grid-template-columns: 32px minmax(0, 1fr); gap: .7rem; }
  .practice .practice-seal { width: 32px; height: 32px; }
}
@media (max-width: 359px) {
  .journey-map { max-width: 265px; }
  .week summary { padding-inline: .9rem; gap: .6rem; grid-template-columns: 43px minmax(0, 1fr) 19px; }
  .week-glyph { width: 43px; height: 43px; }
  .week-title > strong { font-size: 1.4rem; }
  .question-layout h2 { font-size: 2.5rem; }
  .questions-aside a { font-size: .75rem; gap: .4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .butterfly { opacity: .8; left: 72%; top: 15%; transform: rotate(30deg); }
  .flight-reverse .butterfly { left: 22%; transform: rotate(-25deg); }
  .orbit-outer, .orbit-middle { transform: none !important; }
  .butterfly-wing { animation: none !important; }
}
@media (forced-colors: active) {
  .journey-map .journey-wheel nav a { border-color: CanvasText; background: Canvas; color: CanvasText; }
  .journey-map .journey-wheel nav a[aria-current] { background: Highlight; color: HighlightText; }
  .questions { background: Canvas; color: CanvasText; }
  .questions-aside::before { display: none; }
}
