 :root {
  --forest-950: #071d12;
  --forest-900: #0d2c1c;
  --forest-800: #153d29;
  --forest-700: #205539;
  --moss: #4d7645;
  --leaf: #88ad55;
  --gold: #d7b45a;
  --gold-light: #f1daa0;
  --violet: #2b1b43;
  --stone: #f7f4ec;
  --stone-deep: #e9e5d8;
  --white: #ffffff;
  --ink: #173427;
  --muted: #5e6d60;
  --line: rgba(22, 62, 39, .15);
  --radius: 8px;
  --shadow: 0 20px 56px rgba(7, 29, 18, .14);
  --meadow: url("../1.png");
  --forest: url("../3.png");
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--ink); background: var(--stone); font: 400 16px/1.65 "Lato", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-family: "Montserrat", Arial, sans-serif; letter-spacing: 0; }
h1 { font-size: 68px; line-height: 1.05; font-weight: 600; }
h2 { font-size: 45px; line-height: 1.14; font-weight: 600; }
h3 { font-size: 21px; line-height: 1.28; }
.section { padding: 120px 32px; }
.section-shell { width: min(1160px, 100%); margin: 0 auto; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

.floating-leaves { position: fixed; inset: 0; z-index: 5; pointer-events: none; }
.floating-leaves span { position: absolute; top: -10%; width: 12px; height: 18px; border-radius: 80% 15% 80% 15%; background: rgba(180, 211, 105, .54); animation: leafFall 22s linear infinite; }
.floating-leaves span:nth-child(1) { left: 12%; animation-delay: -8s; }
.floating-leaves span:nth-child(2) { left: 73%; animation-delay: -15s; animation-duration: 27s; }
.floating-leaves span:nth-child(3) { left: 91%; animation-delay: -4s; animation-duration: 31s; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 18px 42px; color: var(--white); background: rgba(7, 29, 18, .18); transition: background 200ms ease, box-shadow 200ms ease; }
.site-header.is-solid { background: rgba(7, 29, 18, .94); box-shadow: 0 8px 30px rgba(0,0,0,.2); }
.site-brand, .footer-brand { display: inline-flex; align-items: center; gap: 10px; font-family: "Montserrat", Arial, sans-serif; font-weight: 700; white-space: nowrap; }



.site-nav, .header-actions { display: flex; align-items: center; gap: 22px; }
.site-nav { font-family: "Montserrat", Arial, sans-serif; font-size: 13px; font-weight: 600; }
.site-nav a { opacity: .88; transition: color 160ms ease, opacity 160ms ease; }
.site-nav a:hover { color: var(--gold-light); opacity: 1; }
.login-link { font-family: "Montserrat", Arial, sans-serif; font-size: 13px; font-weight: 600; }

.button { position: relative; display: inline-flex; min-height: 48px; align-items: center; justify-content: center; overflow: hidden; padding: 0 22px; color: var(--forest-950); border: 1px solid var(--gold-light); border-radius: 999px; background: var(--gold-light); font-family: "Montserrat", Arial, sans-serif; font-size: 13px; font-weight: 700; text-align: center; transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; }
.button::after { content: ""; position: absolute; inset: -35% auto -35% -35%; width: 28%; background: rgba(255,255,255,.48); transform: skewX(-20deg) translateX(-220%); transition: transform 540ms ease; }
.button:hover { transform: translateY(-2px); background: #ffe8aa; box-shadow: 0 12px 26px rgba(0,0,0,.2); }
.button:hover::after { transform: skewX(-20deg) translateX(620%); }
.button-small { min-height: 38px; padding: 0 16px; font-size: 12px; }
.button-forest { color: var(--white); border-color: var(--forest-800); background: var(--forest-800); }
.button-forest:hover { background: var(--forest-700); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--forest-800); font-family: "Montserrat", Arial, sans-serif; font-size: 13px; font-weight: 700; }
.text-link::after { content:none; font-size: 1.08em; transition: transform 180ms ease; }
.text-link:hover::after { transform: translateX(4px); }
.text-link-light { color: var(--white); }
.eyebrow { display: inline-flex; margin-bottom: 18px; color: var(--forest-700); font-family: "Montserrat", Arial, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow-light { color: var(--gold-light); }

.hero { position: relative; display: grid; min-height: 100svh; place-items: center; padding: 140px 32px 84px; isolation: isolate; background: var(--meadow) center bottom / cover no-repeat; color: var(--white); text-align: center; }
.hero::before, .section-image::before, .newsletter::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(5, 19, 11, .52); }
.hero-content { width: min(900px, 100%); }
.hero h1 { max-width: 840px; margin: 0 auto; text-shadow: 0 8px 36px rgba(0,0,0,.32); }
.hero-lead { max-width: 680px; margin: 24px auto 0; font-size: 20px; line-height: 1.55; text-shadow: 0 4px 20px rgba(0,0,0,.28); }
.hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-top: 34px; }
.scroll-cue { position: absolute; bottom: 28px; color: rgba(255,255,255,.8); font-family: "Montserrat", Arial, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.introduction { background: var(--white); }
.introduction-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 12%; align-items: start; }
.introduction h2 { max-width: 530px; }
.introduction-copy { display: grid; gap: 18px; color: var(--muted); font-size: 18px; }
.introduction-copy .text-link { margin-top: 8px; }
.section-stone { background: var(--stone-deep); }
.section-heading { max-width: 760px; margin: 0 auto 52px; text-align: center; }
.section-heading p { margin-top: 18px; color: var(--muted); font-size: 18px; }
.section-heading-left { margin-left: 0; text-align: left; }
.inside-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.inside-card { min-height: 285px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.36); transition: background 180ms ease, transform 180ms ease; }
.inside-card:hover { background: var(--white); transform: translateY(-4px); }
.card-number, .course-label, .commitment-kicker { display: block; margin-bottom: 34px; color: var(--moss); font-family: "Montserrat", Arial, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.inside-card p { margin-top: 14px; color: var(--muted); }
.section-action { margin-top: 38px; text-align: center; }

.library { background: var(--white); }
.library-layout, .about-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9%; align-items: center; }
.library-image, .about-image { min-height: 520px; overflow: hidden; background: var(--forest-900); }
.library-image img, .about-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
.library-image:hover img, .about-image:hover img { transform: scale(1.035); }
.library-copy p, .about-copy p { margin-top: 18px; color: var(--muted); font-size: 17px; }
.library-notes, .about-tags { display: flex; flex-wrap: wrap; gap: 9px; margin: 28px 0; }
.library-notes span, .about-tags span { padding: 7px 10px; color: var(--forest-800); border: 1px solid rgba(32,85,57,.22); border-radius: 999px; background: rgba(136,173,85,.11); font-family: "Montserrat", Arial, sans-serif; font-size: 11px; font-weight: 700; }
.course-wrap { margin-top: 112px; }
.course-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.course-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 8px 24px rgba(7,29,18,.05); }
.course-card img { width: 100%; height: 220px; object-fit: cover; }
.course-card > div { padding: 24px; }
.course-label { margin-bottom: 12px; color: var(--moss); }
.course-card p { margin-top: 12px; color: var(--muted); }

.section-image { position: relative; isolation: isolate; background: var(--forest) center / cover no-repeat; color: var(--white); }
.practice-content { max-width: 760px; text-align: center; }
.practice-content h2 { max-width: 610px; margin: 0 auto; }
.practice-content > p { max-width: 640px; margin: 20px auto 0; font-size: 18px; }
.practice-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin: 30px 0; }
.practice-list span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(7,29,18,.32); font-family: "Montserrat", Arial, sans-serif; font-size: 12px; font-weight: 600; }

.commitment { background: var(--stone); }
.commitment-heading { margin-bottom: 44px; }
.commitment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 880px; margin: 0 auto; }
.commitment-card { display: flex; min-height: 310px; flex-direction: column; justify-content: space-between; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 10px 36px rgba(7,29,18,.06); }
.commitment-card-featured { color: var(--white); border-color: var(--forest-800); background: var(--forest-800); }
.commitment-card-featured .commitment-kicker, .commitment-card-featured p { color: rgba(255,255,255,.74); }
.commitment-card-featured .commitment-badge { align-self: flex-start; margin-bottom: 16px; padding: 6px 9px; color: var(--forest-950); border-radius: 999px; background: var(--gold-light); font-family: "Montserrat", Arial, sans-serif; font-size: 10px; font-weight: 700; }
.commitment-card h3 { font-size: 40px; }
.commitment-card h3 small { font-family: "Lato", Arial, sans-serif; font-size: 14px; font-weight: 400; }
.commitment-card p { margin-top: 15px; color: var(--muted); }
.commitment-card .button { align-self: flex-start; margin-top: 26px; }
.commitment-note { margin: 26px auto 0; color: var(--muted); font-size: 14px; text-align: center; }

.about { background: var(--white); }
blockquote { margin: 30px 0; padding-left: 20px; border-left: 2px solid var(--gold); color: var(--forest-800); font-family: "Montserrat", Arial, sans-serif; font-size: 17px; line-height: 1.55; }
blockquote cite { display: block; margin-top: 12px; color: var(--muted); font-family: "Lato", Arial, sans-serif; font-size: 13px; font-style: normal; }
.voice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.voice-card { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.voice-card > span { color: var(--gold); font-size: 17px; letter-spacing: .08em; }
.voice-card p { margin: 18px 0 22px; color: var(--muted); font-size: 17px; }
.voice-card strong { font-family: "Montserrat", Arial, sans-serif; font-size: 13px; }

.newsletter { position: relative; isolation: isolate; background: var(--forest-950) url("../3.png") center / cover no-repeat; color: var(--white); }
.newsletter::before { background: rgba(6, 24, 14, .85); }
.newsletter-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr); gap: 10%; align-items: center; }
.newsletter p { max-width: 560px; margin-top: 18px; color: rgba(255,255,255,.75); }
.newsletter-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.newsletter-form input { width: 100%; min-height: 48px; padding: 0 15px; color: var(--white); border: 1px solid rgba(255,255,255,.3); border-radius: 999px; outline: none; background: rgba(255,255,255,.08); }
.newsletter-form input::placeholder { color: rgba(255,255,255,.6); }
.newsletter-form input:focus { border-color: var(--gold-light); }
.form-status { grid-column: 1 / -1; min-height: 24px; margin: 4px 0 0; color: var(--gold-light); font-size: 14px; }

.site-footer { color: var(--forest-800); background: var(--white); }
.footer-main { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 10%; padding: 68px 32px 42px; }
.footer-brand { align-self: start; color: var(--forest-800); font-size: 19px; }

.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.footer-links div { display: grid; align-content: start; gap: 8px; }
.footer-links strong { margin-bottom: 6px; font-family: "Montserrat", Arial, sans-serif; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.footer-links a, .footer-bottom a { color: var(--moss); font-size: 14px; }
.footer-links a:hover, .footer-bottom a:hover { color: var(--forest-950); }
.footer-bottom { display: flex; justify-content: space-between; gap: 18px; padding: 20px 32px; border-top: 1px solid var(--line); color: var(--moss); font-size: 12px; }
.footer-bottom > span:last-child { display: inline-flex; gap: 16px; }

.legal-dialog { width: min(720px, calc(100% - 32px)); max-height: min(680px, calc(100svh - 48px)); padding: 0; color: var(--ink); border: 0; border-radius: var(--radius); box-shadow: var(--shadow); }
.legal-dialog::backdrop { background: rgba(7,29,18,.72); }
.legal-dialog-content { padding: 48px; }
.legal-dialog h2 { margin-bottom: 20px; font-size: 32px; }
.legal-dialog p { margin-top: 14px; color: var(--muted); }
.dialog-close { position: absolute; top: 14px; right: 14px; padding: 8px 10px; color: var(--forest-800); border: 1px solid var(--line); border-radius: 999px; background: var(--white); font-family: "Montserrat", Arial, sans-serif; font-size: 11px; font-weight: 700; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity 600ms ease, transform 600ms ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

@keyframes leafFall { to { transform: translate3d(70px, 120svh, 0) rotate(330deg); } }

@media (max-width: 980px) {
  h1 { font-size: 54px; } h2 { font-size: 38px; }
  .site-header { padding: 16px 24px; }.site-nav { display: none; }
  .inside-grid { grid-template-columns: repeat(2, 1fr); }
  .library-layout, .about-layout { gap: 7%; }
  .course-grid, .voice-grid { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; }
  .course-card { display: grid; grid-template-columns: 230px 1fr; }.course-card img { height: 100%; min-height: 190px; }
  .newsletter-layout { grid-template-columns: 1fr; gap: 38px; }
}
@media (max-width: 680px) {
  body { font-size: 15px; } h1 { font-size: 38px; } h2 { font-size: 31px; } h3 { font-size: 20px; }
  .section { padding: 82px 20px; }.site-header { gap: 10px; padding: 13px 16px; }.site-brand { font-size: 13px; }.header-actions { gap: 10px; }.login-link { font-size: 12px; }.button-small { min-height: 34px; padding: 0 12px; }
  .hero { min-height: 680px; padding: 128px 20px 78px; }.hero-lead { font-size: 17px; }.hero-actions { flex-direction: column; align-items: center; }.scroll-cue { bottom: 20px; }
  .introduction-grid, .library-layout, .about-layout, .newsletter-layout, .commitment-grid { grid-template-columns: 1fr; gap: 34px; }.introduction-copy { font-size: 16px; }
  .section-heading { margin-bottom: 34px; }.section-heading p { font-size: 16px; }.inside-grid { grid-template-columns: 1fr; }.inside-card { min-height: 0; padding: 24px; }.card-number { margin-bottom: 22px; }
  .library-image, .about-image { min-height: 320px; }.course-wrap { margin-top: 76px; }.course-card { display: block; }.course-card img { height: 215px; }.practice-content > p { font-size: 16px; }.commitment-card { min-height: 0; }.commitment-card h3 { font-size: 34px; }
  .footer-main { grid-template-columns: 1fr; gap: 38px; padding: 52px 20px 30px; }.footer-links { grid-template-columns: repeat(2, 1fr); }.footer-bottom { align-items: flex-start; flex-direction: column; padding: 18px 20px; }.legal-dialog-content { padding: 42px 24px 28px; }.newsletter-form { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }


/* Shared public pages */
.page-hero,.legal-hero{position:relative;display:grid;min-height:68svh;place-items:center;padding:150px 32px 90px;isolation:isolate;color:var(--white);text-align:center;background:center/cover no-repeat}.page-hero::before,.legal-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(5,19,11,.62)}.page-hero-content{width:min(820px,100%)}.page-hero h1,.legal-hero h1{max-width:820px;margin:auto}.page-hero p,.legal-hero p{max-width:700px;margin:22px auto 0;font-size:19px}.page-hero-about{background-image:url("../5.png")}.page-hero-contact{background-image:url("../2.png")}.page-hero-courses{background-image:url("../4.png")}.page-hero-community{background-image:url("../3.png")}.editorial-grid,.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9%;align-items:center}.editorial-image,.about-feature-image{min-height:490px;overflow:hidden;background:var(--forest-900)}.editorial-image img,.about-feature-image img{width:100%;height:100%;object-fit:cover}.editorial-copy p,.contact-copy p,.about-feature p{margin-top:18px;color:var(--muted);font-size:17px}.quiet-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.quiet-list span{padding:7px 10px;color:var(--forest-800);border:1px solid var(--line);border-radius:999px;background:rgba(136,173,85,.11);font:700 11px "Montserrat",Arial,sans-serif}.about-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:9%;align-items:center}.center-call{max-width:800px;text-align:center}.center-call p{margin:20px auto 30px;color:var(--muted);font-size:18px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.experience-grid article{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-grid h2{font-size:29px}.experience-grid p{margin-top:16px;color:var(--muted)}.light-call{color:var(--white)}.light-call p{color:rgba(255,255,255,.78)}.public-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.public-course-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:0 8px 24px rgba(7,29,18,.05);transition:transform 180ms ease,box-shadow 180ms ease}.public-course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.public-course-card img{width:100%;height:240px;object-fit:cover}.public-course-card div{padding:24px}.public-course-card span{display:block;margin-bottom:12px;color:var(--moss);font:700 11px "Montserrat",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.public-course-card p{margin:12px 0 20px;color:var(--muted)}.public-course-card strong{color:var(--forest-800);font:700 13px "Montserrat",Arial,sans-serif}.contact-notes{display:grid;gap:18px;margin-top:32px}.contact-notes div{display:grid;gap:3px;padding-bottom:18px;border-bottom:1px solid var(--line)}.contact-notes strong{font-family:"Montserrat",Arial,sans-serif}.contact-notes span{color:var(--muted)}.contact-form{display:grid;gap:16px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--stone)}.contact-form label{display:grid;gap:7px;color:var(--forest-800);font:700 13px "Montserrat",Arial,sans-serif}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);outline:none;background:var(--white);font:400 16px "Lato",Arial,sans-serif}.contact-form textarea{resize:vertical}.form-status-dark{color:var(--forest-700)!important}.legal-hero{min-height:42svh;background-image:url("../3.png")}.legal-content{max-width:820px}.legal-content h2{margin-top:42px;font-size:28px}.legal-content p{margin-top:14px;color:var(--muted);font-size:17px}.member-page{background:var(--stone)}.course-room{padding-top:70px}.course-room-hero{position:relative;display:grid;min-height:58svh;place-items:center;padding:100px 32px 60px;isolation:isolate;color:var(--white);background:center/cover no-repeat;text-align:center}.course-room-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(5,19,11,.62)}.course-room-hero>div{width:min(800px,100%)}.course-room-hero p{max-width:670px;margin:20px auto 0;font-size:19px}.course-room-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:10%;align-items:start}.course-room-content p{margin-top:16px;color:var(--muted);font-size:17px}.course-room-content .button{margin-top:28px}.course-room-content aside{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.course-room-content ul{display:grid;gap:10px;margin:20px 0;padding:0;list-style:none}.course-room-content li{padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--muted)}.course-status{font-size:14px!important}
@media(max-width:980px){.editorial-grid,.contact-layout,.about-feature,.course-room-content{grid-template-columns:1fr;gap:38px}.public-course-grid{grid-template-columns:1fr;max-width:640px;margin:auto}.public-course-card{display:grid;grid-template-columns:240px 1fr}.public-course-card img{height:100%}.experience-grid{grid-template-columns:1fr}.experience-grid article{min-height:0}}@media(max-width:680px){.page-hero,.legal-hero{min-height:560px;padding:120px 20px 64px}.page-hero p,.legal-hero p{font-size:16px}.editorial-image,.about-feature-image{min-height:300px}.public-course-card{display:block}.public-course-card img{height:210px}.course-room{padding-top:58px}.course-room-hero{min-height:520px;padding:100px 20px 56px}.course-room-hero p{font-size:16px}}

/* Final surface polish: rounded panels, calm violet micro-accents, and no grid corners. */
.inside-grid,.experience-grid{border:0;gap:14px}
.inside-card,.experience-grid article{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.42)}
.inside-card:hover,.experience-grid article:hover{border-color:rgba(43,27,67,.22)}
.text-link:hover,.public-course-card strong:hover,.support-email:hover{color:var(--violet)}
.public-course-card strong{transition:color 160ms ease}
.support-email{display:inline-block;margin-top:8px;color:var(--forest-800);font:700 18px/1.3 "Montserrat",Arial,sans-serif;transition:color 160ms ease}
.faq-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10%;align-items:start}
.faq-intro>p{margin-top:18px;color:var(--muted);font-size:18px}
.support-box{margin-top:30px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(136,173,85,.11)}
.support-box p{margin-top:8px;color:var(--muted)}
.faq-list{display:grid;gap:12px}
.faq-item{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;color:var(--forest-800);cursor:pointer;font:700 15px/1.35 "Montserrat",Arial,sans-serif;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--violet);font-size:22px;font-weight:400;transition:transform 160ms ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 22px 22px;color:var(--muted);font-size:16px}
.button:focus-visible,.site-nav a:focus-visible,.login-link:focus-visible,.text-link:focus-visible,.public-course-card:focus-visible,.faq-item summary:focus-visible{outline:3px solid rgba(43,27,67,.38);outline-offset:4px}
@media(max-width:980px){.faq-layout{grid-template-columns:1fr;gap:38px}}


.logo-stack{position:relative;display:grid;width:42px;height:42px;place-items:center;flex:0 0 auto}.logo-image{position:relative;z-index:1;width:30px;height:30px;object-fit:cover;border-radius:50%;background:transparent}.footer-brand .logo-stack{width:40px;height:40px}.footer-brand .logo-image{width:28px;height:28px}.footer-brand 
@media(max-width:680px){.logo-stack{width:34px;height:34px}.logo-image{width:24px;height:24px}.footer-brand .logo-stack{width:36px;height:36px}.footer-brand .logo-image{width:25px;height:25px}}

.editorial-image,.about-feature-image,.library-image,.about-image{border-radius:var(--radius)}

.logo-image{object-fit:contain;border-radius:0;background:transparent}
.wordmark-image{display:block;width:148px;height:32px;object-fit:contain;object-position:left center}
.site-header .wordmark-image{filter:brightness(0) invert(1)}
.footer-brand .wordmark-image{width:148px;height:30px}
.hero-wordmark{display:block;width:min(420px,78vw);height:auto;margin:0 auto 22px;filter:brightness(0) invert(1) drop-shadow(0 8px 24px rgba(0,0,0,.26))}
.site-header .logo-stack{width:58px;height:58px}
.site-header .logo-image{width:44px;height:44px}
.site-header .wordmark-image{width:190px;height:42px}
.hero-logo-stack{position:relative;display:grid;width:min(190px,34vw);height:min(190px,34vw);place-items:center;margin:0 auto 18px}



.hero-logo-image{position:relative;z-index:1;width:78%;height:78%;object-fit:contain}
.hero-content .hero-wordmark{width:min(540px,82vw);margin-bottom:16px}
.journey-preview-wrap{margin-top:112px}
.journey-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.journey-preview-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--stone);box-shadow:0 8px 24px rgba(7,29,18,.05);transition:transform 180ms ease,box-shadow 180ms ease}
.journey-preview-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.journey-preview-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.journey-preview-card div{padding:20px}
.journey-preview-card span{display:block;margin-bottom:9px;color:var(--moss);font:700 10px "Montserrat",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.journey-preview-card p{margin-top:10px;color:var(--muted);font-size:15px}
@media(max-width:980px){.journey-preview-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.journey-preview-wrap{margin-top:76px}.journey-preview-grid{grid-template-columns:1fr}}
@media(max-width:680px){.site-header .logo-stack{width:46px;height:46px}.site-header .logo-image{width:34px;height:34px}.site-header .wordmark-image{width:126px;height:28px}.hero-logo-stack{width:132px;height:132px}.hero-content .hero-wordmark{width:min(360px,82vw)}}

/* Large editorial image treatment: show the artwork first, then let the text breathe below it. */
.text-link::after{display:none!important}
.library-layout{display:block}
.library-image{position:relative;left:auto;width:100vw;max-width:none;min-height:clamp(440px,68svh,760px);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);transform:none;border-radius:0}
.library-image img{display:block;width:100%;height:clamp(440px,68svh,760px);object-fit:cover;object-position:center center;transform:none!important}
.library-copy{max-width:780px;margin:72px auto 0}
.course-card img{height:300px;aspect-ratio:16/9;object-fit:cover}
.public-course-card img{height:300px;aspect-ratio:16/9;object-fit:cover}
.editorial-image,.about-feature-image{min-height:600px}
@media(max-width:980px){.public-course-card img{height:260px}.course-card img{height:260px}}
@media(max-width:680px){.library-image,.library-image img{min-height:420px;height:420px}.library-copy{margin-top:52px}.public-course-card img,.course-card img{height:230px}.editorial-image,.about-feature-image{min-height:380px}}


/* Public library and image framing refinements. */
:root { --radius: 22px; }
.site-nav a.is-active { color: var(--gold-light); opacity: 1; }
.library-layout { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); gap: clamp(32px, 6vw, 84px); align-items: center; }
.library-image { width: 100%; min-height: 0; aspect-ratio: 16 / 9; margin: 0; overflow: hidden; border-radius: var(--radius); }
.library-image img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center; }
.library-copy { max-width: none; margin: 0; }
.course-card, .journey-preview-card, .public-course-card { border-radius: var(--radius); }
.course-card img, .journey-preview-card img, .public-course-card img { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.about-image, .editorial-image, .about-feature-image { min-height: 0; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--radius); }
.about-image img, .editorial-image img, .about-feature-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.course-introduction { max-width: 780px; }
.course-introduction p { max-width: 720px; margin-top: 18px; color: var(--muted); font-size: 18px; }
.course-offering { display: flex; flex-direction: column; }
.course-offering > div { display: flex; height: 100%; flex-direction: column; }
.course-offering .button { align-self: flex-start; margin-top: auto; }
.course-access-note { min-height: 46px; margin: 18px 0 22px !important; color: var(--forest-700) !important; font-size: 14px !important; }
.newsletter em { color: var(--gold-light); font-style: normal; }
.editorial-grid-reverse { align-items: center; }
.page-hero-community { background-image: url("../circle.png"); }
@media (max-width: 980px) {
  .library-layout { grid-template-columns: 1fr; gap: 38px; }
  .library-copy { max-width: 760px; }
}
@media (max-width: 680px) {
  .library-image { aspect-ratio: 16 / 10; }
  .about-image, .editorial-image, .about-feature-image { aspect-ratio: 16 / 11; }
  .course-access-note { min-height: 0; }
}
