/* Final clarity layer: quiet motion, accountable profiles and readable decisions. */
:root{--final-rule:#92a18466;--final-ink:#274e37;--final-muted:#53684d}
.program-page .program-section{padding-block:64px}
.program-page .program-section-head{margin-bottom:29px}
.program-page .program-card,.program-page .program-questions,.program-page .program-timeline>article{box-shadow:none;background-image:none}
.program-page p.program-independence{font-size:16px;line-height:1.8;margin-top:25px;color:#566d4e;padding-top:20px;border-top:1px solid var(--final-rule)}
.program-workflow,.program-role-grid{display:grid;gap:20px;margin-top:26px}
.program-workflow{grid-template-columns:repeat(3,minmax(0,1fr))}
.program-workflow>article,.program-role-grid>article{min-width:0;border:1px solid var(--final-rule);padding:25px;background:#edf1e6}
.program-workflow h3,.program-role-grid h3{font:400 26px/1.3 var(--serif);letter-spacing:-.02em;color:var(--final-ink);margin-bottom:14px}
.program-workflow p,.program-role-grid p{font-size:16px;line-height:1.85;color:var(--final-muted)}
.program-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.program-role-grid>article{background:#f4f4e9}
.program-role-grid>article:nth-child(2),.program-role-grid>article:nth-child(3){background:#eaf0e6}
.program-page .program-role-grid .eyebrow{font-size:12px;letter-spacing:.065em;line-height:1.7;color:#6a7848;margin-bottom:19px}
.program-page .program-role-note{font-size:16px;line-height:1.85;color:#526b4b;margin:24px 0 27px;padding:17px 20px;border-left:2px solid #889b65;background:#e8ecde}
.mentor-profile{margin-top:25px;padding:30px;border:1px solid #8a9b7877;background:#173e2d;color:#dae7cc}
.mentor-profile>h3{font:400 34px/1.25 var(--serif);letter-spacing:-.025em;color:#f0efd7;margin-bottom:24px}
.program-page .mentor-profile>.eyebrow{font-size:12px;line-height:1.7;letter-spacing:.075em;color:#c4d2a0;margin-bottom:17px}
.mentor-profile>dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 22px}
.mentor-profile>dl>div{min-width:0}
.mentor-profile dt{font-size:13px;line-height:1.8;color:#b8c8aa;margin-bottom:10px}
.mentor-profile dd{font-size:16px;line-height:1.8;color:#dfebd1;margin:0}
.program-page .mentor-profile>p:not(.eyebrow){font-size:16px;line-height:1.85;color:#c5d8b9;padding-top:20px;border-top:1px solid #9cb38955}
.program-case-note{padding:28px;border:1px solid #a2a58088;background:#ece9dc}
.program-page .program-case-note .eyebrow{font-size:12px;line-height:1.75;letter-spacing:.065em;color:#746637;margin-bottom:21px}
.program-case-note p{font-size:16px;line-height:1.85;color:#546b4b;margin-bottom:20px;max-width:900px}
.program-case-note .text-link{font-size:16px;min-height:44px;display:inline-flex;align-items:center;line-height:1.75;white-space:normal}
.service-reciprocity{padding:30px;border:1px solid #8f9f7e88;background:#f5f4e9;min-width:0}
.service-reciprocity h3{font:400 30px/1.3 var(--serif);letter-spacing:-.025em;color:var(--final-ink);margin-bottom:20px}
.service-reciprocity p{font-size:16px;line-height:1.85;color:var(--final-muted)}
.service-reciprocity p+p{margin-top:19px}
.program-page .program-fee>p+p{margin-top:19px}
.program-dossier-note{display:flex;align-items:center;gap:28px;justify-content:space-between;padding:23px 0;border-top:1px solid var(--final-rule);margin-top:27px}
.program-dossier-note p{font-size:16px;line-height:1.85;color:var(--final-muted);max-width:770px}
.program-dossier-note .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:16px;line-height:1.7;white-space:normal;flex-shrink:0}
.program-page .program-admission p{font-size:16px;line-height:1.85;color:var(--final-muted);margin-top:20px}
.program-faq{border-top:1px solid var(--final-rule)}
.program-faq>details{border-bottom:1px solid var(--final-rule)}
.program-faq>details>summary{display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;cursor:pointer;padding:20px 0;min-height:60px;font-size:18px;line-height:1.75;font-weight:500;color:var(--final-ink)}
.program-faq>details>summary:after{content:'+';font-size:24px;font-weight:400;color:#73834f;flex-shrink:0}
.program-faq>details[open]>summary:after{content:'−'}
.program-faq>details>summary::-webkit-details-marker{display:none}
.program-faq>details>p{font-size:16px;line-height:1.9;max-width:960px;color:var(--final-muted);padding:0 0 24px}
.program-meeting{padding:32px;background:#e6edda;border:1px solid #8d9e7788}
.program-page .program-meeting-lead{font:400 27px/1.4 var(--serif);letter-spacing:-.02em;color:#33573b;margin-bottom:24px}
.program-meeting p{font-size:16px;line-height:1.85;color:var(--final-muted);max-width:900px}
.program-meeting p+p{margin-top:19px}
.program-meeting .button{font-size:16px;min-height:57px;margin-top:26px;line-height:1.65;white-space:normal;max-width:100%;text-align:center}
.program-page .program-chapter-nav{row-gap:5px;column-gap:21px}
.program-page .program-chapter-nav>a{font-size:16px;min-height:44px}
.program-page .program-timeline+.program-card{margin-top:22px}
/* Responsive tables may be paired with a labelled card view. */
.gs-matrix,.gs-transparency,.transparency-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.8;background:#f4f4e9;color:#38573b}
.gs-matrix th,.gs-matrix td,.gs-transparency th,.gs-transparency td,.transparency-table th,.transparency-table td{padding:18px 20px;text-align:left;vertical-align:top;border:1px solid #93a18177;overflow-wrap:anywhere}
.gs-matrix thead,.gs-transparency thead,.transparency-table thead{background:#214733;color:#efefd8}
.gs-matrix tbody th,.gs-transparency tbody th,.transparency-table tbody th{font-weight:500;background:#e5ebdb;color:#355238}
.matrix-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.matrix-card-grid>article{padding:28px;background:#edf0e3;border:1px solid #91a17d77;min-width:0}
.matrix-card-grid h3{font:400 29px/1.3 var(--serif);color:var(--final-ink);margin-bottom:22px}
.matrix-card-grid dl{margin:0}
.matrix-card-grid dl>div{padding:15px 0;border-top:1px solid var(--final-rule)}
.matrix-card-grid dt{font-weight:500;font-size:16px;color:#35573d;margin-bottom:8px}
.matrix-card-grid dd{margin:0;font-size:16px;line-height:1.8;color:var(--final-muted)}
/* Motion becomes accent rather than a perpetual call for attention. */
.button.gold,.hero-scene,.hero-aurora,.hero-visual .orbit{animation:none!important}
.hero-visual .orbit{opacity:.72}
.program-page .button:hover,.info-page .button:hover{transform:none;filter:none;box-shadow:none}
.program-page .button:focus-visible,.program-page .text-link:focus-visible,.program-faq summary:focus-visible,.program-policy summary:focus-visible,.mentor-profile a:focus-visible{outline:3px solid #738b43;outline-offset:4px}
@media(max-width:1000px){.mentor-profile>dl{grid-template-columns:1fr;gap:18px}.mentor-profile>dl>div+div{padding-top:16px;border-top:1px solid #9cb38944}.program-dossier-note{flex-direction:column;align-items:flex-start;gap:17px}.program-workflow{gap:15px}.program-workflow>article{padding:23px}}
@media(max-width:768px){.program-page .program-section{padding-block:49px}.program-workflow{grid-template-columns:1fr}.program-role-grid{gap:17px}.program-role-grid>article{padding:24px}.gs-matrix th,.gs-matrix td,.gs-transparency th,.gs-transparency td,.transparency-table th,.transparency-table td{padding:14px 13px}.matrix-card-grid{gap:17px}}
@media(max-width:640px){
 .program-role-grid,.matrix-card-grid{grid-template-columns:1fr}
 .program-page .program-section{padding-block:43px}
 .program-page .program-section-head h2{font-size:34px;line-height:1.24;overflow-wrap:normal}
 .program-page .program-section-head{margin-bottom:25px}
 .program-page .program-hero h1{font-size:43px;line-height:1.16}
 .program-workflow h3,.program-role-grid h3{font-size:26px}
 .program-page .program-role-note{padding:18px;font-size:16px}
 .mentor-profile{padding:25px}
 .mentor-profile>h3{font-size:31px}
 .mentor-profile dt{font-size:16px}
 .program-case-note,.service-reciprocity,.program-meeting,.matrix-card-grid>article{padding:25px}
 .program-page .program-meeting-lead{font-size:25px;line-height:1.5}
 .program-faq>details>summary{font-size:17px;padding-block:18px;gap:18px}
 .program-faq>details>p{font-size:16px}
 .program-dossier-note p,.program-dossier-note .text-link{font-size:16px}
 .program-meeting .button{font-size:16px;width:100%;justify-content:center}
 .program-page .program-hero-actions>.button{width:100%;justify-content:center;white-space:normal;text-align:center;font-size:16px;line-height:1.65}
 .program-page .program-hero-actions{align-items:stretch}
 .program-page .program-hero-actions>.text-link{align-self:flex-start;white-space:normal}
 .matrix-card-grid dt,.matrix-card-grid dd{font-size:16px}
 .gs-matrix,.gs-transparency,.transparency-table{font-size:15px}
 .gs-matrix th,.gs-matrix td,.gs-transparency th,.gs-transparency td,.transparency-table th,.transparency-table td{padding:13px 10px;line-height:1.8}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Gold is the restrained action accent across the Academy. */
.academy-home .button.gold,.academy-home .sticky-actions a:first-child{background:#dcc080!important;color:#173226!important;border-color:#dcc080!important;background-image:none!important}
.academy-home .button.gold:hover{background:#ead5a4!important;border-color:#ead5a4!important;box-shadow:none!important;filter:none!important;transform:translateY(-2px)}
.academy-home .button.gold:before,.academy-home .button.gold:after{display:none}
.academy-home .hero-aurora,.academy-home .orbit,.academy-home .hero-scene{animation:none!important}
#faq-clear{min-width:44px;min-height:44px}
.mentor-photo{width:120px;height:120px;object-fit:cover;display:block;margin-bottom:20px}
.legal-entity{margin-top:24px;padding-top:20px;border-top:1px solid currentColor;font-size:15px;line-height:1.8}
.legal-entity dl{margin:0}.legal-entity dt{font-weight:600}.legal-entity dd{margin:0 0 14px}
@media(max-width:640px){.academy-home .sticky-actions a{font-size:14px;line-height:1.5;min-height:52px}.academy-home .funnel-special>.button{margin-top:18px}}
[hidden]{display:none!important}
/* Small labels meet normal-text contrast on the cream/green cards. */
.academy-home .home-short-grid .eyebrow,.academy-home .home-gateway .eyebrow,.academy-home .academy-programs .eyebrow,.academy-home .path-button small{color:#4f603d!important}
.academy-home .path-button.active small,.academy-home .path-button[aria-pressed=true] small{color:#d5dfbd!important}
.program-page .program-hero .eyebrow,.program-page .program-section-head .eyebrow,.program-page .program-role-grid .eyebrow,.program-page .program-number,.program-page .brand-text small{color:#4f603d!important}
.program-page .program-card .eyebrow,.program-page .ecosystem .eyebrow,.program-page .model-label,.program-page .model-details p,.program-page .academy-guide-role{color:#4f603d!important}
.program-page .academy-guides article:first-child .academy-guide-role{color:#d5dfbd!important}
.program-page .tea-photo>span{background:#112b22;padding:8px 12px;color:#f3efdc}
.program-page .program-output-list .program-number{color:#d5dfbd!important}
.program-page [id^="case-00"] .eyebrow{color:#4f603d!important}

/* Book introductions: concise cards, expanded editorial context. */
.book-body .book-hook{font-size:17px;line-height:1.55;font-weight:600;color:#244438;margin:14px 0 18px;}
.book-body details{font-size:16px;line-height:1.8;color:#34483c;}
.book-body details summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:600;}
.book-body details p{margin:16px 0;}
.book-body details ul{padding-left:22px;margin:12px 0 20px;}
.book-body details li{margin:10px 0;}
.book-body details small{display:block;font-size:13px;line-height:1.7;color:#526354;}
@media(max-width:640px){.book-body .book-hook{font-size:17px;}.book-body details{font-size:16px;}}

/* Quick support: above the existing mobile action bar, with accessible labels. */
.quick-chat{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:24px;z-index:45;display:flex;flex-direction:column;gap:10px}
.quick-chat a{display:flex;align-items:center;gap:9px;min-height:48px;padding:11px 16px 11px 12px;border:1px solid #ffffff80;border-radius:28px;color:#fff;background:#0759c7;box-shadow:0 5px 20px #071a2d30;font:600 14px/1.4 "Be Vietnam Pro",sans-serif;text-decoration:none;transition:transform .2s,box-shadow .2s}
.quick-chat .quick-chat-facebook{background:#1745b8}.quick-chat svg{width:24px;height:24px;flex:none}
.quick-chat a:hover{transform:translateY(-3px);box-shadow:0 8px 26px #071a2d50}.quick-chat a:focus-visible{outline:3px solid #e6bc63;outline-offset:4px}
@media(max-width:900px){.quick-chat{right:max(12px,env(safe-area-inset-right));bottom:calc(106px + env(safe-area-inset-bottom));gap:8px}.quick-chat a{min-height:44px;padding:9px 12px;font-size:12px;gap:6px}.quick-chat svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.quick-chat a{transition:none}.quick-chat a:hover{transform:none}}
@media print{.quick-chat{display:none}}
