/* Final art direction. Load after style.css. */
:root {
  --muted: #56655b;
  --line: rgba(17,36,30,.16);
  --gold: #a98249;
  --gold-light: #e3ceaa;
}
body {
  background-image: radial-gradient(ellipse at 84% 2%,rgba(224,202,162,.22),transparent 26%),linear-gradient(110deg,rgba(255,255,255,.13),transparent 65%);
  font-kerning: normal;
}
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.hero-title { letter-spacing:-.052em; }
.hero-title em { color:#a37b44; }
h2 { line-height:1.16; }
.eyebrow { letter-spacing:.2em; }
.site-header.wrap { border-bottom-color:rgba(17,36,30,.2); }
.brand-mark { background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(179,139,84,.06)); }
.brand-text { letter-spacing:.16em; }
.nav>a { transition:color .25s; }
.nav>a:hover { color:#8b6737; }
.button {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:54px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 4px 10px rgba(17,36,30,.04);
  transition:transform .28s var(--ease),background .28s,color .28s,box-shadow .28s;
}
.button:before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 12%,rgba(255,255,255,.14) 48%,transparent 70%);
  transform:translateX(-110%);
  transition:transform .65s var(--ease);
  z-index:-1;
}
.button.gold { background:linear-gradient(120deg,#c2a371,#b18b54); border-color:#b18b54; }
.button.outline { box-shadow:none; }
.button>span { transition:transform .28s; }
.button:hover>span { transform:translate(2px,-2px); }
.text-link { display:inline-block; transition:color .25s,border-color .25s; }
.text-link:hover { color:#8b6737; border-color:#8b6737; }
.hero { padding-top:72px; padding-bottom:84px; }
.hero-content { max-width:650px; }
.hero-desc { line-height:1.95; }
.hero-visual { isolation:isolate; }
.hero-visual>img {
  box-shadow:0 18px 45px rgba(17,36,30,.10);
  border:1px solid rgba(17,36,30,.10);
}
.hero-visual:before { z-index:0; pointer-events:none; border-color:rgba(169,130,73,.7); }
.hero-visual>img { position:relative; z-index:1; }
.hero-visual:after { z-index:2; }
.hero-caption { z-index:3; text-shadow:0 2px 12px rgba(0,0,0,.14); }
.hero-caption>strong { letter-spacing:-.04em; }
.hero-visual .orbit { animation:none; box-shadow:0 0 0 1px rgba(169,130,73,.75),0 8px 25px rgba(17,36,30,.1); }
.ticker { background:rgba(255,255,255,.1); }
.section { border-top-color:rgba(17,36,30,.14); }
.big-quote { line-height:1.42; letter-spacing:-.03em; }
.value-strip>span { letter-spacing:.025em; }
.community {
  background:radial-gradient(ellipse at 84% 10%,rgba(120,136,91,.12),transparent 52%),linear-gradient(125deg,#11241e,#142a22);
}
.community:before { border-color:rgba(221,201,165,.10); }
.community-card {
  background:linear-gradient(125deg,rgba(255,255,255,.043),rgba(255,255,255,.012));
  border-color:rgba(227,206,170,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
.community-card .eyebrow { color:#cfac72; }
.community-number { letter-spacing:-.045em; }
.community-tags span { color:#deded1; border-color:rgba(227,206,170,.25); }
.community-card>p:not(.eyebrow) { line-height:1.95; }
.community-note { max-width:960px; padding-top:12px; }
.path-button { transition:background .25s,color .25s,border-color .25s,box-shadow .25s; }
.path-button.active { box-shadow:inset 0 2px 0 #b9955d; }
.path-result { background:linear-gradient(125deg,#f6f2e8,#ece5d6); padding:36px 40px; }
.path-result>h3 { font-size:31px; }
.path-result>p:not(.eyebrow) { line-height:1.9; }
.tuition-overview article {
  background:linear-gradient(135deg,#f8f5ed,#f0ebdf);
  border-color:rgba(169,130,73,.55);
  box-shadow:0 3px 16px rgba(17,36,30,.025),inset 0 1px 0 rgba(255,255,255,.7);
}
.tuition-overview article>strong { letter-spacing:-.04em; }
.tuition-overview b { font-weight:500; }
.tuition-overview article>p { font-weight:500; letter-spacing:.13em; }
.payment-policy { padding-left:17px; border-left:2px solid rgba(169,130,73,.65); }
.program-tabs { gap:38px; }
.tab-button { font-size:13px; padding-block:21px; }
.tab-button.active { border-bottom-color:#a98249; }
.program-title h3 { font-size:41px; }
.program-title>p:not(.eyebrow) { line-height:1.9; }
.program-topics { line-height:1.85; }
.program-more summary:after { line-height:1; }
.selected-fee>strong { letter-spacing:-.025em; }
.selected-fee>strong>span { letter-spacing:0; }
.deep-tier { background:linear-gradient(115deg,#f6f2e7,#e9e2d3); border-color:rgba(169,130,73,.32); }
.deep-tier h3 { font-size:29px; }
.deep-tier>div:last-child>strong { white-space:normal; }
.method-section { background:linear-gradient(180deg,#f7f4ec,#f2eee4); }
.method-step { border-top-color:rgba(169,130,73,.65); }
.method-step>span { font-size:41px; }
.method-step p { line-height:1.85; font-size:12px; }
.filter-button { transition:background .25s,color .25s,border-color .25s; }
.model-card {
  border-color:rgba(17,36,30,.14);
  box-shadow:0 3px 16px rgba(17,36,30,.025);
  background:#f1ede3;
}
.model-image img { filter:saturate(.84) contrast(.97); }
.model-image>span { background:rgba(17,36,30,.94); border:1px solid rgba(238,233,221,.2); }
.model-body { padding:27px; }
.model-body h3 { letter-spacing:-.035em; }
.model-body>.model-label { letter-spacing:.12em; }
.model-body p { line-height:1.9; }
.model-body .text-link { min-height:0; margin-top:21px; padding-bottom:5px; }
.real-world>img { filter:saturate(.76) contrast(.95); border:1px solid var(--line); }
.books-section { background:linear-gradient(135deg,#f7f4ec,#ede7da); }
.books-hero {
  border-color:rgba(169,130,73,.6);
  box-shadow:0 12px 35px rgba(17,36,30,.065);
  background:linear-gradient(120deg,#f4efe2,#e8dfca);
}
.books-hero>img { filter:saturate(.86) contrast(.97); }
.books-stat { border-top-color:rgba(169,130,73,.4); }
.books-stat>strong { letter-spacing:-.06em; }
.book-image {
  background:radial-gradient(ellipse at 48% 10%,#f6f1e5,#e2dac8 85%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
  border-color:rgba(17,36,30,.13);
}
.book-image:after {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(125deg,transparent 27%,rgba(255,255,255,.23) 45%,transparent 59%);
  opacity:0;
  transform:translateX(-45%);
  transition:opacity .5s,transform .8s var(--ease);
}
.book-spine { background:radial-gradient(ellipse at 50% 0%,#2a4235,#11241e); box-shadow:inset 0 1px 0 rgba(227,206,170,.1); }
.book-spine:hover { background:#1b3428; }
.book-body>h3 { letter-spacing:-.025em; }
.book-body>small { color:#677168; }
.book-group { color:#8d6838; }
.books-note { border-top-color:rgba(169,130,73,.35); }
.tea-photo { padding:12px; border:1px solid rgba(169,130,73,.65); background:#e5ddca; }
.tea-photo:after { inset:28px; }
.tea-photo:before { inset:12px; }
.tea-photo>span { left:40px; bottom:40px; }
.tea-schedule { background:linear-gradient(120deg,#f7f4ec,#ece5d7); border-color:rgba(169,130,73,.45); }
.tea-copy>p { line-height:1.95; }
.tea-questions>span { border-bottom-color:rgba(169,130,73,.23); }
.faq-search { padding:19px 18px; background:#f7f4ec; border-color:rgba(17,36,30,.2); }
.faq-list summary { padding-block:24px; line-height:1.7; }
.faq-list details[open] { background:rgba(247,244,236,.42); }
.faq-list details[open] summary { color:#906b39; }
.faq-list details>p { line-height:1.95; }
.final-cta { background:radial-gradient(ellipse at 50% 0%,#d1b789,transparent 70%),linear-gradient(120deg,#b99660,#ac854b); }
.final-cta h2 em { color:#28362a; }
.final-cta .button.gold { box-shadow:0 7px 20px rgba(17,36,30,.16); }
.site-footer.wrap { padding-top:52px; }
.site-footer.wrap>div:not(.brand-text)>a { transition:color .25s; }
.site-footer.wrap>div:not(.brand-text)>a:hover { color:#8b6737; }
#poster-dialog { border-color:rgba(227,206,170,.65); }
#poster-dialog .dialog-header { background:#f5f0e5; }
#poster-dialog .dialog-header h2 { font-size:26px; letter-spacing:-.03em; }
#poster-dialog .dialog-header button { min-height:44px; }
@media(hover:hover) and (pointer:fine) {
  .button:hover { box-shadow:0 8px 20px rgba(17,36,30,.10); }
  .button:hover:before { transform:translateX(110%); }
  .book-image:hover:after { opacity:1; transform:translateX(35%); }
}
@media(min-width:901px) and (max-width:1200px) {
  .wrap { width:calc(100% - 72px); }
  .site-header.wrap { gap:18px; }
  .nav { font-size:11px; gap:18px; }
  .hero { gap:48px; padding-block:62px 72px; }
  .hero-title { font-size:clamp(59px,6.7vw,78px); }
  .hero-visual { height:530px; }
  .hero-actions { gap:16px; }
  .hero-actions .text-link { margin-left:0; }
  .hero-actions .button { font-size:10px; }
  .community-card { padding:36px 30px; }
  .books-intro { gap:52px; }
}
@media(min-width:641px) and (max-width:900px) {
  .hero { gap:40px; padding-block:54px 65px; min-height:620px; }
  .hero-title { font-size:clamp(49px,6.9vw,62px); }
  .hero-visual { height:470px; }
  .hero-desc { font-size:13px; }
  .hero-actions .button { font-size:10px; padding-inline:15px; }
  .hero-actions .text-link { font-size:10px; }
  .hero-caption { left:23px; right:23px; }
  .hero-caption>strong { font-size:25px; }
  .section { padding-block:82px; }
  .community-card { padding:32px 25px; }
  .community-number { font-size:58px; }
  .program-tabs { gap:30px; }
  .tab-button { font-size:12px; }
  .program-title h3 { font-size:35px; }
  .program-panel { grid-template-columns:.9fr 1.1fr; gap:30px; }
  .deep-tier { padding:29px; }
  .books-intro-copy h2 { font-size:40px; }
  .books-intro-copy>p:not(.eyebrow) { font-size:13px; }
  .tea-grid { gap:36px; }
  .tea-copy h2 { font-size:42px; }
  .tea-photo img { height:540px; }
}
@media(max-width:640px) {
  .wrap { width:calc(100% - 40px); }
  .site-header.wrap { height:76px; }
  .hero { gap:44px; padding-top:38px; padding-bottom:56px; }
  .hero-title { font-size:clamp(49px,13.8vw,66px); letter-spacing:-.047em; }
  .hero-desc { line-height:1.9; margin-top:25px; }
  .hero-actions { gap:18px; margin-top:27px; }
  .hero-actions .button { min-height:52px; font-size:11px; padding-inline:18px; }
  .hero-actions .text-link { font-size:11px; }
  .hero-visual { height:440px; margin-left:17px; width:calc(100% - 17px); }
  .hero-visual:before { inset:-13px 13px 13px -13px; }
  .hero-caption { left:25px; right:23px; bottom:29px; }
  .hero-caption>strong { font-size:27px; line-height:1.22; }
  .hero-caption>span,.hero-caption>small { font-size:8px; }
  .orbit { left:-30px; }
  .section { padding-block:62px; }
  .section-head h2,h2 { font-size:39px; letter-spacing:-.037em; }
  .section-head>p.eyebrow { font-size:9px; letter-spacing:.16em; }
  .section-head>p:not(.eyebrow) { font-size:13px; line-height:1.9; }
  .big-quote { font-size:31px; }
  .intro-grid>div:last-child { font-size:13px; }
  .value-strip>span { padding-block:18px; }
  .community-card { padding:31px 25px; }
  .community-number { font-size:61px; }
  .community-card .button { font-size:11px; padding-inline:17px; min-height:52px; }
  .community-card>small { line-height:1.85; }
  .community-note { font-size:11px; line-height:1.85; }
  .path-button { font-size:11px; min-height:80px; }
  .path-result { padding:27px 24px; }
  .path-result>h3 { font-size:28px; }
  .path-result>.eyebrow { font-size:8px; line-height:1.8; }
  .tuition-overview article { padding:23px 20px; gap:12px 15px; }
  .tuition-overview article>strong { font-size:33px; }
  .tuition-overview article>div { padding-left:13px; }
  .tuition-overview article>p { letter-spacing:.1em; }
  .tuition-overview b { font-size:14px; }
  .payment-policy { padding-left:14px; line-height:1.9; }
  .program-tabs { gap:24px; }
  .tab-button { font-size:12px; min-height:52px; }
  .program-title h3 { font-size:35px; }
  .selected-fee>strong { font-size:34px; }
  .deep-tier { padding:26px 23px; }
  .deep-tier h3 { font-size:28px; }
  .deep-tier>div:last-child>strong { font-size:30px; }
  .method-step p { font-size:12px; }
  .model-body { padding:24px 22px; }
  .model-body>.model-label { font-size:9px; letter-spacing:.09em; }
  .model-body h3 { font-size:28px; }
  .model-body .text-link { min-height:44px; display:inline-flex; align-items:center; padding-bottom:0; }
  .model-grid,.books-grid { padding-bottom:22px; }
  .books-intro-copy h2 { font-size:39px; }
  .books-hero { padding:10px; }
  .book-image { height:315px; padding:21px; }
  .book-body>h3 { font-size:27px; }
  .book-body>h3+p { line-height:1.9; }
  .book-body>small { font-size:10px; }
  .book-spine { padding-inline:12px; }
  .books-catalog-head>h3 { font-size:30px; }
  .tea-photo { padding:10px; }
  .tea-photo:before { inset:10px; }
  .tea-photo:after { inset:25px; }
  .tea-photo img { height:420px; }
  .tea-photo>span { font-size:9px; left:33px; bottom:33px; }
  .tea-schedule { padding:23px 21px; }
  .tea-schedule strong { font-size:16px; }
  .faq-search { font-size:13px; padding:18px; }
  .faq-list summary { font-size:14px; padding-block:23px; }
  .faq-list details>p { padding-bottom:25px; }
  .final-cta { padding-block:67px; }
  .final-cta h2 { font-size:43px; }
  .final-cta p { font-size:13px; line-height:1.9; }
  .final-cta .button { max-width:100%; font-size:11px; gap:16px; padding-inline:18px; }
  .final-cta .text-link { font-size:11px; }
  .site-footer.wrap { padding-top:43px; padding-bottom:105px; }
  .site-footer.wrap p { font-size:11px; }
  .site-footer.wrap>div:not(.brand-text) { font-size:11px; gap:12px 22px; }
  .site-footer.wrap>small { font-size:10px; }
  .sticky-cta { box-shadow:0 -5px 20px rgba(17,36,30,.1); border-top:1px solid rgba(227,206,170,.24); }
  #poster-dialog .dialog-header h2 { font-size:23px; line-height:1.3; }
  #poster-dialog .dialog-header { padding:18px; gap:14px; }
  #poster-dialog .dialog-header button { white-space:nowrap; }
}
@media(max-width:375px) {
  .wrap { width:calc(100% - 36px); }
  .hero-title { font-size:48px; }
  .hero-visual { height:413px; }
  .hero-caption>strong { font-size:25px; }
  .hero-actions { gap:17px; }
  .hero-actions .button { padding-inline:16px; font-size:10px; }
  h2,.section-head h2,.books-intro-copy h2 { font-size:36px; }
  .community-card { padding-inline:22px; }
  .community-card .button { gap:13px; font-size:10px; }
  .tuition-overview article { padding-inline:18px; }
  .tuition-overview article>strong { font-size:30px; }
  .tuition-overview b { font-size:13px; }
  .tuition-overview div>span { font-size:11px; }
  .book-image { height:295px; }
  .book-body>h3 { font-size:25px; }
  .final-cta .button { font-size:10px; padding-inline:16px; gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .button:before,.book-image:after { display:none; }
  .button,.text-link,.nav>a,.path-button,.filter-button,.book-image,.book-image>img,.button>span { transition:none; }
  .button:hover,.button:hover>span,.book-image:hover>img { transform:none; }
  .hero-visual .orbit,.ticker>div { animation:none; }
}
/* Legibility across pale paper and dark green surfaces. */
:root { --muted:#5d6861; --gold-text:#876038; }
.eyebrow,.section-head>p.eyebrow,.book-group,.model-body>.model-label { color:var(--gold-text); }
.hero-title em,.section-head h2 em,.tea-copy h2 em,.faq-tools h2 em,.books-intro-copy h2 em { color:var(--gold-text); }
.community .eyebrow,.community .section-head>p.eyebrow,.community .section-head h2 em { color:#d5b27c; }
.community .community-number { color:var(--gold-light); }
.final-cta .eyebrow { color:var(--ink); }
.final-cta h2 em { color:var(--ink); }
.final-cta { isolation:isolate; }
.final-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.75; z-index:0; pointer-events:none; }
.final-cta:before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(198,163,106,.3),rgba(209,183,137,.68) 35%,rgba(209,183,137,.68) 65%,rgba(198,163,106,.3)); z-index:1; pointer-events:none; }
.final-cta>.wrap { position:relative; z-index:2; }
#poster-dialog .dialog-header { position:sticky; top:0; z-index:3; background:var(--paper-light); box-shadow:0 2px 12px rgba(17,36,30,.07); }
#poster-dialog .dialog-header button { min-width:44px; min-height:44px; }
@media(max-width:640px) {
  .final-art { opacity:.3; object-position:center; }
  .final-cta:before { background:linear-gradient(180deg,rgba(209,183,137,.26),rgba(195,161,106,.56)); }
}

.dialog-note{padding:22px 28px;font-size:13px;line-height:1.85;color:var(--muted)}.dialog-note:empty{display:none}

.payment-terms{font-size:12px;color:var(--muted);margin:12px 0 26px}
/* A quiet emerald stage for the commissioned brass artwork. */
.final-cta{background:#11241e;color:#f5f0e5}
.final-art{opacity:.88;object-position:center}
.final-cta:before{background:linear-gradient(90deg,rgba(8,27,20,.74),rgba(8,27,20,.54) 52%,rgba(8,27,20,.16))}
.final-cta .eyebrow,.final-cta h2 em{color:#d9bc86}
.final-cta p{color:#e2e4d8}
.final-cta .button.gold{background:#c2a26c;border-color:#c2a26c;color:#11241e}
.final-cta .text-link{color:#f1e8d6;border-color:#c2a26c}
@media(max-width:640px){.final-art{opacity:.62;object-position:65% center}.final-cta:before{background:rgba(8,27,20,.57)}}
