:root { color-scheme: light; }
body { min-width: 320px; }
.utility { height: 34px; }
.utility a { text-decoration: underline; text-underline-offset: 3px; }
.nav { position: sticky; top: 0; z-index: 20; backdrop-filter: blur(20px); }
.nav .account-actions { display: flex; gap: 12px; align-items: center; }
.nav .account-actions .quiet-link { font-size: 13px; white-space: nowrap; }
.nav .button { white-space: nowrap; }
.hero .button { display: inline-flex; }
.board { transform: perspective(1200px) rotateY(-2deg) rotateZ(-.4deg); }
.board:focus-within { transform: none; }
.boardcore { position: relative; }
.boardcore canvas { width: 100%; height: 100%; display: block; cursor: grab; }
.boardcore canvas:active { cursor: grabbing; }
.boardcore aside { display: none; }
.boardcontrols { border-top: 1px solid #dfe2d8; }
.boardcontrols label { min-width: max-content; }
.boardfoot { width: 100%; background: transparent; border-bottom: 0; color: var(--ink); cursor: pointer; }
.boardfoot:hover { background: #edf2e9; }
.subject-tabs button[aria-selected="true"] { background: var(--green); color: white; }
.poster-bottom a { color: white; text-decoration: underline; text-underline-offset: 4px; }
.poster.is-light { background: #e7ede4; }
.poster.is-light img { object-fit: contain; }
.poster.is-light .poster-label, .poster.is-light .poster-bottom, .poster.is-light .poster-bottom a { color: #263c31; }
.intro-grid { background: #f6f4eb; padding: 88px 5vw; }
.intro-grid .section-heading { max-width: 840px; margin-bottom: 34px; }
.intro-grid h2, .world-story h2, .tower h2, .closing h2 { font-size: clamp(40px, 4.5vw, 67px); line-height: 1.09; }
.intro-grid .section-heading > p:last-child { max-width: 640px; color: #5a6c5c; line-height: 1.65; margin-top: 18px; }
.experience-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.experience-card { min-height: 295px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; background: #e8ebe1; border: 1px solid #d6ddcf; border-radius: 17px; }
.experience-card:nth-child(2) { background: #e7ebec; }
.experience-card:nth-child(3) { background: #efe9db; }
.experience-card small { color: #56715d; font-weight: 700; letter-spacing: .13em; }
.experience-card h3 { margin: 18px 0 10px; font: 500 clamp(28px, 2.7vw, 38px)/1.12 Georgia, serif; letter-spacing: -.035em; }
.experience-card p { color: #526457; line-height: 1.55; }
.experience-card a { align-self: flex-start; margin-top: 25px; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.lesson-preview{margin-top:22px;padding:28px;background:#e2eadf;border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:25px}.lesson-preview .eyebrow{margin:0 0 8px}.lesson-preview h3{font:500 27px Georgia,serif;margin:0}.lesson-preview-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.lesson-preview-links a{padding:9px 13px;background:#f9fbf6;border:1px solid #c8d8c5;border-radius:99px;font-size:12px}.lesson-preview-links span{color:#648868}
.world-story { padding: 84px 5vw; background: #e9ede4; }
.world-story .eyebrow { margin-bottom: 18px; }
.world-story .intro { max-width: 650px; margin: 17px 0 30px; color: #536457; line-height: 1.6; }
.world-story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.world-story article { min-height: 220px; border-radius: 14px; background: #f7f7f0; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; }
.world-story article span { font: italic 36px Georgia, serif; color: #93ad9c; }
.world-story article h3 { font: 500 25px Georgia, serif; margin: 13px 0 8px; }
.world-story article p { color: #637366; font-size: 14px; line-height: 1.5; }
.tower { padding: 95px 5vw; display: grid; grid-template-columns: 44% 56%; align-items: center; gap: 15px; background: #f6f4eb; }
.tower p:not(.eyebrow) { max-width: 475px; line-height: 1.65; color: #5e705f; margin: 24px 0; }
.tower img { width: 100%; border-radius: 17px; box-shadow: 0 18px 45px #243d311c; }
.approach { padding: 90px 5vw; background: #e6eadd; }
.approach-head { max-width: 830px; }
.approach h2 { font-size: clamp(40px, 4.5vw, 67px); line-height: 1.1; }
.approach-head > p:last-child { max-width: 665px; color: #526a57; line-height: 1.65; margin: 20px 0 0; }
.approach-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 42px; }
.approach-steps article { border-top: 1px solid #9eaf9e; padding: 25px 8px 8px; }
.approach-steps span { font: italic 28px Georgia, serif; color: #758f79; }
.approach-steps h3 { font: 500 28px Georgia, serif; margin: 18px 0 10px; }
.approach-steps p { max-width: 350px; line-height: 1.6; color: #556b59; }
.story-panels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: 2px; background: #20382c; }
.story-panel { position: relative; height: 425px; overflow: hidden; color: white; }
.story-panel::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, #0d271e13 15%, #0d271ec9 100%); }
.story-panel img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.story-panel:hover img { transform: scale(1.045); }
.story-panel > span { position: absolute; z-index: 2; left: 26px; right: 26px; bottom: 30px; display: grid; gap: 10px; }
.story-panel small { letter-spacing: .14em; }
.story-panel strong { font: 500 31px Georgia, serif; }
.story-panel em { font-size: 13px; font-style: normal; }
.closing { text-align: center; padding: 95px 24px; background: #dfe8dd; }
.closing h2 { max-width: 760px; margin: auto; }
.closing .button { display: inline-block; margin-top: 30px; }
.fine { padding: 46px 5vw; display: flex; align-items: center; justify-content: space-between; gap: 20px; text-align: left; }
.fine strong { margin: 0; font-size: 26px; }
.fine nav { display: flex; gap: 18px; font-size: 13px; }
.fine a:hover { text-decoration: underline; }
.leo-visual { min-height: 430px; border-radius: 20px; background: radial-gradient(circle at 32% 35%, #f3f4e7, #dce6d8 70%); position: relative; overflow: hidden; }
.leo-visual > img { position: absolute; width: 43%; max-height: 98%; object-fit: contain; object-position: bottom; left: -2%; bottom: 0; mix-blend-mode: multiply; }
.week-card { position: absolute; width: 66%; right: 4%; top: 12%; padding: 25px; background: #fbfbf4f2; border: 1px solid #d9e0d4; border-radius: 15px; box-shadow: 0 18px 36px #3f5d4524; }
.week-card-head span { display: block; color: #7b987f; font: 700 10px system-ui; letter-spacing: .17em; margin-bottom: 9px; }
.week-card-head strong { font: 500 clamp(18px,2vw,28px) Georgia, serif; }
.week-days, .week-tasks { display: grid; grid-template-columns: repeat(5,1fr); text-align: center; gap: 5px; }
.week-days { margin-top: 23px; color: #677b6a; font-size: 11px; }
.week-tasks { margin-top: 8px; }
.week-tasks span { min-height: 52px; display: grid; place-items: center; border-radius: 8px; font-size: 11px; background: #dfebdb; color: #385946; }
.week-tasks span:nth-child(2), .week-tasks span:nth-child(4) { background: #e6e7ed; }
.week-tasks span:nth-child(3) { background: #eee3d6; }
.week-card > p { margin: 23px 0 0; font-size: 12px; color: #637467; }
.mia-copy h2 { max-width: 580px; }
.mia-copy p { max-width: 540px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(max-width: 900px) {
  .lesson-preview{display:block}.lesson-preview-links{margin-top:20px;justify-content:flex-start}
  .nav nav { gap: 12px; }
  .experience-cards { grid-template-columns: 1fr; }
  .experience-card { min-height: 205px; }
  .tower { grid-template-columns: 1fr; }
  .story-panel { height: 315px; }
}
@media(max-width: 800px) {
  .board { transform: none; }
  .world-story-grid { grid-template-columns: 1fr; }
  .world-story article { min-height: 160px; }
  .fine { display: block; }
  .fine nav { margin-top: 24px; flex-wrap: wrap; }
  .approach-steps { grid-template-columns: 1fr; }
  .story-panels { grid-template-columns: 1fr; }
  .story-panel { height: 350px; }
}
@media(max-width: 480px) {
  .utility { display: none; }
  .nav .account-actions .quiet-link { display: none; }
  .nav .account-actions .button { display: inline-flex; font-size: 11px; padding: 9px 12px; }
  .brand img { width: 35px; height: 35px; }
  .brand { gap: 6px; }
  .boardcore { min-height: 150px; }
  .boardcontrols { height: auto; flex-wrap: wrap; }
  .boardcontrols input { min-width: 100px; }
  .intro-grid, .world-story { padding: 64px 24px; }
  .tower { padding: 64px 24px; }
  .approach { padding: 64px 24px; }
  .leo-visual { min-height: 310px; }
  .week-card { width: 69%; right: 2%; top: 9%; padding: 14px; }
  .week-tasks span { min-height: 42px; font-size: 8px; }
  .week-card-head strong { font-size: 16px; }
  .week-card > p { margin-top: 12px; }
}
