:root {
    --green-900: #173f22;
    --green-800: #245c2c;
    --green-700: #317a32;
    --green-50: #f3f8f1;
    --orange-500: #eea510;
    --orange-100: #fff0cb;
    --ink: #18211b;
    --muted: #607066;
    --line: #dfe7df;
    --paper: #ffffff;
    --canvas: #f8faf6;
    --shadow: 0 24px 70px rgba(23, 63, 34, .12);
    --radius-md: 20px;
    --shell: 1280px;
    --section-space: clamp(62px, 6vw, 82px);
    --section-gap: clamp(28px, 3vw, 40px);
    --card-space: clamp(18px, 2vw, 24px);
}

/* PUBLIC 6A.8: CMS labels stay contained without changing the shared menu source. */
.desktop-nav a{max-width:22ch;overflow:hidden;text-overflow:ellipsis}
.mobile-nav-panel nav a,.site-footer nav a{overflow-wrap:anywhere}

/* PUBLIC 3: verified results and public gallery */
.results-feature{padding:1rem 0 4.8rem;background:linear-gradient(180deg,#f6f2e8 0%,#fff 100%)}
.results-feature-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(2rem,6vw,5.5rem);align-items:center}
.results-feature h2{font-size:clamp(2rem,4vw,4.25rem);line-height:1.02;margin:.55rem 0 1rem;max-width:14ch}.results-feature img{width:100%;height:clamp(280px,38vw,520px);object-fit:cover;border-radius:2px}
.result-value{display:block;color:var(--green);font-size:clamp(1.55rem,3vw,2.65rem);margin:.7rem 0}.result-category{padding:1.5rem 0 4rem;border-top:1px solid #d9d5ca}.result-category:first-child{border-top:0}
.result-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}.result-highlights article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1.25rem;padding:1.6rem 0;border-bottom:1px solid #e2dfd7;align-items:start}.result-highlights article h3{font-size:1.4rem;margin:.25rem 0 .55rem}.result-highlights article>strong{font-size:1.25rem;color:var(--green)}.result-highlights article>.text-link{grid-column:1/-1}
.result-media-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.result-media-strip img{width:100%;aspect-ratio:4/3;object-fit:cover}.result-media-strip figcaption{padding:.65rem 0;color:#62665f}
.gallery-category{padding:1rem 0 4rem}.gallery-listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,4.5rem)}.gallery-listing-grid article:nth-child(even){margin-top:4.5rem}.gallery-cover{display:block;position:relative;overflow:hidden;background:#ece9df}.gallery-cover img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}.gallery-cover:hover img{transform:scale(1.025)}.gallery-cover span{position:absolute;right:.8rem;bottom:.8rem;background:rgba(21,43,26,.9);color:#fff;padding:.4rem .7rem;font-size:.78rem}.gallery-listing-grid h3{font-size:clamp(1.45rem,2.4vw,2rem);margin:.4rem 0}.gallery-intro{padding:3.5rem 0 1rem}.gallery-intro .public-prose{max-width:780px}
.gallery-detail-section{padding:2rem 0 6rem}.gallery-mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.gallery-mosaic figure{grid-column:span 4}.gallery-mosaic figure:nth-child(5n+1),.gallery-mosaic figure:nth-child(5n+4){grid-column:span 7}.gallery-mosaic figure:nth-child(5n+2),.gallery-mosaic figure:nth-child(5n+5){grid-column:span 5}.gallery-mosaic button{display:block;width:100%;padding:0;border:0;background:#ece9df;cursor:zoom-in}.gallery-mosaic img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-mosaic figcaption{padding:.6rem 0;color:#64675f;font-size:.9rem}
.gallery-lightbox[hidden]{display:none}.gallery-lightbox{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;background:rgba(9,16,11,.96);padding:4rem 2rem 2rem}.gallery-lightbox figure{margin:0;text-align:center;max-height:100%}.gallery-lightbox img{max-width:100%;max-height:calc(100vh - 9rem);object-fit:contain}.gallery-lightbox figcaption{color:#fff;padding:.8rem}.lightbox-close,.lightbox-nav{border:0;background:rgba(255,255,255,.12);color:#fff;width:48px;height:48px;font-size:2rem;cursor:pointer;border-radius:50%}.lightbox-close{position:absolute;right:1.5rem;top:1.2rem}.lightbox-next{justify-self:end}.has-lightbox{overflow:hidden}
@media(max-width:760px){.results-feature-grid{grid-template-columns:1fr}.results-feature img{order:-1;height:250px}.result-highlights,.gallery-listing-grid,.result-media-strip{grid-template-columns:1fr}.gallery-listing-grid article:nth-child(even){margin-top:0}.result-highlights article{grid-template-columns:1fr}.result-highlights article>.text-link{grid-column:auto}.gallery-mosaic{gap:.65rem}.gallery-mosaic figure,.gallery-mosaic figure:nth-child(n){grid-column:span 6}.gallery-lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:4rem .5rem 1rem}.lightbox-close,.lightbox-nav{width:42px;height:42px}.gallery-lightbox img{max-height:calc(100vh - 10rem)}}
@media(prefers-reduced-motion:reduce){.gallery-cover img{transition:none}}

.team-placeholder img { width:100%; height:100%; object-fit:cover; }
.course-card-image { width:calc(100% + 48px); height:170px; margin:-24px -24px 18px; object-fit:cover; }
.result-card-image { width:calc(100% + 48px); height:180px; margin:-24px -24px 20px; object-fit:cover; }
.process-item-icon { width:24px; height:24px; display:grid; place-items:center; border-radius:7px; color:var(--green-700,#317a32); background:rgba(49,122,50,.1); font-style:normal; font-size:11px; font-weight:900; }
.process-icon-groups::before { content:"•••"; letter-spacing:-2px; }.process-icon-approach::before { content:"↗"; }.process-icon-teachers::before { content:"A"; }.process-icon-results::before { content:"✓"; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, summary { font: inherit; }
.site-shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }

.site-header { position: relative; z-index: 20; background: rgba(255, 255, 255, .98); border-bottom: 1px solid var(--line); }
.header-utility { color: rgba(255, 255, 255, .86); background: var(--green-900); font-size: 13px; letter-spacing: .02em; }
.utility-inner { min-height: 40px; display: flex; align-items: center; justify-content: space-between; }
.utility-inner p { margin: 0; }
.utility-actions { display: flex; align-items: center; gap: 24px; }
.phone-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #fff; }
.phone-link svg, .mobile-phone svg, .button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.student-login { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 20px; border-radius: 999px; background: var(--orange-500); color: #251900; font-size: 13px; font-weight: 800; transition: transform .2s ease, background .2s ease; }
.student-login:hover { transform: translateY(-1px); background: #f6b426; }
.utility-login { min-height: 30px; padding-inline: 16px; }
.header-main { min-height: 98px; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.brand { flex: 0 0 auto; }
.brand img { width: 154px; height: auto; }
.desktop-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(14px, 1.4vw, 24px); font-size: 14px; font-weight: 650; white-space: nowrap; }
.desktop-nav a { position: relative; padding: 38px 0 35px; color: #344039; transition: color .2s ease; }
.desktop-nav a::after { position: absolute; right: 0; bottom: 25px; left: 0; height: 2px; content: ""; background: var(--orange-500); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.desktop-nav a:hover, .desktop-nav a.is-active { color: var(--green-800); }
.desktop-nav a:hover::after, .desktop-nav a.is-active::after { transform: scaleX(1); }
.mobile-header-actions { display: none; align-items: center; gap: 10px; }
.mobile-phone { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%; color: var(--green-800); }
.mobile-nav { position: relative; }
.mobile-nav summary { width: 46px; height: 46px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; list-style: none; border-radius: 50%; background: var(--green-800); cursor: pointer; }
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav summary span { width: 19px; height: 2px; border-radius: 2px; background: #fff; }
.mobile-nav-panel { position: absolute; top: 58px; right: 0; width: min(330px, calc(100vw - 40px)); padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.mobile-nav-panel nav { display: grid; }
.mobile-nav-panel nav a { padding: 9px 4px; border-bottom: 1px solid #eef2ed; font-weight: 650; }
.mobile-nav-panel nav a.is-active { color: var(--green-700); }
.mobile-nav-panel .student-login { width: 100%; margin-top: 18px; }
.mobile-menu-phone { display: block; padding: 15px 0 0; text-align: center; color: var(--green-800); font-weight: 800; }

.hero { position: relative; overflow: hidden; background: var(--canvas); }
.hero-grid { min-height: 668px; display: grid; grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr); align-items: center; gap: clamp(50px, 7vw, 104px); padding-block: 74px 82px; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { margin: 0 0 20px; display: flex; align-items: center; gap: 12px; color: var(--green-700); font-size: 13px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow > span { width: 34px; height: 2px; background: var(--orange-500); }
.hero h1,.hero .hero-heading { max-width: 680px; margin: 0; font-size: clamp(54px, 5.2vw, 78px); line-height: .99; letter-spacing: -.055em; font-weight: 820; }
.hero h1 span,.hero .hero-heading span { color: var(--green-700); }
.hero h1 .hero-title-plain,.hero .hero-heading .hero-title-plain { color: inherit; }
.hero-lead { max-width: 610px; margin: 28px 0 0; color: var(--muted); font-size: 18px; line-height: 1.72; }
.hero-actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 12px; }
.button { min-height: 54px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; border-radius: 999px; font-size: 15px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--green-800); color: #fff; box-shadow: 0 12px 28px rgba(36, 92, 44, .18); }
.button-primary:hover { background: var(--green-900); box-shadow: 0 16px 32px rgba(36, 92, 44, .23); }
.button-secondary { border: 1px solid #b7c7ba; background: rgba(255,255,255,.7); color: var(--green-900); }
.button-secondary:hover { background: #fff; }
.trust-line { margin: 28px 0 0; display: flex; align-items: center; gap: 12px; color: #667269; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.trust-line i { width: 4px; height: 4px; border-radius: 50%; background: var(--orange-500); }
.hero-visual { position: relative; min-width: 0; }
.hero-image-frame { position: relative; overflow: hidden; aspect-ratio: 1.12 / 1; border-radius: 140px 28px 28px 28px; background: #dfe7df; box-shadow: var(--shadow); }
.hero-image-frame::after { position: absolute; inset: 0; content: ""; box-shadow: inset 0 0 0 1px rgba(255,255,255,.4); pointer-events: none; }
.hero-image-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-note { position: absolute; bottom: -24px; left: -42px; min-width: 248px; display: flex; align-items: center; gap: 14px; padding: 18px 22px; border: 1px solid rgba(36, 92, 44, .08); border-radius: 18px; background: #fff; box-shadow: 0 18px 44px rgba(23,63,34,.16); }
.hero-note-mark { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--orange-100); color: #9b6500; }
.hero-note-mark svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.hero-note p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.hero-note strong { color: var(--ink); font-size: 15px; }
.hero-accent { position: absolute; right: -20px; bottom: -28px; width: 106px; height: 106px; border: 18px solid var(--orange-500); border-radius: 50%; z-index: -1; }
.hero-orbit { position: absolute; border: 1px solid rgba(49,122,50,.12); border-radius: 50%; }
.hero-orbit-one { width: 420px; height: 420px; top: -265px; left: -130px; }
.hero-orbit-two { width: 160px; height: 160px; right: 4%; bottom: -110px; }

.why-section { padding: 110px 0 124px; background: #fff; }
.section-heading { margin-bottom: 48px; display: grid; grid-template-columns: 1fr 410px; align-items: end; gap: 50px; }
.section-heading .eyebrow { margin-bottom: 14px; }
.section-heading h2 { margin: 0; font-size: clamp(38px, 4vw, 58px); line-height: 1.08; letter-spacing: -.04em; }
.section-heading h2 span { color: var(--green-700); }
.section-heading > p { margin: 0 0 5px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.feature-card { min-height: 310px; padding: 28px 26px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.feature-card:hover { transform: translateY(-5px); border-color: #c6d8c5; box-shadow: 0 22px 48px rgba(23,63,34,.09); }
.feature-card-topline { display: flex; align-items: center; justify-content: space-between; }
.feature-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; background: var(--green-50); color: var(--green-700); }
.feature-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.feature-number { color: #64705f; font-size: 13px; font-weight: 850; letter-spacing: .08em; }
.feature-card h3 { margin: 44px 0 12px; font-size: 21px; line-height: 1.2; letter-spacing: -.02em; }
.feature-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.68; }

.section-heading-centered { align-items: center; }
.heading-action { display: grid; justify-items: start; gap: 16px; }
.heading-action p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--green-800); font-size: 14px; font-weight: 850; }
.text-link span { color: var(--orange-500); transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }

.courses-section { padding: 116px 0 126px; background: var(--canvas); }
.course-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.course-card { min-height: 250px; display: flex; flex-direction: column; padding: 26px; border: 1px solid #e0e8df; border-radius: var(--radius-md); background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.course-card:hover { transform: translateY(-4px); border-color: #c8d9c6; box-shadow: 0 20px 44px rgba(23,63,34,.08); }
.course-code { width: fit-content; min-width: 46px; padding: 6px 10px; border-radius: 999px; background: var(--green-50); color: var(--green-700); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-align: center; }
.course-card > div { margin-top: 28px; }
.course-card h3 { margin: 0 0 9px; font-size: 20px; line-height: 1.25; letter-spacing: -.02em; }
.course-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.course-card a { margin-top: auto; padding-top: 22px; display: inline-flex; align-items: center; gap: 9px; color: var(--green-800); font-size: 13px; font-weight: 850; }
.course-card a span { color: var(--orange-500); }

.process-section { padding: 116px 0 124px; overflow: hidden; background: #fff; }
.process-heading { margin-bottom: 58px; }
.process-list { position: relative; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); list-style: none; }
.process-list::before { position: absolute; top: 31px; right: 7%; left: 7%; height: 1px; content: ""; background: #cbd8cc; }
.process-list li { position: relative; display: grid; justify-items: center; gap: 18px; padding-inline: 10px; text-align: center; }
.process-list li:not(:last-child)::after { position: absolute; top: 27px; right: -5px; width: 9px; height: 9px; content: ""; border-top: 2px solid var(--orange-500); border-right: 2px solid var(--orange-500); transform: rotate(45deg); }
.process-list span { position: relative; z-index: 1; width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid #cad9cb; border-radius: 50%; background: #fff; color: var(--green-700); font-size: 13px; font-weight: 900; box-shadow: 0 8px 24px rgba(23,63,34,.06); }
.process-list strong { max-width: 150px; font-size: 14px; line-height: 1.45; }
.process-list small { max-width: 170px; color: var(--muted); font-size: 11px; line-height: 1.45; }

.team-section { padding: 116px 0 126px; background: var(--green-50); }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.team-card { overflow: hidden; border: 1px solid #dce7db; border-radius: 24px; background: #fff; }
.team-placeholder { position: relative; height: 238px; display: grid; place-items: center; overflow: hidden; background: #e5efe3; }
.team-placeholder::before, .team-placeholder::after { position: absolute; content: ""; border-radius: 50%; }
.team-placeholder::before { width: 210px; height: 210px; top: -100px; right: -70px; border: 36px solid rgba(238,165,16,.22); }
.team-placeholder::after { width: 170px; height: 170px; bottom: -100px; left: -60px; background: rgba(49,122,50,.1); }
.team-placeholder span { position: relative; z-index: 1; width: 98px; height: 98px; display: grid; place-items: center; border: 1px solid rgba(49,122,50,.2); border-radius: 50%; background: rgba(255,255,255,.74); color: var(--green-800); font-size: 30px; font-weight: 850; letter-spacing: -.04em; backdrop-filter: blur(6px); }
.team-placeholder i { position: absolute; right: 18px; bottom: 18px; width: 12px; height: 12px; border-radius: 50%; background: var(--orange-500); box-shadow: 0 0 0 7px rgba(238,165,16,.16); }
.team-card-copy { padding: 24px 23px 26px; }
.team-subject { margin: 0 0 7px !important; color: var(--green-700) !important; font-size: 11px !important; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.team-card h3 { margin: 0 0 12px; font-size: 21px; letter-spacing: -.02em; }
.team-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.68; }

.results-section { position: relative; padding: 116px 0 126px; overflow: hidden; color: #fff; background: var(--green-900); }
.results-section::before { position: absolute; width: 500px; height: 500px; top: -340px; right: -120px; content: ""; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.results-heading { position: relative; margin-bottom: 50px; display: grid; grid-template-columns: 1fr 440px; align-items: end; gap: 60px; }
.results-heading h2 { margin: 0; font-size: clamp(40px, 4vw, 58px); line-height: 1.08; letter-spacing: -.045em; }
.results-heading h2 span { color: #ffc343; }
.results-heading > p { margin: 0 0 6px; color: rgba(255,255,255,.67); font-size: 16px; line-height: 1.75; }
.eyebrow-light { color: #d9ead7; }
.results-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.results-grid article { min-height: 265px; padding: 30px 26px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.results-grid article > span { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.1); color: #ffc343; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.results-grid h3 { margin: 62px 0 12px; font-size: 20px; letter-spacing: -.02em; }
.results-grid p { margin: 0; color: rgba(255,255,255,.65); font-size: 14px; line-height: 1.7; }
.results-cta { margin-top: 28px; color: #fff; }

.gallery-section { padding: 116px 0 126px; background: #fff; }
.gallery-grid { display: grid; grid-template-columns: 1.35fr .78fr .78fr; grid-template-rows: 520px; gap: 16px; }
.gallery-grid figure { position: relative; margin: 0; overflow: hidden; border-radius: 22px; background: #e8ece7; }
.gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.gallery-grid figure:hover img { transform: scale(1.025); }
.gallery-grid figcaption { position: absolute; right: 16px; bottom: 16px; left: 16px; padding: 12px 15px; border-radius: 12px; background: rgba(23,63,34,.84); color: #fff; font-size: 12px; font-weight: 750; backdrop-filter: blur(8px); }
.gallery-wide img { object-position: center; }

.placeholder-section { padding: 0 0 126px; background: #fff; }
.placeholder-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.placeholder-grid article { position: relative; min-height: 390px; padding: 44px; overflow: hidden; border: 1px solid var(--line); border-radius: 28px; }
.placeholder-grid .eyebrow { margin: 70px 0 15px; }
.placeholder-grid h2 { max-width: 510px; margin: 0 0 18px; font-size: 36px; line-height: 1.15; letter-spacing: -.035em; }
.placeholder-grid article > p:not(.eyebrow) { max-width: 490px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.review-placeholder { background: var(--canvas); }
.placeholder-icon { position: absolute; top: 36px; right: 38px; width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--green-700); font-size: 29px; font-weight: 900; box-shadow: 0 12px 30px rgba(23,63,34,.09); }
.placeholder-status { position: absolute; right: 44px; bottom: 38px; left: 44px; padding-top: 16px; border-top: 1px solid #dce5dc; color: #869189; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.schedule-placeholder { background: #fff8e8; }
.schedule-mark { position: absolute; top: 36px; right: 38px; width: 68px; height: 68px; padding: 18px 14px; display: grid; gap: 6px; border-radius: 20px; background: var(--orange-500); }
.schedule-mark span { height: 3px; border-radius: 3px; background: rgba(36,25,0,.65); }
.schedule-placeholder .text-link { position: absolute; bottom: 38px; left: 44px; }

.final-cta { padding: 90px 0; color: #fff; background: var(--green-700); }
.final-cta-inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 70px; }
.final-cta h2 { max-width: 740px; margin: 0; font-size: clamp(38px, 4vw, 58px); line-height: 1.1; letter-spacing: -.045em; }
.final-cta-actions { min-width: 290px; display: grid; gap: 10px; }
.button-light { background: #fff; color: var(--green-900); }
.button-outline-light { border: 1px solid rgba(255,255,255,.55); color: #fff; }
.cta-phone { padding: 8px 0 0; text-align: center; color: #fff; font-size: 16px; font-weight: 850; }

.site-footer { padding: 78px 0 0; color: rgba(255,255,255,.7); background: #102c19; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .75fr 1.25fr .75fr; gap: 70px; padding-bottom: 68px; }
.footer-brand img { width: 170px; height: auto; margin: -30px 0 -18px; filter: brightness(1.25); }
.footer-brand p { max-width: 310px; margin: 0; font-size: 14px; line-height: 1.75; }
.site-footer h2 { margin: 0 0 19px; color: #fff; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.site-footer nav { display: grid; gap: 9px; font-size: 14px; }
.site-footer nav a:hover { color: #ffc343; }
.site-footer address { margin: 0 0 15px; font-size: 14px; font-style: normal; line-height: 1.75; }
.footer-phone { color: #fff; font-size: 16px; font-weight: 850; }
.parking-note { margin: 10px 0 0; color: #ffc343; font-size: 12px; font-weight: 750; }
.footer-bottom { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; grid-auto-flow: column; gap: 24px; }
.footer-credit-line { display: flex; flex-wrap: wrap; gap: 5px; line-height: 1.65; }
.footer-credit-line a { color: rgba(255,255,255,.88); font-weight: 700; text-underline-offset: 3px; }
.footer-credit-line a:hover { color: #ffc343; }
.preview-bar { position: sticky; z-index: 100; top: 0; padding: 9px 18px; color: #fff; background: #9b6500; font-size: 11px; font-weight: 850; letter-spacing: .04em; text-align: center; }
.preview-bar a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1180px) {
    .desktop-nav { display: none; }
    .mobile-header-actions { display: flex; }
    .hero-grid { grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr); gap: 54px; }
    .feature-grid { grid-template-columns: repeat(2, 1fr); }
    .feature-card { min-height: 270px; }
    .process-list { grid-template-columns: repeat(3, 1fr); gap: 42px 0; }
    .process-list::before, .process-list li::after { display: none; }
    .team-grid, .results-grid { grid-template-columns: repeat(2, 1fr); }
    .gallery-grid { grid-template-columns: 1.2fr .8fr; grid-template-rows: 340px 340px; }
    .gallery-wide { grid-row: 1 / span 2; }
    .footer-grid { grid-template-columns: 1.2fr .8fr 1fr; gap: 44px; }
    .footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 820px) {
    .site-shell { width: min(calc(100% - 32px), var(--shell)); }
    .header-utility { display: none; }
    .header-main { min-height: 80px; }
    .brand img { width: 132px; }
    .hero-grid { min-height: 0; grid-template-columns: 1fr; gap: 48px; padding-block: 58px 72px; }
    .hero-copy { max-width: 660px; }
    .hero h1 { font-size: clamp(50px, 10vw, 72px); }
    .hero-visual { width: calc(100% - 18px); margin-left: auto; }
    .hero-image-frame { aspect-ratio: 1.36 / 1; border-radius: 100px 24px 24px; }
    .hero-note { left: -18px; bottom: -24px; }
    .section-heading { grid-template-columns: 1fr; gap: 20px; }
    .section-heading > p { max-width: 570px; }
    .why-section { padding-block: 88px 96px; }
    .courses-section, .process-section, .team-section, .results-section, .gallery-section { padding-block: 88px 96px; }
    .course-grid { grid-template-columns: repeat(2, 1fr); }
    .results-heading { grid-template-columns: 1fr; gap: 22px; }
    .placeholder-section { padding-bottom: 96px; }
    .placeholder-grid { grid-template-columns: 1fr; }
    .final-cta-inner { grid-template-columns: 1fr; gap: 38px; }
    .final-cta-actions { width: min(100%, 420px); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid > div:last-child { grid-column: auto; }
    .footer-bottom { padding-block: 22px; align-items: flex-start; flex-direction: column; }
    .footer-bottom nav { display: flex; flex-wrap: wrap; }
    .footer-credit-line { max-width: 660px; }
}

@media (max-width: 560px) {
    .site-shell { width: min(calc(100% - 28px), var(--shell)); }
    .header-main { min-height: 74px; gap: 14px; }
    .brand img { width: 112px; }
    .mobile-phone { width: 40px; height: 40px; }
    .mobile-nav summary { width: 42px; height: 42px; }
    .mobile-nav-panel { top: 53px; }
    .hero-grid { gap: 38px; padding-block: 48px 66px; }
    .eyebrow { margin-bottom: 16px; font-size: 11px; letter-spacing: .1em; }
    .eyebrow > span { width: 25px; }
    .hero h1 { font-size: clamp(44px, 14vw, 61px); }
    .hero-lead { margin-top: 22px; font-size: 16px; line-height: 1.65; }
    .hero-actions { margin-top: 28px; display: grid; }
    .button { width: 100%; min-height: 52px; }
    .trust-line { flex-wrap: wrap; gap: 8px; font-size: 11px; }
    .hero-visual { width: calc(100% - 8px); }
    .hero-image-frame { aspect-ratio: .92 / 1; border-radius: 68px 20px 20px; }
    .hero-image-frame img { object-position: 58% center; }
    .hero-note { min-width: 214px; left: -8px; bottom: -28px; padding: 14px 16px; }
    .hero-note-mark { width: 36px; height: 36px; }
    .hero-accent { width: 76px; height: 76px; border-width: 13px; right: -12px; }
    .why-section { padding-block: 78px 82px; }
    .section-heading { margin-bottom: 34px; }
    .section-heading h2 { font-size: 39px; }
    .section-heading > p { font-size: 16px; }
    .feature-grid { grid-template-columns: 1fr; gap: 14px; }
    .feature-card { min-height: 0; padding: 24px; }
    .feature-card h3 { margin-top: 32px; }
    .courses-section, .process-section, .team-section, .results-section, .gallery-section { padding-block: 78px 82px; }
    .course-grid, .team-grid, .results-grid { grid-template-columns: 1fr; }
    .course-card { min-height: 230px; }
    .process-heading { margin-bottom: 42px; }
    .process-list { grid-template-columns: 1fr; gap: 14px; }
    .process-list li { min-height: 76px; grid-template-columns: 56px 1fr; align-items: center; justify-items: start; gap: 16px; padding: 0; text-align: left; }
    .process-list span { width: 54px; height: 54px; }
    .process-list strong { max-width: none; }
    .team-card { display: grid; grid-template-columns: 112px 1fr; }
    .team-placeholder { height: 100%; min-height: 210px; }
    .team-placeholder span { width: 68px; height: 68px; font-size: 22px; }
    .team-placeholder::before { width: 130px; height: 130px; }
    .team-card-copy { padding: 24px 19px; }
    .results-heading { margin-bottom: 34px; }
    .results-heading h2 { font-size: 39px; }
    .results-grid article { min-height: 220px; }
    .results-grid h3 { margin-top: 44px; }
    .gallery-grid { grid-template-columns: 1fr; grid-template-rows: 300px 360px 300px; }
    .gallery-wide { grid-row: auto; }
    .placeholder-section { padding-bottom: 82px; }
    .placeholder-grid article { min-height: 390px; padding: 30px 24px; }
    .placeholder-grid .eyebrow { margin-top: 64px; }
    .placeholder-grid h2 { font-size: 31px; }
    .placeholder-icon, .schedule-mark { top: 26px; right: 26px; }
    .placeholder-status { right: 24px; bottom: 28px; left: 24px; }
    .schedule-placeholder .text-link { bottom: 28px; left: 24px; }
    .final-cta { padding-block: 72px; }
    .final-cta h2 { font-size: 38px; }
    .footer-grid { grid-template-columns: 1fr; gap: 38px; }
    .footer-brand img { width: 150px; }
    .footer-bottom nav { gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* CMS completion — compact homepage density system */
main { overflow: clip; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--orange-500); outline-offset: 3px; }
.trust-line { margin-top: 20px; }
.why-section,.courses-section,.process-section,.team-section,.results-section,.gallery-section,.compact-content-section { padding-block: var(--section-space); }
.section-heading,.results-heading,.compact-section-heading { margin-bottom: var(--section-gap); gap: clamp(28px,4vw,54px); }
.section-heading h2,.compact-section-heading h2 { font-size: clamp(34px,3.4vw,48px); }
.section-heading>p,.heading-action p,.compact-section-heading p { font-size: 15px; line-height: 1.6; }
.feature-grid { gap: 14px; }
.feature-card { min-height: 215px; padding: var(--card-space); }
.feature-icon { width: 44px; height: 44px; border-radius: 13px; }
.feature-card h3 { margin: 24px 0 9px; font-size: 18px; }
.feature-card p { font-size: 13px; line-height: 1.55; }
.course-grid { gap: 14px; }
.course-card { min-height: 220px; padding: 22px; }
.course-card-image { width: calc(100% + 44px); height: 138px; margin: -22px -22px 15px; }
.course-card>div { margin-top: 18px; }
.course-card h3 { font-size: 18px; }
.course-card p,.team-card-copy>p:last-child,.results-grid p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.course-card a { padding-top: 16px; }
.process-heading { margin-bottom: var(--section-gap); }
.process-list { gap: 8px; }
.process-list::before { top: 25px; }
.process-list li { gap: 10px; }
.process-list li:not(:last-child)::after { top: 21px; }
.process-list span { width: 52px; height: 52px; }
.process-list strong { font-size: 13px; }
.team-grid { gap: 14px; }
.team-card { border-radius: 18px; }
.team-placeholder { height: 188px; }
.team-card-copy { padding: 18px; }
.team-card h3 { margin-bottom: 8px; font-size: 18px; }
.team-card p { font-size: 13px; line-height: 1.55; }
.results-heading { grid-template-columns: 1fr minmax(300px,400px); }
.results-heading h2 { font-size: clamp(34px,3.4vw,48px); }
.results-grid article { min-height: 210px; padding: 24px; }
.result-card-image { width: calc(100% + 48px); height: 130px; margin: -24px -24px 16px; }
.results-grid h3 { margin: 28px 0 9px; font-size: 18px; }
.gallery-grid { grid-template-columns: 1.25fr 1fr 1fr; grid-template-rows: repeat(2,190px); gap: 12px; }
.gallery-grid figure { border-radius: 16px; }
.gallery-grid .gallery-wide { grid-row: 1/span 2; }
.gallery-grid figcaption { right: 10px; bottom: 10px; left: 10px; padding: 8px 10px; }
.compact-content-section { background: var(--canvas); }
.schedule-section { background: #fff8e8; }
.compact-section-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,430px); align-items: end; }
.compact-section-heading h2 { margin: 0; letter-spacing: -.04em; line-height: 1.1; }
.compact-section-heading>div:last-child { display: grid; justify-items: start; gap: 12px; }
.compact-section-heading p { margin: 0; color: var(--muted); }
.reviews-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.review-card-public { min-width: 0; padding: 22px; display: grid; align-content: start; gap: 14px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.review-rating { color: #b67800; letter-spacing: .08em; }
.review-card-public blockquote { margin: 0; color: #344039; font-size: 14px; line-height: 1.62; }
.review-card-public footer { padding-top: 12px; display: grid; gap: 3px; border-top: 1px solid #edf1ed; }
.review-card-public footer span { color: var(--muted); font-size: 11px; }
.schedule-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.schedule-card-public { min-width: 0; padding: 18px; display: grid; grid-template-columns: 118px minmax(0,1fr); gap: 18px; border: 1px solid #eadab5; border-radius: 16px; background: rgba(255,255,255,.84); }
.schedule-time { display: grid; align-content: center; gap: 4px; padding-right: 16px; border-right: 1px solid #eadab5; }
.schedule-time strong { color: var(--green-800); font-size: 13px; }
.schedule-time span { font-size: 16px; font-weight: 850; }
.schedule-card-public h3 { margin: 0 0 5px; font-size: 17px; }
.schedule-card-public p { margin: 0 0 8px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.schedule-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.schedule-meta span { padding: 4px 7px; border-radius: 999px; color: var(--green-800); background: #edf5eb; font-size: 10px; font-weight: 750; }
.schedule-card-public .text-link { margin-top: 10px; }
.public-empty-state { grid-column: 1/-1; min-height: 130px; padding: 26px; display: grid; place-items: center; align-content: center; gap: 6px; border: 1px dashed #c8d4c7; border-radius: 16px; color: var(--muted); background: rgba(255,255,255,.72); text-align: center; }
.public-empty-state strong { color: var(--ink); }
.final-cta { padding-block: 54px; }
.final-cta-inner { gap: 48px; }
.final-cta h2 { font-size: clamp(32px,3.4vw,46px); }
.site-footer { padding-top: 50px; }
.footer-grid { gap: clamp(30px,4vw,54px); padding-bottom: 42px; }
.footer-bottom { min-height: 62px; }
.public-listing { min-height: 55vh; padding-block: var(--section-space); background: var(--canvas); }
.public-listing h1 { margin: 0; font-size: clamp(38px,4vw,56px); letter-spacing: -.045em; }
.public-listing-intro { max-width: 660px; margin: 12px 0 var(--section-gap); color: var(--muted); }
.public-listing .schedule-card-public h2 { margin: 0 0 5px; font-size: 18px; }

@media(max-width:900px){
    .hero-grid { min-height: 0; grid-template-columns: 1fr; padding-block: 42px 58px; }
    .hero-image-frame { max-height: none; aspect-ratio: 1.5/1; }
    .compact-section-heading { grid-template-columns: 1fr; gap: 14px; }
    .reviews-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .schedule-grid { grid-template-columns: 1fr; }
}
@media(max-width:560px){
    .hero{--hero-copy-transition:.32s;--hero-copy-delay:.22s;--hero-image-transition:.48s;--hero-image-opacity-transition:.48s}.hero-transition-slow{--hero-copy-transition:.44s;--hero-copy-delay:.28s;--hero-image-transition:.66s;--hero-image-opacity-transition:.66s}.hero-transition-fast{--hero-copy-transition:.22s;--hero-copy-delay:.14s;--hero-image-transition:.34s;--hero-image-opacity-transition:.34s}
    :root { --section-space: 54px; --section-gap: 26px; }
    .hero-grid { gap: 30px; padding-block: 34px 48px; }
    .hero h1 { font-size: clamp(39px,12vw,52px); }
    .hero-image-frame { aspect-ratio: 1.1/1; border-radius: 58px 18px 18px; }
    .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .feature-card { min-height: 190px; padding: 18px; }
    .feature-card h3 { margin-top: 18px; font-size: 16px; }
    .feature-card p { font-size: 12px; }
    .course-card { min-height: 210px; }
    .team-card { grid-template-columns: 104px 1fr; }
    .team-placeholder { min-height: 170px; }
    .results-grid article { min-height: 185px; }
    .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: 230px 150px 150px; }
    .gallery-grid .gallery-wide { grid-column: 1/-1; grid-row: auto; }
    .reviews-grid { grid-template-columns: 1fr; }
    .schedule-card-public { grid-template-columns: 1fr; gap: 10px; }
    .schedule-time { padding: 0 0 10px; border-right: 0; border-bottom: 1px solid #eadab5; }
    .final-cta { padding-block: 46px; }
    .final-cta-actions { min-width: 0; }
    .site-footer { padding-top: 42px; }
}


/* PUBLIC 6B.1: shared inner-page visual foundation. Scoped away from the approved Homepage. */
.public-inner-page{
    --public-surface-warm:#f4f1e8;
    --public-surface-subtle:#f8faf6;
    --public-surface-elevated:#fff;
    --public-border-subtle:#dfe7df;
    --public-text-muted:#607066;
    --public-accent:#eea510;
    --public-radius-sm:8px;
    --public-radius-md:12px;
    --public-radius-lg:20px;
    --public-card-shadow:0 16px 38px rgba(23,63,34,.09);
}
.public-inner-page .inner-page-hero{padding-block:clamp(40px,4.2vw,54px);background:var(--public-surface-warm)}
.public-inner-page .inner-page-hero--simple .site-shell{max-width:900px}
.public-inner-page .inner-page-hero--editorial .site-shell{max-width:1040px}
.public-inner-page .inner-page-hero--split .public-page-hero-grid{min-height:390px}
.public-inner-page .inner-page-hero h1{text-wrap:balance}
.public-inner-page .inner-page-hero p{color:var(--public-text-muted)}
.public-inner-page main:has(.public-card--empty)>.inner-page-hero--simple{padding-block:clamp(34px,3.6vw,46px)}

.public-inner-page .button{min-height:48px;padding-inline:22px;border-radius:999px}
.public-inner-page .button:focus-visible,.public-inner-page .text-link:focus-visible,.public-inner-page .public-card a:focus-visible,.public-inner-page .public-image-frame:focus-visible{outline:3px solid color-mix(in srgb,var(--public-accent) 72%,#fff);outline-offset:3px}
.public-inner-page .button[disabled],.public-inner-page .button[aria-disabled="true"]{pointer-events:none;opacity:.55;transform:none;box-shadow:none}
.public-inner-page .text-link{min-height:44px;padding-block:9px;gap:9px;font-size:var(--type-small);line-height:1.35;text-underline-offset:4px}
.public-inner-page .text-link span{flex:0 0 auto}

.public-inner-page .public-card{position:relative;min-width:0;color:var(--ink)}
.public-inner-page .public-card :is(h2,h3){text-wrap:balance}
.public-inner-page .public-card :is(p,address){color:var(--public-text-muted)}
.public-inner-page .public-card--course,.public-inner-page .public-card--result{border-color:var(--public-border-subtle)}
.public-inner-page .public-card--teacher,.public-inner-page .public-card--gallery{display:flex;min-height:100%;flex-direction:column}
.public-inner-page .public-card--teacher .text-link,.public-inner-page .public-card--gallery .text-link{margin-top:auto;align-self:flex-start}
.public-inner-page .public-card--news,.public-inner-page .public-card--contact{border-color:var(--public-border-subtle);border-radius:var(--public-radius-md);background:var(--public-surface-elevated);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.public-inner-page .public-card--news:hover,.public-inner-page .public-card--contact:hover{border-color:#c7d4c7;box-shadow:var(--public-card-shadow);transform:translateY(-2px)}
.public-inner-page .public-card--schedule{border-color:var(--public-border-subtle)}

.public-inner-page .public-image-frame{position:relative;display:block;overflow:hidden;max-width:100%;border-radius:var(--public-radius-sm);background:#ece9df}
.public-inner-page .public-image-frame>img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover}
.public-inner-page .public-image-frame--hero{aspect-ratio:1.38/1;border-radius:var(--public-radius-md)}
.public-inner-page .public-image-frame--wide{aspect-ratio:16/10}
.public-inner-page .public-image-frame--landscape{aspect-ratio:4/3}
.public-inner-page .public-image-frame--portrait{aspect-ratio:4/5}
.public-inner-page .public-image-frame--square{aspect-ratio:1}
.public-inner-page .inner-page-hero .public-image-frame>img{aspect-ratio:auto;max-height:none;border-radius:0}

.public-inner-page .public-record-meta{font-size:var(--type-label)!important;line-height:1.35}
.public-inner-page .public-filters a{min-height:38px;padding:9px 13px;display:inline-flex;align-items:center;font-size:var(--type-small)}
.public-inner-page .public-breadcrumbs{font-size:var(--type-small)}
.public-inner-page .gallery-cover span{font-size:var(--type-label);border-radius:var(--public-radius-sm)}
.public-inner-page .schedule-card-public h2,.public-inner-page .schedule-card-public h3{font-size:var(--type-h3)}
.public-inner-page .schedule-card-public p,.public-inner-page .schedule-time span,.public-inner-page .schedule-meta span{font-size:var(--type-small)}
.public-inner-page .contact-details-grid h2,.public-inner-page .conversion-benefits-grid h2{font-size:var(--type-h3)}

.public-inner-page .gallery-listing-grid article:only-child{grid-column:1/-1;width:min(100%,760px);justify-self:center}
.public-inner-page .gallery-cover{aspect-ratio:4/3;border-radius:var(--public-radius-md)}
.public-inner-page .gallery-cover>img{height:100%;aspect-ratio:auto}
.public-inner-page .gallery-mosaic{grid-auto-flow:dense;align-items:start}
.public-inner-page .gallery-mosaic figure{grid-column:span 4}
.public-inner-page .gallery-mosaic .gallery-item--landscape{grid-column:span 6}
.public-inner-page .gallery-mosaic .gallery-item--portrait,.public-inner-page .gallery-mosaic .gallery-item--square{grid-column:span 4}
.public-inner-page .gallery-mosaic button{height:auto;border-radius:var(--public-radius-md)}
.public-inner-page .gallery-mosaic img{height:100%;aspect-ratio:auto}
.public-inner-page .gallery-mosaic figcaption{font-size:var(--type-small)}

.public-inner-page .public-card--empty{min-height:clamp(150px,18vw,210px);padding:clamp(24px,4vw,44px);place-items:start;align-content:center;gap:8px;border:1px solid var(--public-border-subtle);border-radius:var(--public-radius-lg);background:linear-gradient(135deg,var(--public-surface-elevated),var(--public-surface-subtle));text-align:left}
.public-inner-page .public-card--empty .eyebrow{margin:0 0 3px}
.public-inner-page .public-card--empty strong{font-size:var(--type-h3);line-height:1.25}
.public-inner-page .public-card--empty>span{max-width:62ch;font-size:var(--type-card);line-height:1.58}

.public-inner-page .public-portrait-placeholder{position:relative;isolation:isolate;gap:8px;color:var(--green-900);background:linear-gradient(145deg,#eef4eb,#dce8d9);font-size:clamp(32px,4vw,46px)}
.public-inner-page .public-portrait-placeholder::before{position:absolute;inset:14%;z-index:-1;border:1px solid rgba(36,92,44,.16);border-radius:50%;content:""}
.public-inner-page .public-portrait-placeholder span{display:grid;width:clamp(58px,7vw,76px);aspect-ratio:1;place-items:center;border-radius:50%;color:#fff;background:var(--green-800);box-shadow:0 12px 28px rgba(23,63,34,.15)}
.public-inner-page .public-portrait-placeholder small{font-size:var(--type-label);font-weight:750;letter-spacing:.02em}

.public-inner-page.motion-ready [data-motion-reveal],.motion-ready .public-inner-page [data-motion-reveal]{opacity:0;transform:translateY(8px);transition:opacity .46s ease,transform .46s cubic-bezier(.22,.75,.2,1)}
.public-inner-page.motion-ready [data-motion-reveal].is-revealed,.motion-ready .public-inner-page [data-motion-reveal].is-revealed{opacity:1;transform:none}

@media(max-width:760px){
    .public-inner-page .gallery-mosaic{grid-template-columns:1fr;gap:18px}
    .public-inner-page .gallery-mosaic figure,.public-inner-page .gallery-mosaic figure:nth-child(n),.public-inner-page .gallery-mosaic :is(.gallery-item--landscape,.gallery-item--portrait,.gallery-item--square){grid-column:1/-1}
    .public-inner-page .gallery-mosaic .public-image-frame{width:100%}
}
@media(max-width:560px){
    .public-inner-page .inner-page-hero{padding-block:32px 38px}
    .public-inner-page .inner-page-hero--split .public-page-hero-grid{min-height:0}
    .public-inner-page .button{min-height:48px}
    .public-inner-page .public-teacher-grid{gap:30px 14px}
    .public-inner-page .public-portrait-placeholder small{font-size:12px;text-align:center}
    .public-inner-page .public-page-cta>.site-shell>div:last-child{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
    .public-inner-page [data-motion-reveal],.public-inner-page .public-card,.public-inner-page .public-image-frame img,.public-inner-page .text-link span{opacity:1!important;transform:none!important;transition:none!important}
}

/* PUBLIC 5: news, legal information and release-safe error states */
.public-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:34px}.public-news-card{overflow:hidden;border:1px solid var(--editorial-line);border-radius:10px;background:#fff}.public-news-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.public-news-card>div{padding:20px}.public-news-card h2{margin:7px 0 10px;font-size:20px}.public-news-card h2 a{color:inherit;text-decoration:none}.news-detail{padding-block:clamp(36px,6vw,80px)}.news-detail-shell{max-width:900px}.news-detail header{max-width:760px}.news-detail h1{margin:12px 0;font-size:clamp(34px,5vw,58px)}.news-detail time,.legal-updated{color:var(--muted);font-size:13px}.news-lead,.legal-intro{max-width:68ch;font-size:18px;line-height:1.65}.news-detail-image{display:block;width:100%;height:auto;max-height:560px;margin:30px 0;object-fit:cover;border-radius:10px}.news-body,.legal-body{max-width:72ch;margin-top:28px;line-height:1.8}.news-detail-actions,.public-error-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.related-news{margin-top:54px;padding-top:28px;border-top:1px solid var(--editorial-line)}.related-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.related-news-grid h3{font-size:16px}.legal-page,.public-error-page{padding-block:clamp(40px,7vw,90px)}.legal-shell{max-width:860px}.legal-page h1,.public-error-page h1{font-size:clamp(34px,5vw,56px)}.legal-status{display:inline-block;padding:7px 12px;border-radius:999px;background:#fff2cc;color:#684d00;font-size:12px;font-weight:700}.public-error-page .site-shell{max-width:760px;text-align:center}.error-code{margin:0;color:var(--brand);font-size:clamp(72px,14vw,150px);font-weight:800;line-height:.9}.public-error-actions{justify-content:center}.preserve-lines{white-space:pre-line}
@media(max-width:900px){.public-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.public-news-grid,.related-news-grid{grid-template-columns:1fr}.public-news-card>div{padding:16px}.news-detail-actions,.public-error-actions{display:grid;grid-template-columns:1fr}.news-detail-actions .button,.public-error-actions .button{width:100%}}

/* PUBLIC 4 — conversion pages */
.conversion-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(28px,5vw,72px);align-items:start}.conversion-copy{display:grid;gap:18px}.conversion-copy h2{margin:0;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.035em}.conversion-copy p{margin:0;line-height:1.7}.conversion-step-grid,.contact-information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.conversion-step-grid article,.contact-information-grid article{padding:20px;border:1px solid var(--editorial-line);border-radius:12px;background:#fff}.conversion-step-grid strong{display:block;margin-bottom:8px;color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.conversion-form{position:relative;min-width:0;padding:clamp(20px,3vw,32px);display:grid;gap:24px;border:1px solid var(--editorial-line);border-radius:16px;background:#fff;box-shadow:0 16px 46px rgba(23,63,34,.07)}.conversion-form fieldset{min-width:0;margin:0;padding:0;border:0}.conversion-form legend{margin-bottom:14px;font-size:18px;font-weight:850}.conversion-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.conversion-form label{min-width:0;display:grid;gap:7px}.conversion-form label>span{font-size:12px;font-weight:800}.conversion-form label small{color:#657166;font-weight:500}.conversion-form label em{color:#9b2c2c;font-style:normal}.conversion-form input,.conversion-form select,.conversion-form textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #cbd6cb;border-radius:9px;color:#172019;background:#fff;font:inherit}.conversion-form input:focus,.conversion-form select:focus,.conversion-form textarea:focus{outline:3px solid rgba(49,122,50,.15);border-color:#317a32}.conversion-form [aria-invalid=true]{border-color:#a82e2e}.conversion-form label>small,.field-error{margin:0;color:#a82e2e;font-size:11px}.conversion-consent{grid-template-columns:20px 1fr;align-items:start}.conversion-consent input{width:18px;height:18px;margin-top:2px}.conversion-consent span{display:grid;gap:5px;line-height:1.5}.conversion-submit{width:100%}.conversion-phone-fallback{margin:0;text-align:center;font-size:13px}.conversion-error-summary{padding:16px 18px;border:1px solid #dcaaaa;border-radius:12px;color:#7f1d1d;background:#fff5f5}.conversion-error-summary ul{margin-bottom:0}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.conversion-success{width:min(720px,calc(100% - 32px));margin:70px auto;padding:clamp(30px,6vw,64px);border:1px solid var(--editorial-line);border-radius:18px;background:#fff;text-align:center}.conversion-success-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.contact-map-placeholder{min-height:220px;padding:30px;display:grid;place-items:center;border:1px dashed #aebbae;border-radius:14px;background:#f5f8f3;text-align:center}
@media(max-width:900px){.conversion-layout{grid-template-columns:1fr}.conversion-form{max-width:720px}.conversion-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.conversion-fields,.conversion-step-grid,.contact-information-grid{grid-template-columns:1fr}.conversion-form{padding:18px}.conversion-form .field-wide{grid-column:auto}.conversion-success-actions{display:grid}.conversion-success-actions .button{width:100%}}
.contact-details,.conversion-steps,.conversion-benefits,.conversion-form-section{padding-block:clamp(42px,7vw,76px)}.contact-details-grid,.conversion-benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.contact-details-grid article,.conversion-benefits-grid article{min-width:0;padding:20px;border:1px solid var(--editorial-line);border-radius:12px;background:#fff}.contact-details-grid h2,.conversion-benefits-grid h2{margin:7px 0;font-size:18px}.contact-details-grid address{font-style:normal;line-height:1.6}.map-placeholder .site-shell{min-height:190px;padding:30px;display:grid;place-items:center;border:1px dashed #aebbae;border-radius:14px;background:#f5f8f3;text-align:center}.contact-map-shell{width:100%;display:grid;gap:12px;text-align:left}.contact-map-frame{display:block;width:100%;height:clamp(260px,36vw,430px);border:0;border-radius:10px;background:#e8eee6}.contact-map-action{width:fit-content;color:#245c2c;font-weight:800}.conversion-steps ol{margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;list-style:none}.conversion-steps li{min-width:0;padding:18px;border-top:3px solid #317a32;background:#f7f9f5}.conversion-steps li>span{color:#317a32;font-size:11px;font-weight:900}.conversion-steps h3{margin:16px 0 7px;font-size:15px}.conversion-steps p{margin:0;font-size:12px;line-height:1.55}.conversion-layout>div:first-child{display:grid;gap:14px}.conversion-layout h2{margin:0;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.035em}.conversion-layout p{margin:0;line-height:1.7}.conversion-side-actions{display:grid;gap:8px}.conversion-side-actions a{width:fit-content;color:#245c2c;font-weight:800}.selected-course-notice{padding:15px;display:grid;gap:4px;border-left:4px solid #317a32;background:#f2f7f0}
@media(max-width:900px){.contact-details-grid,.conversion-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.conversion-steps ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.contact-details-grid,.conversion-benefits-grid,.conversion-steps ol{grid-template-columns:1fr}.map-placeholder .site-shell{padding:14px}.contact-map-frame{height:300px}.conversion-success>div>div{display:grid;gap:9px}.conversion-success .button{width:100%}}

/* PUBLIC 2 — multipage public foundation */
.desktop-nav{gap:clamp(7px,.7vw,13px);font-size:11px}.desktop-nav a{white-space:nowrap}.desktop-nav a.is-active{color:var(--green-700)}
.section-footer-link{display:inline-flex;margin-top:24px}.team-card-copy .text-link{display:inline-flex;margin-top:9px}
.homepage-news-section{padding-block:var(--section-space);background:var(--warm-paper)}
.homepage-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.homepage-news-grid article{padding-top:14px;border-top:1px solid #cdd4ca}.homepage-news-grid img{width:100%;height:130px;margin-bottom:14px;border-radius:6px;object-fit:cover}.homepage-news-grid h3{margin:6px 0 8px;font-size:17px}.homepage-news-grid p{color:var(--muted);font-size:12px}
.public-inner-page{background:#fbfaf7}.public-inner-page main{overflow:clip}
.public-breadcrumbs{padding-block:17px;border-bottom:1px solid var(--editorial-line);font-size:11px}.public-breadcrumbs ol{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px;list-style:none}.public-breadcrumbs li{display:flex;align-items:center;gap:7px;color:var(--muted)}.public-breadcrumbs li:not(:last-child)::after{content:"/";color:#aab4aa}.public-breadcrumbs a{color:var(--green-700)}
.public-page-hero{padding-block:46px 54px;background:#f4f1e8}.public-page-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;gap:clamp(32px,5vw,68px)}.public-page-hero h1,.public-teacher-hero h1{max-width:760px;margin:0;font-size:clamp(38px,4.5vw,62px);line-height:1.03;letter-spacing:-.048em}.public-page-hero p,.public-teacher-hero p{max-width:650px;margin:18px 0 0;color:#526057;font-size:16px;line-height:1.65}.public-page-hero img{width:100%;max-height:430px;aspect-ratio:1.38/1;border-radius:10px;object-fit:cover}.public-page-hero-simple{padding-block:54px}.public-page-hero-simple .site-shell{max-width:900px;margin-left:max(20px,calc((100vw - 1180px)/2))}.public-page-hero-simple p{max-width:650px}
.public-editorial-section,.public-listing-section,.public-related-section,.public-faq-section,.public-center-section,.public-process-section{padding-block:64px}.public-editorial-section{background:#fff}.public-related-section,.public-process-section{background:var(--warm-paper)}
.public-editorial-split,.public-detail-layout{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:clamp(42px,7vw,96px)}.public-editorial-split h2,.public-section-heading h2,.public-detail-layout h2{margin:0;font-size:clamp(27px,3vw,40px);letter-spacing:-.035em}.public-prose{max-width:760px}.public-prose h2{margin:0 0 15px}.public-prose h2:not(:first-child){margin-top:38px}.public-prose h3{margin:30px 0 9px;font-size:18px}.public-prose p,.public-prose li{color:#4d5a51;line-height:1.75}.public-prose ul{padding-left:20px}
.public-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--editorial-line)}.public-value-grid article{padding:20px 20px 4px;border-right:1px solid var(--editorial-line)}.public-value-grid article:first-child{padding-left:0}.public-value-grid article:last-child{padding-right:0;border-right:0}.public-value-grid span,.public-process-section li>span{color:var(--orange-500);font-size:10px;font-weight:850;letter-spacing:.1em}.public-value-grid h2{margin:18px 0 8px;font-size:17px}.public-value-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.public-two-column-copy,.public-three-column-copy{display:grid;gap:clamp(30px,5vw,70px)}.public-two-column-copy{grid-template-columns:repeat(2,minmax(0,1fr))}.public-three-column-copy{grid-template-columns:repeat(3,minmax(0,1fr))}.public-two-column-copy article,.public-three-column-copy article{padding-top:16px;border-top:1px solid var(--editorial-line)}.public-two-column-copy h2,.public-three-column-copy h2{margin:0 0 10px;font-size:20px}.public-two-column-copy p,.public-three-column-copy p{margin:0;color:var(--muted);line-height:1.65}
.public-section-heading{margin-bottom:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px);align-items:end;gap:30px}.public-section-heading p{margin:0;color:var(--muted);line-height:1.6}.public-process-section ol{margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #cbd3c9;list-style:none}.public-process-section li{min-height:110px;padding:18px 18px 14px 0;border-bottom:1px solid #cbd3c9}.public-process-section li strong{display:block;margin-top:15px;font-size:14px}.public-process-section li p{font-size:12px;color:var(--muted)}
.public-about-gallery{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-template-rows:150px 150px;gap:8px}.public-about-gallery img{width:100%;height:100%;border-radius:6px;object-fit:cover}.public-about-gallery img:first-child{grid-row:1/span 2}.public-about-gallery img:nth-child(4){grid-column:3;grid-row:1/span 2}
.public-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.public-course-card{min-width:0;padding-top:14px;border-top:1px solid #cdd4ca}.public-course-card>img{width:100%;height:150px;margin-bottom:15px;border-radius:7px;object-fit:cover}.public-course-card h2,.public-course-card h3{margin:6px 0 9px;font-size:19px;line-height:1.25}.public-course-card h2 a,.public-course-card h3 a{color:var(--ink)}.public-course-card p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.6}.public-course-card small{display:block;margin:0 0 12px;color:var(--green-700)}.public-record-meta{margin:0!important;color:var(--green-700)!important;font-size:10px!important;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.public-filters{margin-bottom:32px;display:flex;flex-wrap:wrap;gap:8px}.public-filters a{padding:8px 12px;border:1px solid #d5ddd3;border-radius:99px;color:var(--green-800);font-size:11px}.public-filters a.is-active{color:#fff;background:var(--green-700);border-color:var(--green-700)}
.public-detail-layout aside>div{padding:13px 0;display:grid;gap:3px;border-bottom:1px solid var(--editorial-line)}.public-detail-layout aside strong{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.public-detail-layout aside span{color:var(--muted);font-size:13px}.public-hero-actions{margin-top:25px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.public-hero-actions .button{min-height:42px;padding-inline:16px;font-size:12px}
.public-teacher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}.public-teacher-card{min-width:0}.public-teacher-card>img,.public-portrait-placeholder{width:100%;aspect-ratio:4/5;margin-bottom:14px;border-radius:8px;object-fit:cover}.public-portrait-placeholder{display:grid;place-items:center;color:#fff;background:var(--green-700);font-size:48px;font-weight:850}.public-teacher-card h2,.public-teacher-card h3{margin:5px 0 7px;font-size:18px}.public-teacher-card p{color:var(--muted);font-size:12px;line-height:1.55}.public-teacher-listing{gap-block:42px}
.public-teacher-hero{padding-block:46px 58px;background:#f4f1e8}.public-teacher-hero-grid{display:grid;grid-template-columns:minmax(260px,390px) minmax(0,1fr);align-items:center;gap:clamp(38px,7vw,90px)}.public-teacher-hero-grid>img,.public-teacher-hero-grid>.public-portrait-placeholder{width:100%;aspect-ratio:4/5;margin:0;border-radius:9px;object-fit:cover}.public-subject-chip{margin:0 5px 7px 0;padding:6px 9px;display:inline-block;border:1px solid #ccd5ca;border-radius:99px;color:var(--green-700)!important;font-size:11px!important}
.teacher-detail-profile-layout{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);align-items:start;gap:clamp(38px,7vw,90px)}.teacher-detail-portrait-column{min-width:0}.teacher-detail-portrait{width:100%;max-width:340px;aspect-ratio:4/5;margin:0;border-radius:9px;overflow:hidden;background:var(--green-700)}.teacher-detail-portrait>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}.teacher-detail-portrait.public-portrait-placeholder{margin:0}.teacher-detail-profile-content{max-width:720px}.teacher-detail-biography p{margin-bottom:0}.teacher-detail-profile-group{margin-top:36px;padding-top:28px;border-top:1px solid var(--editorial-line)}.teacher-detail-profile-group h2,.teacher-detail-profile-group h3{margin:0 0 14px}.teacher-detail-profile-group h3{font-size:16px;letter-spacing:-.01em}
.public-faq-section details{border-top:1px solid var(--editorial-line)}.public-faq-section details:last-child{border-bottom:1px solid var(--editorial-line)}.public-faq-section summary{padding:17px 30px 17px 0;font-weight:750;cursor:pointer}.public-faq-section details p{padding:0 0 17px;color:var(--muted)}
.public-page-cta{padding-block:36px;color:#fff;background:#245c2c}.public-page-cta>.site-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px}.public-page-cta h2{max-width:720px;margin:0;font-size:clamp(27px,3vw,38px)}.public-page-cta p{margin:8px 0 0;color:#dce8dc}.public-page-cta>.site-shell>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.public-page-cta .button{min-height:42px;font-size:11px}
@media(max-width:1080px){.desktop-nav{gap:8px;font-size:10px}.desktop-nav a{padding-inline:0}.header-enroll-cta{display:none}}
@media(max-width:900px){.public-page-hero-grid{grid-template-columns:1fr}.public-page-hero img{max-height:360px}.public-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-value-grid article:nth-child(2){border-right:0}.public-value-grid article:nth-child(n+3){border-top:1px solid var(--editorial-line)}.public-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-about-gallery{grid-template-columns:1.2fr 1fr}.public-about-gallery img:nth-child(n){grid-column:auto;grid-row:auto}.public-about-gallery img:first-child{grid-column:1/-1}.public-teacher-hero-grid{grid-template-columns:240px 1fr}.teacher-detail-profile-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:34px}.public-page-cta>.site-shell{grid-template-columns:1fr}.homepage-news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.public-breadcrumbs{padding-block:13px}.public-page-hero,.public-teacher-hero{padding-block:34px 40px}.public-page-hero h1,.public-teacher-hero h1{font-size:36px}.public-page-hero p,.public-teacher-hero p{font-size:14px}.public-page-hero-grid{gap:24px}.public-editorial-section,.public-listing-section,.public-related-section,.public-faq-section,.public-center-section,.public-process-section{padding-block:44px}.public-editorial-split,.public-detail-layout,.teacher-detail-profile-layout{grid-template-columns:1fr;gap:27px}.teacher-detail-portrait{max-width:280px}.teacher-detail-profile-group{margin-top:28px;padding-top:22px}.public-two-column-copy,.public-three-column-copy{grid-template-columns:1fr;gap:26px}.public-section-heading{grid-template-columns:1fr;gap:12px}.public-value-grid{grid-template-columns:1fr 1fr}.public-value-grid article{padding:16px 12px 12px 0}.public-process-section ol{grid-template-columns:1fr}.public-process-section li{min-height:70px}.public-course-grid{grid-template-columns:1fr;gap:26px}.public-course-card>img{height:132px}.public-teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.public-teacher-card h2,.public-teacher-card h3{font-size:15px}.public-teacher-hero-grid{grid-template-columns:1fr}.public-teacher-hero-grid>img,.public-teacher-hero-grid>.public-portrait-placeholder{max-width:300px}.public-about-gallery{grid-template-columns:1fr 1fr;grid-template-rows:170px;grid-auto-rows:120px}.public-page-cta{padding-block:30px}.public-page-cta>.site-shell{gap:22px}.public-page-cta>.site-shell>div:last-child{display:grid;grid-template-columns:1fr 1fr}.homepage-news-grid{grid-template-columns:1fr}}

/* PUBLIC 1 — final homepage polish */
.header-main { min-height:82px; gap:20px; }
.brand img { width:142px; }
.desktop-nav { flex:1; gap:clamp(11px,1vw,19px); font-size:13px; }
.desktop-nav a { padding-block:30px 27px; }
.desktop-nav a::after { bottom:19px; }
.header-enroll-cta { flex:0 0 auto; min-height:42px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; color:#251900; background:var(--orange-500); font-size:13px; font-weight:850; box-shadow:0 9px 22px rgba(226,142,0,.2); transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.header-enroll-cta:hover { color:#251900; background:#c77d00; transform:translateY(-2px); box-shadow:0 13px 28px rgba(226,142,0,.28); }
.button-contextual { min-height:48px; padding:0 4px; color:var(--green-800); border-bottom:1px solid currentColor; border-radius:0; font-size:13px; font-weight:850; }
.button-contextual:hover { color:var(--orange-500); }
.feature-card,.course-card,.team-card,.results-grid article,.review-card-public,.schedule-card-public { transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.feature-card:hover,.course-card:hover,.team-card:hover,.review-card-public:hover,.schedule-card-public:hover { transform:translateY(-3px); box-shadow:0 16px 38px rgba(23,63,34,.09); }
.gallery-grid img,.course-card-image,.team-card img,.result-card-image { transition:transform .45s ease; }
.gallery-grid figure:hover img,.course-card:hover .course-card-image,.team-card:hover img,.results-grid article:hover .result-card-image { transform:scale(1.025); }
.why-section,.courses-section,.process-section,.team-section,.results-section,.gallery-section,.compact-content-section { padding-block:clamp(52px,6vw,76px); }
.section-heading,.results-heading,.compact-section-heading { margin-bottom:clamp(24px,3vw,36px); }
.final-cta { padding-block:46px; }
.footer-grid { padding-bottom:34px; }
.site-footer .footer-social-heading { margin-top:20px; margin-bottom:9px; }
@media(max-width:1180px){.header-enroll-cta{display:none}.desktop-nav{gap:13px}.desktop-nav a{font-size:12px}}
@media(max-width:900px){.header-main{min-height:76px}}
@media(max-width:560px){.header-utility{display:none}.header-main{min-height:68px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card{min-height:175px}.why-section,.courses-section,.process-section,.team-section,.results-section,.gallery-section,.compact-content-section{padding-block:48px}.final-cta{padding-block:40px}.footer-grid{gap:28px;padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.feature-card,.course-card,.team-card,.results-grid article,.review-card-public,.schedule-card-public,.gallery-grid img{transition:none!important;transform:none!important}}

/* PUBLIC 6A — restrained native scroll motion. */
.motion-ready [data-motion-reveal]{opacity:0;transform:translateY(8px);transition:opacity .46s ease,transform .46s cubic-bezier(.22,.75,.2,1)}
.motion-ready [data-motion-reveal].is-revealed{opacity:1;transform:none}
.cms-structured-section{padding-block:clamp(42px,6vw,78px);border-top:1px solid var(--editorial-line)}
.cms-structured-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,5vw,70px);align-items:center}
.cms-structured-grid h2{margin:0;font-size:clamp(28px,4vw,48px);line-height:1.08}.cms-structured-grid p{max-width:720px;color:var(--muted);line-height:1.72}.cms-structured-grid img{width:100%;max-height:460px;object-fit:cover;border-radius:10px}.cms-structured-section.variant-accent{background:var(--green-800);color:#fff}.cms-structured-section.variant-accent p{color:#dfeade}
@media(max-width:700px){.cms-structured-grid{grid-template-columns:1fr}.motion-ready [data-motion-reveal]{transform:translateY(6px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready [data-motion-reveal]{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}

/* Homepage visual refinement — premium / editorial / compact */
:root { --section-space:64px; --section-gap:28px; --card-space:18px; --editorial-line:#dfe4dc; --warm-paper:#f7f5ef; }
body { color:#1d2821; font-size:15px; line-height:1.55; }
.header-utility { min-height:28px; }
.utility-inner { min-height:28px; font-size:10px; letter-spacing:.04em; }
.site-header .header-main { min-height:68px; }
.brand img { width:124px; }
.desktop-nav { gap:clamp(10px,.9vw,17px); font-size:12px; font-weight:650; }
.desktop-nav a { padding-block:24px 22px; }
.desktop-nav a::after { bottom:15px; height:1px; }
.header-enroll-cta { min-height:36px; padding-inline:14px; box-shadow:none; font-size:12px; }
.button-contextual { min-height:40px!important; padding-inline:2px!important; }
.trust-line { margin-top:15px; font-size:10px; }
.section-heading,.results-heading,.compact-section-heading { align-items:end; margin-bottom:var(--section-gap); }
.section-heading h2,.results-heading h2,.compact-section-heading h2 { font-size:clamp(29px,3vw,40px); line-height:1.08; letter-spacing:-.038em; }
.section-heading>p,.heading-action p,.compact-section-heading p,.results-heading>p { max-width:480px; font-size:14px; line-height:1.55; }
.eyebrow { margin-bottom:10px; font-size:9px; letter-spacing:.15em; }
.why-section { background:#fff; }
.feature-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--editorial-line); }
.feature-card { min-height:0; padding:18px 20px 8px 0; border:0; border-right:1px solid var(--editorial-line); border-radius:0; background:transparent; box-shadow:none; }
.feature-card:last-child { border-right:0; padding-right:0; padding-left:20px; }
.feature-card:not(:first-child) { padding-left:20px; }
.feature-icon { width:34px; height:34px; border-radius:6px; }
.feature-card h3 { margin:16px 0 6px; font-size:16px; }
.feature-card p { font-size:12px; line-height:1.5; }
.feature-card:hover { transform:none; box-shadow:none; }
.courses-section { background:var(--warm-paper); }
.course-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.course-card { min-height:0; padding:14px 0 0; border:0; border-top:1px solid #cdd4ca; border-radius:0; background:transparent; box-shadow:none; }
.course-card-image { width:100%; height:108px; margin:0 0 14px; border-radius:6px; }
.course-card>div { margin-top:12px; }
.course-card h3 { font-size:17px; line-height:1.25; }
.course-card p { font-size:12px; line-height:1.5; -webkit-line-clamp:2; }
.course-card a { padding-top:12px; font-size:11px; }
.course-card:hover { transform:none; box-shadow:none; }
.process-section { background:#fff; }
.process-list { gap:0; }
.process-list::before { top:19px; right:4%; left:4%; background:#c7d0c5; }
.process-list li { gap:8px; padding-inline:8px; }
.process-list li:not(:last-child)::after { top:15px; width:7px; height:7px; }
.process-list span { width:40px; height:40px; border:1px solid #bdc9bc; box-shadow:none; font-size:11px; }
.process-list strong { max-width:130px; font-size:12px; font-weight:800; }
.process-list small,.process-item-icon { display:none; }
.team-section { background:#fbfaf7; }
.team-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.team-card { display:block; border:0; border-radius:0; background:transparent; box-shadow:none; }
.team-placeholder,.team-card>img { width:100%; height:auto; aspect-ratio:4/5; min-height:0; border-radius:8px; object-fit:cover; }
.team-card-copy { padding:13px 0 0; }
.team-card h3 { margin:0 0 5px; font-size:16px; }
.team-card p { margin-block:3px; font-size:11px; line-height:1.45; }
.team-card:hover { transform:none; box-shadow:none; }
.results-section { padding-block:60px; background:#173d25; }
.results-heading { grid-template-columns:1fr minmax(280px,390px); }
.results-grid { grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.2); }
.results-grid article { min-height:170px; padding:22px 20px; border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); border-radius:0; background:transparent; box-shadow:none; }
.results-grid article:first-child { grid-column:span 2; }
.results-grid article>span { padding:0; background:transparent; font-size:9px; letter-spacing:.11em; text-transform:uppercase; }
.results-grid h3 { margin:28px 0 7px; font-size:17px; }
.results-grid p { font-size:12px; line-height:1.5; -webkit-line-clamp:2; }
.results-grid article:hover { transform:none; box-shadow:none; }
.gallery-section { background:#fff; }
.gallery-grid { grid-template-columns:1.4fr .8fr 1fr; grid-template-rows:150px 205px; gap:8px; }
.gallery-grid figure { border-radius:6px; }
.gallery-grid .gallery-wide { grid-row:1/span 2; }
.gallery-grid figure:nth-child(2) { grid-column:2; grid-row:1; }
.gallery-grid figure:nth-child(3) { grid-column:2; grid-row:2; }
.gallery-grid figure:nth-child(4) { grid-column:3; grid-row:1/span 2; }
.gallery-grid figcaption { padding:6px 8px; border-radius:4px; font-size:10px; }
.reviews-section { background:#fbfaf7; }
.reviews-grid { gap:28px; }
.review-card-public { position:relative; padding:24px 0 0; border:0; border-top:1px solid #bcc7ba; border-radius:0; background:transparent; box-shadow:none; }
.review-card-public::before { content:"“"; position:absolute; top:8px; right:0; color:rgba(49,122,50,.2); font-family:Georgia,serif; font-size:44px; line-height:1; }
.review-card-public blockquote { max-width:34ch; font-family:Georgia,serif; font-size:14px; line-height:1.55; }
.review-card-public footer { padding-top:10px; border-top:0; }
.review-card-public:hover { transform:none; box-shadow:none; }
.schedule-section { background:#fff; }
.schedule-grid { grid-template-columns:1fr; gap:0; border-top:1px solid var(--editorial-line); }
.schedule-card-public { min-height:72px; padding:13px 0; grid-template-columns:130px minmax(0,1fr); align-items:center; gap:22px; border:0; border-bottom:1px solid var(--editorial-line); border-radius:0; background:transparent; box-shadow:none; }
.schedule-time { padding-right:18px; border-right:1px solid var(--editorial-line); }
.schedule-time strong { font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.schedule-time span { font-size:14px; }
.schedule-card-public h3 { font-size:15px; }
.schedule-card-public p { font-size:12px; }
.schedule-card-public:hover { transform:none; box-shadow:none; }
.public-empty-state { min-height:88px; padding:18px 0; border:0; border-top:1px solid var(--editorial-line); border-bottom:1px solid var(--editorial-line); border-radius:0; background:transparent; }
.final-cta { padding-block:34px; background:#245c2c; }
.final-cta-inner { grid-template-columns:minmax(0,1fr) auto; gap:32px; }
.final-cta h2 { max-width:680px; font-size:clamp(26px,2.7vw,36px); }
.final-cta-actions { min-width:0; gap:8px; }
.final-cta-actions .button { min-height:40px; padding-inline:14px; font-size:11px; }
.cta-phone { font-size:13px; }
.site-footer { padding-top:36px; }
.footer-grid { gap:clamp(24px,3vw,40px); padding-bottom:28px; }
.footer-brand img { width:132px; margin:-24px 0 -15px; }
.footer-brand p,.site-footer nav,.site-footer address { font-size:12px; line-height:1.55; }
.site-footer h2 { margin-bottom:12px; font-size:10px; }
.footer-bottom { min-height:52px; font-size:10px; }
.text-link { font-size:11px; }
.text-link span { transition:transform .2s ease; }
.text-link:hover span { display:inline-block; transform:translateX(3px); }

@media(max-width:900px){
    :root{--section-space:52px;--section-gap:24px}
    .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card:nth-child(2){border-right:0}.feature-card:nth-child(n+3){border-top:1px solid var(--editorial-line)}
    .results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-grid article:first-child{grid-column:1/-1}
    .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:210px;grid-auto-rows:150px}.gallery-grid figure:nth-child(n){grid-column:auto;grid-row:auto}.gallery-grid .gallery-wide{grid-column:1/-1;grid-row:auto}
    .final-cta-inner{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
    :root{--section-space:44px;--section-gap:21px;--card-space:14px}
    body{font-size:14px}.site-header .header-main{min-height:62px}.brand img{width:112px}
    .section-heading h2,.results-heading h2,.compact-section-heading h2{font-size:29px}.section-heading>p,.heading-action p,.compact-section-heading p,.results-heading>p{font-size:13px}
    .feature-grid{grid-template-columns:1fr 1fr}.feature-card{min-height:0;padding:15px 13px 10px 0}.feature-card:not(:first-child){padding-left:13px}.feature-card:nth-child(odd){padding-left:0}.feature-card h3{font-size:14px}.feature-card p{font-size:11px}
    .course-grid{grid-template-columns:1fr;gap:20px}.course-card-image{height:116px}.course-card{min-height:0}
    .process-list{gap:0;border-top:1px solid var(--editorial-line)}.process-list li{min-height:58px;grid-template-columns:44px 1fr;padding:8px 0;border-bottom:1px solid var(--editorial-line)}.process-list span{width:36px;height:36px}.process-list strong{font-size:12px}
    .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.team-card{display:block}.team-placeholder,.team-card>img{min-height:0}.team-card-copy{padding:10px 0 0}.team-card h3{font-size:14px}
    .results-section{padding-block:44px}.results-heading{grid-template-columns:1fr}.results-grid{grid-template-columns:1fr}.results-grid article:first-child{grid-column:auto}.results-grid article{min-height:135px;padding:18px 0}.results-grid h3{margin-top:20px}
    .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:178px;grid-auto-rows:124px}.gallery-grid figure:nth-child(n){grid-column:auto;grid-row:auto}.gallery-grid .gallery-wide{grid-column:1/-1;grid-row:auto}
    .reviews-grid{grid-template-columns:1fr;gap:22px}.review-card-public{padding-top:20px}
    .schedule-card-public{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:11px 0}.schedule-time{padding-right:12px}.schedule-time span{font-size:13px}.schedule-meta span{padding:2px 5px;background:transparent;border:1px solid #d8dfd5}
    .final-cta{padding-block:30px}.final-cta h2{font-size:27px}.final-cta-actions{display:grid;grid-template-columns:1fr 1fr}.final-cta-actions .cta-phone{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr;gap:24px 18px;padding-bottom:24px}.footer-brand{grid-column:1/-1}.footer-bottom{padding-block:16px}
}

/* PUBLIC 6A reference match — header and content integrated over a full-width Hero canvas. */
.site-header-overlay{position:absolute;inset:0 0 auto;z-index:30;color:#fff;border:0;background:linear-gradient(180deg,rgba(7,24,14,.7) 0%,rgba(7,24,14,.34) 72%,transparent 100%)}
.site-header-overlay .header-utility{border-bottom:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.9);background:rgba(7,24,14,.12)}
.site-header-overlay .utility-inner{font-size:11px}
.site-header-overlay .utility-login{min-height:26px;color:#fff;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.08)}
.site-header-overlay .header-main{width:min(calc(100% - 48px),1380px);gap:28px}
.site-header-overlay .brand{padding:0;border-radius:0;background:transparent;box-shadow:none}
.site-header-overlay .brand img{width:158px;filter:drop-shadow(0 1px 1px rgba(255,255,255,.78)) drop-shadow(0 3px 10px rgba(0,0,0,.3))}
.site-header-overlay .desktop-nav{gap:clamp(14px,1.15vw,20px);font-size:14px;font-weight:700}
.site-header-overlay .desktop-nav a{color:rgba(255,255,255,.9);text-shadow:0 1px 12px rgba(0,0,0,.32)}
.site-header-overlay .desktop-nav a:hover,.site-header-overlay .desktop-nav a.is-active{color:#fff}
.site-header-overlay .desktop-nav a::after{height:2px;background:var(--orange-500)}
.site-header-overlay .phone-link{color:#fff}.site-header-overlay .header-enroll-cta{color:#251900;background:var(--orange-500)}
.site-header-overlay .student-login{color:#251900;background:var(--orange-500)}
.site-header-overlay .mobile-nav-panel nav a{color:var(--ink)}
.site-header-overlay .mobile-nav-panel nav a.is-active{color:var(--green-700)}
.hero{min-height:720px;overflow:hidden;color:#fff;background:#173f22;isolation:isolate}
.hero-grid{position:relative;width:100%;max-width:none;min-height:720px;display:block;padding:0}
.hero-copy{position:relative;z-index:8;width:min(calc(100% - 112px),1328px);min-width:0;margin-inline:auto;padding:214px 0 70px}
.hero-copy-deck{position:relative;transition:height .55s cubic-bezier(.22,.75,.2,1)}
.hero-slide-copy:not(.is-active){display:none}
.hero .eyebrow{margin-bottom:14px;color:#d9edcf;font-size:11px}.hero .eyebrow>span{background:var(--orange-500)}
.hero h1,.hero .hero-heading{max-width:690px;margin:0;color:#fff;font-size:clamp(64px,5.55vw,80px);line-height:.96;letter-spacing:-.055em;text-shadow:0 3px 26px rgba(0,0,0,.26)}
.hero h1 span,.hero .hero-heading span{color:#8dd17b}.hero h1 .hero-title-plain,.hero .hero-heading .hero-title-plain{color:#fff}
.hero-lead{max-width:610px;margin-top:22px;color:rgba(255,255,255,.9);font-size:18px;line-height:1.55;text-shadow:0 2px 14px rgba(0,0,0,.22)}
.hero-actions{margin-top:26px;gap:10px}
.hero-actions .button{min-height:48px;padding-inline:22px;font-size:15px}.hero-actions .button-primary{color:#251900;background:var(--orange-500);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.hero-actions .button-secondary{color:#fff;border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.08);backdrop-filter:blur(7px)}
.hero-actions .button-contextual{color:#fff!important;border-color:rgba(255,255,255,.68)}
.hero .trust-line{margin-top:18px;gap:10px;color:rgba(255,255,255,.78);font-size:12px;font-weight:650;letter-spacing:.01em}.hero .trust-line i{background:var(--orange-500)}
.hero-visual{position:absolute;inset:0;z-index:1;display:block;width:100%;margin:0}
.hero-visual::after{position:absolute;inset:0;content:"";z-index:4;pointer-events:none;background:linear-gradient(90deg,rgba(6,24,14,.88) 0%,rgba(8,29,16,.78) 28%,rgba(8,29,16,.46) 50%,rgba(8,29,16,.12) 72%,rgba(8,29,16,.06) 100%)}
.hero-image-frame{position:absolute;inset:0;width:100%;height:100%;max-height:none;overflow:hidden;aspect-ratio:auto;border-radius:0;background:#173f22;box-shadow:none;isolation:isolate}
.hero-image-frame::after{z-index:5;box-shadow:inset 0 -120px 150px rgba(4,18,10,.28)}
.hero-slide-image{position:absolute;inset:0;overflow:hidden;border-radius:inherit;opacity:0;visibility:hidden}
.hero-slide-image.is-active{opacity:1;visibility:visible;z-index:2}
.hero-slide-image:not(.is-active){display:none}
.hero-slide-image img{width:100%;height:100%;object-fit:cover;object-position:center 53%;transform:scale(1.005)}
.hero-note{right:64px;bottom:84px;left:auto;min-width:230px;padding:14px 17px;border:1px solid rgba(255,255,255,.62);border-radius:12px;background:rgba(255,255,255,.92);box-shadow:0 14px 32px rgba(0,0,0,.15);z-index:7}
.hero-note p{font-size:12.5px}.hero-note strong{font-size:14.5px}
.hero-note-mark{width:36px;height:36px}
.hero-accent,.hero-orbit{display:none}
.hero-slider-navigation{position:absolute;inset:0;min-height:0;padding:0;display:block;border:0;background:transparent;box-shadow:none;backdrop-filter:none;z-index:9;pointer-events:none}
.hero-slider-navigation[hidden]{display:none!important}
.hero-pagination{position:absolute;bottom:28px;left:50%;display:flex;align-items:center;gap:2px;transform:translateX(-50%);pointer-events:auto}
.hero-slider-navigation.has-counter .hero-pagination{left:calc(50% - 30px)}
.hero-pagination button{width:46px;height:46px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;background:transparent;cursor:pointer;pointer-events:auto}
.hero-arrow{position:absolute;top:50%;width:54px;height:54px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.64);border-radius:50%;color:#fff;background:rgba(7,24,14,.48);font-size:23px;line-height:1;cursor:pointer;pointer-events:auto;backdrop-filter:blur(9px);transform:translateY(-50%);transition:background .2s ease,border-color .2s ease,transform .2s ease}.hero-arrow-previous{left:24px}.hero-arrow-next{right:24px}
.hero-arrow:hover{border-color:#fff;background:rgba(7,24,14,.72)}
.hero-pagination button span{width:18px;height:3px;border-radius:99px;background:rgba(255,255,255,.58);transition:width .22s ease,background .22s ease,box-shadow .22s ease}
.hero-pagination button.is-active span{width:30px;background:var(--orange-500);box-shadow:0 0 0 3px rgba(226,142,0,.12)}
.hero-slide-counter{position:absolute;right:auto;bottom:31px;left:calc(50% + 58px);min-width:52px;display:flex;align-items:baseline;justify-content:center;gap:4px;color:rgba(255,255,255,.7);font-size:11px;font-weight:750;letter-spacing:.08em;pointer-events:none}
.hero-slide-counter strong{color:#fff;font-size:15px}.hero-slide-counter i{font-style:normal;color:rgba(255,255,255,.4)}
.hero{--hero-copy-transition:.6s;--hero-copy-delay:.22s;--hero-image-transition:.82s;--hero-image-opacity-transition:.62s}
.hero-transition-slow{--hero-copy-transition:.78s;--hero-copy-delay:.28s;--hero-image-transition:1.04s;--hero-image-opacity-transition:.82s}
.hero-transition-fast{--hero-copy-transition:.38s;--hero-copy-delay:.14s;--hero-image-transition:.52s;--hero-image-opacity-transition:.4s}
.hero.is-enhanced .hero-slide-copy{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity var(--hero-copy-transition) ease,transform var(--hero-copy-transition) cubic-bezier(.22,.75,.2,1),visibility var(--hero-copy-transition)}
.hero.is-enhanced .hero-slide-copy.is-active{opacity:1;visibility:visible;transform:none}
.hero.is-enhanced .hero-slide-copy.is-active h1,.hero.is-enhanced .hero-slide-copy.is-active .hero-heading{animation:hero-copy-enter .68s cubic-bezier(.22,.75,.2,1) both}
.hero.is-enhanced .hero-slide-copy.is-active .hero-lead{animation:hero-copy-enter .68s .1s cubic-bezier(.22,.75,.2,1) both}
.hero.is-enhanced .hero-slide-image{display:block;clip-path:inset(0 0 0 100%);transition:clip-path var(--hero-image-transition) cubic-bezier(.22,.75,.2,1),opacity var(--hero-image-opacity-transition) ease,visibility var(--hero-image-transition)}
.hero.is-enhanced .hero-slide-image.is-active{clip-path:inset(0)}
.hero.is-enhanced .hero-slide-image.motion-soft{clip-path:inset(0)}
.hero.is-enhanced .hero-slide-image.motion-pan.is-active img{animation:hero-contained-pan 6.8s ease-in-out both}
@keyframes hero-copy-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes hero-contained-pan{from{transform:scale(1.005) translateX(-.25%)}to{transform:scale(1.04) translateX(.25%)}}
.homepage .why-section{position:relative;z-index:12;margin-top:-18px;padding-top:72px;border-radius:20px 20px 0 0;background:#fff}
.homepage .why-section .feature-grid{gap:16px;border:0}
.homepage .why-section .feature-card{min-height:220px;padding:24px;border:1px solid #dfe6dc;border-radius:14px;background:#fff;box-shadow:0 14px 34px rgba(23,63,34,.07)}
.homepage .why-section .feature-card:not(:first-child),.homepage .why-section .feature-card:last-child{padding-inline:24px}
.homepage .why-section .feature-card:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(23,63,34,.1)}
.homepage .why-section .feature-card-topline{display:flex;align-items:center;justify-content:space-between}.homepage .why-section .feature-number{color:#64705f;font-size:12px;font-weight:850;letter-spacing:.08em}
.homepage .why-section .feature-card h3{margin:28px 0 8px;font-size:18px}.homepage .why-section .feature-card p{font-size:13px;line-height:1.55}
.results-section.is-empty,.compact-content-section.is-empty{padding-block:34px}
.results-section.is-empty .results-heading,.compact-content-section.is-empty .compact-section-heading{margin-bottom:16px}
.results-section.is-empty .results-grid article,.compact-content-section.is-empty .public-empty-state{min-height:0;padding-block:14px}
.results-section.is-empty .results-heading>p,.compact-content-section.is-empty .compact-section-heading>div:last-child{display:none}
.results-section.is-empty .results-heading h2,.compact-content-section.is-empty .compact-section-heading h2{font-size:clamp(24px,2.6vw,34px)}
.results-section.is-empty .results-grid article{padding:10px 0}
.results-section.is-empty .results-grid h3{margin:7px 0 4px}
.results-section.is-empty .results-grid p{margin:0}

@media(max-width:1400px) and (min-width:901px){
    .hero,.hero-grid{min-height:650px}.hero-copy{width:min(calc(100% - 104px),1262px);padding-top:188px}.hero h1,.hero .hero-heading{font-size:clamp(58px,5vw,68px)}.hero-lead{font-size:18px}.hero-note{right:52px;bottom:76px}
}
@media(max-width:900px){
    .site-header-overlay .header-utility{display:none}.site-header-overlay .header-main{width:min(calc(100% - 32px),1280px);min-height:80px}.site-header-overlay .brand{padding:0}.site-header-overlay .brand img{width:136px}.site-header-overlay .mobile-phone{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(7,24,14,.3)}
    .hero,.hero-grid{min-height:720px}.hero-copy{width:min(calc(100% - 40px),620px);max-width:none;padding:116px 0 82px}.hero h1,.hero .hero-heading{font-size:clamp(48px,9.2vw,68px)}.hero-lead{max-width:570px}.hero-visual{width:100%;margin:0}.hero-image-frame{height:100%;max-height:none;aspect-ratio:auto;border-radius:0}.hero-note{right:24px;bottom:70px}
}
@media(max-width:560px){
    .site-header-overlay .header-main{min-height:78px}.site-header-overlay .brand img{width:132px}
    .hero,.hero-grid{min-height:720px}.hero-copy{width:calc(100% - 36px);padding:104px 0 118px}.hero .eyebrow{margin-bottom:13px;font-size:10px}.hero h1,.hero .hero-heading{font-size:clamp(43px,12vw,51px);line-height:.98}.hero-lead{max-width:350px;margin-top:14px;font-size:15px;line-height:1.47}.hero-actions{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero-actions .button{min-height:42px;padding-inline:10px;font-size:12px}.hero-actions .button-contextual{grid-column:1/-1;justify-self:start;min-height:31px!important}.hero .trust-line{margin-top:13px;color:rgba(255,255,255,.78)}.hero-visual::after{background:linear-gradient(180deg,rgba(6,24,14,.65) 0%,rgba(6,24,14,.78) 44%,rgba(6,24,14,.48) 72%,rgba(6,24,14,.64) 100%)}.hero-slide-image img{object-position:58% center}.hero-note{right:18px;bottom:64px;min-width:205px;padding:9px 11px}.hero-note-mark{width:29px;height:29px}.hero-note p{font-size:11px}.hero-arrow{display:none}.hero-pagination{bottom:20px;left:50%}.hero-slider-navigation.has-counter .hero-pagination{left:calc(50% - 25px)}.hero-pagination button{width:40px;height:40px}.hero-slide-counter{right:auto;bottom:23px;left:calc(50% + 52px)}.hero.is-enhanced .hero-slide-copy{transition:opacity var(--hero-copy-transition) ease,visibility 0s linear var(--hero-copy-transition)}.hero.is-enhanced .hero-slide-copy.is-active{transition:opacity var(--hero-copy-transition) ease var(--hero-copy-delay),visibility 0s linear 0s}.hero.is-enhanced .hero-slide-copy.is-active h1,.hero.is-enhanced .hero-slide-copy.is-active .hero-heading,.hero.is-enhanced .hero-slide-copy.is-active .hero-lead{animation:none}.hero.is-enhanced .hero-slide-image{clip-path:inset(0);transition:opacity var(--hero-image-opacity-transition) ease,visibility var(--hero-image-transition)}.homepage .why-section{margin-top:-10px;padding-top:58px;border-radius:14px 14px 0 0}.homepage .why-section .feature-grid{grid-template-columns:1fr;gap:12px}.homepage .why-section .feature-card{min-height:170px;padding:20px}.homepage .why-section .feature-card:not(:first-child),.homepage .why-section .feature-card:last-child{padding-inline:20px}.homepage .why-section .feature-card h3{margin-top:20px}
    .results-section.is-empty,.compact-content-section.is-empty{padding-block:24px}.results-section.is-empty .results-heading,.compact-content-section.is-empty .compact-section-heading{margin-bottom:9px}
}
@media(prefers-reduced-motion:reduce){
    .hero-copy-deck,.hero.is-enhanced .hero-slide-copy,.hero.is-enhanced .hero-slide-copy.is-active h1,.hero.is-enhanced .hero-slide-copy.is-active .hero-heading,.hero.is-enhanced .hero-slide-copy.is-active .hero-lead,.hero.is-enhanced .hero-slide-image,.hero-slide-image img,.hero-pagination button span{animation:none!important;transition:none!important;transform:none!important;clip-path:none!important}
}

/* PUBLIC 6A.5 — centralized responsive typography system. */
:root,.type-scale-balanced{
    --type-hero:clamp(52px,5vw,76px);
    --type-h1:clamp(40px,4.25vw,60px);
    --type-h2:clamp(34px,3vw,46px);
    --type-h3:clamp(22px,1.8vw,26px);
    --type-hero-support:clamp(18px,1.3vw,20px);
    --type-body-lg:clamp(17px,1.25vw,19px);
    --type-body:clamp(16px,1.08vw,18px);
    --type-card:clamp(15.5px,1vw,16.5px);
    --type-small:clamp(14px,.92vw,15px);
    --type-label:clamp(12px,.84vw,14px);
    --type-nav:clamp(15px,1.05vw,16px);
    --type-cta:clamp(15px,1.08vw,17px);
    --leading-heading:1.08;
    --leading-body:1.58;
}
.type-scale-compact{
    --type-h1:clamp(38px,4vw,56px);
    --type-h2:clamp(32px,2.8vw,42px);
    --type-h3:clamp(20px,1.65vw,24px);
    --type-hero-support:clamp(17px,1.2vw,19px);
    --type-body-lg:clamp(16px,1.12vw,18px);
    --type-body:clamp(16px,1vw,17px);
    --type-card:clamp(15px,.95vw,16px);
    --type-small:clamp(13px,.86vw,14px);
    --type-label:clamp(12px,.78vw,13px);
    --type-nav:clamp(14px,.98vw,15px);
    --type-cta:clamp(14px,1vw,16px);
}
.type-scale-large{
    --type-h1:clamp(44px,4.6vw,64px);
    --type-h2:clamp(38px,3.3vw,50px);
    --type-h3:clamp(24px,2vw,28px);
    --type-hero-support:clamp(19px,1.4vw,21px);
    --type-body-lg:clamp(18px,1.35vw,20px);
    --type-body:clamp(17px,1.18vw,19px);
    --type-card:clamp(16px,1.08vw,18px);
    --type-small:clamp(14px,1vw,16px);
    --type-label:clamp(13px,.9vw,15px);
    --type-nav:clamp(16px,1.12vw,17px);
    --type-cta:clamp(16px,1.18vw,18px);
}
.hero-headline-medium{--type-hero:clamp(48px,4.6vw,68px)}
.hero-headline-large{--type-hero:clamp(52px,5vw,76px)}
.hero-headline-xl{--type-hero:clamp(58px,5.55vw,84px)}
body[class*="type-scale-"]{font-size:var(--type-body);line-height:var(--leading-body)}
body[class*="type-scale-"] .desktop-nav,body[class*="type-scale-"] .mobile-nav-panel nav{font-size:var(--type-nav);line-height:1.25}
body[class*="type-scale-"] .eyebrow{font-size:var(--type-label);line-height:1.3}
body[class*="type-scale-"] .hero h1{font-size:var(--type-hero);line-height:.98}
body[class*="type-scale-"] .hero-lead{max-width:58ch;font-size:var(--type-hero-support);line-height:1.55}
body[class*="type-scale-"] .hero-actions .button,body[class*="type-scale-"] .header-enroll-cta,body[class*="type-scale-"] .student-login,body[class*="type-scale-"] .button{font-size:var(--type-cta);line-height:1.2}
body[class*="type-scale-"] .hero .trust-line{font-size:var(--type-label);line-height:1.35}
body[class*="type-scale-"] .hero-note p{font-size:var(--type-small);line-height:1.45}
body[class*="type-scale-"] .hero-note strong{font-size:var(--type-card)}
body[class*="type-scale-"] .hero-slide-counter{font-size:var(--type-label)}
body[class*="type-scale-"] .hero-slide-counter strong{font-size:var(--type-small)}
body[class*="type-scale-"] :is(.section-heading,.results-heading,.compact-section-heading) h2,body[class*="type-scale-"] .final-cta h2{font-size:var(--type-h2);line-height:var(--leading-heading)}
body[class*="type-scale-"] :is(.section-heading>p,.heading-action p,.compact-section-heading p,.results-heading>p){max-width:58ch;font-size:var(--type-body-lg);line-height:1.58}
body[class*="type-scale-"] :is(.feature-card,.course-card,.team-card,.results-grid article,.review-card-public,.schedule-card-public,.homepage-news-card) h3{font-size:var(--type-h3);line-height:1.18}
body[class*="type-scale-"] :is(.feature-card,.course-card,.team-card,.results-grid article,.review-card-public,.schedule-card-public,.homepage-news-card) p{font-size:var(--type-card);line-height:1.58}
body.homepage[class*="type-scale-"] .why-section .feature-card h3{font-size:var(--type-h3);line-height:1.18}
body.homepage[class*="type-scale-"] .why-section .feature-card p{font-size:var(--type-card);line-height:1.58}
body[class*="type-scale-"] .text-link{font-size:var(--type-small)}
body[class*="type-scale-"] :is(.public-page-hero,.public-teacher-hero,.public-listing,.news-detail,.legal-page,.public-error-page) h1{font-size:var(--type-h1);line-height:1.04}
body[class*="type-scale-"] :is(.public-page-hero,.public-teacher-hero) p,body[class*="type-scale-"] :is(.news-lead,.legal-intro){max-width:62ch;font-size:var(--type-body-lg);line-height:1.6}
body[class*="type-scale-"] :is(.public-editorial-split,.public-section-heading,.public-detail-layout,.public-prose,.public-page-cta) h2{font-size:var(--type-h2);line-height:1.12}
body[class*="type-scale-"] :is(.public-prose,.public-two-column-copy,.public-three-column-copy,.public-section-heading,.public-faq-section,.news-body,.legal-body) :is(p,li){font-size:var(--type-body);line-height:1.65}
body[class*="type-scale-"] :is(.public-value-grid,.public-course-card,.public-teacher-card,.public-news-card,.related-news-grid) :is(h2,h3){font-size:var(--type-h3);line-height:1.2}
body[class*="type-scale-"] :is(.public-value-grid,.public-course-card,.public-teacher-card,.public-news-card,.public-process-section) p{font-size:var(--type-card);line-height:1.58}
body[class*="type-scale-"] :is(.public-record-meta,.public-value-grid>article>span,.public-process-section li>span,.legal-status,.news-detail time,.legal-updated){font-size:var(--type-label)}
body[class*="type-scale-"] .site-footer :is(p,nav,address){font-size:var(--type-small);line-height:1.6}
body[class*="type-scale-"] .site-footer h2{font-size:var(--type-card);line-height:1.25}
.site-header-overlay .brand img{filter:drop-shadow(0 0 4px rgba(255,255,255,.34)) drop-shadow(0 3px 9px rgba(0,0,0,.38))}

@media(max-width:560px){
    :root,.type-scale-balanced{
        --type-h1:clamp(36px,10vw,44px);
        --type-h2:clamp(30px,8.8vw,36px);
        --type-h3:clamp(21px,6vw,25px);
        --type-hero-support:16px;
        --type-body-lg:17px;
        --type-body:16px;
        --type-card:16px;
        --type-small:14px;
        --type-label:12px;
        --type-nav:16px;
        --type-cta:15px;
    }
    .type-scale-compact{--type-h1:clamp(34px,9.5vw,42px);--type-h2:clamp(29px,8.2vw,34px);--type-h3:clamp(20px,5.6vw,23px);--type-hero-support:15px;--type-body-lg:16px;--type-body:16px;--type-card:15px;--type-small:13px;--type-label:12px;--type-nav:15px;--type-cta:14px}
    .type-scale-large{--type-h1:clamp(38px,10.8vw,46px);--type-h2:clamp(32px,9.4vw,38px);--type-h3:clamp(23px,6.5vw,27px);--type-hero-support:17px;--type-body-lg:18px;--type-body:17px;--type-card:17px;--type-small:15px;--type-label:13px;--type-nav:17px;--type-cta:16px}
    .hero-headline-medium{--type-hero:clamp(40px,10.8vw,46px)}
    .hero-headline-large{--type-hero:clamp(43px,12vw,50px)}
    .hero-headline-xl{--type-hero:clamp(46px,12.8vw,52px)}
    body[class*="type-scale-"] .hero-lead{font-size:var(--type-hero-support);line-height:1.5}
    body[class*="type-scale-"] .hero-actions .button{font-size:var(--type-cta)}
    body[class*="type-scale-"] .site-footer :is(p,nav,address){font-size:var(--type-small)}
}

/* PUBLIC 6B.1 cascade guard: semantic inner-page rules remain authoritative over legacy page blocks. */
.public-inner-page .button{min-height:48px;padding-inline:22px;border-radius:999px;font-size:var(--type-cta)}
.public-inner-page .text-link{min-height:44px;padding-block:9px;font-size:var(--type-small);line-height:1.35}
.public-inner-page .public-breadcrumbs{font-size:var(--type-small)}
.public-inner-page .public-filters a{font-size:var(--type-small)}
.public-inner-page .public-record-meta{font-size:var(--type-label)!important;line-height:1.35}
.public-inner-page .schedule-card-public :is(h2,h3){font-size:var(--type-h3)}
.public-inner-page .schedule-card-public p,.public-inner-page .schedule-time span,.public-inner-page .schedule-meta span{font-size:var(--type-small)}
.public-inner-page .contact-details-grid h2,.public-inner-page .conversion-benefits-grid h2{font-size:var(--type-h3)}
.public-inner-page .gallery-mosaic figure{margin:0}
.public-inner-page .gallery-mosaic button{height:auto;border-radius:var(--public-radius-md)}
.public-inner-page .gallery-mosaic img{height:100%;aspect-ratio:auto}
@media(max-width:760px){
    .public-inner-page .gallery-mosaic{grid-template-columns:1fr;gap:18px}
    .public-inner-page .gallery-mosaic figure,.public-inner-page .gallery-mosaic figure:nth-child(n),.public-inner-page .gallery-mosaic :is(.gallery-item--landscape,.gallery-item--portrait,.gallery-item--square){grid-column:1/-1}
}
@media(max-width:560px){.public-inner-page .public-page-cta>.site-shell>div:last-child{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.public-inner-page [data-motion-reveal],.public-inner-page .public-card,.public-inner-page .public-image-frame img,.public-inner-page .text-link span{opacity:1!important;transform:none!important;transition:none!important}}

/* PUBLIC 6B.2 — About: unified editorial storytelling language. */
.site-header-about,.site-header-photo{background:linear-gradient(180deg,rgba(8,31,18,.84) 0%,rgba(8,31,18,.5) 76%,transparent 100%)}
.site-header-about .header-utility,.site-header-photo .header-utility{background:rgba(7,24,14,.2)}
.about-page{background:#fff}
.about-page main{overflow:clip}
.about-page :is(.about-identity,.about-story,.about-principles,.about-relationships,.about-first-steps,.about-center,.about-team){position:relative}
.about-page :is(.about-identity,.about-story,.about-principles,.about-relationships,.about-first-steps,.about-center,.about-team) h2,
.about-page .about-final-cta h2{margin:0;font-size:var(--type-h2);line-height:var(--leading-heading);letter-spacing:-.04em;text-wrap:balance}
.about-page :is(.about-principle-card,.about-relationship-card) h3{margin:0;font-size:var(--type-h3);line-height:1.18;letter-spacing:-.025em;text-wrap:balance}
.about-page :is(.about-identity,.about-story,.about-principles,.about-relationships,.about-first-steps,.about-center,.about-team) p{font-size:var(--type-body);line-height:1.68}
.about-page :is(.about-identity,.about-story,.about-principles,.about-relationships,.about-first-steps,.about-center,.about-team) .eyebrow{font-size:var(--type-label)}

.public-inner-page .structured-photo-hero{--about-hero-x:50%;--about-hero-y:54%;position:relative;isolation:isolate;min-height:620px;padding-block:154px 72px;overflow:hidden;color:#fff;background:#0b321d}
.public-inner-page .structured-photo-hero::after{position:absolute;z-index:-1;inset:0;content:"";pointer-events:none;background:linear-gradient(90deg,rgba(5,43,25,.95) 0%,rgba(7,52,29,.86) 34%,rgba(8,56,30,.57) 64%,rgba(7,39,22,.18) 100%)}
.public-inner-page .structured-photo-hero .public-page-hero-background{position:absolute;z-index:-2;inset:0;overflow:hidden}
.public-inner-page .structured-photo-hero .public-page-hero-background img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:var(--about-hero-x) var(--about-hero-y)}
.public-inner-page .structured-photo-hero.hero-position-x-left{--about-hero-x:0%}.public-inner-page .structured-photo-hero.hero-position-x-center{--about-hero-x:50%}.public-inner-page .structured-photo-hero.hero-position-x-right{--about-hero-x:100%}
.public-inner-page .structured-photo-hero.hero-position-y-top{--about-hero-y:0%}.public-inner-page .structured-photo-hero.hero-position-y-center{--about-hero-y:54%}.public-inner-page .structured-photo-hero.hero-position-y-bottom{--about-hero-y:100%}
.public-inner-page .structured-photo-hero>.site-shell{position:relative;z-index:1}
.public-inner-page .structured-photo-hero>.site-shell>div{max-width:650px}
.public-inner-page .structured-photo-hero h1{max-width:700px;color:#fff;font-size:var(--type-h1);line-height:1.01;text-shadow:0 3px 26px rgba(0,0,0,.2)}
.public-inner-page .structured-photo-hero>div>div:first-child>p{max-width:590px;color:rgba(255,255,255,.82)}
.public-inner-page .structured-photo-hero .eyebrow{color:#dff0d9}.public-inner-page .structured-photo-hero .eyebrow>span{background:var(--orange-500)}
.public-inner-page .structured-photo-hero .public-breadcrumbs{margin:0 0 34px;padding:0;border:0;color:rgba(255,255,255,.68)}
.public-inner-page .structured-photo-hero .public-breadcrumbs li{color:rgba(255,255,255,.68)}
.public-inner-page .structured-photo-hero .public-breadcrumbs a{color:#fff}
.public-inner-page .structured-photo-hero .public-breadcrumbs li:not(:last-child)::after{color:rgba(255,255,255,.38)}

.about-identity{z-index:3;margin-top:-48px;padding-bottom:clamp(66px,8vw,108px)}
.about-identity-card{min-height:230px;padding:clamp(34px,5vw,62px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(32px,5vw,70px);align-items:center;border:1px solid #e3e8de;border-radius:24px;background:#fff;box-shadow:0 24px 64px rgba(14,49,27,.13)}
.about-identity-card.is-text-only{grid-template-columns:minmax(0,820px)}
.about-identity-card h2{max-width:760px}.about-identity-card p{max-width:720px;margin:18px 0 0;color:var(--public-text-muted)}
.about-identity-card .public-image-frame{border-radius:14px}

.about-story{padding-block:clamp(68px,8vw,108px);background:var(--public-surface-warm)}
.about-story-grid{display:grid;grid-template-columns:74px minmax(0,.82fr) minmax(360px,1.18fr);gap:clamp(28px,5vw,72px);align-items:center}
.about-story-grid.is-text-only{grid-template-columns:74px minmax(0,760px)}
.about-story-index{align-self:start;padding-top:6px;color:#9da99d;font-size:var(--type-label);font-weight:850;letter-spacing:.12em}
.about-story-copy p{max-width:650px;margin:20px 0 0;color:var(--public-text-muted)}
.about-story-media{aspect-ratio:1.35/1;border-radius:18px!important}

.about-principles{padding-block:clamp(76px,9vw,124px);color:#fff;background:#173f22}
.about-principles-lead{max-width:900px;margin-bottom:clamp(50px,7vw,82px)}
.about-principles-lead .eyebrow{color:#bcd5ba}.about-principles-lead .eyebrow>span{background:var(--orange-500)}
.about-principles-lead h2{max-width:760px}.about-principles-lead>p:not(.eyebrow){max-width:720px;margin:22px 0 0;color:rgba(255,255,255,.72);font-size:var(--type-body-lg)}
.about-principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.22)}
.about-principle-card{min-width:0;padding:28px 30px 8px 0;border-right:1px solid rgba(255,255,255,.18)}
.about-principle-card:not(:first-child){padding-left:30px}.about-principle-card:last-child{padding-right:0;border-right:0}
.about-principle-card>span{display:block;margin-bottom:48px;color:#f2b53b;font-size:var(--type-label);font-weight:850;letter-spacing:.1em}
.about-principle-card .eyebrow{color:#bcd5ba}.about-principle-card h3{color:#fff}.about-principle-card p{margin:14px 0 0;color:rgba(255,255,255,.68)}
.about-principles .text-link{color:#fff}

.about-relationships{padding-block:clamp(72px,9vw,120px);background:#fff}
.about-relationship-grid{display:grid;gap:22px}
.about-relationship-card{min-height:300px;padding:clamp(30px,5vw,60px);display:grid;grid-template-columns:72px minmax(0,1fr);gap:clamp(24px,4vw,58px);align-items:start;border-radius:20px;background:#f4f1e8}
.about-relationship-card.has-media,.about-relationship-card:has(.public-image-frame){grid-template-columns:72px minmax(0,.9fr) minmax(300px,1.1fr);align-items:center}
.about-relationship-card.is-parent{margin-left:clamp(0px,7vw,92px);background:#edf4ea}
.about-relationship-card.is-student{margin-right:clamp(0px,7vw,92px)}
.about-relationship-mark{padding-top:7px;color:#9aa69a;font-size:var(--type-label);font-weight:850;letter-spacing:.12em}
.about-relationship-card p{max-width:640px;margin:18px 0 0;color:var(--public-text-muted)}
.about-relationship-card .public-image-frame{border-radius:14px}

.about-first-steps{padding-block:clamp(64px,8vw,100px);background:#f8faf6}
.about-first-steps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.about-first-steps article{min-height:300px;padding:clamp(28px,4vw,48px);display:grid;grid-template-columns:52px 1fr;gap:22px;border:1px solid #dce5da;border-radius:18px;background:#fff}
.about-first-steps article:nth-child(even){background:#f5eedf}
.about-step-number{padding-top:5px;color:var(--green-700);font-size:var(--type-label);font-weight:850;letter-spacing:.1em}
.about-first-steps h2{font-size:clamp(28px,3vw,40px)!important}.about-first-steps p{margin:16px 0 0;color:var(--public-text-muted)}
.about-first-steps .button{margin-top:24px}

.about-center{padding-block:clamp(76px,9vw,124px);background:#fff}
.about-center-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:clamp(42px,7vw,94px);align-items:center}
.about-center-grid.is-text-only{grid-template-columns:minmax(0,780px)}
.about-center-grid p{max-width:620px;margin:20px 0 0;color:var(--public-text-muted)}
.about-center-media{aspect-ratio:1.55/1;border-radius:20px!important;box-shadow:var(--public-card-shadow)}

.about-team{padding-block:clamp(70px,8vw,108px);background:#fbfaf7}
.about-section-heading{margin-bottom:clamp(34px,5vw,58px);display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,480px);gap:clamp(30px,6vw,78px);align-items:end}
.about-section-heading p{margin:0;color:var(--public-text-muted)}
.about-section-heading .text-link{margin-top:12px}
.about-team-grid{gap:24px}.about-team .team-card{min-width:0}

.about-final-cta{padding-block:clamp(56px,7vw,86px);color:#fff;background:linear-gradient(125deg,#112f1d,#245c2c)}
.about-final-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px;align-items:center}
.about-final-cta h2{max-width:780px}.about-final-cta p{max-width:680px;margin:16px 0 0;color:rgba(255,255,255,.72);font-size:var(--type-body-lg);line-height:1.62}

@media(max-width:900px){
    .public-inner-page .structured-photo-hero{min-height:600px;padding-block:126px 76px}
    .public-inner-page .structured-photo-hero::after{background:linear-gradient(90deg,rgba(5,40,23,.96) 0%,rgba(6,48,27,.88) 46%,rgba(7,45,25,.47) 100%)}
    .public-inner-page .structured-photo-hero.hero-position-x-left{--about-hero-x:20%}.public-inner-page .structured-photo-hero.hero-position-x-center{--about-hero-x:58%}.public-inner-page .structured-photo-hero.hero-position-x-right{--about-hero-x:82%}
    .public-inner-page .structured-photo-hero.hero-position-y-top{--about-hero-y:15%}.public-inner-page .structured-photo-hero.hero-position-y-center{--about-hero-y:50%}.public-inner-page .structured-photo-hero.hero-position-y-bottom{--about-hero-y:85%}
    .about-identity-card,.about-story-grid,.about-center-grid{grid-template-columns:1fr}
    .about-story-grid.is-text-only{grid-template-columns:56px minmax(0,1fr)}
    .about-story-grid.has-media{grid-template-columns:56px minmax(0,1fr)}.about-story-grid.has-media .about-story-media{grid-column:2}
    .about-principle-grid{grid-template-columns:1fr}.about-principle-card,.about-principle-card:not(:first-child){padding:28px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.about-principle-card:last-child{border-bottom:0}.about-principle-card>span{margin-bottom:22px}
    .about-relationship-card,.about-relationship-card:has(.public-image-frame){grid-template-columns:54px minmax(0,1fr)}.about-relationship-card .public-image-frame{grid-column:2}
    .about-first-steps-grid{grid-template-columns:1fr}
    .about-section-heading,.about-final-cta-inner{grid-template-columns:1fr}
}
@media(max-width:560px){
    .site-header-about .header-main,.site-header-photo .header-main{min-height:76px}
    .public-inner-page .structured-photo-hero{min-height:620px;padding-block:102px 64px}
    .public-inner-page:not(.about-page) .structured-photo-hero{min-height:540px;padding-bottom:52px}
    .public-inner-page .structured-photo-hero::after{background:linear-gradient(180deg,rgba(4,31,19,.88) 0%,rgba(4,38,22,.92) 56%,rgba(4,31,19,.8) 100%)}
    .public-inner-page .structured-photo-hero.hero-position-x-left{--about-hero-x:25%}.public-inner-page .structured-photo-hero.hero-position-x-center{--about-hero-x:60%}.public-inner-page .structured-photo-hero.hero-position-x-right{--about-hero-x:80%}
    .public-inner-page .structured-photo-hero.hero-position-y-top{--about-hero-y:20%}.public-inner-page .structured-photo-hero.hero-position-y-center{--about-hero-y:50%}.public-inner-page .structured-photo-hero.hero-position-y-bottom{--about-hero-y:80%}
    .public-inner-page .structured-photo-hero .public-breadcrumbs{margin-bottom:24px}
    .about-identity{margin-top:-24px;padding-bottom:58px}.about-identity-card{padding:28px 22px;border-radius:16px}
    .about-story-grid,.about-story-grid.is-text-only,.about-story-grid.has-media{grid-template-columns:1fr;gap:18px}.about-story-grid.has-media .about-story-media{grid-column:1}.about-story-index{padding:0}
    .about-relationship-card,.about-relationship-card:has(.public-image-frame){min-height:0;padding:28px 22px;grid-template-columns:1fr;gap:15px}.about-relationship-card .public-image-frame{grid-column:1}.about-relationship-card.is-parent,.about-relationship-card.is-student{margin-inline:0}
    .about-first-steps article{min-height:0;padding:26px 22px;grid-template-columns:1fr;gap:12px}
    .about-center-grid{gap:28px}.about-center-media{aspect-ratio:4/3}
    .about-team-grid{grid-template-columns:1fr;gap:22px}
    .about-team .team-card{padding-bottom:22px;display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:start;border-bottom:1px solid var(--public-border-subtle)}
    .about-team .team-card:last-child{padding-bottom:0;border-bottom:0}
    .about-team .team-placeholder{margin:0;aspect-ratio:4/5}
    .about-team .team-card-copy{min-width:0;padding:0}
    .about-final-cta .button{width:100%}
}
@media(prefers-reduced-motion:reduce){.about-page [data-motion-reveal],.about-page .public-image-frame img{opacity:1!important;transform:none!important;transition:none!important}}

/* Results index: content-led layout for small and growing result sets. */
.public-inner-page .structured-photo-hero.results-page-hero{min-height:clamp(430px,38vw,500px);padding-block:clamp(108px,9vw,132px) clamp(52px,5vw,68px)}
.results-listing{padding-block:clamp(48px,6vw,72px);background:#fbfaf7}
.results-section-heading{margin-bottom:clamp(24px,3vw,36px)}
.results-section-heading>p{justify-self:end;color:var(--public-text-muted);font-size:var(--type-small)}
.results-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,30px);align-items:stretch}
.results-index-grid.results-count-1{grid-template-columns:minmax(0,720px);justify-content:center}
.results-index-grid.results-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.results-index-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--public-border-subtle);border-radius:var(--public-radius-md);background:var(--public-surface-elevated);box-shadow:0 12px 34px rgba(23,63,34,.06)}
.results-index-card.is-featured{border-top-color:var(--orange-500)}
.results-index-card .result-card-media{aspect-ratio:16/10;border-radius:0}
.results-index-card .result-card-media img{transition:transform .35s ease}
.results-index-card:hover .result-card-media img{transform:scale(1.025)}
.result-card-content{flex:1;padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;align-items:flex-start}
.result-card-content .result-value{margin:14px 0 4px;font-size:clamp(1.7rem,2.5vw,2.35rem);line-height:1.05}
.result-card-content h3{margin:12px 0 10px;font-size:clamp(1.25rem,1.8vw,1.55rem);line-height:1.25;letter-spacing:-.025em}
.result-card-content>p:not(.public-record-meta){margin:0 0 18px;color:var(--public-text-muted);font-size:var(--type-small);line-height:1.65}
.result-card-content .text-link{margin-top:auto}
.results-category-summary{margin:-8px 0 30px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--public-text-muted);font-size:var(--type-small)}
.results-category-summary>span{padding:7px 11px;border:1px solid var(--public-border-subtle);border-radius:999px;background:#fff}
.results-category-summary>span:first-child{padding-left:0;border:0;background:transparent;font-weight:750}
.results-category-summary b{margin-left:4px;color:var(--green-700)}
@media(max-width:980px){.results-index-grid,.results-index-grid.results-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
    .public-inner-page .structured-photo-hero.results-page-hero{min-height:430px;padding-block:88px 48px}
    .results-section-heading>p{justify-self:start}
    .results-index-grid,.results-index-grid.results-count-1,.results-index-grid.results-count-2{grid-template-columns:1fr}
    .results-index-card .result-card-media{aspect-ratio:16/9}
}
@media(prefers-reduced-motion:reduce){.results-index-card .result-card-media img{transition:none}}
.legal-toc{max-width:72ch;margin:28px 0;padding:20px 24px;border:1px solid var(--editorial-line);border-radius:10px;background:#fff}.legal-toc ol{margin:12px 0 0;padding-left:22px}.legal-toc a{color:var(--brand);text-underline-offset:3px}.legal-document-section{max-width:72ch;padding-top:28px;scroll-margin-top:120px}.legal-document-section h2{margin:0 0 12px;font-size:clamp(22px,3vw,30px)}.legal-document-section .preserve-lines,.legal-document-section li{line-height:1.75}.legal-document-section ul,.legal-document-section ol{padding-left:24px}.legal-updated{margin-top:42px;padding-top:18px;border-top:1px solid var(--editorial-line)}

/* Compact single-row navigation stays visible after the page is scrolled. */
html.has-compact-header{scroll-padding-top:76px}
.site-header.is-compact{position:fixed;inset:0 0 auto;z-index:100;color:var(--ink);border-bottom:1px solid var(--line);background:rgba(255,255,255,.85);box-shadow:0 4px 18px rgba(16,44,25,.12)}
.site-header.is-compact .header-utility{display:none}
.site-header.is-compact .header-main{width:min(calc(100% - 40px),1380px);height:58px;min-height:58px;gap:16px}
.site-header.is-compact .brand{display:flex;align-items:center;padding:0;background:transparent;box-shadow:none}
.site-header.is-compact .brand img{width:92px;max-height:52px;object-fit:contain;filter:none}
.site-header.is-compact .desktop-nav{min-width:0;align-self:stretch;align-items:stretch;gap:clamp(10px,1vw,18px);font-size:12px}
.site-header.is-compact .desktop-nav a{display:flex;align-items:center;padding-block:0;color:var(--green-900);font-size:12px;text-shadow:none}
.site-header.is-compact .desktop-nav a::after{bottom:8px}
.site-header.is-compact .header-enroll-cta{min-height:32px;padding-inline:13px;color:#251900;font-size:12px}
.site-header.is-compact .mobile-phone{width:34px;height:34px;color:var(--green-900);border-color:var(--line);background:#fff}
.site-header.is-compact .mobile-nav summary{width:34px;height:34px;background:var(--green-800)}
.site-header.is-compact .mobile-nav summary span{width:16px}
.site-header.is-compact .mobile-nav-panel{top:44px;max-height:calc(100dvh - 80px);overflow-y:auto;color:var(--ink);text-shadow:none}
.site-header.is-compact .mobile-nav-panel nav a{color:var(--green-900)}
.site-header.is-compact .mobile-nav-panel nav a.is-active{color:var(--green-700)}
@media(max-width:560px){.site-header.is-compact .header-main{width:calc(100% - 28px);height:54px;min-height:54px;gap:12px}.site-header.is-compact .brand img{width:82px;max-height:46px}}
@media print{.site-header.is-compact{position:static;box-shadow:none}.header-scroll-placeholder{display:none}}
