:root{--hw-color-page-bg:#000000;--hw-color-primary-accent:#329e00;--hw-color-accent-dark:#257400;--hw-color-accent-soft:#67c23a;--hw-color-surface-dark:#050e01;--hw-color-surface-light:#ffffff;--hw-color-heading:#0a0202;--hw-color-body:#222222;--hw-color-secondary-blue:#5d6fff;--hw-color-highlight-yellow:#feda46;--hw-color-form-bg:#edfbe2;--hw-color-text-light:#ffffff;--hw-color-border:#d5ead8;--hw-color-error:#ff0000;--hw-color-warning:#ff5000;--hw-color-whatsapp:#18c96e;--hw-color-phone:#058eea;--hw-space-xs:8px;--hw-space-sm:16px;--hw-space-md:30px;--hw-space-lg:42px;--hw-space-xl:58px;--hw-space-xxl:72px;--hw-radius-xs:4px;--hw-radius-sm:6px;--hw-radius-md:12px;--hw-radius-lg:18px;--hw-radius-xl:24px;--hw-radius-pill:999px;--hw-radius-circle:50%;--site-width:1080px;--radius:var(--hw-radius-lg);--page-bg:var(--hw-color-page-bg);--panel-dark:var(--hw-color-surface-dark);--panel-light:var(--hw-color-surface-light);--text-light:var(--hw-color-text-light);--text-dark:var(--hw-color-heading);--green:var(--hw-color-primary-accent);--green-dark:var(--hw-color-accent-dark);--green-soft:var(--hw-color-accent-soft);--form-bg:var(--hw-color-form-bg);--red:var(--hw-color-error);--orange:var(--hw-color-warning);--blue:var(--hw-color-secondary-blue);--border-soft:var(--hw-color-border)}body{background:var(--hw-color-page-bg);color:var(--hw-color-text-light)}.site-shell,.about-main,.contact-main,.reviews-main{max-width:1080px}.site-shell{width:min(calc(100% - 32px),var(--site-width))}.site-header{min-height:80px}.site-logo,.site-logo img{width:190px}.site-nav{gap:28px;font-size:14px;font-weight:400;line-height:1.2;letter-spacing:0px;}.site-nav a.is-active{color:#329e00}.hero{border-radius:var(--hw-radius-lg);padding-top:34px;padding-bottom:30px;text-align:center}.programs-section,.contact-section,.class-form-card,.class-contact-card,.location-form-card,.location-contact-card,.about-cta{background:#050e01;border-color:#329e00}.content-card,.review-card,.contact-info-card,.location-map-nearby{background:#ffffff}.program-card{border-radius:var(--hw-radius-md);padding:22px}.content-card,.about-content-card{border-radius:var(--hw-radius-lg);padding:28px}.review-card{border-radius:var(--hw-radius-xl);padding:28px}.faq-item{border-radius:var(--hw-radius-md);padding:18px}.stat,.about-stat{border-radius:var(--hw-radius-md);padding:10px}.contact-info-card,.class-contact-card-inner,.location-contact-card-inner{border-radius:var(--hw-radius-lg);padding:34px}.location-map-nearby{border-radius:var(--hw-radius-lg);padding:28px}.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.program-card.premium{border-color:#329e00}.program-card:not(.premium):not(.others){border-color:#5d6fff}.program-card.others{border-color:#d5ead8}.faq-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.faq-item{background:#000000;border-color:#329e00;border-radius:var(--hw-radius-md)}.lead-form,.contact-form{gap:14px;max-width:570px}.lead-form input,.lead-form select,.contact-form input,.contact-form select{height:40px}.lead-form textarea,.contact-form textarea{min-height:86px}.lead-form input,.lead-form select,.lead-form textarea,.contact-form input,.contact-form select,.contact-form textarea{background:#ffffff;color:#222222;border-radius:var(--hw-radius-sm)}.lead-form button,.contact-form button{background:#329e00;color:#ffffff;border-radius:var(--hw-radius-sm);min-height:40px;padding-left:18px;padding-right:18px;font-size:14px;font-weight:500}.lead-form button:hover,.contact-form button:hover,.lead-form button:focus-visible,.contact-form button:focus-visible{background:#257400;color:#ffffff}.hw-theme-secondary-button{background:#67c23a;color:#ffffff;border-radius:var(--hw-radius-sm);min-height:40px;padding-left:18px;padding-right:18px;font-size:14px;font-weight:500}.hw-theme-secondary-button:hover,.hw-theme-secondary-button:focus-visible{background:#329e00;color:#ffffff}.class-contact-button-call,.location-contact-button-call{background:#329e00;color:#ffffff;border-radius:var(--hw-radius-lg);min-height:56px;padding-left:20px;padding-right:20px;font-size:20px;font-weight:500}.class-contact-button-call:hover,.location-contact-button-call:hover,.class-contact-button-call:focus-visible,.location-contact-button-call:focus-visible{background:#257400;color:#ffffff}.class-contact-button-whatsapp,.location-contact-button-whatsapp{background:#18c96e;color:#ffffff;border-radius:var(--hw-radius-lg);min-height:56px;padding-left:20px;padding-right:20px;font-size:20px;font-weight:500}.class-contact-button-whatsapp:hover,.location-contact-button-whatsapp:hover,.class-contact-button-whatsapp:focus-visible,.location-contact-button-whatsapp:focus-visible{background:#257400;color:#ffffff}.location-related-links a,.location-class-links a{background:#67c23a;color:#ffffff;border-radius:var(--hw-radius-pill);min-height:42px;padding-left:20px;padding-right:20px;font-size:16px;font-weight:500}.location-related-links a:hover,.location-class-links a:hover,.location-related-links a:focus-visible,.location-class-links a:focus-visible{background:#257400;color:#ffffff}.hw-theme-text-button{background:#ffffff;color:#257400;border-radius:var(--hw-radius-xs);min-height:36px;padding-left:8px;padding-right:8px;font-size:14px;font-weight:500}.hw-theme-text-button:hover,.hw-theme-text-button:focus-visible{background:#ffffff;color:#329e00}.contact-section,.class-form-card,.location-form-card,.about-cta{border-radius:var(--hw-radius-lg);padding-top:40px;padding-bottom:48px;background:#050e01;border-color:#329e00}img{border-radius:var(--hw-radius-md)}.site-logo img,.footer-logo img,.awards-image,.about-awards,.contact-awards,.review-quote{border-radius:0}.location-writing-comparison{max-width:600px;border-radius:var(--hw-radius-lg);background:#d5ead8}.site-footer{min-height:150px;gap:5px;font-size:14px;font-weight:400;line-height:2;letter-spacing:0px;}.footer-class-links a,.footer-class-links span{color:#329e00}.footer-class-links a:hover,.footer-class-links a:focus-visible{color:#feda46}.location-breadcrumbs{font-size:14px;font-weight:400;line-height:1.4;letter-spacing:0px;}.feature-list,.service-list{font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0px;}.hero h1{font-size:18px;font-weight:400;line-height:1.3;letter-spacing:0px;color:#5d6fff;}.hero h2,.programs-section>h2,.faq-title{font-size:36px;font-weight:400;line-height:1.3;letter-spacing:0px;}.program-name,.contact-section h3{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:0px;}.programs-intro,.feature-list,.faq-answer,.contact-copy{font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0px;}.hero-lead,.hero-note,.contact-kicker{font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0px;}.hero-copy,.page-programs-only,.service-list{font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0px;}@media(max-width:900px){.site-shell{width:min(calc(100% - 32px),var(--site-width))}.program-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.faq-list{grid-template-columns:repeat(1,minmax(0,1fr))}.hero h1{font-size:18px;font-weight:400;line-height:1.3;letter-spacing:0px;color:#5d6fff;}.hero h2,.programs-section>h2,.faq-title{font-size:32px;font-weight:400;line-height:1.3;letter-spacing:0px;}.program-name,.contact-section h3{font-size:20px;font-weight:500;line-height:1.3;letter-spacing:0px;}.programs-intro,.feature-list,.faq-answer,.contact-copy{font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0px;}.hero-lead,.hero-note,.contact-kicker{font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0px;}.hero-copy,.page-programs-only,.service-list{font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0px;}}@media(max-width:620px){.site-shell{width:min(calc(100% - 18px),var(--site-width))}.program-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.faq-list{grid-template-columns:repeat(1,minmax(0,1fr))}.site-header{grid-template-columns:1fr;text-align:center}.site-logo{justify-self:center}.site-nav{justify-content:center}.hero h1{font-size:18px;font-weight:400;line-height:1.3;letter-spacing:0px;color:#5d6fff;}.hero h2,.programs-section>h2,.faq-title{font-size:25px;font-weight:400;line-height:1.3;letter-spacing:0px;}.program-name,.contact-section h3{font-size:18px;font-weight:500;line-height:1.3;letter-spacing:0px;}.programs-intro,.feature-list,.faq-answer,.contact-copy{font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0px;}.hero-lead,.hero-note,.contact-kicker{font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0px;}.hero-copy,.page-programs-only,.service-list{font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0px;}}/* V13: requested mobile header, about-page colour and location comparison refinements. */
.review-card h2{font-size:32px}
.review-card p{font-size:14px}
.review-rating{font-size:16px}
.reviews-intro p{font-size:14px}
.about-subtitle{color:#5d6fff;font-size:18px}
.about-stat{font-size:16px}
.about-content-card{color:#222;font-size:14px}
.about-cta-intro{font-size:18px}
.about-lead{font-size:14px}
.contact-form-copy{font-size:14px}
.location-level-content .page-programs-only h3{color:#1a1a1a}
.location-level-content .page-programs-only h2{color:#257400}
.faq-question{font-size:14px;font-weight:400}
.location-page .program-comparison-board{color:#fff}
.location-page .program-status-icon{font-weight:600}
.lead-form input,.lead-form select,.lead-form textarea{font-size:14px}
.location-page-hero-note{font-size:16px}
.location-page-hero-topline{font-size:20px}
.location-page-hero-eyebrow{font-size:28px}
.footer-class-links a,.footer-class-links span{font-weight:400;color:#67c23a}
.footer-copyright{font-weight:400;color:#67c23a}
.site-footer{gap:5px;padding:30px;margin-top:50px}
.footer-logo{display:block;width:190px;height:44px;margin:0 auto 10px}
.footer-logo img{display:block;width:190px;height:44px;object-fit:contain;border-radius:0}
.footer-brand-position{color:#67c23a}
.footer-contact a{text-decoration:none}
.about-content-card{background:#fff}

/* R14: WCAG AA contrast for form and contact actions. */
.lead-form button,.contact-form button{background:#257400;color:#fff}
.lead-form button:hover,.lead-form button:focus-visible,.contact-form button:hover,.contact-form button:focus-visible{background:#1d5f00;color:#fff}
.class-contact-button-call,.location-contact-button-call{background:#1d6f00;color:#fff}
.class-contact-button-call:hover,.class-contact-button-call:focus-visible,.location-contact-button-call:hover,.location-contact-button-call:focus-visible{background:#174f00;color:#fff}
.class-contact-button-whatsapp,.location-contact-button-whatsapp{background:#176f37;color:#fff}
.class-contact-button-whatsapp:hover,.class-contact-button-whatsapp:focus-visible,.location-contact-button-whatsapp:hover,.location-contact-button-whatsapp:focus-visible{background:#105229;color:#fff}

/* R15: homepage contrast on white surfaces (WCAG AA). */
.awards-picture{display:block;width:300px;max-width:100%;margin:0 auto 16px}
.awards-picture .awards-image{width:300px;max-width:100%;height:auto;margin:0}
.hero h1{color:#3f4fd6}
.hero-lead{color:#b00020}
.program-name{color:#257400}
.program-card.others .program-name{color:#b42318}
.content-card .page-programs-only h2{color:#257400}
@media(max-width:760px){.site-header.site-header{border:1px solid #000000;background:#000000}.mobile-menu-toggle{border:1px solid #67c23a;color:#31ac14}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{border-color:#67c23a;outline-color:rgba(103,194,58,.22)}}
@media(max-width:620px){.awards-image,.about-awards,.contact-awards{width:min(300px,78%)}.location-page .program-feature-column-title{font-size:14px}}

/* V14: compact black-and-green mobile navigation; College is nested under Classes. */
@media(max-width:760px){
.site-header.site-header{padding:20px 22px!important;border:1px solid #000!important;border-radius:0;background:#000!important;box-shadow:none}
.site-header .site-logo{width:min(220px,68vw)!important}.site-header .site-logo img{width:min(220px,68vw)!important;max-height:54px}
.mobile-menu-toggle{width:46px;height:46px;border:1px solid #31ac14!important;border-radius:14px;background:#000!important;color:#31ac14!important}
.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{border-color:#67c23a!important;background:#050e01!important;color:#67c23a!important;outline-color:rgba(103,194,58,.22)}
.mobile-menu-panel{margin-top:4px;padding:12px 0 0;border:0;border-radius:0;background:#000;color:#fff;box-shadow:none}
.mobile-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mobile-menu-grid>a,.mobile-classes-toggle{min-height:49px;padding:11px 12px;border:1px solid #22b500;border-radius:14px;background:#22b500;color:#000;font-size:14px;font-weight:400}
.mobile-menu-grid>a:hover,.mobile-menu-grid>a:focus-visible,.mobile-classes-toggle:hover,.mobile-classes-toggle:focus-visible{border-color:#31ac14;background:#31ac14;color:#000;outline-color:rgba(103,194,58,.24)}
.mobile-menu-grid>a.is-active{border-color:#67c23a;background:#31ac14;color:#000}.mobile-classes-toggle span{color:#000}
.mobile-class-panel{margin-top:10px;padding:12px;border:1px solid #31ac14;border-radius:14px;background:#050e01}.mobile-class-panel-title{margin-bottom:10px;color:#67c23a;font-size:14px;font-weight:500}
.mobile-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mobile-class-grid a{min-height:40px;padding:7px 5px;border:1px solid #31ac14;border-radius:11px;background:#22b500;color:#000;font-size:14px;font-weight:500}
.mobile-class-grid a:hover,.mobile-class-grid a:focus-visible,.mobile-class-grid a.is-active{border-color:#67c23a;background:#31ac14;color:#000;outline-color:rgba(103,194,58,.22)}
.mobile-menu-actions{gap:8px;margin-top:10px}.mobile-menu-actions a{min-height:50px;border:1px solid #22b500;border-radius:14px;background:#22b500;color:#fff;font-size:14px;font-weight:600}
.mobile-menu-action-secondary,.mobile-menu-action-primary{border-color:#22b500!important;background:#22b500!important;color:#fff!important}.mobile-menu-action-secondary:hover,.mobile-menu-action-secondary:focus-visible,.mobile-menu-action-primary:hover,.mobile-menu-action-primary:focus-visible{border-color:#31ac14!important;background:#31ac14!important;color:#fff!important;outline-color:rgba(103,194,58,.24)}
}
@media(max-width:380px){.site-header.site-header{padding:16px 14px!important}.mobile-menu-panel{padding-top:10px}.mobile-class-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-class-grid a{font-size:14px;padding-inline:3px}}