/* Full-page editorial pass. Approved M2 hero styles are intentionally unchanged.
   Outfit: navigation, headings, body. Caslon: editorial subheads.
   Michelangelus: the existing course-title artwork only. */
main > .section h2, .closing h2 {
  font-family: var(--sans); font-weight: 500; font-size: clamp(32px, 3.6vw, 50px);
  line-height: 1.12; letter-spacing: -.035em; max-width: 19ch;
}
main > .section { padding-block: clamp(64px, 7.4vw, 104px); }
main > .section .section-head { max-width: 820px; margin-bottom: 40px; }
main > .section .section-head .lead { max-width: 56ch; margin-top: 20px; font-size: 18px; line-height: 1.6; }
main > .section h3 { font-family: var(--display); font-weight: 400; font-size: 29px; line-height: 1.15; letter-spacing: -.012em; }
main > .section p { text-wrap: pretty; }
main > .section .button, .closing .button, .enroll-bar .button { background: #cfa381; color: var(--night-deep); border-radius: 6px; }
main > .section .button:hover, .closing .button:hover, .enroll-bar .button:hover { background: #dfb997; }
.premium-preview { background: var(--night-deep); }
.premium-preview .wrap { max-width: 1080px; }
.premium-preview .section-head { margin-inline: auto; }
.premium-preview .clip { max-width: 820px; margin-inline: auto; }
.premium-preview .clip video { border: 1px solid var(--rule); border-radius: 6px; box-shadow: 0 22px 60px #0003; }
.premium-preview .clip figcaption { display: grid; grid-template-columns: 1fr auto; gap: 16px 40px; margin-top: 22px; }
.premium-preview .clip h3 { font-size: 25px; }
.premium-preview .transcript { margin-top: 0; max-width: 420px; }
.premium-preview .transcript[open] { grid-column: 1 / -1; max-width: none; }
.premium-preview .transcript p { max-width: 72ch; }
.materials-spread { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1fr); gap: clamp(28px,6vw,88px); align-items: start; }
.materials-spread .page-written { grid-row: auto; max-width: 440px; }
.materials-side { padding-top: 52px; }
.premium-materials .page h3 { margin-top: 7px; color: var(--ink); }
.premium-materials .page figcaption p { margin-top: 12px; }
.material-note { border-top: 1px solid var(--rule-ink); margin-top: 38px; padding-top: 28px; }
.material-note h3 { color: var(--ink); }
.material-note p { margin-top: 12px; max-width: 44ch; color: var(--ink-soft); font-size: 17px; }
.materials-credit { border-top: 1px solid var(--rule-ink); padding-top: 24px; margin-top: 40px; }
.curriculum-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: clamp(32px,6vw,88px); align-items: start; }
.curriculum-arc { border-top: 1px solid var(--rule); }
.curriculum-arc:last-child { border-bottom: 1px solid var(--rule); }
.curriculum-arc summary { position: relative; cursor: pointer; list-style: none; padding: 26px 44px 28px 0; }
.curriculum-arc summary::-webkit-details-marker { display: none; }
.arc-range { display: block; font: 500 12px/1.4 var(--sans); text-transform: uppercase; letter-spacing: .13em; color: #d7b293; margin-bottom: 10px; }
.curriculum-arc h3 { color: var(--ivory); }
.arc-toggle { position: absolute; right: 0; top: 43px; font-size: 26px; color: #d7b293; font-weight: 300; }
.curriculum-arc[open] .arc-toggle { font-size: 0; }
.curriculum-arc[open] .arc-toggle::after { content: '−'; font-size: 26px; }
.curriculum-arc .lesson-list { margin: 0 0 24px; }
.curriculum-arc .num { font-family: var(--sans); font-size: 15px; color: #d7b293; }
.curriculum-arc .lesson-list strong { font-size: 18px; }
.curriculum-proof { position: sticky; top: 32px; padding-top: 16px; }
.curriculum-proof .page a { border-color: var(--rule); }
.curriculum-proof .page h3 { color: var(--ivory); margin-top: 8px; }
.curriculum-proof .page figcaption p, .curriculum-proof .course-preview-label { color: var(--text-soft); }
.curriculum-hint { margin-top: 40px; padding-top: 26px; border-top: 1px solid var(--rule); font: 400 27px/1.25 var(--display); color: #d7b293; max-width: 25ch; }
.fit h2 { max-width: 18ch; }
.fit .lead { font-size: 18px; max-width: 45ch; }
.fit-notes > div:first-child { padding-top: 0; border-top: 0; }
.fit-notes > div + div { margin-top: 24px; }
.fit-notes h3 { font-size: 27px; }
.perspective-note { margin-top: 24px; max-width: 52ch; color: var(--text-soft); font-size: 14px; }
.enroll-card { background: #10162e; border-color: #cfa38170; border-radius: 8px; }
.enroll-card h2 { font-size: clamp(31px,3vw,42px); }
.price strong { font-family: var(--sans); font-weight: 400; letter-spacing: -.04em; }
.enroll-list li::before { background: #cfa381; }
.terms { font-size: 13px; line-height: 1.65; }
.questions h2 { max-width: 12ch; }
.questions-list summary { font-size: 18px; padding-block: 22px; }
.questions-list details p { color: var(--text); }
.closing h2 { max-width: none; margin-inline: auto; font-size: clamp(34px,4.5vw,60px); }
.closing p { max-width: 42ch; margin-inline: auto; }
@media(max-width:860px) {
  .materials-spread, .curriculum-layout { grid-template-columns: minmax(0,1fr); }
  .materials-spread .page-written { max-width: 420px; margin-inline: auto; }
  .materials-side { padding-top: 0; }
  .curriculum-proof { position: static; padding-top: 0; }
  .curriculum-hint { margin-top: 24px; }
}
@media(max-width:640px) {
  main > .section .section-head { margin-bottom: 28px; }
  main > .section .section-head .lead { font-size: 17px; margin-top: 16px; }
  main > .section h3 { font-size: 26px; }
  .premium-preview .clip video { margin-inline: 0; width: 100%; max-width: 100%; border-radius: 4px; }
  .premium-preview .clip figcaption { display: block; margin-top: 18px; }
  .premium-preview .transcript { margin-top: 8px; }
  .materials-spread { gap: 36px; }
  .materials-spread .page-written { max-width: 100%; }
  .material-note { margin-top: 28px; padding-top: 24px; }
  .curriculum-layout { gap: 32px; }
  .fit-notes > div + div { margin-top: 10px; }
}

/* Selected ten-image exploration: diagram, archive, celestial closing. */
.curriculum-source { max-width: 960px; margin: 0 auto 56px; }
.curriculum-source a { background: #181b1d; border-color: var(--rule); }
.curriculum-source img { width: 100%; height: auto; object-fit: contain; }
.curriculum-source figcaption { max-width: none; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; }
.curriculum-source .course-preview-label { color: #d7b293; }
.curriculum-source figcaption p { color: var(--text-soft); margin: 0; font-size: 14px; }
.fit-with-art { background: var(--paper); color: var(--ink); }
.fit-with-art .fit-layout { grid-template-columns: minmax(0,.9fr) minmax(0,1fr); align-items: center; gap: clamp(32px,6vw,80px); }
.reading-art img { width: 100%; height: auto; }
.reading-art figcaption { margin-top: 14px; font-size: 13px; color: var(--ink-soft); }
.fit-with-art h2, .fit-with-art h3 { color: var(--ink); }
.fit-with-art .lead, .fit-with-art .fit-notes p { color: var(--ink-soft); }
.fit-with-art .fit-notes { margin-top: 30px; }
.fit-with-art .fit-notes > div { padding-top: 22px; border-top: 1px solid var(--rule-ink); }
.fit-with-art .fit-notes > div + div { margin-top: 0; }
.fit-with-art .perspective-note { color: var(--ink-soft); }
.closing { text-align: left; padding-block: clamp(64px,8vw,112px); }
.closing-layout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); align-items: center; }
.closing-art img { width: 100%; height: auto; }
.closing-copy h2 { font-size: clamp(34px,3.7vw,52px); max-width: 14ch; margin: 0; }
.closing-copy p { margin-inline: 0; max-width: 34ch; }
.closing-copy .closing-facts { font-size: 13px; margin-top: 20px; color: var(--text-soft); }
@media(max-width:860px) {
 .fit-with-art .fit-layout, .closing-layout { grid-template-columns: minmax(0,1fr); }
 .reading-art { max-width: 520px; margin-inline: auto; }
 .fit-copy { max-width: 620px; }
 .closing-art { max-width: 640px; }
 .closing-copy h2 { max-width: 18ch; }
 .closing-copy p { max-width: 42ch; }
}
@media(max-width:640px) {
 .curriculum-source { margin-bottom: 32px; }
 .curriculum-source figcaption { display: block; }
 .curriculum-source figcaption p { margin-top: 8px; }
 .fit-with-art .fit-layout { gap: 28px; }
 .closing-layout { gap: 28px; }
 .closing-copy .button { width: 100%; max-width: none; }
}

/* Deep editorial pass: proof, study, sequence, invitation. Hero remains untouched. */
main > .section .editorial-label, .closing .editorial-label { margin: 0 0 18px; font: 500 11px/1.4 var(--sans); letter-spacing: .15em; text-transform: uppercase; color: #cfa381; }
main > .section h2, .closing h2 { text-wrap: balance; }
main > .section .lead { color: #cfcbc4; }
main > .section .button, .closing .button { border-radius: 4px; font-weight: 500; min-height: 56px; background: #d3ae8b; }
.premium-preview { padding-block: 88px; border-top: 1px solid #cfa38120; }
.premium-preview .wrap { max-width: calc(1200px + 2 * var(--gutter)); }
.preview-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.55fr); gap: clamp(32px,5vw,72px); align-items: center; }
.premium-preview .section-head { margin: 0; }
main > .premium-preview h2 { font-size: clamp(32px,3.3vw,46px); max-width: 14ch; }
main > .premium-preview .section-head .lead { font-size: 17px; line-height: 1.65; }
.preview-duration { margin-top: 32px; color: #aaa79f; font-size: 12px; }
.preview-duration span { display: block; font: 400 50px/1.05 var(--display); color: #cfa381; margin-bottom: 7px; }
.premium-preview .clip { width: 100%; max-width: none; }
.premium-preview .clip video { width: 100%; height: auto; border-radius: 3px; box-shadow: 0 14px 36px #0003; }
.premium-preview .clip figcaption { margin-top: 17px; gap: 10px 22px; align-items: baseline; }
main > .premium-preview .clip h3 { font: 500 16px/1.4 var(--sans); }
.premium-preview .clip-meta { color: #aaa79f; font-size: 12px; margin-top: 4px; }
.premium-preview .transcript summary { font-size: 13px; color: #cfa381; }
.premium-preview .transcript p { font-size: 15px; }
.premium-materials { padding-block: 78px; }
main > .premium-materials .section-head { max-width: none; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 64px; align-items: end; margin-bottom: 28px; }
.premium-materials .editorial-label { grid-column: 1 / -1; }
main > .premium-materials .editorial-label { color: #806044; }
main > .premium-materials .section-head .lead { margin: 0; color: var(--ink-soft); max-width: 42ch; }
.materials-spread { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(24px,5vw,64px); }
.materials-spread .page-written { max-width: 300px; margin: 0 auto; }
.materials-side { padding-top: 0; }
.premium-materials .course-preview-image { border-color: #1a193021; box-shadow: 0 14px 34px #271b1315; }
main > .premium-materials .page h3 { font: 400 25px/1.15 var(--display); max-width: 23ch; }
.premium-materials .page figcaption p { font-size: 15px; line-height: 1.55; max-width: 40ch; }
.materials-credit { margin-top: 20px; font-size: 11px; padding-top: 14px; }
.premium-curriculum { padding-block: 104px; }
main > .premium-curriculum .section-head { max-width: 900px; }
.curriculum-layout { grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); gap: clamp(36px,6vw,84px); }
.curriculum-proof { padding-top: 0; }
.curriculum-source { margin: 0; max-width: none; }
.curriculum-source img { width: 100%; height: auto; }
.curriculum-source figcaption { display: block; margin-top: 16px; }
.curriculum-source figcaption p { margin-top: 7px; font-size: 13px; line-height: 1.55; }
.curriculum-extra { margin-top: 28px; border-top: 1px solid var(--rule); padding-top: 18px; }
.curriculum-extra > summary { cursor: pointer; color: #cfa381; font-size: 14px; padding-bottom: 12px; }
.curriculum-extra .page { margin-top: 10px; }
main > .premium-curriculum .curriculum-extra h3 { font-size: 25px; }
.curriculum-extra .page p { font-size: 14px; }
.curriculum-arc summary { padding-block: 22px 24px; }
main > .premium-curriculum .curriculum-arc h3 { font: 400 30px/1.15 var(--display); }
.curriculum-arc .lesson-list p { color: #b8b4b0; font-size: 15px; }
.curriculum-arc .lesson-list strong { font-weight: 500; font-size: 17px; }
.fit-with-art { background: var(--night-deep); color: var(--ivory); padding-block: 80px; }
.fit-with-art .fit-layout { grid-template-columns: minmax(0,.95fr) minmax(0,1fr); }
.reading-art { max-width: 470px; }
.reading-art figcaption { color: #aaa79f; font-size: 11px; }
main > .fit-with-art h2, main > .fit-with-art h3 { color: var(--ivory); }
.fit-with-art .lead, .fit-with-art .fit-notes p { color: #cfcbc4; }
.fit-with-art .fit-notes { margin-top: 27px; }
.fit-with-art .fit-notes > div { border-color: #ffffff21; padding-block: 21px; }
main > .fit-with-art .fit-notes h3 { font: 400 26px/1.15 var(--display); }
.fit-with-art .fit-notes p { font-size: 16px; line-height: 1.6; }
.enroll { background: var(--paper); color: var(--ink); padding-block: 96px; }
.enroll-card { max-width: 1120px; padding: 0; grid-template-columns: minmax(0,1.25fr) minmax(0,.8fr); align-items: center; gap: 32px 72px; background: transparent; border: 0; border-radius: 0; }
main > .enroll .editorial-label { color: #806044; }
main > .enroll .enroll-card h2 { color: var(--ink); font-size: clamp(34px,3.6vw,48px); max-width: 18ch; }
.enroll-intro { font-size: 17px; line-height: 1.6; color: var(--ink-soft); margin-top: 20px; max-width: 42ch; }
.enroll .enroll-list { border: 0; padding: 0; margin-top: 28px; }
.enroll .enroll-list li { color: var(--ink); border-color: var(--rule-ink); font-size: 15px; padding-block: 12px; padding-left: 22px; }
.enroll .enroll-list li::before { background: #806044; }
.enroll-checkout { border-left: 1px solid #80604440; padding-left: 48px; }
.enroll .price { display: block; margin: 0; }
.enroll .price strong { font: 400 clamp(64px,6vw,88px)/1 var(--sans); letter-spacing: -.055em; color: var(--ink); }
.enroll .price small { color: var(--ink-soft); font-size: 15px; letter-spacing: 0; }
.enroll .price > span { display: block; margin-top: 12px; color: var(--ink-soft); font-size: 14px; }
main > .enroll .enroll-card .button { background: var(--night); color: var(--ivory); width: 100%; min-width: 0; margin-top: 28px; }
main > .enroll .enroll-card .button:hover { background: #202943; }
.checkout-note { font-size: 12px; line-height: 1.5; color: var(--ink-soft); margin-top: 12px; text-align: center; }
.enroll .terms { grid-column: 1 / -1; max-width: none; color: var(--ink-soft); border-top: 1px solid var(--rule-ink); padding-top: 22px; margin-top: 0; font-size: 13px; }
.enroll .terms a, .enroll .already a { color: var(--ink); }
.enroll .already { color: var(--ink-soft); font-size: 13px; }
.questions { padding-block: 80px; }
.questions-intro p { margin-top: 23px; color: #b8b4b0; font-size: 15px; line-height: 1.7; }
.questions-intro a { color: #cfa381; text-underline-offset: 5px; }
.questions-list summary { padding-block: 24px; font-weight: 400; }
.questions-list summary::after { color: #cfa381; }
.questions-list details p { color: #cfcbc4; font-size: 16px; line-height: 1.65; }
.closing { background: var(--night-deep); padding-block: 88px; }
.closing-layout { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 64px; }
.closing-art { align-self: center; }
.closing-art img { width: 100%; height: auto; box-shadow: 0 18px 45px #0003; }
.closing-copy h2 { max-width: 17ch; font-size: clamp(34px,3.5vw,48px); }
.closing-copy > p:not(.editorial-label) { color: #cfcbc4; font-size: 17px; line-height: 1.6; }
.closing-copy .closing-facts { font-size: 12px !important; color: #aaa79f !important; }
@media(max-width:1024px) {
  .preview-layout { grid-template-columns: minmax(0,.85fr) minmax(0,1.3fr); gap: 30px; }
  .curriculum-proof { position: static; }
  .enroll-card { gap: 28px 36px; }
  .enroll-checkout { padding-left: 28px; }
}
@media(max-width:860px) {
  .preview-layout, .materials-spread, .curriculum-layout, .fit-with-art .fit-layout, .enroll-card, .closing-layout { grid-template-columns: minmax(0,1fr); }
  .preview-layout { gap: 28px; }
  .premium-preview .section-head { max-width: 580px; }
  main > .premium-preview h2 { max-width: 20ch; }
  .preview-duration { display: none; }
  main > .premium-materials .section-head { display: block; }
  main > .premium-materials .section-head .lead { margin-top: 18px; }
  .materials-spread .page-written { max-width: 320px; margin-top: 0; }
  .curriculum-source { max-width: 620px; margin-inline: auto; }
  .curriculum-extra { max-width: 620px; margin-inline: auto; }
  .curriculum-source img { max-height: 350px; object-fit: contain; }
  .reading-art { max-width: 420px; margin-inline: auto; }
  .fit-copy { max-width: 620px; }
  .enroll-checkout { border-left: 0; border-top: 1px solid var(--rule-ink); padding: 28px 0 0; }
  .enroll .enroll-card .button { max-width: 420px; }
  .checkout-note { text-align: left; }
  .closing-art { max-width: 640px; }
}
@media(max-width:640px) {
  main > .section { padding-block: 64px; }
  main > .section h2, .closing-copy h2 { font-size: 34px; line-height: 1.13; }
  main > .section .editorial-label, .closing .editorial-label { font-size: 10px; margin-bottom: 15px; }
  .premium-preview .clip figcaption { display: block; }
  .premium-preview .transcript { margin-top: 12px; }
  .premium-materials { padding-block: 48px; }
  main > .premium-materials .section-head { margin-bottom: 24px; }
  .materials-spread { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: start; }
  .materials-spread .page-written { max-width: none; margin: 0; }
  .premium-materials .page figcaption { margin-top: 12px; }
  .premium-materials .course-preview-label { font-size: 10.5px; line-height: 1.35; }
  main > .premium-materials .page h3 { margin-top: 5px; font-size: 21px; }
  .premium-materials .page figcaption p, .premium-materials .page-open { display: none; }
  .curriculum-source img { max-height: 290px; }
  .curriculum-layout { gap: 30px; }
  main > .premium-curriculum .curriculum-arc h3 { font-size: 27px; }
  .fit-with-art .fit-layout { gap: 30px; }
  .reading-art { max-width: 340px; }
  .enroll-card { gap: 26px; }
  main > .enroll .enroll-card h2 { font-size: 35px; }
  .enroll .price strong { font-size: 72px; }
  .enroll .enroll-card .button { max-width: none; }
  .checkout-note { text-align: center; }
  .questions-layout { gap: 26px; }
  .questions-intro p { margin-top: 16px; }
  .questions-list summary { font-size: 17px; }
  .closing { padding-block: 64px; }
  .closing-layout { gap: 30px; }
}
.premium-preview .preview-layout .section-head { margin: 0; }
.enroll :focus-visible, .premium-materials :focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
