:root {
    --primary-color: #3165B0;
    --secondary-color: #1FAB4A;
    --accent-color: #1FAB4A;
    --text-dark: #14263a;
    --text-light: #647386;
    --font-main: 'DM Sans', sans-serif;
    --font-heading: 'Manrope', sans-serif;
    --site-blue: #3165B0;
    --site-green: #1FAB4A;
    --site-ink: #14263a;
    --site-navy: #10243b;
    --site-line: #dce4eb;
    --site-paper: #f4f7f5;
    --site-muted: #647386;
}

html { scroll-behavior: smooth; }
body.site-shell { background: #fff; color: var(--site-ink); font-family: var(--font-main); line-height: 1.65; overflow-x: clip; -webkit-font-smoothing: antialiased; }
.site-shell .container { max-width: 1210px; }
.site-shell h1, .site-shell h2, .site-shell h3, .site-shell h4, .site-shell h5, .site-shell h6 { color: var(--site-ink); font-family: var(--font-heading); letter-spacing: -.035em; }
.site-shell h1.text-white, .site-shell h2.text-white, .site-shell h3.text-white, .site-shell h4.text-white, .site-shell h5.text-white, .site-shell h6.text-white { color: #fff !important; }
.site-shell .text-primary { color: var(--site-blue) !important; }
.site-shell .text-info { color: var(--site-green) !important; }
.site-shell .bg-primary { background-color: var(--site-blue) !important; }
.site-shell .bg-dark { background-color: var(--site-navy) !important; }
.site-shell .bg-success { background-color: var(--site-green) !important; }
.site-shell .bg-light { background-color: var(--site-paper) !important; }
.site-shell .text-muted { color: var(--site-muted) !important; }
.site-shell .tracking-widest { letter-spacing: .14em; }
.site-shell .transition-all { transition: all .25s ease; }
.site-shell .badge { border-radius: 2px; }
.site-shell .btn { border-radius: 2px; font-weight: 700; letter-spacing: .005em; }
.site-shell .btn-primary { background: var(--site-blue); border-color: var(--site-blue); box-shadow: none; color: #fff; }
.site-shell .btn-primary:hover, .site-shell .btn-primary:focus { background: #244f91; border-color: #244f91; box-shadow: none; transform: translateY(-1px); }
.site-shell .btn-outline-primary { border-color: var(--site-blue); color: var(--site-blue); }
.site-shell .btn-outline-primary:hover { background: var(--site-blue); border-color: var(--site-blue); color: #fff; }
.site-shell .btn-success { background: var(--site-green); border-color: var(--site-green); }
.site-shell .btn-light { border-color: #dce4eb; }
.site-shell .form-control, .site-shell .form-select { border: 1px solid #cbd5df; border-radius: 2px; color: var(--site-ink); min-height: 46px; }
.site-shell .form-control:focus, .site-shell .form-select:focus { border-color: var(--site-blue); box-shadow: 0 0 0 .18rem rgba(49,101,176,.13); }
.site-shell .form-floating > label { color: #6c7b8b; }
.site-shell .form-floating > .form-control { min-height: 58px; }
.site-shell .card { border: 1px solid var(--site-line) !important; border-radius: 2px !important; box-shadow: none !important; overflow: hidden; }
.site-shell .card:hover { box-shadow: none !important; transform: none; }
.site-shell .card-header { background: #fff; border-bottom: 1px solid var(--site-line); }
.site-shell .shadow-sm { box-shadow: 0 8px 24px rgba(16,36,59,.07) !important; }
.site-shell .table { --bs-table-color: var(--site-ink); }
.site-shell .table thead th { background: #eef3f7; color: #536579; font-size: .75rem; letter-spacing: .07em; text-transform: uppercase; }
.site-shell .alert { border-radius: 2px; }
.site-shell section:not(.home-hero) { position: relative; }
.site-shell section.py-5 { padding-bottom: 4.25rem !important; padding-top: 4.25rem !important; }
.site-shell section.bg-light { background: var(--site-paper) !important; }
.site-shell section h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 800; line-height: 1.12; }
.site-shell :focus-visible { outline: 3px solid rgba(49,101,176,.38); outline-offset: 3px; }

.site-utility { background: var(--site-navy); color: rgba(255,255,255,.78); font-size: .76rem; }
.site-utility-inner { align-items: center; display: flex; justify-content: space-between; min-height: 36px; }
.site-utility-contact { align-items: center; display: flex; gap: 24px; }
.site-utility a { color: inherit; text-decoration: none; }
.site-utility a:hover { color: #fff; }
.site-utility-contact i { color: #78ca8d; margin-right: 8px; }
.site-address-link { max-width: 430px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-language-switcher { align-items: center; display: flex; gap: 12px; }
.site-language-switcher a.active { color: #fff; font-weight: 800; }
.site-language-separator { color: rgba(255,255,255,.55); }
.site-header { background: #fff; position: sticky; top: 0; z-index: 1030; }
.site-navbar { background: #fff; border-bottom: 1px solid #e6ebef; min-height: 86px; padding: 10px 0; }
.site-brand { align-items: center; color: var(--site-ink) !important; display: flex; gap: 12px; margin: 0; max-width: 310px; white-space: normal; }
.site-brand img { flex: 0 0 auto; height: 48px; object-fit: contain; width: 48px; }
.site-brand span { display: grid; gap: 4px; line-height: 1.12; min-width: 0; }
.site-brand strong { font-family: var(--font-main); font-size: .88rem; font-weight: 800; letter-spacing: -.035em; line-height: 1.13; }
.site-brand small { color: var(--site-muted); font-size: .62rem; font-weight: 700; letter-spacing: .055em; line-height: 1.2; margin: 0; text-transform: uppercase; }
.site-nav-links { gap: 4px; }
.site-shell .site-navbar .nav-link { border-radius: 6px; color: #35475b !important; font-size: .82rem; font-weight: 700; padding: 10px 9px !important; position: relative; transition: background .2s ease, color .2s ease; white-space: nowrap; }
.site-shell .site-navbar .nav-link::before { background: var(--site-green); bottom: 4px; content: ''; height: 2px; left: 10px; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; width: calc(100% - 20px); }
.site-shell .site-navbar .nav-link:hover, .site-shell .site-navbar .nav-link:focus, .site-shell .site-navbar .nav-link.active { background: #f1f6f4; color: var(--site-blue) !important; }
.site-shell .site-navbar .nav-link:hover::before, .site-shell .site-navbar .nav-link:focus::before, .site-shell .site-navbar .nav-link.active::before { transform: scaleX(1); }
.site-nav-cta { align-items: center; display: flex; gap: 8px; margin-left: 8px; }
.site-nav-cta .btn { font-size: .78rem; padding: 10px 13px; white-space: nowrap; }
.site-mobile-language { display: none; }
.site-shell .site-navbar .dropdown-menu { border: 1px solid var(--site-line) !important; border-radius: 8px; box-shadow: 0 16px 35px rgba(16,36,59,.13) !important; padding: 7px; }
.site-shell .site-navbar .dropdown-item { border-radius: 5px; color: var(--site-ink); font-size: .85rem; padding: 9px 12px; }
.site-shell .site-navbar .dropdown-item:hover { background: #eef4fb; color: var(--site-blue); }
.site-menu-toggle { border: 1px solid #dce4eb !important; border-radius: 6px; padding: 8px 10px; }
@media (max-width: 1199.98px) {
    .site-navbar .navbar-collapse { background: #fff; border-top: 1px solid var(--site-line); margin-top: 12px; padding: 10px 0 16px; }
    .site-nav-links { align-items: stretch !important; gap: 0; }
    .site-shell .site-navbar .nav-link { border-bottom: 1px solid #edf1f4; padding: 12px 5px !important; }
    .site-nav-cta { align-items: stretch; flex-direction: column; margin: 13px 0 0; }
    .site-nav-cta .btn { text-align: center; }
    .site-mobile-language { align-items: center; border-top: 1px solid var(--site-line); display: flex; gap: 17px; margin-top: 12px; padding-top: 12px; }
    .site-mobile-language span { color: var(--site-muted); font-size: .76rem; margin-right: auto; }
    .site-mobile-language a { color: var(--site-blue); font-size: .8rem; font-weight: 800; text-decoration: none; }
}

.home-hero { background: #f2f6f4; overflow: hidden; }
.home-hero-grid { align-items: center; display: grid; gap: clamp(40px, 6vw, 88px); grid-template-columns: minmax(0, .96fr) minmax(420px, 1.04fr); min-height: 620px; padding-bottom: 65px; padding-top: 65px; }
.home-hero-copy { max-width: 620px; padding: 12px 0 30px; }
.section-eyebrow { color: var(--site-green); display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .14em; margin-bottom: 15px; text-transform: uppercase; }
.home-hero-copy h1 { color: var(--site-navy); font-size: clamp(2.9rem, 5.1vw, 5.1rem); font-weight: 800; letter-spacing: -.065em; line-height: 1.01; margin: 0 0 24px; max-width: 650px; }
.home-hero-copy > p { color: #526174; font-size: 1.08rem; line-height: 1.75; margin-bottom: 30px; max-width: 560px; }
.home-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; }
.home-hero-actions .btn { padding: 14px 18px; }
.home-hero-link { color: var(--site-blue); font-weight: 800; text-decoration: none; }
.home-hero-link:hover { color: var(--site-green); }
.home-hero-parent { align-items: center; border-top: 1px solid #d1dce2; display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr) 152px; margin-top: 30px; max-width: 520px; padding-top: 16px; }
.home-hero-parent-copy > span { color: var(--site-green); display: block; font-size: .66rem; font-weight: 800; letter-spacing: .12em; margin-bottom: 5px; text-transform: uppercase; }
.home-hero-parent-copy p { color: #526174; font-size: .8rem; line-height: 1.45; margin: 0; }
.home-hero-parent-link { align-items: center; background: rgba(255,255,255,.82); border: 1px solid #d1dce2; display: flex; gap: 8px; justify-content: center; min-height: 56px; padding: 8px 10px; text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.home-hero-parent-link:hover { background: #fff; border-color: var(--site-green); transform: translateY(-2px); }
.home-hero-parent-link img { height: auto; max-height: 38px; object-fit: contain; width: 116px; }
.home-hero-parent-link i { color: var(--site-green); font-size: .85rem; }
.home-hero-index { align-items: center; border-top: 1px solid #d1dce2; display: flex; gap: 15px; margin-top: 28px; max-width: 420px; padding-top: 19px; }
.home-hero-index > span { color: var(--site-green); font-family: var(--font-heading); font-size: 1.65rem; font-weight: 800; }
.home-hero-index div { display: grid; line-height: 1.35; }
.home-hero-index strong { font-size: .83rem; }
.home-hero-index small { color: var(--site-muted); font-size: .73rem; }
.home-hero-art { min-height: 495px; position: relative; }
.home-hero-art figure { margin: 0; position: absolute; }
.home-hero-image-main { height: 425px; inset: 0 42px 40px 15px; overflow: hidden; }
.home-hero-image-main img { height: 100%; object-fit: cover; object-position: 48% center; width: 100%; }
.home-hero-image-detail { border: 8px solid #f2f6f4; bottom: 0; height: 205px; left: -20px; overflow: hidden; width: 245px; z-index: 2; }
.home-hero-image-detail img { height: 100%; object-fit: cover; width: 100%; }
.home-hero-stamp { background: var(--site-blue); bottom: 24px; color: #fff; display: grid; gap: 4px; padding: 17px 19px; position: absolute; right: 0; width: 206px; z-index: 3; }
.home-hero-stamp > span { color: #9fd6a8; font-size: .69rem; font-weight: 900; letter-spacing: .13em; }
.home-hero-stamp strong { font-family: var(--font-heading); font-size: .92rem; line-height: 1.2; }
.home-hero-stamp small { color: rgba(255,255,255,.75); font-size: .7rem; line-height: 1.35; }
.home-hero-art-number { color: rgba(49,101,176,.1); font-family: var(--font-heading); font-size: 9rem; font-weight: 800; position: absolute; right: 0; top: -68px; z-index: 0; }
.home-quote-section { background: var(--site-blue); color: #fff; padding: 62px 0; }
.home-quote-layout { align-items: center; display: grid; gap: clamp(40px, 7vw, 100px); grid-template-columns: minmax(230px, .75fr) minmax(0, 1.25fr); }
.home-quote-copy .section-eyebrow { color: #a9e3b4; }
.home-quote-copy h2 { color: #fff; font-size: clamp(2rem, 3.2vw, 3rem); margin: 0 0 12px; }
.home-quote-copy > p { color: rgba(255,255,255,.78); max-width: 390px; }
.home-quote-note { align-items: flex-start; border-top: 1px solid rgba(255,255,255,.25); color: rgba(255,255,255,.8); display: flex; font-size: .82rem; gap: 12px; margin-top: 34px; max-width: 390px; padding-top: 18px; }
.home-quote-note i { color: #9ddca9; font-size: 1.15rem; }
.home-quote-form { background: #fff; color: var(--site-ink); display: grid; gap: 15px 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 27px; }
.home-quote-form label { display: grid; gap: 5px; }
.home-quote-form label span { color: #4e5f71; font-size: .73rem; font-weight: 800; }
.home-quote-form .form-control, .home-quote-form .form-select { min-height: 43px; }
.home-quote-form button { align-self: end; min-height: 43px; }
.landing-honeypot { height: 0; left: -10000px; overflow: hidden; position: absolute; width: 0; }

.landing-trust-band { background: #fff; padding: 0 0 56px; }
.landing-trust-grid { border-bottom: 1px solid var(--site-line); border-top: 1px solid var(--site-line); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 21px 0; }
.landing-trust-item { align-items: flex-start; display: flex; gap: 13px; padding: 5px 20px; }
.landing-trust-item:first-child { padding-left: 0; }
.landing-trust-icon { align-items: center; color: var(--site-green); display: inline-flex; flex: 0 0 37px; font-size: 1.15rem; height: 37px; justify-content: center; }
.site-shell .landing-trust-item h2 { font-family: var(--font-main); font-size: 1rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.25; margin: 0 0 4px; }
.landing-trust-item p { color: var(--site-muted); font-size: .72rem; line-height: 1.4; margin: 0; }
.upcoming-courses-section { background: var(--site-paper); isolation: isolate; overflow: hidden; padding: 70px 0 76px; position: relative; }
.upcoming-courses-section::before { background-image: radial-gradient(ellipse 250px 150px at 9% 18%, transparent 68%, rgba(49,101,176,.075) 68.5% 69.2%, transparent 69.8%), radial-gradient(ellipse 180px 260px at 93% 73%, transparent 71%, rgba(31,171,74,.065) 71.5% 72.2%, transparent 72.8%), linear-gradient(128deg, transparent 0 39%, rgba(49,101,176,.025) 39.2% 39.4%, transparent 39.6%); content: ''; inset: 0; pointer-events: none; position: absolute; z-index: -1; }
.upcoming-courses-section > .container { position: relative; z-index: 1; }
.upcoming-courses-section .landing-section-heading { margin-bottom: 30px; }
.upcoming-courses-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.upcoming-course-card { background: #fff; border: 1px solid var(--site-line); display: flex; flex-direction: column; min-width: 0; transition: border-color .2s ease, transform .2s ease; }
.upcoming-course-card:hover { border-color: rgba(49,101,176,.4); transform: translateY(-3px); }
.upcoming-course-media { background: linear-gradient(135deg, #e7eef2, #f2f6f4); height: 175px; overflow: hidden; position: relative; }
.upcoming-course-media > img { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.upcoming-course-card:hover .upcoming-course-media > img { transform: scale(1.04); }
.upcoming-course-image-fallback { align-items: center; color: rgba(49,101,176,.42); display: flex; height: 100%; justify-content: center; }
.upcoming-course-image-fallback i { font-size: 3.6rem; }
.upcoming-course-date { align-items: center; background: #fff; box-shadow: 0 5px 18px rgba(16,36,59,.12); display: flex; gap: 8px; left: 14px; padding: 8px 11px; position: absolute; top: 14px; }
.upcoming-course-date strong { color: var(--site-blue); font-family: var(--font-heading); font-size: 1.35rem; line-height: 1; }
.upcoming-course-date span { color: var(--site-muted); font-size: .66rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.upcoming-course-body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.upcoming-course-duration { color: var(--site-green); font-size: .67rem; font-weight: 800; letter-spacing: .1em; margin-bottom: 9px; text-transform: uppercase; }
.upcoming-course-body h3 { color: var(--site-ink); font-size: 1.02rem; font-weight: 800; line-height: 1.35; margin: 0 0 9px; }
.upcoming-course-body p { -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: var(--site-muted); display: -webkit-box; font-size: .8rem; line-height: 1.55; margin: 0 0 18px; overflow: hidden; }
.upcoming-course-link { align-items: center; border-top: 1px solid var(--site-line); color: var(--site-blue); display: flex; font-size: .77rem; font-weight: 800; justify-content: space-between; margin-top: auto; padding-top: 14px; text-decoration: none; }
.upcoming-course-link:hover { color: var(--site-green); }
.upcoming-courses-empty { align-items: center; background: rgba(255,255,255,.7); border: 1px dashed #cbd7df; color: var(--site-muted); display: flex; gap: 13px; padding: 24px; }
.upcoming-courses-empty i { color: var(--site-green); font-size: 1.35rem; }
.upcoming-courses-empty p { margin: 0; }
.landing-intro-section { padding: 70px 0 85px; }
.landing-intro-grid { align-items: center; display: grid; gap: clamp(42px, 8vw, 105px); grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); }
.landing-intro-visual { min-height: 425px; position: relative; }
.landing-intro-visual img { height: 425px; object-fit: cover; width: 100%; }
.landing-image-caption { align-items: center; background: var(--site-green); bottom: 22px; color: #fff; display: flex; font-size: .88rem; font-weight: 800; gap: 10px; left: -22px; padding: 14px 18px; position: absolute; }
.landing-intro-copy h2, .landing-section-heading h2 { font-size: clamp(1.95rem, 3.25vw, 3rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.1; margin: 0 0 17px; }
.landing-section-lead { color: var(--site-muted); line-height: 1.8; margin-bottom: 25px; }
.landing-benefit-list { display: grid; gap: 18px; }
.landing-benefit-list article { align-items: flex-start; display: flex; gap: 14px; }
.landing-benefit-list article > span { align-items: center; color: var(--site-green); display: flex; flex: 0 0 30px; height: 30px; justify-content: center; }
.landing-benefit-list h3 { font-size: .98rem; font-weight: 800; margin: 0 0 4px; }
.landing-benefit-list p { color: var(--site-muted); font-size: .84rem; line-height: 1.55; margin: 0; }
.landing-services-section { background: var(--site-paper); padding: 76px 0 83px; }
.landing-section-heading { align-items: end; display: flex; gap: 40px; justify-content: space-between; margin-bottom: 34px; }
.landing-section-heading h2 { margin: 0; max-width: 650px; }
.landing-heading-aside { max-width: 440px; }
.landing-heading-aside p, .landing-section-heading > p { color: var(--site-muted); font-size: .92rem; line-height: 1.7; margin: 0 0 10px; max-width: 490px; }
.landing-text-link { color: var(--site-blue); font-size: .9rem; font-weight: 800; text-decoration: none; }
.landing-text-link:hover { color: var(--site-green); }
.landing-service-grid { display: grid; gap: 0 34px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.landing-service-card { border-bottom: 1px solid #d7e0e5; display: flex; flex-direction: column; min-height: 210px; padding: 25px 5px 18px; }
.landing-service-card:nth-child(-n+3) { border-top: 1px solid #d7e0e5; }
.landing-service-icon { color: var(--site-blue); font-size: 1.35rem; margin-bottom: 16px; }
.landing-service-card h3 { font-size: 1.03rem; font-weight: 800; margin: 0 0 8px; }
.landing-service-card p { color: var(--site-muted); font-size: .82rem; line-height: 1.6; margin: 0 0 15px; }
.landing-service-card > a { align-items: center; color: var(--site-blue); display: flex; font-size: .78rem; font-weight: 800; justify-content: space-between; margin-top: auto; text-decoration: none; }
.landing-standards-section { background: var(--site-navy); color: #fff; padding: 76px 0 82px; }
.landing-section-heading-light h2 { color: #fff; }
.landing-section-heading-light .section-eyebrow { color: #86d69a; }
.landing-section-heading-light > p { color: rgba(255,255,255,.7); }
.landing-standard-grid { display: grid; gap: 0 25px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.landing-standard-card { border-top: 1px solid rgba(255,255,255,.24); min-height: 180px; padding: 20px 5px; }
.landing-standard-top { align-items: center; color: #8fdaa1; display: flex; font-size: .78rem; font-weight: 900; justify-content: space-between; letter-spacing: .08em; }
.landing-standard-card h3 { color: #fff; font-size: .95rem; font-weight: 800; margin: 15px 0 10px; }
.landing-standard-card ul { display: grid; gap: 6px; list-style: none; margin: 0; padding: 0; }
.landing-standard-card li { color: rgba(255,255,255,.72); display: flex; font-size: .72rem; gap: 7px; line-height: 1.4; }
.landing-standard-card li i { color: #7bd091; }
.home-industries-section { background: #fff; padding: 76px 0 82px; }
.home-industries-section .landing-section-heading > p, .home-advantages-section .landing-section-heading > p { max-width: 510px; }
.home-industries-grid { display: grid; gap: 19px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-industry-card { background: #fff; border: 1px solid var(--site-line); min-width: 0; overflow: hidden; }
.home-industry-image { aspect-ratio: 1.5 / 1; background-image: linear-gradient(180deg, transparent 45%, rgba(10,29,50,.19)), url('../images/drc-industry-sectors.png'); background-size: 100% 100%, 300% 300%; }
.home-industry-image--mining { background-position: center, 0 0; }
.home-industry-image--food { background-position: center, 50% 0; }
.home-industry-image--construction { background-position: center, 100% 0; }
.home-industry-image--healthcare { background-position: center, 0 50%; }
.home-industry-image--logistics { background-position: center, 50% 50%; }
.home-industry-image--finance { background-position: center, 100% 50%; }
.home-industry-card-body { min-height: 163px; padding: 20px 21px 19px; position: relative; }
.home-industry-icon { align-items: center; background: #eaf5ed; color: var(--site-green); display: inline-flex; font-size: 1.05rem; height: 39px; justify-content: center; margin-top: -40px; position: relative; width: 42px; }
.home-industry-card h3 { color: var(--site-ink); font-size: 1.02rem; font-weight: 800; line-height: 1.3; margin: 11px 0 7px; }
.home-industry-card p { color: var(--site-muted); font-size: .79rem; line-height: 1.55; margin: 0; }
.home-advantages-section { background: var(--site-paper); padding: 76px 0 82px; }
.home-advantages-grid { border-left: 1px solid var(--site-line); border-top: 1px solid var(--site-line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-advantage-card { background: rgba(255,255,255,.72); border-bottom: 1px solid var(--site-line); border-right: 1px solid var(--site-line); min-height: 208px; padding: 24px 25px; }
.home-advantage-card > span { align-items: center; background: #e9f4ec; color: var(--site-green); display: inline-flex; font-size: 1.15rem; height: 42px; justify-content: center; margin-bottom: 18px; width: 42px; }
.home-advantage-card h3 { color: var(--site-ink); font-size: .99rem; font-weight: 800; line-height: 1.35; margin: 0 0 8px; }
.home-advantage-card p { color: var(--site-muted); font-size: .8rem; line-height: 1.6; margin: 0; }
.home-why-choose-section { background: var(--site-navy); color: #fff; padding: 78px 0 83px; }
.home-why-choose-layout { display: grid; gap: clamp(45px, 8vw, 108px); grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.home-why-choose-copy { align-self: center; }
.home-why-choose-copy .section-eyebrow { color: #8dd7a0; }
.home-why-choose-copy h2 { color: #fff; font-size: clamp(2rem, 3.5vw, 3.15rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.08; margin: 0 0 18px; }
.home-why-choose-copy > p { color: rgba(255,255,255,.75); font-size: .94rem; line-height: 1.75; margin: 0 0 25px; }
.home-why-choose-copy .btn { background: #fff; border-color: #fff; color: var(--site-navy); font-weight: 800; padding: 12px 17px; }
.home-why-choose-list { border-top: 1px solid rgba(255,255,255,.2); }
.home-why-choose-list article { align-items: flex-start; border-bottom: 1px solid rgba(255,255,255,.2); display: grid; gap: 17px; grid-template-columns: 44px minmax(0, 1fr); padding: 21px 0; }
.home-why-choose-list article > span { align-items: center; background: rgba(255,255,255,.08); color: #8dd7a0; display: inline-flex; font-size: 1.1rem; height: 40px; justify-content: center; width: 40px; }
.home-why-choose-list h3 { color: #fff; font-size: .98rem; font-weight: 800; margin: 0 0 5px; }
.home-why-choose-list p { color: rgba(255,255,255,.7); font-size: .82rem; line-height: 1.55; margin: 0; }
.landing-process-section { background: var(--site-paper); isolation: isolate; overflow: hidden; padding: 76px 0 82px; position: relative; }
.landing-process-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); position: relative; z-index: 1; }
.landing-process-intro { background: var(--site-navy); isolation: isolate; overflow: hidden; padding: clamp(30px, 4vw, 54px); position: relative; }
.landing-process-intro::before { background-image: repeating-radial-gradient(ellipse at center, transparent 0 22px, rgba(255,255,255,.09) 23px 24px, transparent 25px 44px), repeating-linear-gradient(135deg, transparent 0 28px, rgba(255,255,255,.045) 29px 30px, transparent 31px 57px); border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ''; height: 390px; pointer-events: none; position: absolute; right: -145px; top: -145px; width: 390px; z-index: -1; }
.landing-process-intro > * { position: relative; z-index: 1; }
.landing-process-intro .section-eyebrow { color: #8dd7a0; }
.landing-process-intro h2 { color: #fff; font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.08; margin: 0 0 17px; }
.landing-process-description, .landing-process-description p { color: rgba(255,255,255,.76); font-size: .9rem; line-height: 1.75; }
.landing-process-description p { margin: 0; }
.landing-process-note { align-items: flex-start; border-top: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.9); display: flex; font-size: .78rem; gap: 11px; line-height: 1.5; margin-top: 25px; padding-top: 17px; }
.landing-process-note i { color: #8dd7a0; flex: 0 0 auto; font-size: 1.05rem; }
.landing-process-content { align-items: center; background: #fff; display: flex; min-width: 0; padding: clamp(22px, 3vw, 38px); }
.landing-process-grid { border-left: 1px solid var(--site-line); border-top: 1px solid var(--site-line); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
.landing-process-grid article { border-bottom: 1px solid var(--site-line); border-right: 1px solid var(--site-line); display: grid; gap: 13px; grid-template-columns: 39px minmax(0, 1fr); min-width: 0; padding: 20px 16px; }
.landing-process-grid article:nth-child(2n) { border-right: 0; }
.landing-process-grid article:nth-child(n+3) { border-bottom: 0; }
.landing-process-grid article:first-child { padding-left: 16px; }
.landing-process-number { align-items: center; background: #eaf5ed; color: var(--site-green); display: inline-flex; font-family: var(--font-heading); font-size: .8rem; font-weight: 800; height: 35px; justify-content: center; width: 35px; }
.landing-process-grid h3 { color: var(--site-ink); font-size: .9rem; font-weight: 800; line-height: 1.35; margin: 0 0 7px; }
.landing-process-grid p { color: var(--site-muted); font-size: .76rem; line-height: 1.55; margin: 0; }
.landing-final-cta { background: var(--site-green); color: #fff; padding: 47px 0; }
.landing-final-cta-inner { align-items: center; display: flex; gap: 38px; justify-content: space-between; }
.landing-final-cta .section-eyebrow { color: rgba(255,255,255,.77); margin-bottom: 8px; }
.landing-final-cta h2 { color: #fff; font-size: clamp(1.8rem, 3vw, 2.65rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.12; margin: 0 0 9px; max-width: 760px; }
.landing-final-cta p { color: rgba(255,255,255,.84); margin: 0; max-width: 760px; }
.landing-final-cta .btn { background: var(--site-navy); border-color: var(--site-navy); color: #fff; flex: 0 0 auto; padding: 13px 20px; }

.editorial-heading, .courses-masthead, .faq-header { background: #edf3f7; color: var(--site-ink); overflow: hidden; padding: 57px 0; position: relative; }
.editorial-heading h1, .courses-masthead h1, .faq-header h1 { color: var(--site-navy) !important; font-size: clamp(2.35rem, 4.3vw, 4.3rem); font-weight: 800; letter-spacing: -.06em; line-height: 1.02; margin: 0 0 15px; }
.editorial-heading p, .courses-masthead p, .faq-header p { color: #556679 !important; font-size: 1.02rem; line-height: 1.7; margin: 0; max-width: 650px; }
.editorial-heading .container, .courses-masthead .container, .faq-header .container { position: relative; z-index: 1; }
.about-masthead .container, .services-masthead .container, .membership-hero .container, .quote-masthead .container, .application-header .container, .contact-masthead .container { align-items: center; display: grid; gap: 45px; grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr); }
.editorial-heading .masthead-copy { max-width: 680px; }
.masthead-visual { height: 290px; overflow: hidden; position: relative; }
.masthead-visual img { height: 100%; object-fit: cover; width: 100%; }
.masthead-visual::after { background: var(--site-green); bottom: 0; content: ''; height: 10px; left: 0; position: absolute; width: 34%; }
.about-masthead { background: #f1f6f2; }
.services-masthead { background: #edf3f7; }
.membership-hero { background: #eef4ef; }
.quote-masthead { background: #edf3f7; }
.application-header { background: #eef4ef; }
.editorial-heading .breadcrumb { font-size: .78rem; margin-bottom: 18px; }
.editorial-heading .breadcrumb-item a { color: var(--site-blue); text-decoration: none; }
.editorial-heading .breadcrumb-item.active { color: var(--site-muted); }
.courses-masthead { padding: 0; }
.courses-hero-grid { align-items: center; display: grid; gap: 52px; grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); min-height: 340px; padding-bottom: 42px; padding-top: 42px; }
.courses-hero-visual { height: 260px; overflow: hidden; }
.courses-hero-visual img { height: 100%; object-fit: cover; width: 100%; }
.faq-header { padding: 0; }
.faq-hero-grid { align-items: center; display: grid; gap: 50px; grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr); min-height: 340px; padding-bottom: 40px; padding-top: 40px; }
.faq-hero-grid > img { height: 270px; object-fit: cover; width: 100%; }
.faq-header .badge { background: var(--site-green) !important; border-radius: 0; color: #fff; letter-spacing: .12em; }
.editorial-heading, .courses-masthead, .faq-header, .auth-page { isolation: isolate; }
.page-hero-slideshow { inset: 0; overflow: hidden; pointer-events: none; position: absolute; z-index: -2; }
.page-hero-slide { animation: homeHeroBackdrop 24s ease-in-out infinite; inset: 0; opacity: 0; position: absolute; }
.page-hero-slide:nth-child(2) { animation-delay: 8s; }
.page-hero-slide:nth-child(3) { animation-delay: 16s; }
.page-hero-slide img { filter: grayscale(1); height: 100%; object-fit: cover; object-position: center 46%; opacity: .48; transform: scale(1.04); width: 100%; }
.editorial-heading::before, .courses-masthead::before, .faq-header::before { background: linear-gradient(115deg, rgba(242,246,244,.78), rgba(242,246,244,.9) 76%); content: ''; inset: 0; pointer-events: none; position: absolute; z-index: -1; }
.auth-page { overflow: hidden; position: relative; }
.auth-page::before { background: linear-gradient(115deg, rgba(241,240,236,.76), rgba(241,240,236,.88) 76%); content: ''; inset: 0; pointer-events: none; position: absolute; z-index: -1; }
.auth-page > .container { position: relative; z-index: 1; }
@media (prefers-reduced-motion: reduce) {
    .page-hero-slide { animation: none; opacity: 0; }
    .page-hero-slide:first-child { opacity: 1; }
}

.site-shell .about-story-section { background: #fff; isolation: isolate; overflow: hidden; padding: 78px 0 !important; position: relative; }
.about-story-section::before { background: repeating-radial-gradient(ellipse at 95% 20%, transparent 0 24px, rgba(49,101,176,.045) 25px 26px, transparent 27px 47px); content: ''; height: 480px; pointer-events: none; position: absolute; right: -160px; top: -125px; width: 480px; z-index: -1; }
.about-story-grid { align-items: center; display: grid; gap: clamp(38px, 7vw, 90px); grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); position: relative; z-index: 1; }
.about-story-copy h2, .about-section-heading h2, .about-coverage-heading h2, .about-reasons-copy h2 { color: var(--site-ink); font-size: clamp(1.9rem, 3.2vw, 2.8rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.1; margin: 0 0 17px; }
.about-story-lead { color: var(--site-muted); font-size: .98rem; line-height: 1.8; margin: 0; }
.about-story-visual { min-height: 405px; position: relative; }
.about-story-image { height: 405px; object-fit: cover; width: 100%; }
.about-story-visual::before { border-bottom: 10px solid var(--site-green); border-left: 10px solid var(--site-green); bottom: -12px; content: ''; height: 34%; left: -12px; position: absolute; width: 34%; z-index: -1; }
.about-story-caption { align-items: center; background: var(--site-navy); bottom: 18px; color: #fff; display: flex; gap: 13px; left: -20px; max-width: 285px; padding: 15px 18px; position: absolute; }
.about-story-caption > i { color: #8dd7a0; font-size: 1.25rem; }
.about-story-caption strong, .about-story-caption small { display: block; }
.about-story-caption strong { font-size: .85rem; }
.about-story-caption small { color: rgba(255,255,255,.72); font-size: .7rem; margin-top: 3px; }
.about-story-stats { border-top: 1px solid var(--site-line); display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 30px; padding-top: 22px; }
.about-story-stats article { align-items: flex-start; display: flex; gap: 12px; min-width: 0; }
.about-story-stats article > span { align-items: center; background: #eaf5ed; color: var(--site-green); display: inline-flex; flex: 0 0 36px; height: 36px; justify-content: center; }
.about-story-stats strong, .about-story-stats small { display: block; }
.about-story-stats strong { color: var(--site-ink); font-size: .9rem; line-height: 1.35; }
.about-story-stats small { color: var(--site-muted); font-size: .72rem; line-height: 1.45; margin-top: 4px; }
.about-principles-section { background: #f1f5f3; isolation: isolate; overflow: hidden; padding: 72px 0 78px; position: relative; }
.about-principles-section::before { background-image: radial-gradient(circle, rgba(49,101,176,.08) 1px, transparent 1.5px); background-size: 18px 18px; content: ''; inset: 0 0 0 auto; opacity: .42; pointer-events: none; position: absolute; width: 34%; z-index: -1; }
.about-section-heading { margin-bottom: 30px; position: relative; z-index: 1; }
.about-section-heading h2 { margin-bottom: 0; }
.about-principles-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); position: relative; z-index: 1; }
.about-principle-card { background: #fff; border: 1px solid #e1e9e5; min-width: 0; padding: 25px 24px; }
.about-principle-icon { align-items: center; background: #eaf5ed; color: var(--site-green); display: inline-flex; font-size: 1.2rem; height: 43px; justify-content: center; margin-bottom: 18px; width: 43px; }
.about-principle-card h3 { color: var(--site-ink) !important; font-size: 1.02rem; font-weight: 800; margin: 0 0 9px; }
.about-principle-card div, .about-principle-card div * { color: var(--site-muted) !important; font-size: .84rem; line-height: 1.65; }
.about-principle-card div p { margin: 0; }
.about-training-section { background: var(--site-navy); isolation: isolate; overflow: hidden; padding: 72px 0; position: relative; }
.about-training-section::before { background-image: repeating-radial-gradient(ellipse at center, transparent 0 25px, rgba(255,255,255,.075) 26px 27px, transparent 28px 48px); border: 1px solid rgba(255,255,255,.08); border-radius: 50%; content: ''; height: 490px; pointer-events: none; position: absolute; right: -155px; top: -205px; width: 490px; z-index: -1; }
.about-training-layout { align-items: center; display: grid; gap: clamp(42px, 8vw, 105px); grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr); position: relative; z-index: 1; }
.about-training-copy .section-eyebrow { color: #93dca5; }
.about-training-copy h2 { color: #fff; font-size: clamp(1.9rem, 3.2vw, 2.75rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.1; margin: 0 0 16px; }
.about-training-copy > p { color: rgba(255,255,255,.78); font-size: .94rem; line-height: 1.75; margin: 0 0 20px; }
.about-training-copy ul { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.about-training-copy li { color: rgba(255,255,255,.9); display: flex; font-size: .84rem; gap: 10px; line-height: 1.5; }
.about-training-copy li i { color: #8dd7a0; flex: 0 0 auto; }
.about-training-brand-card { background: #fff; padding: 24px; text-align: center; }
.about-training-brand-label { color: var(--site-muted); display: block; font-size: .67rem; font-weight: 800; letter-spacing: .12em; margin-bottom: 17px; text-transform: uppercase; }
.about-training-brand-card a { align-items: center; color: var(--site-blue); display: flex; flex-direction: column; gap: 17px; text-decoration: none; }
.about-training-brand-card img { height: auto; max-height: 105px; max-width: 100%; object-fit: contain; width: 270px; }
.about-training-brand-card a > span { align-items: center; border-top: 1px solid var(--site-line); display: flex; font-size: .83rem; font-weight: 800; justify-content: space-between; padding-top: 14px; width: 100%; }
.about-partnership-section { background: #fff; padding: 72px 0 !important; }
.about-partnership-layout { align-items: center; display: grid; gap: clamp(36px, 6vw, 75px); grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr); }
.about-partnership-mark { background: #f3f6f8; padding: 27px; text-align: center; }
.about-partnership-mark > img { height: 100px; max-width: 100%; object-fit: contain; }
.about-partnership-mark > span { align-items: center; color: var(--site-blue); display: flex; font-size: .74rem; font-weight: 800; gap: 8px; justify-content: center; margin-top: 17px; }
.about-partnership-mark > span i { color: var(--site-green); }
.about-partnership-copy h2 { color: var(--site-ink); font-size: clamp(1.7rem, 2.7vw, 2.35rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.12; margin: 0 0 13px; }
.about-partnership-copy > p { color: var(--site-muted); font-size: .9rem; line-height: 1.7; margin: 0 0 19px; }
.about-partner-benefits { display: grid; gap: 10px 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.about-partner-benefits span { align-items: flex-start; color: var(--site-ink); display: flex; font-size: .74rem; font-weight: 700; gap: 7px; line-height: 1.45; }
.about-partner-benefits i { color: var(--site-green); flex: 0 0 auto; }
.about-certificate-preview { background: #f6f8fa; border: 1px solid var(--site-line); cursor: zoom-in; display: grid; gap: 7px; margin-top: 22px; max-width: 390px; padding: 12px; text-align: left; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; width: 100%; }
.about-certificate-preview:hover { border-color: var(--site-blue); box-shadow: 0 10px 24px rgba(16,36,59,.1); transform: translateY(-2px); }
.about-certificate-preview img { background: #fff; border: 1px solid #e6ebef; height: 132px; object-fit: contain; padding: 5px; width: 100%; }
.about-certificate-preview > span { align-items: center; color: var(--site-blue); display: flex; font-size: .78rem; font-weight: 800; justify-content: space-between; }
.about-certificate-preview > small { color: var(--site-muted); font-size: .7rem; }
.about-certificate-modal { border: 0; border-radius: 3px; overflow: hidden; }
.about-certificate-modal .modal-header { border-bottom: 1px solid var(--site-line); }
.about-certificate-modal .modal-title { color: var(--site-ink); font-size: 1rem; font-weight: 800; }
.about-certificate-modal .modal-body { background: #f4f6f8; padding: 14px; text-align: center; }
.about-certificate-modal .modal-body img { display: block; height: auto; margin: 0 auto; max-height: calc(100vh - 180px); max-width: 100%; object-fit: contain; width: auto; }
.about-coverage-section { background: var(--site-paper); isolation: isolate; overflow: hidden; padding: 75px 0 78px; position: relative; }
.about-coverage-section::before { background: repeating-linear-gradient(135deg, transparent 0 23px, rgba(49,101,176,.035) 24px 25px, transparent 26px 48px); content: ''; inset: 0 0 0 auto; pointer-events: none; position: absolute; width: 38%; z-index: -1; }
.about-coverage-section > .container { position: relative; z-index: 1; }
.about-coverage-heading { align-items: end; display: flex; gap: 38px; justify-content: space-between; margin-bottom: 28px; }
.about-coverage-heading h2 { margin: 0; max-width: 660px; }
.about-coverage-heading > p { color: var(--site-muted); font-size: .9rem; line-height: 1.7; margin: 0; max-width: 430px; }
.about-city-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.about-city-grid article { align-items: center; background: #fff; border: 1px solid var(--site-line); display: flex; gap: 11px; min-width: 0; padding: 16px; }
.about-city-grid i { color: var(--site-green); font-size: 1.05rem; }
.about-city-grid h3 { color: var(--site-ink); font-size: .88rem; font-weight: 800; margin: 0; }
.about-standard-strip { border-top: 1px solid var(--site-line); margin-top: 30px; padding-top: 23px; }
.about-standard-strip h3 { color: var(--site-ink); font-size: .87rem; font-weight: 800; margin: 0 0 13px; }
.about-standard-strip > div { display: flex; flex-wrap: wrap; gap: 8px; }
.about-standard-strip span { background: #e8eff4; color: var(--site-navy); font-size: .72rem; font-weight: 700; padding: 8px 11px; }
.about-coverage-cta { align-items: center; background: var(--site-green); color: #fff; display: inline-flex; font-size: .83rem; font-weight: 800; gap: 15px; margin-top: 22px; padding: 12px 16px; text-decoration: none; }
.about-coverage-cta:hover { background: var(--site-navy); color: #fff; }
.about-reasons-section { background: #f2f6f4; isolation: isolate; overflow: hidden; padding: 78px 0; position: relative; }
.about-reasons-section::before { background-image: radial-gradient(circle, rgba(31,171,74,.09) 1px, transparent 1.5px); background-size: 18px 18px; content: ''; height: 320px; left: -95px; pointer-events: none; position: absolute; top: -65px; width: 320px; z-index: -1; }
.about-reasons-layout { align-items: center; display: grid; gap: clamp(40px, 7vw, 88px); grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); position: relative; z-index: 1; }
.about-reasons-copy h2 { margin-bottom: 13px; }
.about-reasons-copy > p { color: var(--site-muted); font-size: .9rem; line-height: 1.7; margin: 0 0 20px; }
.about-reasons-copy > img { height: 205px; object-fit: cover; width: 100%; }
.about-reasons-list { min-width: 0; }
.about-reason-row { align-items: start; border-bottom: 1px solid #d9e2df; display: grid; gap: 16px; grid-template-columns: 34px 28px minmax(0, 1fr); padding: 21px 0; }
.about-reason-row:first-child { border-top: 1px solid #d9e2df; }
.about-reason-number { color: var(--site-green); font-family: var(--font-heading); font-size: .8rem; font-weight: 800; padding-top: 5px; }
.about-reason-row > i { color: var(--site-blue); font-size: 1.1rem; padding-top: 4px; }
.about-reason-row h3 { color: var(--site-ink); font-size: .98rem; font-weight: 800; margin: 0 0 5px; }
.about-reason-row p { color: var(--site-muted); font-size: .82rem; line-height: 1.6; margin: 0; }

.services-overview { background: #fff !important; padding-bottom: 30px !important; }
.service-image-essay { align-items: stretch; display: grid; gap: 12px; grid-template-columns: 1.35fr 1fr 1fr; margin-bottom: 35px; }
.service-image-essay img { height: 210px; object-fit: cover; width: 100%; }
.service-image-essay img:first-child { height: 265px; }
.service-offerings { margin: 0 auto; max-width: 1090px; }
.service-offering { align-items: center; border-bottom: 1px solid var(--site-line); display: grid; gap: 24px; grid-template-columns: 40px minmax(0, 1fr) auto; padding: 21px 0; }
.service-offering-icon { color: var(--site-blue); font-size: 1.3rem; }
.service-offering-copy h3 { font-size: 1.03rem; font-weight: 800; margin: 0 0 5px; }
.service-offering-copy p { color: var(--site-muted); font-size: .88rem; margin: 0; max-width: 730px; }
.service-offering-link { color: var(--site-blue); display: inline-flex; font-size: .8rem; font-weight: 800; gap: 9px; text-decoration: none; white-space: nowrap; }
.service-standard-entry { border-bottom: 1px solid var(--site-line); padding: 32px 0; }
.service-standard-entry > .row { align-items: start !important; }
.service-standard-mark { color: var(--site-green); padding: 14px !important; }
.service-standard-image { height: 210px; object-fit: cover; width: 100%; }
.service-standard-entry img { height: 210px; object-fit: cover; }
.service-detail-page #serviceTabs .nav-link { background: #f2f6f8 !important; border-radius: 0 !important; margin-right: 4px; }
.service-detail-page #serviceTabs .nav-link.active { background: var(--site-blue) !important; border-color: var(--site-blue) !important; color: #fff !important; }
.course-view-tabs .nav-link, #viewToggleGroup .btn { border-radius: 0 !important; }
.course-view-tabs .nav-link { color: var(--site-muted); }
.course-view-tabs .nav-link.active { background: var(--site-blue); color: #fff; }
#viewToggleGroup { border-radius: 0 !important; box-shadow: none !important; }
#viewToggleGroup .btn.active { background: var(--site-blue); color: #fff; }
.service-scope-panel { background: var(--site-paper); padding: 22px !important; }
.service-scope-panel h6 { font-size: .85rem; text-transform: uppercase; }
.service-scope-panel ul { color: var(--site-muted); padding-left: 18px; }
.services-contact-band { background: var(--site-blue); }
.services-contact-band .container { padding-bottom: 56px !important; padding-top: 56px !important; }

.course-catalogue-intro { align-items: center; display: grid; gap: 46px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-bottom: 45px; }
.course-catalogue-intro img { height: 290px; object-fit: cover; width: 100%; }
.course-catalogue-intro h2 { font-size: clamp(1.7rem, 2.5vw, 2.5rem); }
.courses-catalogue { padding-top: 50px !important; }
.course-filter-panel { background: var(--site-paper); }
.course-card { align-items: stretch; background: #fff; border: 0; display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); height: 100%; padding: 0; }
.course-card > .row { display: contents; }
.course-card .course-img-container { height: auto; width: auto !important; }
.course-card .course-img-container > div { min-height: 220px; }
.course-card .course-img-container img, .course-card .course-img-container .card-img-top { height: 220px !important; min-height: 220px !important; object-fit: cover !important; width: 100%; }
.course-card .course-content-container { height: auto; width: auto !important; }
#coursesGrid.list-view .course-card { gap: clamp(20px, 4vw, 50px); grid-template-columns: minmax(220px, 29%) minmax(0, 1fr); padding: 26px 0; }
#coursesGrid.list-view .course-img-container img, #coursesGrid.list-view .course-img-container .card-img-top { height: 100% !important; object-fit: cover !important; }
#coursesGrid.list-view .course-content-container { min-width: 0; }
.course-result-body { min-height: 100%; padding: 0 !important; }
.course-result-body .course-title { font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.18; }
.course-result-body .course-desc { color: var(--site-muted); line-height: 1.65; }
.course-card .course-meta { background: transparent !important; border-bottom: 1px solid var(--site-line); border-top: 1px solid var(--site-line); padding: 12px 0 !important; }
.course-meta-icon { color: var(--site-blue); display: inline-flex; font-size: 1rem; }
.course-card .action-buttons { max-width: 470px; }
.completed-course-list { display: grid; grid-template-columns: 1fr; }
.completed-course-row { align-items: center; border-bottom: 1px solid var(--site-line); display: grid; gap: 28px; grid-template-columns: minmax(180px, 25%) minmax(0, 1fr); padding: 24px 0; }
.course-completed-image { height: 170px; object-fit: cover; width: 100%; }
.course-completed-date { align-items: center; border-top: 1px solid var(--site-line); display: flex; gap: 12px; padding-top: 12px; }
.course-completed-body .btn { width: auto !important; }
.calendar-frame { background: #fff; border: 1px solid var(--site-line); overflow-x: auto; }
.calendar-frame table { min-width: 720px; }
.course-calendar-legend { border-top: 1px solid var(--site-line); }
#coursesGrid .course-item { flex: 0 0 100%; max-width: 100%; width: 100%; }
#coursesGrid.list-view .course-card { grid-template-columns: minmax(200px, 24%) minmax(0, 1fr); }

.membership-page .membership-overview { padding: 70px 0 !important; }
.membership-overview-image { height: 465px; object-fit: cover; width: 100%; }
.membership-member-note { background: var(--site-green) !important; border: 0 !important; color: #fff; }
.membership-member-note h2, .membership-member-note p { color: #fff !important; }
.membership-type { border-top: 1px solid var(--site-line); padding: 14px 0; }
.membership-benefit-list { margin: 0 auto; max-width: 1080px; }
.membership-benefit-row { align-items: start; border-bottom: 1px solid var(--site-line); display: grid; gap: 24px; grid-template-columns: 36px minmax(0, 1fr) minmax(220px, .8fr); padding: 22px 0; }
.membership-benefit-row > i { color: var(--site-green); font-size: 1.3rem; padding-top: 3px; }
.membership-benefit-copy h3 { font-size: 1.02rem; font-weight: 800; margin: 0 0 5px; }
.membership-benefit-copy p, .membership-benefit-row ul { color: var(--site-muted); font-size: .86rem; margin: 0; }
.membership-benefit-row ul { list-style: none; padding: 0; }
.membership-benefit-row li { margin-bottom: 5px; }
.membership-benefit-join { align-items: center; }
.membership-closing-section { background: var(--site-navy); color: #fff; padding: 58px 0; text-align: center; }
.membership-closing-section h2 { color: #fff; }

.contact-page > .container { padding-bottom: 65px !important; padding-top: 68px !important; }
.contact-page .row { align-items: start; }
.contact-page .card { background: var(--site-paper); border: 0 !important; padding: clamp(22px, 4vw, 42px) !important; }
.contact-feature-image { height: 265px; object-fit: cover; width: 100%; }
.contact-detail-symbol { align-items: center; background: var(--site-blue); color: #fff; display: flex; flex: 0 0 44px; height: 44px; justify-content: center; width: 44px; }
.contact-detail-row .contact-detail-symbol { background: var(--site-green); }
.contact-page iframe { display: block; width: 100%; }

.faq-content { background: var(--site-paper); }
.faq-content > section.py-5 { margin-top: 0 !important; }
.faq-content .row { align-items: start; }
.faq-content .accordion-item { background: transparent; border: 0; border-bottom: 1px solid #d9e1e7; border-radius: 0 !important; }
.faq-content .accordion-button { background: transparent; box-shadow: none; color: var(--site-ink); font-weight: 800; padding: 20px 5px; }
.faq-content .accordion-button:not(.collapsed) { color: var(--site-blue); }
.faq-content .accordion-button i { color: var(--site-green); }
.faq-content .accordion-body { color: var(--site-muted); line-height: 1.75; padding: 4px 42px 22px; }
.faq-sidebar-card { background: var(--site-blue); border-radius: 0; color: #fff; }
.faq-sidebar-card h2 { color: #fff; font-size: 1.2rem; }
.faq-sidebar-card p { color: rgba(255,255,255,.75); }
.faq-contact-row { align-items: center; border-top: 1px solid rgba(255,255,255,.25); display: flex; gap: 14px; padding: 14px 0; }
.faq-contact-row i { color: #9ce1a9; }
.faq-contact-row span { font-size: .82rem; font-weight: 700; overflow-wrap: anywhere; }
.faq-quote-note { border-top: 1px solid #ccd6dc; padding-top: 22px; }
.faq-quote-note h2 { font-size: 1.2rem; }
.faq-content .contact-cta { background: var(--site-navy); margin-top: 65px !important; padding: 44px 24px; }
.faq-empty-state { padding: 50px 20px !important; }

.quote-page > .container { padding-bottom: 70px !important; padding-top: 54px !important; }
.quote-form-layout { background: #fff; border: 1px solid var(--site-line); display: grid; grid-template-columns: minmax(240px, .75fr) minmax(0, 1.45fr); }
.quote-aside { background: var(--site-blue); color: #fff; }
.quote-aside h3 { color: #fff; }
.quote-aside i { color: #a7e2b3; }
.quote-form-layout .col-lg-8 { padding: clamp(22px, 4vw, 46px) !important; }
.quote-form-layout h5 { border: 0 !important; color: var(--site-blue) !important; font-size: .9rem; letter-spacing: .04em; text-transform: uppercase; }
.trainer-application-page { margin-top: 0; padding-top: 45px; position: relative; }
.trainer-application-page .form-card { background: #fff; border: 1px solid var(--site-line); padding: clamp(22px, 4vw, 46px) !important; }
.trainer-application-page .form-section-title { border: 0; color: var(--site-blue); font-size: 1rem; padding: 0; }
.trainer-application-page .upload-area { background: var(--site-paper); border: 1px dashed #aebbc7; border-radius: 0; }
.trainer-benefits-layout { align-items: center; display: grid; gap: 55px; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); }
.trainer-benefit-list { border-top: 1px solid var(--site-line); }
.trainer-benefit-row { align-items: start; border-bottom: 1px solid var(--site-line); display: grid; gap: 19px; grid-template-columns: 30px minmax(0, 1fr); padding: 20px 0; }
.trainer-benefit-row > i { color: var(--site-green); font-size: 1.15rem; }
.trainer-benefit-row h3 { font-size: 1rem; font-weight: 800; margin: 0 0 5px; }
.trainer-benefit-row p { color: var(--site-muted); font-size: .88rem; margin: 0; }
.trainer-benefits-image { height: 355px; object-fit: cover; width: 100%; }

.auth-page { align-items: center; background: var(--site-paper) !important; display: flex; min-height: 68vh !important; padding: 50px 0; }
.auth-card { background: #fff; border: 0 !important; border-radius: 0 !important; box-shadow: 0 20px 55px rgba(16,36,59,.12) !important; }
.auth-image { background: linear-gradient(135deg, rgba(16,36,59,.92), rgba(49,101,176,.65)), url("../images/iso-training-workshop.png") center / cover !important; color: #fff; min-height: 500px; padding: 44px; }
.auth-image h2 { color: #fff; }
.auth-image i { color: #9ee1ad !important; }
.auth-page .bg-white { background: #fff !important; }
.auth-page .bg-white h2, .auth-page .bg-white h3 { color: var(--site-ink); }
.btn-auth { border-radius: 2px; font-weight: 800; padding: 12px; }
.auth-recovery-page { background: linear-gradient(110deg, rgba(16,36,59,.86), rgba(49,101,176,.35)), url("../images/iso-information-security.png") center / cover; min-height: 62vh; padding: 48px 0; }
.auth-recovery-page .card { border: 0 !important; border-radius: 0 !important; box-shadow: 0 16px 42px rgba(16,36,59,.09) !important; }
.legal-page { background: var(--site-paper); }
.legal-heading { align-items: center; border-bottom: 1px solid var(--site-line); display: grid; gap: 8px 24px; grid-template-columns: minmax(0, 1fr) minmax(140px, .55fr); margin-bottom: 23px; padding-bottom: 24px; }
.legal-heading .section-eyebrow { grid-column: 1; grid-row: 1; margin-bottom: 0; }
.legal-heading h1 { grid-column: 1; grid-row: 2; margin: 0 !important; }
.legal-heading::after { background: url("../images/iso-consultants-strategy.png") center / cover; content: ''; grid-column: 2; grid-row: 1 / span 2; height: 150px; }
.legal-page .container { padding-bottom: 70px !important; padding-top: 70px !important; }
.legal-page .col-lg-8 { background: #fff; padding: clamp(24px, 5vw, 56px); }
.legal-page h1 { font-size: clamp(2rem, 4vw, 3.3rem); }
.legal-page h4 { margin-top: 32px !important; }
.service-detail-page .card, .course-detail-page .card { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.service-detail-hero, .course-detail-hero { background: var(--site-paper) !important; padding-top: 38px !important; }
.service-detail-hero .row, .course-detail-hero .row { align-items: start; }
.service-detail-hero .card, .course-detail-hero .card { background: #fff; }
.service-detail-hero .card img { max-height: 400px; object-fit: cover; }
.course-detail-hero .card > .text-center img { max-height: 500px; object-fit: cover !important; }
.service-detail-page .tab-content { border-top: 1px solid var(--site-line); }
.service-detail-page #serviceTabs .nav-link { border-radius: 0; color: var(--site-muted); }
.course-detail-page .nav-tabs .nav-link { background: transparent !important; border-radius: 0 !important; color: var(--site-muted) !important; }
.course-detail-page .nav-tabs .nav-link.active { border-bottom: 2px solid var(--site-green) !important; color: var(--site-blue) !important; }
.booking-page .card { border: 0 !important; border-radius: 0 !important; box-shadow: 0 14px 42px rgba(16,36,59,.08) !important; }

.site-footer { background: #0c2036; color: rgba(255,255,255,.72); overflow: hidden; position: relative; }
.footer-cta-band { background: var(--site-green); color: #fff; padding: 36px 0; }
.footer-cta-layout { align-items: center; display: flex; gap: 36px; justify-content: space-between; }
.footer-cta-layout .section-eyebrow { color: rgba(255,255,255,.76); margin-bottom: 5px; }
.footer-cta-layout h2 { color: #fff; font-size: clamp(1.55rem, 2.8vw, 2.35rem); letter-spacing: -.04em; line-height: 1.1; margin: 0 0 6px; }
.footer-cta-layout p { color: rgba(255,255,255,.84); margin: 0; max-width: 710px; }
.footer-cta-link { align-items: center; background: var(--site-navy); color: #fff; display: inline-flex; flex: 0 0 auto; font-size: .86rem; font-weight: 800; gap: 18px; justify-content: space-between; min-width: 170px; padding: 15px 18px; text-decoration: none; }
.footer-cta-link:hover { background: #183753; color: #fff; }
.site-footer > .container { padding-bottom: 0; padding-top: 0; position: relative; z-index: 1; }
.footer-primary-grid { align-items: start; display: grid; gap: 46px; grid-template-columns: 1.12fr .9fr 1fr; padding: 58px 0 48px; }
.footer-brand-lockup { align-items: center; color: #fff; display: flex; font-family: var(--font-heading); font-size: 1rem; font-weight: 800; gap: 14px; line-height: 1.3; text-decoration: none; }
.footer-brand-lockup img { background: #fff; border-radius: 50%; flex: 0 0 54px; object-fit: contain; padding: 3px; }
.footer-brand-lockup:hover { color: #fff; }
.footer-brand-copy { color: rgba(255,255,255,.68); font-size: .88rem; line-height: 1.7; margin: 19px 0 22px; max-width: 390px; }
.footer-partner { align-items: center; border-left: 2px solid var(--site-green); display: flex; gap: 13px; min-height: 48px; padding-left: 14px; }
.footer-partner-logo { background: #fff; max-height: 42px; max-width: 132px; object-fit: contain; padding: 4px 7px; }
.footer-partner span { color: rgba(255,255,255,.58); font-size: .7rem; line-height: 1.4; max-width: 135px; }
.footer-parent-partner { color: inherit; margin-top: 14px; text-decoration: none; transition: opacity .2s ease; }
.footer-parent-partner:hover { color: inherit; opacity: .88; }
.footer-section-title { color: #fff !important; font-family: var(--font-heading); font-size: .77rem !important; font-weight: 800; letter-spacing: .13em !important; line-height: 1.4 !important; margin: 0 0 19px !important; text-transform: uppercase; }
.footer-newsletter-block { align-self: center; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.11); padding: 26px; }
.footer-newsletter-form { display: flex; gap: 8px; }
.footer-newsletter-form input { background: rgba(5,20,35,.45); border: 1px solid rgba(255,255,255,.2); border-radius: 2px; color: #fff; flex: 1 1 auto; min-width: 0; padding: 12px 13px; }
.footer-newsletter-form input::placeholder { color: rgba(255,255,255,.5); }
.footer-newsletter-form input:focus { border-color: #83d497; outline: 2px solid rgba(131,212,151,.2); }
.footer-newsletter-form button { background: var(--site-green); border: 0; border-radius: 2px; color: #fff; flex: 0 0 46px; font-size: 1.1rem; }
.footer-newsletter-status { color: #9fe0ad; font-size: .75rem; min-height: 18px; }
.footer-contact-list { display: grid; gap: 13px; list-style: none; margin: 0; padding: 0; }
.footer-contact-list li { align-items: start; display: grid; font-size: .82rem; gap: 11px; grid-template-columns: 17px minmax(0, 1fr); line-height: 1.5; }
.footer-contact-list i { color: #83d497; }
.footer-contact-list a { color: rgba(255,255,255,.72); text-decoration: none; overflow-wrap: anywhere; }
.footer-contact-list a:hover { color: #fff; }
.footer-social-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.site-footer .social-icon { align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.08); border-radius: 50%; color: #fff; display: flex; height: 35px; justify-content: center; text-decoration: none; transition: background .2s ease, border-color .2s ease; width: 35px; }
.site-footer .social-icon:hover { background: var(--site-green); border-color: var(--site-green); color: #fff; }
.footer-directory-grid { border-bottom: 1px solid rgba(255,255,255,.13); border-top: 1px solid rgba(255,255,255,.13); display: grid; gap: 34px; grid-template-columns: .85fr 1.55fr .9fr .85fr; padding: 38px 0 42px; }
.site-footer .footer-links { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.site-footer .footer-links a { color: rgba(255,255,255,.66); font-size: .79rem; line-height: 1.45; text-decoration: none; transition: color .2s ease; }
.site-footer .footer-links a:hover { color: #fff; }
.site-footer .footer-standard-links { gap: 10px 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.footer-account-actions { display: grid; gap: 9px; }
.footer-account-link { align-items: center; border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.82); display: flex; font-size: .78rem; justify-content: space-between; padding: 10px 12px; text-decoration: none; transition: background .2s ease, border-color .2s ease; }
.footer-account-link:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.45); color: #fff; }
.footer-meta-row { align-items: center; color: rgba(255,255,255,.48); display: grid; font-size: .67rem; gap: 20px; grid-template-columns: 1.45fr auto auto auto; line-height: 1.5; padding: 21px 0 25px; }
.footer-legal-links { display: flex; gap: 14px; }
.footer-meta-row a { color: rgba(255,255,255,.6); text-decoration: none; }
.footer-meta-row a:hover { color: #fff; }
.footer-powered-link { justify-self: end; }
.site-shell .back-to-top, .site-shell .whatsapp-float { align-items: center; border: 0; border-radius: 0; bottom: 20px; display: flex; height: 44px; justify-content: center; position: fixed; width: 44px; z-index: 1000; }
.site-shell .back-to-top { background: var(--site-blue); color: #fff; opacity: 0; right: 20px; transition: opacity .2s ease; visibility: hidden; }
.site-shell .back-to-top.show { opacity: 1; visibility: visible; }
.site-shell .whatsapp-float { background: var(--site-green); color: #fff; font-size: 1.3rem; left: 20px; text-decoration: none; }

.portal-shell { background: var(--site-paper); }
.portal-shell > .bg-dark.text-white { display: none !important; }
.portal-shell .container.py-5.portal-dashboard-page { max-width: 1260px; padding-bottom: 54px !important; padding-top: 40px !important; }
.portal-shell .portal-page-heading { align-items: center; background: #fff; border-bottom: 2px solid var(--site-green); margin: 0 0 28px; padding: 21px 24px; }
.portal-shell .portal-page-heading h2 { font-size: clamp(1.55rem, 2.4vw, 2.2rem); letter-spacing: -.05em; }
.portal-shell .portal-page-heading p { margin: 0; }
.portal-shell .portal-stat-grid > div > .card { border: 0 !important; border-top: 3px solid var(--site-blue) !important; border-radius: 0 !important; box-shadow: 0 8px 24px rgba(16,36,59,.07) !important; min-height: 130px; }
.portal-shell .portal-content-grid .card { background: #fff; border: 1px solid var(--site-line) !important; border-radius: 0 !important; box-shadow: none !important; }
.portal-shell .portal-content-grid .card-header { padding: 17px 20px !important; }
.portal-shell .portal-content-grid .table-responsive { border-radius: 0; }
.portal-shell .portal-content-grid .table thead th { white-space: nowrap; }
.portal-shell .portal-content-grid .list-group-item { border-color: #e8edf1 !important; }
.portal-shell .portal-content-grid .btn { border-radius: 2px !important; }
.portal-shell .portal-content-grid .bg-light { background: #f3f6f8 !important; }
.portal-shell .container.py-5:not(.portal-dashboard-page) > .d-flex.justify-content-between.align-items-center.mb-4 { align-items: center; background: #fff; border-bottom: 2px solid var(--site-green); margin: 0 0 24px; padding: 19px 23px; }
.portal-shell .container.py-5:not(.portal-dashboard-page) > .row.g-4 > [class*="col-"] > .card { height: 100%; }
.portal-shell .auth-page { background: var(--site-paper) !important; }
@media (max-width: 767.98px) {
    .portal-shell .container.py-5.portal-dashboard-page { padding-top: 24px !important; }
    .portal-shell .portal-page-heading { gap: 14px; padding: 18px; }
    .portal-shell .portal-page-heading > [class*="col-"] { text-align: left !important; }
    .portal-shell .portal-page-heading .btn { margin: 4px 5px 0 0 !important; }
    .portal-shell .container.py-5:not(.portal-dashboard-page) > .d-flex.justify-content-between.align-items-center.mb-4 { align-items: flex-start !important; flex-direction: column; gap: 12px; padding: 18px; }
}

@media (max-width: 991.98px) {
    .site-address-link { display: none; }
    .site-navbar { min-height: 76px; }
    .site-navbar .navbar-collapse { background: #fff; border-top: 1px solid var(--site-line); margin-top: 12px; padding: 10px 0 16px; }
    .site-nav-links { align-items: stretch !important; gap: 0; }
    .site-shell .site-navbar .nav-link { border-bottom: 1px solid #edf1f4; padding: 12px 5px !important; }
    .site-nav-cta { align-items: stretch; flex-direction: column; margin: 13px 0 0; }
    .site-nav-cta .btn { text-align: center; }
    .site-mobile-language { align-items: center; border-top: 1px solid var(--site-line); display: flex; gap: 17px; margin-top: 12px; padding-top: 12px; }
    .site-mobile-language span { color: var(--site-muted); font-size: .76rem; margin-right: auto; }
    .site-mobile-language a { color: var(--site-blue); font-size: .8rem; font-weight: 800; text-decoration: none; }
    .home-hero-grid { gap: 35px; grid-template-columns: minmax(0, .95fr) minmax(330px, 1fr); }
    .home-hero-copy h1 { font-size: clamp(2.7rem, 5.4vw, 4.3rem); }
    .landing-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .landing-trust-item:nth-child(2) { padding-right: 0; }
    .landing-trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--site-line); padding-bottom: 14px; }
    .landing-trust-item:nth-child(n+3) { padding-top: 14px; }
    .landing-standard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .landing-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .landing-process-grid article:nth-child(2) { border-right: 0; }
    .landing-process-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--site-line); }
    .footer-main-grid { gap: 34px 25px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .site-utility-contact { flex: 1; gap: 8px; min-width: 0; }
    .site-utility-contact a:first-child, .site-utility-contact a:nth-child(2) { display: inline-flex; font-size: clamp(.58rem, 2.1vw, .68rem); white-space: nowrap; }
    .site-utility-contact i { margin-right: 4px; }
    .site-language-switcher { display: flex; flex: 0 0 auto; gap: 5px; }
    .site-mobile-language { display: none; }
    .site-utility-inner { gap: 8px; min-height: 36px; }
    .site-brand { max-width: 75%; }
    .site-brand img { height: 42px; width: 42px; }
    .site-brand strong { font-size: .8rem; }
    .site-brand small { font-size: .59rem; }
    .home-hero-grid { grid-template-columns: 1fr; padding-bottom: 35px; padding-top: 48px; }
    .home-hero-copy { padding: 0; }
    .home-hero-copy h1 { font-size: clamp(2.5rem, 10vw, 4rem); }
    .home-hero-art { min-height: 380px; }
    .home-hero-image-main { bottom: 25px; height: 315px; inset: 0 30px 40px 18px; }
    .home-hero-image-detail { height: 150px; left: 0; width: 180px; }
    .home-hero-stamp { bottom: 8px; right: 0; width: 180px; }
    .home-hero-art-number { font-size: 7rem; top: -45px; }
    .home-quote-layout { grid-template-columns: 1fr; }
    .home-quote-form { padding: 20px; }
    .landing-trust-band { padding-bottom: 34px; }
    .landing-intro-grid { grid-template-columns: 1fr; }
    .landing-intro-visual { min-height: 0; }
    .landing-intro-visual img { height: 300px; }
    .landing-image-caption { bottom: 12px; left: 10px; padding: 11px 14px; }
    .landing-section-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
    .landing-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .landing-service-card:nth-child(3) { border-top: 0; }
    .landing-process-grid article { padding: 18px 12px; }
    .landing-process-grid article:first-child { padding-left: 0; }
    .landing-final-cta-inner, .footer-cta-layout { align-items: flex-start; flex-direction: column; }
    .about-masthead .container, .services-masthead .container, .membership-hero .container, .quote-masthead .container, .application-header .container, .contact-masthead .container { gap: 25px; grid-template-columns: 1fr; }
    .masthead-visual { height: 230px; }
    .courses-hero-grid, .faq-hero-grid { gap: 25px; grid-template-columns: 1fr; padding-bottom: 34px; padding-top: 34px; }
    .courses-hero-visual, .faq-hero-grid > img { height: 220px; }
    .about-principles-section .row { grid-template-columns: 1fr; }
    .service-image-essay { grid-template-columns: 1fr 1fr; }
    .service-image-essay img:first-child { grid-column: 1 / -1; height: 210px; }
    .service-image-essay img { height: 145px; }
    .service-offering { gap: 10px 15px; grid-template-columns: 28px minmax(0, 1fr); }
    .service-offering-link { grid-column: 2; }
    .course-catalogue-intro { grid-template-columns: 1fr; gap: 20px; }
    .course-catalogue-intro img { height: 230px; }
    .course-card { gap: 18px; grid-template-columns: minmax(140px, 34%) minmax(0, 1fr); }
    .course-card .course-img-container > div { min-height: 180px; }
    .course-card .course-img-container img, .course-card .course-img-container .card-img-top { min-height: 180px !important; }
    .completed-course-row { gap: 18px; grid-template-columns: minmax(120px, 30%) minmax(0, 1fr); }
    .membership-benefit-row { gap: 12px 18px; grid-template-columns: 28px minmax(0, 1fr); }
    .membership-benefit-row ul, .membership-benefit-join .btn { grid-column: 2; }
    .contact-page > .container { padding-top: 45px !important; }
    .faq-content .contact-cta { padding: 36px 18px; }
    .quote-form-layout { grid-template-columns: 1fr; }
    .quote-aside { display: flex !important; min-height: 0; padding: 26px !important; }
    .quote-aside ul { margin-bottom: 0; }
    .trainer-benefits-layout { grid-template-columns: 1fr; }
    .auth-image { min-height: 260px; }
    .auth-page .card-body { padding: 1.5rem !important; }
    .legal-heading { grid-template-columns: 1fr; }
    .legal-heading::after { grid-column: 1; grid-row: 3; height: 170px; }
    .footer-main-grid { gap: 28px 20px; }
    .site-footer > .container { padding-top: 40px; }
}
@media (max-width: 575.98px) {
    .site-shell section.py-5 { padding-bottom: 3rem !important; padding-top: 3rem !important; }
    .site-utility-contact a { font-size: .68rem; }
    .home-hero-grid { gap: 22px; padding-top: 37px; }
    .home-hero-copy h1 { font-size: clamp(2.35rem, 10.2vw, 3.4rem); }
    .home-hero-copy > p { font-size: .94rem; }
    .home-hero-art { min-height: 320px; }
    .home-hero-image-main { height: 260px; }
    .home-hero-image-detail { height: 125px; width: 145px; }
    .home-hero-stamp { padding: 12px; width: 155px; }
    .home-hero-stamp strong { font-size: .78rem; }
    .home-hero-stamp small { font-size: .62rem; }
    .home-quote-section { padding: 42px 0; }
    .home-quote-form { gap: 12px; grid-template-columns: 1fr; padding: 17px; }
    .landing-trust-grid { grid-template-columns: 1fr; }
    .landing-trust-item { border-bottom: 1px solid var(--site-line); padding: 12px 0 !important; }
    .landing-trust-item:last-child { border-bottom: 0; }
    .landing-intro-section, .landing-services-section, .landing-standards-section, .landing-process-section { padding: 46px 0 52px; }
    .landing-service-grid { grid-template-columns: 1fr; }
    .landing-service-card, .landing-service-card:nth-child(3) { border-top: 1px solid #d7e0e5; min-height: 0; }
    .landing-standard-grid { grid-template-columns: 1fr; }
    .landing-standard-card { min-height: 0; }
    .landing-process-grid { grid-template-columns: 1fr; }
    .landing-process-grid article { border-bottom: 1px solid var(--site-line); border-right: 0; grid-template-columns: 35px 1fr; padding: 17px 0; }
    .landing-process-grid article:last-child { border-bottom: 0; }
    .editorial-heading, .courses-masthead, .faq-header { padding: 38px 0; }
    .editorial-heading h1, .courses-masthead h1, .faq-header h1 { font-size: clamp(2.2rem, 10vw, 3.1rem); }
    .service-image-essay img:first-child { height: 180px; }
    .service-standard-entry > .row { gap: 6px 0; }
    .course-card, #coursesGrid.list-view .course-card { grid-template-columns: 1fr; }
    .course-card .course-img-container > div, .course-card .course-img-container img, .course-card .course-img-container .card-img-top { height: 195px !important; min-height: 195px !important; }
    .completed-course-row { grid-template-columns: 1fr; }
    .course-completed-image { height: 200px; }
    .about-reason-row { gap: 10px; grid-template-columns: 28px 22px minmax(0, 1fr); }
    .about-reason-row > i { display: block; font-size: .95rem; }
    .membership-benefit-row, .membership-benefit-row.membership-benefit-simple { grid-template-columns: 24px minmax(0, 1fr); }
    .faq-content .contact-cta .d-flex { align-items: stretch; flex-direction: column; }
    .footer-main-grid { grid-template-columns: 1fr; }
    .site-footer .row.align-items-center > [class*="col-"] { text-align: left !important; }
    .site-footer .social-icon { height: 33px; width: 33px; }
    .footer-cta-link { width: 100%; }
    .site-shell .whatsapp-float { bottom: 14px; left: 14px; }
    .site-footer .back-to-top { bottom: 14px; right: 14px; }
}

.home-hero,
.landing-services-section {
    isolation: isolate;
    overflow: hidden;
    position: relative;
}
.home-hero::before,
.landing-services-section::before {
    background-image: repeating-radial-gradient(ellipse at center, transparent 0 24px, rgba(49,101,176,.085) 25px 26px, transparent 27px 46px), repeating-linear-gradient(90deg, transparent 0 31px, rgba(49,101,176,.07) 32px 33px, transparent 34px 63px), repeating-linear-gradient(0deg, transparent 0 31px, rgba(49,101,176,.07) 32px 33px, transparent 34px 63px);
    border: 1px solid rgba(49,101,176,.09);
    border-radius: 50%;
    content: '';
    height: 430px;
    opacity: .72;
    pointer-events: none;
    position: absolute;
    right: -120px;
    top: 50%;
    transform: translateY(-50%);
    width: 430px;
    z-index: -1;
}
.landing-services-section::before { right: -105px; }
.landing-final-cta { background: var(--site-navy); isolation: isolate; overflow: hidden; padding: 56px 0; position: relative; }
.landing-final-cta::before {
    background-image: repeating-radial-gradient(ellipse at center, transparent 0 24px, rgba(255,255,255,.1) 25px 26px, transparent 27px 46px), repeating-linear-gradient(90deg, transparent 0 31px, rgba(255,255,255,.07) 32px 33px, transparent 34px 63px), repeating-linear-gradient(0deg, transparent 0 31px, rgba(255,255,255,.07) 32px 33px, transparent 34px 63px);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    content: '';
    height: 430px;
    opacity: .65;
    pointer-events: none;
    position: absolute;
    right: -110px;
    top: 50%;
    transform: translateY(-50%);
    width: 430px;
    z-index: -1;
}
.landing-final-cta-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; position: relative; z-index: 1; }
.landing-final-cta .section-eyebrow { color: #8be0a0; }
.landing-final-cta .btn { background: var(--site-green); border: 1px solid var(--site-green); color: #fff; min-width: 190px; padding: 16px 20px; }
.landing-final-cta .btn:hover { background: #16883a; border-color: #16883a; }
.footer-cta-band { background: #f1f5f3; border-bottom: 1px solid #dce4eb; border-top: 1px solid #dce4eb; isolation: isolate; overflow: hidden; padding: 38px 0; position: relative; }
.footer-cta-band::before { background-image: repeating-linear-gradient(135deg, transparent 0 24px, rgba(49,101,176,.045) 25px 26px, transparent 27px 49px); content: ''; inset: 0; pointer-events: none; position: absolute; z-index: -1; }
.footer-cta-layout { display: grid; gap: 0; grid-template-columns: minmax(0, 1fr) minmax(190px, .32fr); position: relative; z-index: 1; }
.footer-cta-layout > div { background: var(--site-navy); isolation: isolate; overflow: hidden; padding: clamp(27px, 4vw, 42px); position: relative; }
.footer-cta-layout > div::before { background-image: repeating-radial-gradient(ellipse at center, transparent 0 19px, rgba(255,255,255,.09) 20px 21px, transparent 22px 40px), repeating-linear-gradient(90deg, transparent 0 27px, rgba(255,255,255,.05) 28px 29px, transparent 30px 55px); border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ''; height: 350px; pointer-events: none; position: absolute; right: -125px; top: -160px; width: 350px; z-index: -1; }
.footer-cta-layout > div > * { position: relative; z-index: 1; }
.footer-cta-layout .section-eyebrow { color: #8dd7a0; margin-bottom: 8px; }
.footer-cta-layout h2 { color: #fff; font-size: clamp(1.55rem, 2.8vw, 2.35rem); letter-spacing: -.04em; line-height: 1.1; margin: 0 0 8px; }
.footer-cta-layout p { color: rgba(255,255,255,.78); margin: 0; max-width: 710px; }
.footer-cta-link { align-items: center; background: #fff; border-left: 1px solid #dce4eb; color: var(--site-blue); display: flex; font-size: .86rem; font-weight: 800; gap: 18px; justify-content: space-between; min-width: 190px; padding: 22px; text-decoration: none; }
.footer-cta-link:hover { background: var(--site-green); color: #fff; }
@media (max-width: 767.98px) {
    .landing-final-cta-inner { align-items: flex-start; grid-template-columns: 1fr; }
    .footer-cta-layout { grid-template-columns: 1fr; }
    .footer-cta-link { border-left: 0; border-top: 1px solid #dce4eb; min-height: 62px; }
    .landing-final-cta .btn,
    .footer-cta-link { width: fit-content; }
}
@media (max-width: 575.98px) {
    .landing-final-cta { padding: 42px 0; }
    .footer-cta-band { padding: 34px 0; }
    .landing-final-cta::before,
    .home-hero::before,
    .landing-services-section::before { height: 300px; right: -170px; width: 300px; }
    .landing-final-cta .btn,
    .footer-cta-link { width: 100%; }
}
.site-footer::before { background: linear-gradient(90deg, var(--site-green), var(--site-blue)); content: ''; height: 3px; left: 0; position: absolute; right: 0; top: 0; }
@media (max-width: 991.98px) {
    .footer-primary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-meta-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-powered-link { justify-self: start; }
}
@media (max-width: 767.98px) {
    .footer-primary-grid { gap: 30px; padding: 44px 0 36px; }
    .footer-contact-block { grid-column: 1 / -1; }
    .footer-directory-grid { gap: 30px; padding: 32px 0; }
    .footer-meta-row { gap: 12px 20px; }
    .footer-meta-row > span:first-child { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
    .footer-primary-grid,
    .footer-meta-row { grid-template-columns: 1fr; }
    .footer-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-primary-grid { gap: 28px; padding: 38px 0 30px; }
    .footer-contact-block,
    .footer-meta-row > span:first-child { grid-column: auto; }
    .footer-newsletter-block { padding: 20px; }
    .footer-directory-grid { gap: 26px 18px; }
    .footer-directory-grid > section:nth-child(1) { order: 1; }
    .footer-directory-grid > section:nth-child(3) { order: 2; }
    .footer-directory-grid > section:nth-child(2) { grid-column: 1 / -1; order: 3; }
    .footer-directory-grid > section:nth-child(4) { grid-column: 1 / -1; order: 4; }
    .footer-account-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-footer .footer-standard-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.home-hero::after { background: linear-gradient(115deg, rgba(242,246,244,.75), rgba(242,246,244,.88) 76%); content: ''; inset: 0; pointer-events: none; position: absolute; z-index: 1; }
.home-hero-slideshow { inset: 0; overflow: hidden; pointer-events: none; position: absolute; z-index: 0; }
.home-hero-slide { animation: homeHeroBackdrop 24s ease-in-out infinite; inset: 0; opacity: 0; position: absolute; }
.home-hero-slide:nth-child(2) { animation-delay: 8s; }
.home-hero-slide:nth-child(3) { animation-delay: 16s; }
.home-hero-slide img { filter: grayscale(1); height: 100%; object-fit: cover; object-position: center 46%; opacity: .48; transform: scale(1.04); width: 100%; }
.home-hero-grid { position: relative; z-index: 2; }
.home-hero-copy h1 { font-size: clamp(2.2rem, 3.25vw, 3.15rem); line-height: 1.08; }
@keyframes homeHeroBackdrop {
    0%, 3% { opacity: 0; }
    9%, 27% { opacity: 1; }
    34%, 100% { opacity: 0; }
}
@media (max-width: 991.98px) {
    .home-hero-copy h1 { font-size: clamp(2.1rem, 4vw, 3rem); }
}
@media (max-width: 767.98px) {
    .home-hero-copy h1 { font-size: clamp(2rem, 6.8vw, 2.85rem); }
}
@media (max-width: 575.98px) {
    .home-hero-copy h1 { font-size: clamp(1.85rem, 7.5vw, 2.4rem); }
}
@media (prefers-reduced-motion: reduce) {
    .home-hero-slide { animation: none; opacity: 0; }
    .home-hero-slide:first-child { opacity: 1; }
}
@media (max-width: 1199.98px) {
    .site-shell .site-navbar .nav-link::before { display: none; }
    .site-shell .site-navbar .nav-link.active { background: #f1f6f4; color: var(--site-blue) !important; }
}
@media (max-width: 767.98px) {
    .home-hero-parent { gap: 14px; grid-template-columns: minmax(0, 1fr) 132px; margin-top: 24px; }
    .home-hero-parent-copy p { font-size: .76rem; }
}
@media (max-width: 575.98px) {
    .home-hero-parent { align-items: start; gap: 12px; grid-template-columns: 1fr; }
    .home-hero-parent-link { min-height: 48px; width: 150px; }
}
@media (max-width: 991.98px) {
    .upcoming-courses-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .upcoming-courses-section { padding: 48px 0 56px; }
    .upcoming-courses-grid { grid-template-columns: 1fr; }
    .upcoming-course-media { height: 190px; }
    .upcoming-course-body { padding: 18px; }
}
@media (max-width: 991.98px) {
    .home-industries-grid, .home-advantages-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .home-industries-section, .home-advantages-section { padding: 52px 0 58px; }
    .home-why-choose-section { padding: 54px 0 60px; }
    .home-why-choose-layout { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 575.98px) {
    .home-industry-card-body { min-height: 180px; padding: 17px 14px; }
    .home-industry-card h3 { font-size: .9rem; }
    .home-industry-card p { font-size: .73rem; }
    .home-advantage-card { min-height: 0; padding: 19px 16px; }
    .home-advantage-card h3 { font-size: .9rem; }
    .home-advantage-card p { font-size: .74rem; }
    .home-why-choose-list article { gap: 12px; grid-template-columns: 38px minmax(0, 1fr); padding: 18px 0; }
    .home-why-choose-list article > span { height: 36px; width: 36px; }
}
@media (max-width: 379.98px) {
    .home-industries-grid, .home-advantages-grid { grid-template-columns: 1fr; }
}
@media (max-width: 991.98px) {
    .about-story-grid, .about-reasons-layout { gap: 38px; grid-template-columns: 1fr 1fr; }
    .about-training-layout { gap: 38px; grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr); }
    .about-partnership-layout { gap: 32px; grid-template-columns: minmax(190px, .55fr) minmax(0, 1.45fr); }
    .about-coverage-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
    .about-coverage-heading > p { max-width: 650px; }
    .about-principles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-principle-card:last-child { grid-column: 1 / -1; }
    .about-partner-benefits { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .site-shell .about-story-section, .about-principles-section, .about-training-section, .about-partnership-section, .about-coverage-section, .about-reasons-section { padding-bottom: 54px !important; padding-top: 54px !important; }
    .about-story-grid, .about-training-layout, .about-partnership-layout, .about-reasons-layout { grid-template-columns: 1fr; }
    .about-story-grid, .about-training-layout, .about-partnership-layout, .about-reasons-layout { gap: 34px; }
    .about-story-visual { margin-left: 12px; min-height: 340px; }
    .about-story-image { height: 340px; }
    .about-principles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-principle-card:last-child { grid-column: auto; }
    .about-partnership-mark { margin: 0 auto; max-width: 320px; width: 100%; }
    .about-partner-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .about-reasons-copy > img { height: 240px; }
}
@media (max-width: 575.98px) {
    .about-story-stats { grid-template-columns: 1fr; }
    .about-story-visual { min-height: 285px; }
    .about-story-image { height: 285px; }
    .about-story-caption { bottom: 12px; left: -10px; padding: 12px 14px; }
    .about-principles-grid, .about-city-grid { grid-template-columns: 1fr 1fr; }
    .about-principle-card { padding: 20px 17px; }
    .about-partner-benefits { grid-template-columns: 1fr; }
    .about-reason-row { gap: 9px; grid-template-columns: 24px 20px minmax(0, 1fr); padding: 17px 0; }
    .about-reason-number { font-size: .72rem; }
    .about-reason-row h3 { font-size: .88rem; }
    .about-reason-row p { font-size: .76rem; }
    .about-coverage-cta { align-items: flex-start; justify-content: space-between; width: 100%; }
}
@media (max-width: 767.98px) {
    .landing-process-layout { grid-template-columns: 1fr; }
    .landing-process-intro { padding: 32px; }
    .landing-process-content { padding: 20px; }
}
@media (max-width: 575.98px) {
    .landing-process-intro { padding: 26px 22px; }
    .landing-process-content { padding: 14px; }
}

.services-intro-section { background: #f4f7f7; isolation: isolate; overflow: hidden; padding: 82px 0 88px; position: relative; }
.services-intro-section::before { background-image: repeating-linear-gradient(135deg, transparent 0 30px, rgba(29,82,130,.035) 31px 32px, transparent 33px 60px), radial-gradient(circle at center, transparent 0 44%, rgba(29,82,130,.045) 45% 45.4%, transparent 46%); content: ''; height: 520px; pointer-events: none; position: absolute; right: -180px; top: -140px; width: 520px; z-index: -1; }
.services-intro-layout { align-items: center; display: grid; gap: 64px; grid-template-columns: minmax(0, 1fr) minmax(0, .94fr); }
.services-intro-copy h2 { color: var(--site-ink); font-family: var(--font-heading); font-size: clamp(1.9rem, 3vw, 2.85rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.12; margin: 0 0 18px; max-width: 650px; }
.services-intro-copy > p { color: var(--site-muted); font-size: 1rem; line-height: 1.8; margin: 0; }
.services-intro-points { display: grid; gap: 13px; margin-top: 27px; }
.services-intro-points article { align-items: center; background: rgba(255,255,255,.74); border: 1px solid rgba(24,59,88,.08); color: var(--site-ink); display: flex; font-size: .86rem; font-weight: 700; gap: 13px; padding: 13px 15px; }
.services-intro-points i { align-items: center; background: rgba(34,160,84,.1); border-radius: 50%; color: var(--site-green); display: inline-flex; flex: 0 0 34px; height: 34px; justify-content: center; }
.services-intro-collage { display: grid; gap: 13px; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); grid-template-rows: 190px 190px; padding: 12px 0 30px 22px; position: relative; }
.services-intro-collage figure { margin: 0; overflow: hidden; }
.services-intro-collage img { height: 100%; object-fit: cover; width: 100%; }
.services-collage-main { grid-row: 1 / 3; }
.services-collage-training, .services-collage-security { min-height: 0; }
.services-collage-badge { align-items: center; background: var(--site-green); bottom: 0; box-shadow: 0 12px 30px rgba(11,53,34,.2); color: #fff; display: flex; font-size: .78rem; font-weight: 800; gap: 9px; left: 0; max-width: 82%; padding: 14px 18px; position: absolute; }
.services-overview { background: #fff !important; padding: 78px 0 82px !important; }
.services-section-heading { margin: 0 auto 32px; max-width: 800px; text-align: center; }
.services-section-heading h2 { color: var(--site-ink); font-family: var(--font-heading); font-size: clamp(1.8rem, 3vw, 2.55rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.15; margin: 0 0 12px; }
.services-section-heading > p, .services-section-heading > div { color: var(--site-muted); line-height: 1.75; margin: 0 auto; max-width: 720px; }
.service-offerings { border-top: 1px solid var(--site-line); margin: 0 auto; max-width: 1090px; }
.service-offering { align-items: center; border-bottom: 1px solid var(--site-line); display: grid; gap: 24px; grid-template-columns: 48px minmax(0, 1fr) auto; padding: 22px 8px; }
.service-offering-icon { align-items: center; background: #edf5f1; border-radius: 50%; color: var(--site-green); display: flex; font-size: 1.1rem; height: 44px; justify-content: center; width: 44px; }
.service-offering-copy h3 { color: var(--site-ink); font-size: 1.02rem; font-weight: 800; margin: 0 0 5px; }
.service-offering-copy p { color: var(--site-muted); font-size: .86rem; line-height: 1.65; margin: 0; max-width: 730px; }
.service-offering-link { align-items: center; color: var(--site-blue); display: inline-flex; font-size: .78rem; font-weight: 800; gap: 9px; text-decoration: none; white-space: nowrap; }
.service-offering-link:hover { color: var(--site-green); }
.services-standards-section { background: #f4f7f7; isolation: isolate; overflow: hidden; padding: 82px 0 90px; position: relative; }
.services-standards-section::before { background-image: repeating-radial-gradient(ellipse at center, transparent 0 25px, rgba(35,86,130,.045) 26px 27px, transparent 28px 52px); content: ''; height: 430px; left: -210px; pointer-events: none; position: absolute; top: 250px; width: 430px; z-index: -1; }
.services-standards-heading { margin-bottom: 38px; }
.services-standard-list { display: grid; gap: 22px; }
.service-standard-entry { align-items: stretch; background: #fff; border: 1px solid rgba(27,57,83,.09); box-shadow: 0 13px 36px rgba(17,45,69,.055); display: grid; gap: 0; grid-template-columns: minmax(190px, .75fr) minmax(0, 1.35fr) minmax(220px, .82fr); min-width: 0; padding: 0; position: relative; }
.service-standard-visual { min-height: 305px; margin: 0; overflow: hidden; position: relative; }
.service-standard-visual::after { background: linear-gradient(180deg, transparent 50%, rgba(7,30,51,.45)); content: ''; inset: 0; pointer-events: none; position: absolute; }
.service-standard-visual > img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.service-standard-icon { align-items: center; background: #fff; border-radius: 50%; color: var(--site-green); display: flex; font-size: 1.25rem; height: 46px; justify-content: center; left: 16px; position: absolute; top: 16px; width: 46px; z-index: 1; }
.service-standard-code { bottom: 17px; color: #fff; font-family: var(--font-heading); font-size: .78rem; font-weight: 800; left: 18px; letter-spacing: .1em; position: absolute; z-index: 1; }
.service-standard-copy { align-self: center; min-width: 0; padding: 30px; }
.service-standard-copy h3 { color: var(--site-ink); font-family: var(--font-heading); font-size: 1.35rem; font-weight: 800; letter-spacing: -.025em; line-height: 1.2; margin: 0 0 12px; }
.service-standard-copy > p, .service-standard-benefits p { color: var(--site-muted); font-size: .86rem; line-height: 1.75; margin: 0; }
.service-standard-benefits { border-top: 1px solid var(--site-line); margin-top: 19px; padding-top: 15px; }
.service-standard-benefits h4 { color: var(--site-green); font-size: .72rem; font-weight: 800; letter-spacing: .07em; margin: 0 0 7px; text-transform: uppercase; }
.service-scope-panel { align-self: stretch; background: #f7f9fa; border-left: 1px solid #e5ebef; display: flex; flex-direction: column; padding: 27px 22px !important; }
.service-scope-panel h4 { color: var(--site-ink); font-size: .78rem; font-weight: 800; letter-spacing: .06em; margin: 0 0 13px; text-transform: uppercase; }
.service-scope-panel ul { color: var(--site-muted); display: grid; font-size: .76rem; gap: 9px; line-height: 1.4; list-style: none; margin: 0 0 20px; padding: 0; }
.service-scope-panel li { padding-left: 18px; position: relative; }
.service-scope-panel li::before { color: var(--site-green); content: '\2713'; font-weight: 800; left: 0; position: absolute; }
.service-standard-details { border-bottom: 1px solid var(--site-line); color: var(--site-blue); font-size: .77rem; font-weight: 800; margin-top: auto; padding: 0 0 13px; text-decoration: none; }
.service-standard-details i { margin-left: 7px; }
.service-standard-quote { background: var(--site-blue); color: #fff; font-size: .75rem; font-weight: 800; line-height: 1.35; margin-top: 12px; padding: 12px; text-align: center; text-decoration: none; }
.service-standard-quote:hover { background: var(--site-green); color: #fff; }
.services-coverage-section { background: #eaf0f2; padding: 76px 0; }
.services-coverage-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.services-coverage-copy { background: var(--site-navy); color: #fff; isolation: isolate; overflow: hidden; padding: clamp(30px, 5vw, 58px); position: relative; }
.services-coverage-copy::before { background-image: repeating-radial-gradient(ellipse at center, transparent 0 18px, rgba(255,255,255,.08) 19px 20px, transparent 21px 39px), repeating-linear-gradient(135deg, transparent 0 30px, rgba(255,255,255,.045) 31px 32px, transparent 33px 62px); content: ''; height: 330px; pointer-events: none; position: absolute; right: -140px; top: -100px; width: 330px; z-index: -1; }
.services-coverage-copy > * { position: relative; }
.services-coverage-copy .section-eyebrow { color: #8dd7a0; }
.services-coverage-copy h2 { color: #fff; font-family: var(--font-heading); font-size: clamp(1.7rem, 2.6vw, 2.35rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.15; margin: 0 0 16px; }
.services-coverage-copy p { color: rgba(255,255,255,.76); font-size: .91rem; line-height: 1.8; margin: 0 0 23px; }
.services-coverage-panel { background: #fff; display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 48px); }
.services-coverage-panel h3 { color: var(--site-ink); font-size: 1rem; font-weight: 800; margin: 0 0 18px; }
.services-coverage-standards { display: flex; flex-wrap: wrap; gap: 8px; }
.services-coverage-standards span { background: #f1f5f6; border: 1px solid #e2e9eb; color: var(--site-ink); font-size: .72rem; font-weight: 700; padding: 9px 11px; }
.services-coverage-cities { border-top: 1px solid var(--site-line); display: grid; gap: 13px 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 25px; padding-top: 20px; }
.services-coverage-cities span { align-items: center; color: var(--site-muted); display: flex; font-size: .82rem; font-weight: 700; gap: 8px; }
.services-coverage-cities i { color: var(--site-green); }
.services-contact-band { background: var(--site-navy); isolation: isolate; overflow: hidden; position: relative; }
.services-contact-band::before { background-image: repeating-linear-gradient(135deg, transparent 0 28px, rgba(255,255,255,.045) 29px 30px, transparent 31px 58px), radial-gradient(circle at center, transparent 0 48%, rgba(255,255,255,.065) 49% 49.4%, transparent 50%); content: ''; height: 430px; pointer-events: none; position: absolute; right: -150px; top: -190px; width: 430px; z-index: -1; }
.services-contact-layout { align-items: center; display: grid; gap: 38px; grid-template-columns: minmax(0, 1fr) auto; padding-bottom: 56px; padding-top: 56px; position: relative; }
.services-contact-copy .section-eyebrow { color: #8dd7a0; }
.services-contact-copy h2 { color: #fff; font-family: var(--font-heading); font-size: clamp(1.6rem, 3vw, 2.5rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.15; margin: 0 0 10px; }
.services-contact-copy > div, .services-contact-copy p { color: rgba(255,255,255,.74); line-height: 1.7; margin: 0; max-width: 720px; }
.services-contact-link { align-items: center; background: #fff; color: var(--site-blue); display: flex; font-size: .84rem; font-weight: 800; gap: 26px; justify-content: space-between; min-width: 205px; padding: 17px 19px; text-decoration: none; }
.services-contact-link:hover { background: var(--site-green); color: #fff; }
.site-footer::after { background-image: repeating-linear-gradient(135deg, transparent 0 32px, rgba(255,255,255,.025) 33px 34px, transparent 35px 68px), repeating-radial-gradient(ellipse at center, transparent 0 28px, rgba(255,255,255,.025) 29px 30px, transparent 31px 59px); content: ''; height: 570px; pointer-events: none; position: absolute; right: -200px; top: 18px; width: 700px; z-index: 0; }
.footer-primary-grid { position: relative; }
.footer-directory-grid { position: relative; }
.footer-primary-grid > section + section { border-left: 1px solid rgba(255,255,255,.08); padding-left: 26px; }
.footer-directory-grid > section + section { border-left: 1px solid rgba(255,255,255,.08); padding-left: 25px; }
.footer-meta-row { border-top: 1px solid rgba(255,255,255,.12); position: relative; }
@media (max-width: 991.98px) {
    .services-intro-layout { gap: 38px; }
    .service-standard-entry { grid-template-columns: minmax(160px, .65fr) minmax(0, 1.35fr); }
    .service-standard-visual { grid-row: span 2; }
    .service-standard-copy { padding: 26px; }
    .service-scope-panel { border-left: 0; border-top: 1px solid #e5ebef; grid-column: 2; }
    .footer-primary-grid > section + section, .footer-directory-grid > section + section { border-left: 0; padding-left: 0; }
}
@media (max-width: 767.98px) {
    .services-intro-section, .services-standards-section { padding: 58px 0 64px; }
    .services-intro-layout, .services-coverage-layout { grid-template-columns: 1fr; }
    .services-intro-layout { gap: 34px; }
    .services-intro-collage { grid-template-rows: 160px 160px; margin: 0 auto; max-width: 580px; width: 100%; }
    .services-overview { padding: 58px 0 62px !important; }
    .service-standard-entry { grid-template-columns: minmax(0, 1fr); }
    .service-standard-visual { grid-row: auto; min-height: 240px; }
    .service-standard-copy { padding: 23px; }
    .service-scope-panel { grid-column: auto; }
    .services-coverage-section { padding: 52px 0; }
    .services-contact-layout { grid-template-columns: 1fr; padding-bottom: 42px; padding-top: 42px; }
    .services-contact-link { width: fit-content; }
}
@media (max-width: 575.98px) {
    .services-intro-copy h2 { font-size: 1.8rem; }
    .services-intro-collage { gap: 8px; grid-template-rows: 130px 130px; padding: 8px 0 24px 14px; }
    .services-collage-badge { font-size: .68rem; padding: 11px 13px; }
    .service-offering { align-items: start; gap: 13px; grid-template-columns: 40px minmax(0, 1fr); padding: 19px 0; }
    .service-offering-icon { height: 38px; width: 38px; }
    .service-offering-link { grid-column: 2; }
    .service-standard-copy { padding: 20px; }
    .service-scope-panel { padding: 22px 20px !important; }
    .services-coverage-cities { gap: 11px 8px; }
    .services-coverage-cities span { font-size: .75rem; }
    .services-contact-link { width: 100%; }
}

.service-offerings { border: 0; display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }
.service-offering { align-items: flex-start; background: #f7f9fa; border: 1px solid #e5ebef; display: flex; flex-direction: column; gap: 15px; height: 100%; min-height: 220px; padding: 22px; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.service-offering:hover { background: #fff; border-color: rgba(49,101,176,.28); transform: translateY(-3px); }
.service-offering-icon { flex: 0 0 44px; }
.service-offering-copy { flex: 1 1 auto; }
.service-offering-copy p { max-width: none; }
.service-offering-link { border-top: 1px solid #e0e7eb; justify-content: space-between; margin-top: auto; padding-top: 13px; width: 100%; }
.service-standard-entry > .anchor-offset { display: block; height: 0; left: 0; position: absolute; top: -110px; visibility: hidden; width: 0; z-index: -1; }
.services-section-heading { align-items: center; display: flex; flex-direction: column; text-align: center; }
.services-section-heading > p, .services-section-heading > div { text-align: center; }
.services-standards-heading { margin-bottom: 44px; max-width: 900px; }
.services-standards-heading h2 { max-width: 820px; }
.services-contact-band { background: #edf4ef; padding: 26px 0; }
.services-contact-band::before { background-image: repeating-linear-gradient(135deg, transparent 0 28px, rgba(31,171,74,.055) 29px 30px, transparent 31px 58px), radial-gradient(circle at center, transparent 0 47%, rgba(49,101,176,.065) 48% 48.4%, transparent 49%); height: 350px; right: -100px; top: -130px; width: 350px; }
.services-contact-layout { background: #fff; border-left: 5px solid var(--site-green); box-shadow: 0 12px 35px rgba(17,45,69,.07); gap: 30px; grid-template-columns: minmax(0, 1fr) auto; padding: 28px 32px; }
.services-contact-copy .section-eyebrow { color: var(--site-green); }
.services-contact-copy h2 { color: var(--site-ink); font-size: clamp(1.4rem, 2.5vw, 2rem); margin-bottom: 7px; }
.services-contact-copy > div, .services-contact-copy p { color: var(--site-muted); font-size: .88rem; }
.services-contact-link { background: var(--site-navy); color: #fff; }
.services-contact-link:hover { background: var(--site-green); color: #fff; }
@media (max-width: 991.98px) {
    .service-offerings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .service-offerings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .services-contact-layout { grid-template-columns: minmax(0, 1fr) auto; padding: 24px; }
}
@media (max-width: 575.98px) {
    .service-offerings { grid-template-columns: 1fr; }
    .service-offering { min-height: 0; }
    .services-contact-layout { grid-template-columns: 1fr; padding: 22px; }
}

.quote-form-layout { border: 1px solid #dfe7eb; box-shadow: 0 18px 50px rgba(16,36,59,.08); overflow: hidden; }
.quote-form-layout > .row { grid-column: 1 / -1; margin: 0; min-width: 0; width: 100%; }
.quote-form-layout .col-lg-8 { background: #fff; min-width: 0; }
.quote-page { background: #f6f8f9; isolation: isolate; overflow: hidden; position: relative; }
.quote-page::before { background-image: repeating-radial-gradient(ellipse at 100% 100%, transparent 0 58px, rgba(49,101,176,.024) 59px 60px, transparent 61px 120px); background-position: right bottom; background-repeat: no-repeat; background-size: 340px 280px; content: ''; inset: 0; pointer-events: none; position: absolute; z-index: 0; }
.quote-page > .container { position: relative; z-index: 1; }
.quote-form-layout form, .quote-form-layout .row.g-4 > [class*="col-"] { min-width: 0; position: relative; }
.quote-form-layout .form-label { color: #263c50; display: block; font-size: .82rem; margin-bottom: 8px; }
.quote-form-layout .form-control, .quote-form-layout .form-select { background-color: rgba(255,255,255,.96); border: 1px solid #d7e0e6; border-radius: 3px; box-shadow: none !important; color: var(--site-ink); min-height: 48px; width: 100%; }
.quote-form-layout textarea.form-control { min-height: 125px; padding-top: 12px; resize: vertical; }
.quote-form-layout .form-control:focus, .quote-form-layout .form-select:focus { border-color: var(--site-blue); box-shadow: 0 0 0 3px rgba(49,101,176,.1) !important; }
.quote-form-layout h5 { border-bottom: 1px solid #e0e8ec !important; margin-bottom: 21px !important; padding-bottom: 12px !important; }
.quote-form-layout .quote-aside { min-width: 0; }
.quote-form-layout .quote-aside h3 { font-size: clamp(1.45rem, 2.3vw, 2rem); line-height: 1.2; overflow-wrap: anywhere; }
.quote-form-layout .quote-aside li span, .quote-form-layout .quote-aside p { line-height: 1.65; }
.quote-page { background: #f6f8f9; }
.quote-page .alert { border-radius: 3px !important; }
@media (max-width: 991.98px) {
    .quote-form-layout > .row { grid-column: 1; }
    .quote-form-layout .col-lg-8 { padding: clamp(24px, 5vw, 42px) !important; }
}
@media (max-width: 575.98px) {
    .quote-page > .container { padding-bottom: 44px !important; padding-top: 34px !important; }
    .quote-form-layout .col-lg-8 { padding: 21px !important; }
    .quote-form-layout .row.g-4 { --bs-gutter-x: 1rem; --bs-gutter-y: 1.2rem; }
    .quote-form-layout h5 { font-size: .82rem; }
    .quote-form-layout button[type="submit"] { width: 100%; }
}

.course-detail-hero { isolation: isolate; overflow: hidden; padding-bottom: 76px !important; position: relative; }
.course-detail-hero::before { background: linear-gradient(110deg, rgba(244,247,246,.84), rgba(244,247,246,.8) 60%, rgba(244,247,246,.86)); content: ''; inset: 0; pointer-events: none; position: absolute; z-index: -1; }
.course-detail-hero .page-hero-slide img { opacity: .36; }
.course-detail-page .nav-tabs .nav-link.active, .course-detail-page .nav-tabs .nav-link.active:hover { color: #fff !important; }
.course-detail-hero .container { position: relative; z-index: 1; }
.course-detail-hero .breadcrumb { font-size: .78rem; margin-bottom: 24px; }
.course-detail-hero .breadcrumb a { color: var(--site-blue); text-decoration: none; }
.course-detail-heading { margin: 0 0 30px; max-width: 940px; }
.course-detail-heading .section-eyebrow { color: var(--site-green); }
.course-detail-heading h1 { color: var(--site-navy); font-size: clamp(2rem, 4vw, 3.45rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.08; margin: 0; }
.course-detail-layout { align-items: start; }
.course-detail-content-card { border: 1px solid #e3e9e8 !important; box-shadow: 0 18px 52px rgba(16,36,59,.08) !important; }
.course-detail-content-card > .text-center { background: #eef2f2 !important; }
.course-detail-content-card > .text-center img { height: clamp(240px, 36vw, 430px); max-height: none !important; object-fit: cover !important; }
.course-detail-content-card > .card-body { padding: clamp(23px, 4vw, 44px) !important; }
.course-detail-content-card .badge { border-radius: 2px; font-size: .72rem; letter-spacing: .025em; }
.course-detail-page .course-description, .course-detail-page .targets-content, .course-detail-page .program-content, .course-detail-page .prereq-content, .course-detail-page .audience-content, .course-detail-page .cert-content { color: #526476; font-size: .94rem; line-height: 1.8; }
.course-detail-sidebar { border: 1px solid #e0e8e7 !important; box-shadow: 0 18px 48px rgba(16,36,59,.09) !important; top: 106px !important; }
.course-detail-sidebar .card-body { padding: 27px !important; }
.course-detail-sidebar h4 { border-bottom: 1px solid #e5ebea; color: var(--site-navy); font-size: 1.15rem; padding-bottom: 16px; }
.course-detail-sidebar .btn { border-radius: 2px; font-size: .9rem; font-weight: 700; padding: 12px 14px; }
.related-courses-section { background: #fff; padding: 76px 0 84px; }
.related-courses-heading { align-items: end; display: flex; gap: 28px; justify-content: space-between; margin-bottom: 28px; }
.related-courses-heading h2 { color: var(--site-navy); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.12; margin: 0 0 9px; }
.related-courses-heading p { color: var(--site-muted); font-size: .9rem; line-height: 1.6; margin: 0; max-width: 650px; }
.related-courses-all, .related-course-link { align-items: center; color: var(--site-blue); display: inline-flex; flex: 0 0 auto; font-size: .82rem; font-weight: 800; gap: 10px; text-decoration: none; }
.related-courses-all:hover, .related-course-link:hover { color: var(--site-green); }
.related-courses-grid { display: grid; gap: 19px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.related-course-card { background: #fff; border: 1px solid #e1e8e7; display: flex; flex-direction: column; min-width: 0; transition: border-color .2s ease, transform .2s ease; }
.related-course-card:hover { border-color: rgba(49,101,176,.42); transform: translateY(-3px); }
.related-course-media { background: #edf2f1; display: block; height: 190px; overflow: hidden; }
.related-course-media img { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.related-course-card:hover .related-course-media img { transform: scale(1.04); }
.related-course-placeholder { align-items: center; color: rgba(49,101,176,.42); display: flex; font-size: 3rem; height: 100%; justify-content: center; }
.related-course-copy { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.related-course-meta { align-items: center; color: var(--site-muted); display: flex; font-size: .7rem; gap: 14px; justify-content: space-between; margin-bottom: 13px; }
.related-course-meta span:last-child { align-items: center; display: inline-flex; gap: 6px; }
.related-course-copy h3 { font-size: 1rem; font-weight: 800; line-height: 1.4; margin: 0 0 9px; }
.related-course-copy h3 a { color: var(--site-navy); text-decoration: none; }
.related-course-copy p { -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: var(--site-muted); display: -webkit-box; font-size: .8rem; line-height: 1.6; margin: 0 0 17px; overflow: hidden; }
.related-course-link { border-top: 1px solid #e8edeb; margin-top: auto; padding-top: 14px; }
@media (max-width: 991.98px) {
    .course-detail-hero { padding-bottom: 56px !important; }
    .course-detail-sidebar { position: static !important; }
    .related-courses-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .course-detail-hero { padding-top: 26px !important; }
    .course-detail-heading { margin-bottom: 22px; }
    .course-detail-layout { --bs-gutter-y: 1rem; }
    .course-detail-content-card > .text-center img { height: 220px; }
    .course-detail-content-card > .card-body { padding: 20px !important; }
    .related-courses-section { padding: 54px 0 60px; }
    .related-courses-heading { align-items: flex-start; flex-direction: column; gap: 17px; }
    .related-courses-grid { grid-template-columns: 1fr; }
    .related-course-media { height: 205px; }
}

.membership-benefits-section { background: #f2f6f4; isolation: isolate; overflow: hidden; padding: 82px 0 88px; position: relative; }
.membership-benefits-section::before { background: repeating-radial-gradient(ellipse at 100% 0%, transparent 0 34px, rgba(49,101,176,.045) 35px 36px, transparent 37px 70px); content: ''; height: 500px; pointer-events: none; position: absolute; right: -95px; top: -150px; width: 540px; z-index: -1; }
.membership-benefits-section .container { position: relative; z-index: 1; }
.membership-benefits-heading { align-items: end; display: flex; gap: 30px; justify-content: space-between; margin: 0 auto 34px; max-width: 1180px; }
.membership-benefits-heading .section-eyebrow, .membership-local-copy .section-eyebrow { color: var(--site-green); }
.membership-benefits-heading h2 { color: var(--site-navy); font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.08; margin: 0 0 10px; max-width: 700px; }
.membership-benefits-heading p { color: var(--site-muted); font-size: .94rem; line-height: 1.7; margin: 0; max-width: 680px; }
.membership-join-link { align-items: center; background: var(--site-navy); color: #fff; display: inline-flex; flex: 0 0 auto; font-size: .82rem; font-weight: 800; gap: 18px; padding: 15px 18px; text-decoration: none; }
.membership-join-link:hover { background: var(--site-blue); color: #fff; }
.membership-benefit-grid { display: grid; gap: 15px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 auto; max-width: 1180px; }
.membership-benefit-card { background: rgba(255,255,255,.94); border: 1px solid #e0e8e5; display: flex; flex-direction: column; min-height: 238px; padding: 23px 23px 25px; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.membership-benefit-card:hover { border-color: rgba(49,101,176,.35); box-shadow: 0 14px 34px rgba(16,36,59,.07); transform: translateY(-3px); }
.membership-benefit-card-top { align-items: center; display: flex; justify-content: space-between; margin-bottom: 25px; }
.membership-benefit-icon { align-items: center; background: #eaf4ed; color: var(--site-green); display: inline-flex; font-size: 1.15rem; height: 46px; justify-content: center; width: 46px; }
.membership-benefit-index { color: #b5c2c8; font-family: var(--font-heading); font-size: .74rem; font-weight: 800; letter-spacing: .1em; }
.membership-benefit-card h3 { color: var(--site-navy); font-size: 1rem; font-weight: 800; line-height: 1.35; margin: 0 0 9px; }
.membership-benefit-card p { color: var(--site-muted); font-size: .82rem; line-height: 1.65; margin: 0; }
.membership-local-section { background: #fff; isolation: isolate; overflow: hidden; padding: 88px 0; position: relative; }
.membership-local-section::before { background: repeating-linear-gradient(135deg, rgba(49,101,176,.035) 0 1px, transparent 1px 13px); content: ''; height: 330px; left: 0; opacity: .55; pointer-events: none; position: absolute; top: 0; width: 23%; z-index: -1; }
.membership-local-layout { align-items: center; display: grid; gap: clamp(40px, 7vw, 86px); grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); position: relative; z-index: 1; }
.membership-local-visual { margin: 0; min-height: 455px; position: relative; }
.membership-local-visual::before { border-left: 9px solid var(--site-green); border-top: 9px solid var(--site-green); content: ''; height: 34%; left: -12px; position: absolute; top: -12px; width: 34%; z-index: -1; }
.membership-local-visual img { display: block; height: 455px; object-fit: cover; width: 100%; }
.membership-local-visual figcaption { align-items: center; background: var(--site-navy); bottom: 18px; color: #fff; display: flex; font-size: .78rem; font-weight: 700; gap: 10px; left: 18px; padding: 14px 17px; position: absolute; }
.membership-local-visual figcaption i { color: #91d4a1; font-size: 1.15rem; }
.membership-local-copy h2 { color: var(--site-navy); font-size: clamp(1.9rem, 3.1vw, 2.7rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.12; margin: 0 0 16px; }
.membership-local-lead { color: var(--site-muted); font-size: .92rem; line-height: 1.8; margin: 0 0 24px; }
.membership-focus-grid { border-top: 1px solid var(--site-line); }
.membership-focus-grid article { align-items: flex-start; border-bottom: 1px solid var(--site-line); display: grid; gap: 14px; grid-template-columns: 38px minmax(0, 1fr); padding: 16px 0; }
.membership-focus-grid article > i { align-items: center; background: #eaf4ed; color: var(--site-green); display: inline-flex; font-size: 1rem; height: 36px; justify-content: center; width: 36px; }
.membership-focus-grid h3 { color: var(--site-navy); font-size: .85rem; font-weight: 800; margin: 0 0 4px; }
.membership-focus-grid p { color: var(--site-muted); font-size: .77rem; line-height: 1.55; margin: 0; }
.membership-local-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 17px; margin-top: 22px; }
.membership-local-actions .btn { border-radius: 2px; font-size: .82rem; font-weight: 800; padding: 12px 16px; }
.membership-local-join { color: var(--site-blue); font-size: .8rem; font-weight: 800; text-decoration: none; }
.membership-local-join:hover { color: var(--site-green); }
.membership-city-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.membership-city-list span { background: #f1f5f3; border: 1px solid #e2e9e6; color: #526476; font-size: .68rem; font-weight: 700; padding: 7px 10px; }
@media (max-width: 991.98px) {
    .membership-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .membership-local-layout { grid-template-columns: 1fr 1fr; gap: 34px; }
    .membership-local-visual, .membership-local-visual img { height: 390px; min-height: 390px; }
}
@media (max-width: 767.98px) {
    .membership-benefits-section, .membership-local-section { padding: 60px 0; }
    .membership-benefits-heading { align-items: flex-start; flex-direction: column; gap: 19px; }
    .membership-local-layout { grid-template-columns: 1fr; }
    .membership-local-visual, .membership-local-visual img { height: 340px; min-height: 340px; }
}
@media (max-width: 575.98px) {
    .membership-benefit-grid { grid-template-columns: 1fr; }
    .membership-benefit-card { min-height: 0; padding: 21px; }
    .membership-benefit-card-top { margin-bottom: 17px; }
    .membership-local-visual, .membership-local-visual img { height: 285px; min-height: 285px; }
    .membership-local-visual figcaption { bottom: 10px; left: 10px; max-width: calc(100% - 20px); padding: 11px 12px; }
    .membership-local-actions { align-items: stretch; flex-direction: column; }
    .membership-local-actions .btn { align-self: flex-start; }
}

.faq-content { background: #f2f5f4; }
.faq-directory-section { overflow: hidden; padding: 66px 0 72px; position: relative; }
.faq-directory-heading { margin: 0 0 27px; max-width: 790px; }
.faq-directory-heading .section-eyebrow { color: var(--site-green); }
.faq-directory-heading h2 { color: var(--site-navy); font-size: clamp(2rem, 3.6vw, 3rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.08; margin: 0 0 10px; }
.faq-directory-heading p { color: var(--site-muted); font-size: .95rem; line-height: 1.7; margin: 0; }
.faq-topic-navigation { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 25px; }
.faq-topic-navigation a { align-items: center; background: #fff; border: 1px solid #dfe7e5; color: var(--site-navy); display: inline-flex; font-size: .75rem; font-weight: 800; gap: 8px; padding: 10px 13px; text-decoration: none; transition: border-color .2s ease, color .2s ease; }
.faq-topic-navigation a i { color: var(--site-green); }
.faq-topic-navigation a:hover { border-color: var(--site-blue); color: var(--site-blue); }
.faq-directory-layout { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr) minmax(250px, .32fr); }
.faq-category-stack { display: grid; gap: 20px; min-width: 0; }
.faq-category-group { background: #fff; border: 1px solid #e1e8e6; isolation: isolate; overflow: hidden; padding: 24px; position: relative; scroll-margin-top: 110px; }
.faq-category-group::before { background: repeating-radial-gradient(ellipse at 100% 0%, transparent 0 25px, rgba(49,101,176,.04) 26px 27px, transparent 28px 52px); content: ''; height: 270px; pointer-events: none; position: absolute; right: -55px; top: -100px; width: 310px; z-index: -1; }
.faq-category-group-dark { background: var(--site-navy); border-color: var(--site-navy); }
.faq-category-group-dark::before { background: repeating-radial-gradient(ellipse at 100% 0%, transparent 0 25px, rgba(255,255,255,.07) 26px 27px, transparent 28px 52px); }
.faq-category-heading { align-items: center; display: flex; gap: 13px; margin-bottom: 19px; position: relative; z-index: 1; }
.faq-category-icon { align-items: center; background: #eaf4ed; color: var(--site-green); display: inline-flex; flex: 0 0 43px; font-size: 1.05rem; height: 43px; justify-content: center; }
.faq-category-heading h2 { color: var(--site-navy); font-size: 1rem; font-weight: 800; margin: 0; }
.faq-category-kicker { color: var(--site-green); display: block; font-size: .61rem; font-weight: 800; letter-spacing: .13em; margin-bottom: 4px; text-transform: uppercase; }
.faq-category-count { align-items: center; background: #eef3f2; color: #657584; display: inline-flex; font-size: .68rem; font-weight: 800; height: 28px; justify-content: center; margin-left: auto; min-width: 28px; padding: 0 7px; }
.faq-category-group-dark .faq-category-heading h2 { color: #fff; }
.faq-category-group-dark .faq-category-kicker { color: #9cdbab; }
.faq-category-group-dark .faq-category-count { background: rgba(255,255,255,.1); color: rgba(255,255,255,.8); }
.faq-question-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); position: relative; z-index: 1; }
.faq-question-card { align-self: start; background: #fff; border: 1px solid #e2e9e7; min-width: 0; }
.faq-question-card[open] { border-color: rgba(49,101,176,.35); box-shadow: 0 8px 22px rgba(16,36,59,.05); }
.faq-question-card summary { align-items: start; color: var(--site-navy); cursor: pointer; display: grid; gap: 10px; grid-template-columns: 27px minmax(0, 1fr) 16px; list-style: none; padding: 15px 14px; }
.faq-question-card summary::-webkit-details-marker { display: none; }
.faq-question-mark { align-items: center; background: #eef4f1; color: var(--site-green); display: inline-flex; font-size: .8rem; height: 25px; justify-content: center; width: 25px; }
.faq-question-text { font-size: .79rem; font-weight: 800; line-height: 1.5; }
.faq-question-toggle { color: var(--site-blue); font-size: .7rem; margin-top: 4px; transition: transform .2s ease; }
.faq-question-card[open] .faq-question-toggle { transform: rotate(45deg); }
.faq-question-card summary:focus-visible { outline: 2px solid var(--site-blue); outline-offset: 2px; }
.faq-answer { border-top: 1px solid #e8eeec; color: var(--site-muted); font-size: .78rem; line-height: 1.7; padding: 13px 15px 16px 52px; }
.faq-contact-aside { display: grid; gap: 17px; position: sticky; top: 108px; }
.faq-sidebar-card { background: var(--site-blue); isolation: isolate; overflow: hidden; padding: 25px !important; position: relative; }
.faq-sidebar-card::after { background: repeating-radial-gradient(ellipse at 100% 0%, transparent 0 24px, rgba(255,255,255,.09) 25px 26px, transparent 27px 50px); content: ''; height: 260px; pointer-events: none; position: absolute; right: -75px; top: -85px; width: 260px; z-index: -1; }
.faq-aside-icon { align-items: center; background: rgba(255,255,255,.12); color: #a3e1b0; display: inline-flex; font-size: 1.1rem; height: 42px; justify-content: center; margin-bottom: 18px; width: 42px; }
.faq-sidebar-card h2 { color: #fff; font-size: 1.2rem; font-weight: 800; margin: 0 0 8px; }
.faq-sidebar-card p { color: rgba(255,255,255,.78); font-size: .8rem; line-height: 1.6; margin-bottom: 18px; }
.faq-contact-row { align-items: flex-start; border-top: 1px solid rgba(255,255,255,.2); display: flex; gap: 11px; padding: 13px 0; }
.faq-contact-row i { color: #a3e1b0; flex: 0 0 auto; margin-top: 2px; }
.faq-contact-row span { color: #fff; font-size: .75rem; font-weight: 700; overflow-wrap: anywhere; }
.faq-quote-note { background: #fff; border: 1px solid #e1e8e6; padding: 24px; }
.faq-quote-note .section-eyebrow { color: var(--site-green); }
.faq-quote-note h2 { color: var(--site-navy); font-size: 1.18rem; font-weight: 800; margin: 5px 0 8px; }
.faq-quote-note p { color: var(--site-muted); font-size: .8rem; line-height: 1.6; }
.faq-quote-note .btn { background: var(--site-navy); border-color: var(--site-navy); border-radius: 2px; color: #fff; font-size: .78rem; font-weight: 800; padding: 11px 14px; }
.faq-content .contact-cta { background: var(--site-navy); isolation: isolate; margin-top: 31px !important; overflow: hidden; padding: 39px 24px; position: relative; }
.faq-content .contact-cta::before { background: repeating-radial-gradient(ellipse at 100% 100%, transparent 0 28px, rgba(255,255,255,.07) 29px 30px, transparent 31px 58px); content: ''; height: 300px; pointer-events: none; position: absolute; right: -70px; top: -95px; width: 320px; z-index: -1; }
.faq-content .contact-cta h2 { color: #fff; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.faq-content .contact-cta p { color: rgba(255,255,255,.78); font-size: .9rem; max-width: 620px; }
.faq-content .contact-cta .btn { border-radius: 2px; font-size: .82rem; padding: 12px 18px; }
@media (max-width: 991.98px) {
    .faq-directory-layout { grid-template-columns: minmax(0, 1fr) minmax(230px, .34fr); gap: 16px; }
    .faq-category-group { padding: 19px; }
    .faq-question-grid { grid-template-columns: 1fr; }
    .faq-question-card summary { padding: 13px; }
}
@media (max-width: 767.98px) {
    .faq-directory-section { padding: 48px 0 54px; }
    .faq-directory-layout { grid-template-columns: 1fr; }
    .faq-contact-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); position: static; }
    .faq-category-group-dark .faq-category-heading h2 { color: #fff; }
}
@media (max-width: 575.98px) {
    .faq-directory-heading { margin-bottom: 20px; }
    .faq-topic-navigation { flex-wrap: nowrap; margin-right: -12px; overflow-x: auto; padding-bottom: 6px; }
    .faq-topic-navigation a { flex: 0 0 auto; }
    .faq-category-group { padding: 16px; }
    .faq-category-heading { gap: 10px; }
    .faq-category-heading h2 { font-size: .9rem; }
    .faq-question-grid { grid-template-columns: 1fr; }
    .faq-contact-aside { grid-template-columns: 1fr; }
    .faq-content .contact-cta { padding: 32px 18px; }
    .faq-content .contact-cta .d-flex { flex-direction: column; }
}

.iso-partnership-section { background: #f1f4f3; padding: 62px 0; }
.iso-partnership-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 0 auto; max-width: 1320px; min-height: 500px; padding: 0 24px; }
.iso-partnership-collage { display: grid; gap: 12px; grid-template-columns: 1.12fr .88fr; grid-template-rows: 1fr 1fr; min-height: 500px; padding: 20px 0 20px 20px; position: relative; }
.iso-partnership-image { margin: 0; min-height: 0; overflow: hidden; }
.iso-partnership-image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.iso-partnership-image-main { grid-row: 1 / 3; }
.iso-partnership-image-audit { grid-column: 2; grid-row: 1; }
.iso-partnership-image-coaching { grid-column: 2; grid-row: 2; }
.iso-partnership-image-index { align-items: center; background: var(--site-green); border: 7px solid #f1f4f3; border-radius: 50%; bottom: 38px; color: #fff; display: flex; flex-direction: column; height: 90px; justify-content: center; left: -4px; line-height: 1; position: absolute; width: 90px; }
.iso-partnership-image-index span { font-size: .58rem; font-weight: 800; letter-spacing: .14em; }
.iso-partnership-image-index strong { font-size: 1.15rem; margin-top: 4px; }
.iso-partnership-copy { align-self: stretch; background: var(--site-navy); color: rgba(255,255,255,.76); display: flex; flex-direction: column; justify-content: center; isolation: isolate; overflow: hidden; padding: clamp(32px, 5vw, 62px); position: relative; }
.iso-partnership-copy::before { background: repeating-radial-gradient(ellipse at 100% 0%, transparent 0 27px, rgba(255,255,255,.055) 28px 29px, transparent 30px 57px); content: ''; height: 290px; pointer-events: none; position: absolute; right: -85px; top: -100px; width: 340px; z-index: -1; }
.iso-partnership-copy .section-eyebrow { color: #81d99a; }
.iso-partnership-copy h2 { color: #fff; font-size: clamp(1.75rem, 3vw, 2.45rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.1; margin: 0 0 15px; max-width: 650px; }
.iso-partnership-copy > p { font-size: .87rem; line-height: 1.7; margin: 0 0 12px; max-width: 650px; }
.iso-partnership-copy .iso-partnership-lead { color: #fff; font-size: 1rem; font-weight: 600; line-height: 1.6; }
.iso-partnership-points { display: grid; gap: 15px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 13px 0 18px; }
.iso-partnership-points article { display: grid; gap: 10px; grid-template-columns: 32px minmax(0, 1fr); }
.iso-partnership-points article > span { align-items: center; background: rgba(255,255,255,.1); color: #8be0a0; display: flex; height: 32px; justify-content: center; width: 32px; }
.iso-partnership-points h3 { color: #fff; font-size: .78rem; font-weight: 800; line-height: 1.35; margin: 0 0 5px; }
.iso-partnership-points p { color: rgba(255,255,255,.68); font-size: .72rem; line-height: 1.55; margin: 0; }
.iso-partnership-parent { align-items: center; border-top: 1px solid rgba(255,255,255,.16); display: flex; gap: 13px; margin-top: 2px; padding-top: 15px; }
.iso-partnership-parent a { align-items: center; background: #fff; display: inline-flex; height: 42px; justify-content: center; padding: 5px 9px; }
.iso-partnership-parent img { display: block; height: auto; max-height: 31px; max-width: 115px; object-fit: contain; width: auto; }
.iso-partnership-parent span { color: rgba(255,255,255,.75); font-size: .73rem; line-height: 1.4; }
.iso-partnership-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 17px; }
.iso-partnership-actions a { align-items: center; display: inline-flex; font-size: .75rem; font-weight: 800; gap: 10px; justify-content: center; padding: 12px 15px; text-decoration: none; transition: background .2s ease, color .2s ease; }
.iso-partnership-primary { background: var(--site-green); color: #fff; }
.iso-partnership-primary:hover { background: #16883a; color: #fff; }
.iso-partnership-secondary { border: 1px solid rgba(255,255,255,.38); color: #fff; }
.iso-partnership-secondary:hover { background: #fff; color: var(--site-navy); }
@media (max-width: 991.98px) {
    .iso-partnership-layout { grid-template-columns: .85fr 1.15fr; padding: 0 18px; }
    .iso-partnership-collage { min-height: 530px; }
    .iso-partnership-copy { padding: 32px 25px; }
    .iso-partnership-points { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .iso-partnership-section { padding: 42px 0; }
    .iso-partnership-layout { grid-template-columns: 1fr; max-width: 600px; }
    .iso-partnership-collage { grid-template-rows: 210px 130px; min-height: 0; padding: 0 0 0 12px; }
    .iso-partnership-image-main { grid-row: 1 / 3; }
    .iso-partnership-image-audit, .iso-partnership-image-coaching { min-height: 0; }
    .iso-partnership-image-index { bottom: 16px; height: 72px; left: -9px; width: 72px; }
    .iso-partnership-copy { padding: 31px 24px; }
    .iso-partnership-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .iso-partnership-layout { padding: 0 14px; }
    .iso-partnership-collage { grid-template-rows: 180px 108px; }
    .iso-partnership-copy { padding: 26px 19px; }
    .iso-partnership-copy h2 { font-size: 1.75rem; }
    .iso-partnership-points { grid-template-columns: 1fr; }
    .iso-partnership-actions { align-items: stretch; flex-direction: column; }
    .iso-partnership-actions a { width: 100%; }
}

.contact-info-heading { margin: 0 0 22px; }
.contact-info-heading .section-eyebrow { color: var(--site-green); }
.contact-info-heading h2 { color: var(--site-navy); font-size: clamp(1.8rem, 3vw, 2.45rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.1; margin: 0 0 9px; }
.contact-info-heading p { color: var(--site-muted); font-size: .9rem; line-height: 1.65; margin: 0; }
.contact-page .contact-info-column .contact-feature-image { height: 250px; margin-bottom: 16px; object-fit: cover; }
.contact-details-grid { display: grid; gap: 11px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-detail-card { align-items: flex-start; display: grid; gap: 13px; grid-template-columns: 39px minmax(0, 1fr); min-width: 0; padding: 19px; position: relative; }
.contact-detail-card h3 { color: inherit; font-size: .76rem; font-weight: 800; letter-spacing: .08em; margin: 1px 0 7px; text-transform: uppercase; }
.contact-detail-card p { color: inherit; font-size: .84rem; font-weight: 600; line-height: 1.55; margin: 0; overflow-wrap: anywhere; }
.contact-detail-card .contact-detail-symbol { align-items: center; background: rgba(255,255,255,.14); color: #fff; display: inline-flex; flex: 0 0 39px; font-size: .95rem; height: 39px; justify-content: center; margin: 0; width: 39px; }
.contact-address-card { background: var(--site-navy); color: #fff; grid-column: 1 / -1; isolation: isolate; min-height: 132px; overflow: hidden; }
.contact-address-card::after { background: repeating-radial-gradient(ellipse at 100% 0%, transparent 0 24px, rgba(255,255,255,.08) 25px 26px, transparent 27px 50px); content: ''; height: 240px; pointer-events: none; position: absolute; right: -45px; top: -85px; width: 260px; z-index: -1; }
.contact-phone-card { background: #176b43; color: #fff; isolation: isolate; overflow: hidden; }
.contact-phone-card::after { background-image: radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px); background-size: 12px 12px; content: ''; inset: 0; opacity: .42; pointer-events: none; position: absolute; z-index: -1; }
.contact-email-card { background: #fff; border: 1px solid #e1e8e6; color: var(--site-navy); isolation: isolate; overflow: hidden; }
.contact-email-card::after { background: repeating-linear-gradient(135deg, rgba(49,101,176,.035) 0 1px, transparent 1px 12px); content: ''; height: 100%; pointer-events: none; position: absolute; right: 0; top: 0; width: 48%; z-index: -1; }
.contact-email-card .contact-detail-symbol { background: #eaf4ed; color: var(--site-green); }
@media (max-width: 575.98px) {
    .contact-details-grid { grid-template-columns: 1fr; }
    .contact-address-card { grid-column: 1; }
    .contact-detail-card { padding: 17px; }
}
