/* October 2026 visual refinement. Content and interaction contracts are retained. */
:root {
  --paper: #fcfcfa;
  --white: #ffffff;
  --ink: #202a30;
  --dark: #19262b;
  --muted: #626a6d;
  --line: #dfe3e1;
  --gold: #527a73;
  --pale: #f0f3f1;
  --serif: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}
body { font-size: 16px; letter-spacing: -.25px; }
::selection { background: #dce9e4; color: #19262b; }
em { color: #51746d; }
.wrap { width: min(1160px, calc(100% - 112px)); }
.section { padding-block: 120px; }
h2 { font-size: 42px; line-height: 1.42; font-weight: 600; letter-spacing: -1.9px; }
h3, h4 { letter-spacing: -.65px; }
.eyebrow { color: #657c76; font-size: 11px; letter-spacing: 1.65px; font-weight: 500; }
.section-head { margin-bottom: 52px; gap: 48px; }
.section-head .eyebrow { margin-bottom: 24px; }
.section-note { color: var(--muted); font-size: 14px; line-height: 1.9; }
.section-intro { font-size: 15px; line-height: 1.9; color: var(--muted); max-width: 760px; }
.text-link { font-size: 13px; font-weight: 500; gap: 25px; min-height: 44px; }
.text-link:hover { color: #3b655d; }
.button { min-height: 56px; padding: 17px 24px; font-size: 14px; gap: 30px; border-radius: 2px; }
.primary { background: var(--ink); color: white; }
.primary:hover { background: #3c565b; }
.light { color: var(--ink); background: #f8faf8; }
.light:hover { background: #e4eee9; }
.small-line { background: #76968c; }
:is(button, a, summary, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid #3e7568; outline-offset: 5px; }

/* A restrained wordmark, quiet navigation and one clear action. */
.header { height: 84px; background: #fcfcfaf5; border-color: var(--line); }
.header-inner { width: min(1320px, calc(100% - 88px)); }
.brand { color: #202c30; font-size: 15px; gap: 13px; letter-spacing: -.5px; }
.brand-mark { font-size: 43px; width: 41px; }
.brand-mark > span { color: #62817a; }
.brand small { font-size: 8px; letter-spacing: 1.55px; color: #717978; }
.header nav { gap: 29px; }
.header nav > a { font-size: 13px; color: #535d60; }
.header nav > a:hover, .header nav > a.current { color: #1c3432; }
.nav-contact { border-color: #27373a; color: #27373a; font-size: 13px; padding: 11px 19px; }
.nav-contact:hover { background: #27373a; color: #fff; }
.mobile-sections { background: #fcfcfaf7; border-color: var(--line); }

/* The existing five covers form a collection, with no artificial cover treatment. */
.hero { background: #fcfcfa; }
.hero-inner { grid-template-columns: 1.05fr 1fr; gap: 64px; padding-block: 72px 64px; min-height: 0; }
.hero-copy { padding: 14px 0; }
.hero-copy .eyebrow { font-size: 10px; margin-bottom: 38px; letter-spacing: 2px; }
.hero-subject { font-size: 13px; color: #5c706b; margin-bottom: 22px; }
.hero h1 { font-family: var(--sans); font-size: clamp(46px, 4.55vw, 64px); line-height: 1.25; font-weight: 600; letter-spacing: -3.2px; }
.hero h1 em { color: #52746c; }
.hero h1 em:after { content: none; }
.hero-desc { font-size: 16px; line-height: 1.95; color: #5a6366; margin-top: 30px; }
.hero-byline { font-size: 12px; color: #707a7b; margin-top: 19px; }
.hero-actions { gap: 30px; margin-top: 34px; flex-wrap: wrap; }
.hero-actions .text-link { font-size: 13px; }
.hero-editorial.five-book-editorial { background: #f0f2ef; border: 0; padding: 27px 29px 24px; width: 100%; height: auto; min-height: 0; }
.hero-editorial:before { content: none; }
.editorial-topline { color: #65716f; font-size: 9px; letter-spacing: 1.35px; }
.editorial-topline > span:last-child { font-size: 11px; }
.five-book-shelf { max-width: 408px; margin: 30px auto; padding: 0; gap: 24px 21px; }
.hero-shelf-cover { box-shadow: 2px 4px 8px #1c302214; border-right: 1px solid #cfd5d1; }
.hero-shelf-label { color: #55615f; font-size: 11px; margin-top: 10px; }
.hero-shelf-book:hover { transform: translateY(-4px); }
.five-book-editorial .editorial-caption { padding-top: 20px; border-color: #d3dcd7; }
.five-book-editorial .editorial-caption p { font-size: 18px; font-weight: 400; line-height: 1.6; letter-spacing: -.6px; }
.five-book-editorial .editorial-caption strong { font-weight: 500; }
.editorial-caption a { font-size: 11px; color: #4f6660; }
.hero-bottom { font-size: 12px; color: #6b7676; padding-block: 18px 23px; }
.proof-strip { padding-block: 38px; grid-template-columns: .8fr .8fr 1.1fr 1.25fr; }
.proof-strip > div { padding-inline: 32px; }
.proof-strip strong { font: 400 46px/1.15 var(--sans); letter-spacing: -2px; }
.proof-strip strong > span { font-size: 16px; letter-spacing: -.2px; }
.proof-strip p { color: #687373; font-size: 12px; margin-top: 13px; }
.proof-strip .proof-word { font: 500 21px/1.6 var(--sans); padding-top: 9px; letter-spacing: -.8px; }

/* Long passages use a consistent reading size and quiet section boundaries. */
.origin-heading h2 { font-size: 40px; }
.origin-place > span { color: #5e7a70; font-size: 11px; }
.origin-place p { color: var(--muted); font-size: 12px; }
.origin-layout { grid-template-columns: 1.1fr 1fr; gap: 64px; }
.origin-main { background: var(--dark); }
.origin-main figcaption { padding: 16px 20px; color: #d6e2dd; font-size: 11px; }
.origin-main figcaption > span:first-child { color: #b0c2ba; font-size: 9px; }
.origin-thumbnails { gap: 14px; margin-top: 18px; }
.origin-thumbnails img { height: 132px; }
.origin-thumbnails > button > span { color: #5a6765; font-size: 11px; }
.archive-bottom p { color: #707b78; font-size: 11px; }
.archive-bottom .text-link { font-size: 12px; }
.archive-reflection { font: 400 22px/1.8 var(--sans); border-left-color: #719184; color: #6a7671; margin-top: 32px; padding-left: 23px; }
.origin-copy > p { font-size: 15px; line-height: 2; color: #515e60; margin-top: 23px; }
.origin-copy .origin-lead { font: 500 29px/1.55 var(--sans); color: var(--ink); letter-spacing: -.9px; }
.origin-copy strong { color: #2e4142; font-weight: 500; }
.origin-bridge { margin-top: 54px; padding-top: 36px; border-color: var(--line); gap: 60px; }
.origin-bridge h3 { font-family: var(--sans); font-size: 25px; line-height: 1.65; }
.origin-bridge p:not(.eyebrow) { font-size: 15px; line-height: 2; color: #536163; }
.origin-bridge .text-link { font-size: 13px; }
.teacher-section { background: #f0f3f1; border: 0; }
.teacher-layout { grid-template-columns: .85fr 1.15fr; gap: 72px; }
.teacher-identity { background: #213238; color: #f3f6f3; padding: 36px 38px; min-height: 0; }
.identity-overline { font-size: 9px; color: #b2c5be; letter-spacing: 1.3px; }
.identity-monogram { font-size: 146px; color: #d8e1db; margin-block: 23px; }
.identity-monogram span { color: #7c9b91; font-size: 116px; }
.teacher-identity h3 { font: 500 27px/1.55 var(--sans); }
.teacher-identity > p { font-size: 14px; line-height: 2; color: #c1ceca; }
.identity-signature { font: 500 17px var(--sans); border-color: #52686a; letter-spacing: 1px; padding-top: 24px; }
.identity-signature span { color: #b7c7c2; font-size: 11px; }
.record-intro { font-size: 25px; line-height: 1.7; }
.credentials > div { border-color: #d3ddd7; padding-block: 21px; grid-template-columns: 90px 1fr; }
.credentials dt { color: #65756d; font-size: 13px; }
.credentials dd { color: #354749; font-size: 15px; line-height: 2; }
.teacher-journey, .six-perspectives { border-color: #d0dad5; margin-top: 64px; padding-top: 38px; }
.journey-heading h3 { font: 500 28px/1.6 var(--sans); }
.journey-heading .eyebrow, .six-perspectives .eyebrow { font-size: 11px; color: #657d72; }
.journey-stages { gap: 34px; }
.journey-stages li { border-top: 1px solid #aebfb6; padding-top: 24px; }
.journey-period { font-size: 12px; color: #5b7469; letter-spacing: .3px; }
.journey-stages h4 { font-size: 18px; line-height: 1.7; }
.journey-stages p { color: #536366; font-size: 15px; line-height: 1.95; }
.six-perspectives h3 { font-size: 25px; }
.six-perspectives p { color: #64716f; font-size: 14px; }
.six-perspectives li { font-size: 20px; }
.six-perspectives li > span { font: 12px var(--sans); color: #648477; }
.six-perspectives li > small { color: #62716c; font-size: 12px; }

/* The lesson keeps its own textbook math fonts and all of its explanations. */
.concept-challenge { border-color: #d4dfd9; }
.challenge-board { background: #203338; color: #f5f7f4; padding: 34px 38px; }
.challenge-label { color: #c2d2ca; border-color: #61736c66; font-size: 12px; }
.challenge-prompt { font-size: 18px; line-height: 2; }
.challenge-board-note { color: #c0d0c8; font-size: 14px; }
.challenge-mark { color: #bfd3c80c; }
.challenge-answer { background: #f5f7f3; padding: 34px 38px; }
.answer-entry-heading { font: 500 27px/1.55 var(--sans); }
.answer-entry-intro, .challenge-answer-note { color: #536460; font-size: 15px; }
.answer-entry-label { font-size: 14px; }
.answer-entry-label > span { font-size: 12px; color: #6b7771; }
#lesson-answer { border-color: #aebfb5; background: white; }
#lesson-answer::placeholder { font-size: 14px; color: #737e76; }
.challenge-hint summary { font-size: 13px; color: #546960; min-height: 44px; }
.challenge-hint p { color: #415750; }
.challenge-solution { background: #f3f6f2; border-color: #d5dfd6; }
.solution-heading h3 { font-size: 26px; font-weight: 500; }
.solution-heading p:not(.eyebrow), .solution-steps p, .challenge-lesson p { color: #364d45; }
.solution-step { color: #527566; }
.solution-steps h4 { font: 500 23px/1.6 var(--sans); }
.solution-key { background: #e5ede6; color: #2d4c3b; }
.solution-steps > article + article { border-color: #cad9ce; }
.challenge-philosophy { margin-top: 48px; padding-block: 36px; border-color: #d5ded8; }
.challenge-philosophy h3 { font: 500 28px/1.6 var(--sans); }
.challenge-philosophy .eyebrow { color: #597a69; font-size: 10px; }
.challenge-philosophy-copy p { color: #4f6259; font-size: 15px; line-height: 2; }
.method-principles { margin-top: 38px; gap: 42px; }
.method-principles h3 { font-size: 20px; }
.method-principles article > span { font: 12px var(--sans); color: #5f8070; top: 7px; }
.method-principles p { font-size: 14px; color: #5f6c66; }

/* A single dark chapter provides contrast for the curriculum. */
.curriculum-section { background: #1b2b30; color: #f4f7f3; }
.curriculum-section .eyebrow { color: #b3c6bd; }
.curriculum-section .section-note, .curriculum-section .section-intro { color: #b9c8c6; }
.curriculum-tabs { border-color: #4a5e60; }
.curriculum-tabs button { color: #a4b9b3; font: 13px var(--sans); padding: 22px 25px; }
.curriculum-tabs button > span { font-size: 17px; font-weight: 500; }
.curriculum-tabs button[aria-selected=true] { background: #2d4448; border-color: #a6c5b5; color: #f1f5ef; }
.curriculum-panel { padding-top: 44px; gap: 80px; }
.tag { font-size: 12px; background: #30494b; color: #d5e4d9; padding: 6px 12px; }
.curriculum-summary h3 { font-size: 32px; line-height: 1.5; font-weight: 500; }
.curriculum-summary > p { font-size: 15px; color: #bdcdca; }
.curriculum-books { border-color: #4b6060; }
.curriculum-books > span { font-size: 12px; color: #aec5b8; }
.curriculum-books > p { font-size: 14px; color: #d5e1da; }
.course-steps > div { border-color: #435a5c; padding-block: 22px; }
.course-steps > div > span { font: 12px var(--sans); color: #aac7b3; }
.course-steps h4 { font-size: 19px; }
.course-steps p { font-size: 14px; color: #baccc6; }
.checkpoint { background: #294044; padding: 21px 23px; }
.checkpoint > span { font-size: 12px; color: #b5cdbb; }
.checkpoint p { font-size: 14px; color: #e0e8dc; }
.course-purpose { border-color: #435a5c; }
.course-purpose span { font-size: 14px; color: #d9e4da; }
.course-purpose p { font-size: 14px; color: #baccc6; }
.curriculum-footnote { font-size: 12px; color: #b1c3ba; }

/* Actual covers and original review photographs remain fully accessible. */
.book-carousel-controls > p, .review-total { color: #596d62; font-size: 14px; }
.book-carousel-controls p > span { color: #64746c; font-size: 13px; }
.book-carousel-controls button, .review-carousel-controls button { border-color: #c9d4cc; background: transparent; width: 44px; height: 44px; border-radius: 50%; }
.book-carousel-controls button:hover:not(:disabled), .review-carousel-controls button:hover:not(:disabled) { background: #e8efea; }
#book-range, #review-range { color: #607168; font-size: 12px; }
.original-shelf.book-track { background: #f0f3ef; border-color: #dbe3da; padding: 40px 36px 30px; scroll-padding-inline: 36px; gap: 36px; scrollbar-color: #82998a #e3ebe2; }
.book-track > article { flex-basis: calc((100% - 72px) / 3.2); }
.shelf-cover img { box-shadow: 3px 6px 12px #21372816; transform: none; }
.shelf-cover:hover img { transform: translateY(-5px); box-shadow: 4px 10px 16px #21372820; }
.shelf-cover > span { background: #ffffffed; color: #405c4d; }
.shelf-copy > span { color: #5f796a; font-size: 11px; }
.shelf-copy h3 { font-size: 18px; font-weight: 500; margin-block: 7px 9px; }
.shelf-copy p { color: #5d7063; font-size: 13px; }
.materials-subhead h3 { font-size: 23px; }
.book-explanation { gap: 38px; margin-bottom: 42px; }
.book-explanation > div > span { font-size: 12px; color: #5d7b67; }
.book-explanation h3 { font-size: 19px; }
.book-explanation p { font-size: 14px; color: #586b5f; }
.material { background: #f0f3ef; }
.material-image, .material:nth-child(2) .material-image { background: #e9eee8; height: 345px; padding-top: 32px; }
.material-image img, .material:nth-child(2) .material-image img { transform: none; box-shadow: 3px 5px 12px #1b32211a; }
.material-image:hover img { transform: translateY(-5px); }
.expand-label { background: #fcfdf9ed; color: #4c6555; font-size: 11px; }
.material-body { padding: 29px 30px; background: #f5f7f3; border: 0; }
.material-kind { color: #64816b; font-size: 12px; }
.material-body h3 { font-size: 24px; }
.material-body p { color: #526659; font-size: 14px; }
.material-body .text-link { font-size: 13px; }
.material-note, .review-note { font-size: 12px; color: #66766b; }
.difference-section { background: #f1f4f0; border: 0; }
.difference-intro { color: #5a6a5f; font-size: 15px; line-height: 1.95; }
.difference-list { border-color: #b7c9b9; }
.difference-list article { border-color: #d4dfd2; padding-block: 33px; gap: 32px; }
.difference-number { color: #637e67; font: 13px var(--sans); padding-top: 7px; }
.difference-list h3 { font-size: 23px; }
.difference-list article > div > p { color: #47604c; font-size: 15px; }
.difference-example { color: #647b65; font-size: 12px; }
.review-grid.review-track { gap: 30px; scrollbar-color: #8ea28b #e7eee3; padding-bottom: 25px; }
.review-track > .review-card { flex-basis: calc((100% - 60px) / 3); padding: 26px 22px 22px; border: 1px solid #dce5d7; background: #f8faf5; }
.review-card:before { content: none; }
.review-topic { font-size: 12px; color: #647c60; letter-spacing: 0; }
.review-track blockquote { font-family: var(--sans); font-size: 19px; font-weight: 400; line-height: 1.9; margin-block: 25px 32px; }
.review-track .review-meta { border-color: #dce5d7; }
.review-track .review-meta p { color: #5d7359; font-size: 12px; }
.review-meta p > span { font: 11px var(--sans); }
.review-kind { color: #6c8165; font-size: 11px; }
.review-track .review-source { gap: 16px; margin-top: 20px; }
.review-track .review-thumbnail { width: 73px; height: 95px; border-color: #d0dcc9; box-shadow: none; }
.review-track .review-source-label { color: #415d3c; font-size: 12px; }
.review-source-label small { color: #6c8165; line-height: 1.7; }
.student-story { margin-top: 44px; background: #f0f4ea; padding: 36px 38px; }
.story-label { color: #6e8359; font-size: 12px; }
.student-story h3 { font: 500 26px/1.6 var(--sans); }
.story-caption { color: #718166; font-size: 11px; }
.story-body p { font-size: 15px; color: #5b7050; }
.story-body .story-takeaway { font-size: 15px; color: #405c34; border-color: #cbd9bf; }

/* Class information, questions and consultation share one typography scale. */
.guide-section { background: #f3f5ef; border: 0; }
.trial-invitation { background: #fffefa; border: 0; border-top: 2px solid #7b9364; padding: 38px 40px; }
.trial-invitation .eyebrow { font-size: 11px; color: #698452; }
.trial-invitation h3 { font: 500 28px/1.6 var(--sans); }
.trial-invitation p:not(.eyebrow) { color: #4f663e; font-size: 15px; }
.trial-invitation .text-link { font-size: 13px; }
.lesson-flow { gap: 28px; }
.lesson-flow li { border-color: #acbf94; padding-top: 24px; }
.lesson-flow li > span { font-size: 12px; color: #66834d; }
.lesson-flow h3 { font-size: 18px; }
.lesson-flow p { font-size: 14px; color: #596f46; }
.course-facts { background: #fcfdf8; padding: 8px 30px; }
.course-facts > div { padding-block: 22px; border-color: #d8e2cc; }
.course-facts dt { font-size: 13px; color: #637d4c; }
.course-facts dd { color: #415b2e; font-size: 15px; }
.faq { gap: 74px; }
.faq h2 { font-size: 36px; }
.faq summary { font-size: 16px; padding-block: 25px; gap: 22px; }
.faq-question { gap: 17px; }
.faq-question b { color: #6a8351; font: 400 16px var(--sans); }
.faq details { border-color: #dae2d2; }
.faq details > p { font-size: 15px; line-height: 1.95; color: #536d3d; padding-bottom: 26px; }
.contact-section { background: #1d2b2b; }
.contact-inner { padding-block: 92px; gap: 45px; }
.contact-section h2 { font: 500 38px/1.55 var(--sans); color: #f2f5ee; letter-spacing: -1.6px; }
.contact-section .eyebrow { color: #b2c5af; font-size: 10px; }
.contact-section p:not(.eyebrow) { font-size: 15px; color: #baccb7; line-height: 2; }
.contact-section .trial-closing { color: #e5eddb !important; }
.contact-section p strong { color: #f1f5e8; }
.contact-watermark { color: #d9e4cc07; }
.footer { padding-block: 40px; }
.footer > p, .footer > small { color: #65765c; font-size: 11px; }
.dialog { background: #fcfdf8; border: 1px solid #d6e1ca; border-radius: 3px; padding: 38px; }
.dialog::backdrop { background: #16251dc4; backdrop-filter: blur(5px); }
.dialog .eyebrow { color: #698552; font-size: 10px; }
.dialog h2 { font-size: 27px; font-weight: 500; }
.dialog-description { color: #586e44; font-size: 14px; }
.close-dialog { color: #5b7147; width: 44px; height: 44px; }
.sample-controls button, .archive-controls button { border-color: #bdcead; min-width: 44px; min-height: 44px; }
.sample-controls a { font-size: 13px; color: #506b3d; }
.sample-redaction-note, .preview-notice { background: #edf2e5; color: #566d3c; font-size: 13px; }
.dialog label { font-size: 14px; }
.dialog select, .dialog textarea { border-color: #c6d5b6; font-size: 16px; }
.dialog textarea::placeholder { color: #778d5e; }
.dialog .optional, #copy-status { color: #647e49; font-size: 12px; }

@media (max-width: 1120px) {
  .wrap { width: calc(100% - 72px); }
  .header-inner { width: calc(100% - 56px); }
  .header nav { gap: 22px; }
  .header nav > a { font-size: 12px; }
  .hero-inner { gap: 42px; }
  .hero h1 { font-size: 48px; letter-spacing: -2.4px; }
  .hero-desc { font-size: 15px; }
  .hero-editorial.five-book-editorial { padding-inline: 23px; }
  .five-book-shelf { gap: 22px 15px; }
  .hero-shelf-label { font-size: 10px; }
  .hero-actions { gap: 22px; }
  .proof-strip > div { padding-inline: 23px; }
  .proof-strip .proof-word { font-size: 18px; }
  .origin-layout, .teacher-layout, .curriculum-panel { gap: 42px; }
  .teacher-identity { padding-inline: 30px; }
  .identity-signature { flex-wrap: wrap; gap: 10px; }
  .credentials > div { grid-template-columns: 72px 1fr; gap: 18px; }
  .credentials dd { font-size: 14px; }
  .review-track > .review-card { flex-basis: calc((100% - 30px) / 2.2); }
}
@media (max-width: 850px) {
  html { scroll-padding-top: 150px; }
  .header { height: 76px; }
  .mobile-sections { top: 76px; }
  .mobile-sections a { font-size: 12px; min-height: 44px; }
  .wrap { width: calc(100% - 48px); }
  .section { padding-block: 88px; }
  h2, .origin-heading h2 { font-size: 34px; letter-spacing: -1.4px; }
  .section-head { gap: 26px; margin-bottom: 36px; }
  .section-note { font-size: 13px; }
  .hero-inner { gap: 28px; padding-block: 52px 43px; }
  .hero h1 { font-size: 39px; letter-spacing: -2.2px; }
  .hero-desc { font-size: 14px; }
  .hero-subject { font-size: 12px; }
  .hero-copy .eyebrow { font-size: 9px; margin-bottom: 27px; }
  .hero-actions { gap: 12px; margin-top: 26px; }
  .hero-actions .button { font-size: 12px; padding-inline: 18px; gap: 16px; }
  .hero-editorial.five-book-editorial { padding: 23px 19px; }
  .five-book-shelf { gap: 19px 12px; }
  .editorial-topline { font-size: 8px; letter-spacing: .7px; }
  .editorial-topline > span:last-child { font-size: 9px; }
  .five-book-editorial .editorial-caption p { font-size: 15px; }
  .editorial-caption a { font-size: 10px; }
  .hero-shelf-label { font-size: 9px; }
  .proof-strip { grid-template-columns: .7fr .7fr 1.1fr 1.3fr; }
  .proof-strip > div { padding-inline: 16px; }
  .proof-strip strong { font-size: 38px; }
  .proof-strip .proof-word { font-size: 16px; padding-top: 5px; }
  .proof-strip p { font-size: 11px; }
  .origin-layout { grid-template-columns: 1fr; gap: 36px; }
  .origin-thumbnails img { height: 160px; }
  .origin-copy { max-width: 640px; }
  .origin-bridge { gap: 30px; }
  .teacher-layout { grid-template-columns: 1fr; gap: 36px; }
  .teacher-identity { min-height: 0; }
  .identity-monogram { position: absolute; right: 35px; top: 40px; opacity: .15; z-index: -1; margin: 0; }
  .teacher-identity h3 { margin-top: 32px; }
  .teacher-identity > p { max-width: 430px; }
  .identity-signature { display: flex; }
  .credentials > div { grid-template-columns: 95px 1fr; }
  .credentials dd { font-size: 15px; }
  .journey-stages { gap: 25px; }
  .journey-stages h4 { font-size: 17px; }
  .concept-challenge { grid-template-columns: 1fr; }
  .challenge-board { min-height: 370px; }
  .challenge-answer { padding: 32px 36px; }
  .challenge-philosophy { grid-template-columns: 1fr; }
  .curriculum-panel { gap: 35px; }
  .curriculum-tabs button { padding-inline: 15px; }
  .curriculum-tabs button > span { font-size: 15px; margin-left: 15px; }
  .curriculum-summary h3 { font-size: 28px; }
  .course-purpose > div { display: block; }
  .original-shelf.book-track { padding-inline: 27px; gap: 26px; scroll-padding-inline: 27px; }
  .book-track > article { flex-basis: calc((100% - 26px) / 2.3); }
  .book-explanation h3 { font-size: 17px; }
  .book-explanation p { font-size: 14px; }
  .difference-list article { grid-template-columns: 24px .8fr 1.3fr; gap: 22px; }
  .difference-list h3 { font-size: 21px; }
  .review-track > .review-card { flex-basis: calc((100% - 25px) / 1.9); }
  .review-track blockquote { font-size: 18px; }
  .student-story { gap: 28px; padding: 30px; }
  .trial-invitation { gap: 30px; padding: 30px; }
  .trial-invitation h3 { font-size: 25px; }
  .lesson-flow { grid-template-columns: 1fr 1fr; }
  .faq { grid-template-columns: 1fr; gap: 32px; }
  .contact-inner { display: block; padding-block: 72px; }
  .contact-inner > .button { margin-top: 30px; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 132px; }
  .wrap { width: calc(100% - 42px); }
  .header { height: 70px; }
  .header-inner { width: calc(100% - 38px); gap: 12px; }
  .brand { font-size: 12px; gap: 10px; }
  .brand-mark { font-size: 37px; width: 35px; }
  .brand small { font-size: 6px; letter-spacing: 1.1px; }
  .nav-contact { font-size: 11px; min-height: 40px; padding: 9px 11px; }
  .nav-contact span { margin-left: 14px; }
  .mobile-sections { top: 70px; padding-inline: 12px; }
  .mobile-sections a { font-size: 11px; padding: 11px 5px; }
  .section { padding-block: 72px; }
  h2, .origin-heading h2 { font-size: clamp(26px, 6.9vw, 34px); line-height: 1.5; letter-spacing: -1.3px; }
  .section-head, .origin-heading { display: block; margin-bottom: 31px; }
  .section-head .eyebrow, .faq .eyebrow { font-size: 10px; letter-spacing: 1.35px; margin-bottom: 18px; }
  .section-note { font-size: 13px; margin-top: 20px; }
  .section-intro { font-size: 14px; margin-bottom: 28px; }
  .hero-inner { gap: 36px; padding-block: 43px 25px; }
  .hero-copy { padding: 0; }
  .hero-copy .eyebrow { font-size: 9px; margin-bottom: 27px; }
  .hero-subject { font-size: 12px; margin-bottom: 17px; }
  .hero h1 { font-size: clamp(37px, 9.5vw, 52px); line-height: 1.28; letter-spacing: -2px; }
  .hero-desc { font-size: 14px; margin-top: 23px; line-height: 1.95; }
  .hero-byline { font-size: 11px; margin-top: 15px; }
  .hero-actions { gap: 24px; margin-top: 27px; flex-wrap: wrap; }
  .hero-actions .button { min-height: 52px; padding: 15px 18px; font-size: 12px; gap: 22px; }
  .hero-actions .text-link { font-size: 12px; gap: 14px; }
  .hero-editorial.five-book-editorial { margin-top: 0; padding: 24px 22px 22px; }
  .editorial-topline { font-size: 8px; letter-spacing: 1px; }
  .five-book-shelf { margin-block: 26px; gap: 23px 15px; max-width: 370px; }
  .hero-shelf-label { font-size: 10px; margin-top: 9px; }
  .five-book-editorial .editorial-caption p { font-size: 17px; }
  .five-book-editorial .editorial-caption a { font-size: 10px; max-width: 105px; }
  .hero-bottom { font-size: 10px; gap: 16px; padding-block: 19px; }
  .hero-bottom a > span { margin-left: 10px; }
  .proof-strip { grid-template-columns: 1fr 1fr; padding-block: 4px 26px; }
  .proof-strip > div { padding: 24px 0 0; border: 0; }
  .proof-strip > div:nth-child(even) { padding-left: 18px; }
  .proof-strip > div:nth-child(n+3) { padding-top: 22px; margin-top: 24px; border-top: 1px solid var(--line); }
  .proof-strip strong { font-size: 39px; }
  .proof-strip strong > span { font-size: 14px; }
  .proof-strip .proof-word { font-size: 16px; padding-top: 3px; line-height: 1.6; }
  .proof-strip p { font-size: 11px; margin-top: 10px; }
  .origin-place { text-align: left; padding: 0; margin-top: 22px; }
  .origin-place > span { font-size: 10px; }
  .origin-place p { font-size: 12px; }
  .origin-thumbnails { gap: 10px; }
  .origin-thumbnails img { height: 100px; }
  .origin-thumbnails > button > span { font-size: 10px; }
  .origin-main figcaption { padding: 13px 14px; font-size: 10px; gap: 10px; }
  .origin-main figcaption > span:first-child { font-size: 8px; letter-spacing: .8px; }
  .archive-bottom { gap: 12px; flex-wrap: wrap; }
  .archive-bottom p { font-size: 11px; }
  .archive-bottom .text-link { font-size: 11px; }
  .archive-reflection { font-size: 21px; margin-top: 24px; }
  .origin-copy .origin-lead { font-size: 26px; }
  .origin-copy > p, .origin-bridge p:not(.eyebrow) { font-size: 15px; }
  .origin-bridge { grid-template-columns: 1fr; gap: 24px; margin-top: 34px; padding-top: 29px; }
  .origin-bridge h3 { font-size: 23px; }
  .teacher-section .section-head { display: block; }
  .teacher-section .section-note { text-align: left; font-size: 12px; margin-top: 20px; }
  .teacher-identity { padding: 29px 26px; }
  .identity-overline { font-size: 8px; }
  .teacher-identity h3 { font-size: 26px; margin-top: 32px; }
  .teacher-identity > p { font-size: 14px; }
  .identity-monogram { right: 18px; font-size: 140px; top: 56px; }
  .identity-monogram span { font-size: 105px; }
  .identity-signature { font-size: 15px; gap: 10px; }
  .identity-signature span { font-size: 10px; }
  .record-intro { font-size: 22px; }
  .credentials > div { grid-template-columns: 68px 1fr; gap: 14px; padding-block: 20px; }
  .credentials dt { font-size: 12px; }
  .credentials dd { font-size: 14px; }
  .teacher-journey, .six-perspectives { margin-top: 40px; padding-top: 29px; }
  .journey-heading { display: block; }
  .journey-heading h3 { font-size: 25px; }
  .journey-heading .eyebrow { margin-bottom: 17px; font-size: 10px; }
  .journey-stages li { display: block; }
  .journey-stages h4 { margin-block: 13px 11px; font-size: 18px; }
  .journey-stages p { font-size: 14px; }
  .journey-period { font-size: 11px; }
  .six-perspectives h3 { font-size: 23px; }
  .six-perspectives p { font-size: 14px; }
  .six-perspectives li { font-size: 19px; }
  .six-perspectives li > small { font-size: 11px; }
  .challenge-board { padding: 27px 24px; min-height: 360px; }
  .challenge-label { font-size: 11px; }
  .challenge-prompt { font-size: 16px; }
  .challenge-board-note { font-size: 13px; }
  .challenge-answer { padding: 28px 24px; }
  .answer-entry-heading { font-size: 24px; }
  .answer-entry-intro, .challenge-answer-note { font-size: 14px; }
  .answer-entry-label { font-size: 13px; }
  .answer-entry-label > span { font-size: 11px; }
  .challenge-hint summary { font-size: 12px; }
  .challenge-solution { padding: 27px 22px; }
  .solution-heading h3 { font-size: 22px; }
  .solution-steps h4 { font-size: 21px; }
  .challenge-philosophy { margin-top: 29px; padding-block: 28px; }
  .challenge-philosophy h3 { font-size: 25px; }
  .challenge-philosophy .eyebrow { font-size: 9px; }
  .method-principles { gap: 26px; }
  .method-principles h3 { font-size: 19px; }
  .method-principles p { font-size: 14px; }
  .curriculum-section .section-note, .difference-section .section-note { display: block; }
  .curriculum-tabs button { padding: 19px 9px; font-size: 11px; }
  .curriculum-tabs button > span { font-size: 13px; margin-left: 7px; }
  .curriculum-panel { padding-inline: 0; padding-top: 29px; }
  .curriculum-summary h3 { font-size: 28px; }
  .curriculum-summary > p, .course-steps p, .checkpoint p { font-size: 14px; }
  .tag { font-size: 11px; }
  .course-purpose > div { display: grid; grid-template-columns: 64px 1fr; gap: 15px; }
  .course-purpose p { font-size: 13px; margin: 0; }
  .curriculum-footnote { font-size: 11px; }
  .book-carousel-controls > p { font-size: 12px; }
  .book-carousel-controls p > span { font-size: 11px; }
  #book-range, #review-range { font-size: 11px; margin-right: 4px; }
  .original-shelf.book-track { gap: 23px; padding: 28px 23px 25px; scroll-padding-inline: 23px; }
  .book-track > article { flex-basis: 67%; }
  .book-track .shelf-copy h3 { font-size: 18px; }
  .book-track .shelf-copy > span { font-size: 11px; }
  .book-track .shelf-copy p { font-size: 13px; }
  .materials-subhead h3 { font-size: 21px; }
  .book-explanation { gap: 27px; }
  .book-explanation > div { padding-left: 64px; }
  .book-explanation > div > span { font-size: 11px; max-width: 52px; }
  .book-explanation h3 { font-size: 17px; }
  .book-explanation p { font-size: 14px; }
  .material-image, .material:nth-child(2) .material-image { height: 310px; }
  .material-body { padding: 25px 23px; }
  .material-body h3 { font-size: 22px; }
  .material-body p { font-size: 14px; }
  .material-note, .review-note { font-size: 11px; }
  .difference-intro { font-size: 14px; }
  .difference-list article { grid-template-columns: 24px 1fr; gap: 15px; padding-block: 27px; }
  .difference-list article > div { grid-column: 2; }
  .difference-list article > div > p { font-size: 14px; }
  .difference-example { font-size: 11px; }
  .review-grid.review-track { gap: 18px; }
  .review-track > .review-card { flex-basis: 89%; padding: 25px 20px 20px; }
  .review-track blockquote { font-size: 18px; }
  .review-track .review-thumbnail { width: 80px; height: 103px; }
  .review-track .review-source { gap: 18px; }
  .review-carousel-controls button { width: 44px; height: 44px; }
  .student-story { grid-template-columns: 1fr; padding: 28px 24px; }
  .student-story h3 { font-size: 25px; }
  .story-body p, .story-body .story-takeaway { font-size: 14px; }
  .story-caption { font-size: 11px; }
  .trial-invitation { grid-template-columns: 1fr; gap: 24px; padding: 28px 24px; }
  .trial-invitation h3 { font-size: 25px; }
  .trial-invitation .eyebrow { font-size: 10px; }
  .trial-invitation p:not(.eyebrow) { font-size: 14px; }
  .lesson-flow { gap: 30px 24px; }
  .lesson-flow h3 { font-size: 17px; }
  .lesson-flow p { font-size: 13px; }
  .course-facts { padding: 0 23px; }
  .course-facts > div { grid-template-columns: 1fr; gap: 9px; padding-block: 20px; }
  .course-facts dt { font-size: 12px; }
  .course-facts dd { font-size: 14px; }
  .faq h2 { font-size: 29px; }
  .faq summary { font-size: 14px; gap: 16px; padding-block: 23px; }
  .faq-question { gap: 13px; }
  .faq details > p { font-size: 14px; padding: 0 12px 24px 30px; }
  .contact-inner { padding-block: 64px; }
  .contact-section h2 { font-size: 27px; line-height: 1.6; letter-spacing: -1px; }
  .contact-section p:not(.eyebrow) { font-size: 14px; }
  .contact-section .eyebrow { font-size: 9px; }
  .footer { padding-block: 32px; }
  .footer > p { font-size: 10px; padding-left: 45px; }
  .footer > small { font-size: 9px; }
  .dialog { padding: 30px 23px; }
  .dialog h2 { font-size: 23px; padding-right: 15px; }
  .dialog-description { font-size: 13px; }
  .sample-controls { gap: 10px; }
  .sample-controls a { font-size: 11px; }
  .sample-redaction-note, .preview-notice { font-size: 12px; }
}
@media (max-width: 360px) {
  .wrap { width: calc(100% - 36px); }
  .hero h1 { font-size: 35px; }
  .hero-actions { gap: 17px; }
  .hero-actions .button { padding-inline: 14px; gap: 14px; }
  .hero-editorial.five-book-editorial { padding-inline: 17px; }
  .hero-shelf-label { font-size: 9px; }
  .proof-strip .proof-word { font-size: 14px; }
  .proof-strip p { font-size: 10px; }
  .credentials > div { grid-template-columns: 58px 1fr; gap: 10px; }
  .credentials dd { font-size: 13px; }
  .challenge-board, .challenge-answer { padding-inline: 20px; }
  .challenge-prompt { font-size: 15px; }
  .curriculum-tabs button > span { font-size: 12px; margin-left: 6px; }
  .review-track > .review-card { flex-basis: 94%; padding-inline: 18px; }
  .sample-controls { flex-wrap: wrap; }
  .sample-controls a { margin-left: 5px; }
}
