/*
Theme Name: JAFO OHS Training and Consultancy Pro
Theme URI: https://jafoohstraining.co.za
Author: OpenAI
Description: Premium, conversion-focused WordPress theme for South African workplace training and occupational health & safety consulting providers.
Version: 2.2.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: training-company-pro
*/
:root{--tcp-primary:#0b1f3a;--tcp-primary2:#17365f;--tcp-accent:#d9a441;--tcp-bg:#f7f8fb;--tcp-text:#172033;--tcp-muted:#667085;--tcp-white:#fff;--tcp-border:#e5e7eb;--tcp-radius:18px;--tcp-shadow:0 18px 50px rgba(11,31,58,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--tcp-text);background:var(--tcp-white);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.tcp-container{width:min(1180px,calc(100% - 32px));margin:auto}.tcp-topbar{background:var(--tcp-primary);color:#dbe5f0;font-size:14px}.tcp-topbar .tcp-container{display:flex;justify-content:space-between;gap:16px;padding:9px 0}.tcp-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,231,235,.8)}.tcp-nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:24px}.tcp-brand{font-weight:850;font-size:24px;color:var(--tcp-primary);letter-spacing:-.02em}.tcp-brand img{max-height:52px;width:auto}.tcp-menu ul{display:flex;gap:21px;list-style:none;margin:0;padding:0;align-items:center}.tcp-menu a{font-weight:650;color:#344054}.tcp-menu a:hover{color:#9a6f1f}.tcp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--tcp-accent);color:#172033;font-weight:800;padding:13px 20px;border-radius:999px;border:0;cursor:pointer;transition:.2s}.tcp-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(217,164,65,.25)}.tcp-btn-dark{background:var(--tcp-primary);color:#fff}.tcp-btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28)}.tcp-btn-light{background:#eef2f6;color:var(--tcp-primary)}.tcp-full{width:100%}.tcp-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#07182d 0%,#0b1f3a 58%,#17365f 100%);color:#fff;padding:92px 0 84px}.tcp-hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-140px;top:-160px;background:radial-gradient(circle,rgba(217,164,65,.34),rgba(217,164,65,0) 65%)}.tcp-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;position:relative;z-index:2}.tcp-eyebrow{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.07);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f2d79c}.tcp-hero h1{font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-.045em;margin:18px 0}.tcp-hero p{font-size:19px;color:#cdd8e6;max-width:680px}.tcp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.tcp-proof{display:flex;flex-wrap:wrap;gap:22px;margin-top:34px;color:#dbe5f0;font-size:14px}.tcp-hero-card{background:#fff;color:var(--tcp-text);padding:30px;border-radius:28px;box-shadow:0 26px 70px rgba(0,0,0,.22)}.tcp-hero-card h3{margin:0 0 14px;font-size:27px;color:var(--tcp-primary)}.tcp-audience-links{display:grid;gap:12px}.tcp-audience-links a{display:grid;gap:4px;padding:18px;border:1px solid var(--tcp-border);border-radius:15px}.tcp-audience-links a:hover{border-color:#d9a441;background:#fffaf0}.tcp-audience-links strong{color:var(--tcp-primary);font-size:17px}.tcp-audience-links span{color:var(--tcp-muted);font-size:14px}.tcp-section{padding:82px 0}.tcp-section.alt{background:var(--tcp-bg)}.tcp-kicker{color:#9a6f1f;font-weight:850;text-transform:uppercase;letter-spacing:.1em;font-size:13px}.tcp-section h2,.tcp-cta h2{font-size:clamp(32px,4vw,50px);line-height:1.1;letter-spacing:-.03em;margin:8px 0 14px}.tcp-section-lead{font-size:18px;color:var(--tcp-muted);max-width:780px}.tcp-grid-3,.tcp-grid-4{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.tcp-grid-4{grid-template-columns:repeat(4,1fr)}.tcp-card{background:#fff;border:1px solid var(--tcp-border);border-radius:var(--tcp-radius);padding:26px;box-shadow:0 8px 30px rgba(16,24,40,.05);transition:.2s}.tcp-card:hover{box-shadow:var(--tcp-shadow);transform:translateY(-3px)}.tcp-card h3{color:var(--tcp-primary);margin:10px 0}.tcp-icon{width:46px;height:46px;border-radius:13px;background:#fbf3e1;display:grid;place-items:center;color:#8c6518;font-weight:900}.tcp-course-card{overflow:hidden}.tcp-course-card>img{width:calc(100% + 52px);max-width:none;margin:-26px -26px 18px;height:190px;object-fit:cover}.tcp-course-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--tcp-muted);font-size:13px;margin:12px 0}.tcp-pill{background:#f1f5f9;border-radius:999px;padding:6px 10px}.tcp-course-price{font-size:26px;font-weight:850;color:var(--tcp-primary);margin:14px 0}.tcp-text-link{font-weight:800;color:#8c6518}.tcp-centered{text-align:center;margin-top:34px}.tcp-split{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.tcp-panel{background:#fff;border:1px solid var(--tcp-border);border-radius:24px;padding:30px;box-shadow:var(--tcp-shadow)}.tcp-delivery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.tcp-delivery div{background:var(--tcp-bg);border-radius:14px;padding:17px}.tcp-delivery strong,.tcp-delivery span{display:block}.tcp-delivery span{font-size:13px;color:var(--tcp-muted);margin-top:3px}.tcp-checks{list-style:none;padding:0;margin:25px 0}.tcp-checks li{margin:10px 0;padding-left:28px;position:relative}.tcp-checks li:before{content:"✓";position:absolute;left:0;color:#8c6518;font-weight:900}.tcp-location{background:linear-gradient(180deg,#fff,#f7f8fb)}.tcp-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.tcp-chip-row span{border:1px solid var(--tcp-border);background:#fff;padding:9px 13px;border-radius:999px;font-weight:700;color:#344054}.tcp-cta{background:linear-gradient(135deg,#0b1f3a,#17365f);color:#fff;border-radius:30px;padding:46px;display:flex;align-items:center;justify-content:space-between;gap:28px}.tcp-cta p{color:#dbe5f0}.tcp-footer{background:#07182d;color:#c5d1de;padding:56px 0 24px}.tcp-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.tcp-footer h4{color:#fff}.tcp-footer ul{list-style:none;padding:0;margin:0}.tcp-footer li{margin:8px 0}.tcp-footer-credential{font-size:13px;color:#f2d79c}.tcp-copy{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:20px;font-size:13px}.tcp-page-hero{background:var(--tcp-bg);padding:64px 0}.tcp-content{padding:62px 0}.tcp-content h1{font-size:clamp(38px,5vw,58px);letter-spacing:-.04em;line-height:1.05}.entry-content{max-width:850px}.entry-content p,.entry-content li{font-size:17px}.tcp-course-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}.tcp-feature-image{border-radius:24px;margin:20px 0 28px;width:100%}.tcp-course-sidebar dl{display:grid;grid-template-columns:1fr;gap:0}.tcp-course-sidebar dt{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--tcp-muted);font-weight:800;margin-top:14px}.tcp-course-sidebar dd{margin:2px 0 0;color:var(--tcp-primary);font-weight:700}.tcp-sticky{position:sticky;top:110px}.tcp-programme-details{margin:42px 0}.tcp-programme-details>div{border-top:1px solid var(--tcp-border);padding:18px 0}.tcp-programme-details h3{margin:0 0 6px}.tcp-programme-details p{margin:0}.tcp-intake-list{border:1px solid var(--tcp-border);border-radius:16px;overflow:hidden}.tcp-intake-list>div{display:grid;grid-template-columns:1fr 2fr 1fr;gap:15px;padding:15px 18px;border-top:1px solid var(--tcp-border)}.tcp-intake-list>div:first-child{border-top:0}.tcp-enquiry-block{margin-top:60px;padding-top:40px;border-top:1px solid var(--tcp-border)}.tcp-mobile-toggle{display:none;background:none;border:0;font-size:28px}.tcp-whatsapp{position:fixed;right:20px;bottom:20px;z-index:60;background:#0b1f3a;color:#fff;padding:12px 16px;border-radius:999px;font-weight:800;box-shadow:var(--tcp-shadow)}
@media(max-width:1050px){.tcp-grid-4{grid-template-columns:repeat(2,1fr)}.tcp-menu ul{gap:14px}.tcp-header-cta{display:none}}
@media(max-width:900px){.tcp-hero-grid,.tcp-grid-3,.tcp-footer-grid,.tcp-split,.tcp-course-layout{grid-template-columns:1fr}.tcp-menu{display:none}.tcp-menu.is-open{display:block;position:absolute;top:76px;left:16px;right:16px;background:#fff;padding:18px;border-radius:16px;box-shadow:var(--tcp-shadow)}.tcp-menu.is-open ul{flex-direction:column;align-items:flex-start}.tcp-mobile-toggle{display:block}.tcp-hero{padding:64px 0}.tcp-cta{flex-direction:column;align-items:flex-start}.tcp-topbar .tcp-container{flex-direction:column;gap:2px}.tcp-sticky{position:static}.tcp-course-sidebar{order:-1}}
@media(max-width:620px){.tcp-grid-4,.tcp-delivery{grid-template-columns:1fr}.tcp-hero h1{font-size:43px}.tcp-cta{padding:30px}.tcp-intake-list>div{grid-template-columns:1fr}.tcp-whatsapp{left:16px;right:16px;text-align:center}.tcp-section{padding:62px 0}}
.tcp-team-price{margin:8px 0 18px;padding:12px 14px;border-radius:12px;background:var(--tcp-bg);font-size:14px;color:var(--tcp-muted)}.tcp-team-price strong{color:var(--tcp-primary)}

.tcp-wordmark{display:inline-flex;align-items:center;gap:11px}.tcp-wordmark-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--tcp-primary);color:var(--tcp-accent);font-weight:900;letter-spacing:-.06em;box-shadow:0 8px 20px rgba(7,27,46,.12)}.tcp-wordmark-copy{display:grid;line-height:1.08}.tcp-wordmark-copy strong{font-size:18px;color:var(--tcp-primary);letter-spacing:-.02em}.tcp-wordmark-copy small{font-size:10px;color:var(--tcp-muted);margin-top:4px;max-width:210px}.tcp-brand-story{background:linear-gradient(135deg,var(--tcp-primary),var(--tcp-primary2));color:#fff;border-radius:28px;padding:42px;display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:center}.tcp-brand-story .tcp-kicker{color:var(--tcp-accent)}.tcp-brand-story h2{color:#fff;margin-top:8px}.tcp-brand-story p{color:#cbd9dc}.tcp-brand-values{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tcp-brand-values div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px}.tcp-brand-values strong{display:block;color:#fff;font-size:18px}.tcp-brand-values span{font-size:13px;color:#cbd9dc}.tcp-footer-links-inline{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px}.tcp-footer-links-inline a{color:#cbd5e1}@media(max-width:780px){.tcp-wordmark-copy small{display:none}.tcp-brand-story{grid-template-columns:1fr;padding:28px}.tcp-brand-values{grid-template-columns:1fr}}
.tcp-trainer-hero{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:center;margin-bottom:42px}.tcp-trainer-photo img,.tcp-trainer-placeholder{width:260px;height:260px;object-fit:cover;border-radius:24px}.tcp-trainer-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,var(--tcp-primary),var(--tcp-primary2));color:var(--tcp-accent);font-size:72px;font-weight:900}.tcp-trainer-role{font-size:20px;color:var(--tcp-muted);margin-top:-8px}.tcp-trainer-lead{font-size:18px;color:#475467;max-width:720px}.tcp-trainer-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px}.tcp-trainer-layout dl{margin:0}.tcp-trainer-layout dt{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--tcp-muted);font-weight:800;margin-top:14px}.tcp-trainer-layout dd{margin:3px 0 0;color:var(--tcp-primary);font-weight:650}@media(max-width:850px){.tcp-trainer-hero,.tcp-trainer-layout{grid-template-columns:1fr}.tcp-trainer-photo img,.tcp-trainer-placeholder{width:180px;height:180px}.tcp-trainer-layout aside{order:-1}}

/* Training + OHS v1.9 */
.tcp-ohs-band{background:#edf7f5}.tcp-ohs-band .tcp-card{border-top:4px solid var(--tcp-primary2)}.tcp-dual-route{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tcp-route-card{padding:20px;border:1px solid var(--tcp-border);border-radius:16px;background:#fff}.tcp-route-card strong{display:block;font-size:18px;color:var(--tcp-primary);margin-bottom:4px}.tcp-route-card span{display:block;color:var(--tcp-muted);font-size:14px}@media(max-width:620px){.tcp-dual-route{grid-template-columns:1fr}}

/* v2.0 JAFO visual + OHS SEO launch */
.tcp-wordmark-logo img{display:block;max-height:58px;width:auto;max-width:250px}.tcp-brand{display:flex;align-items:center}.tcp-hero-v2{min-height:650px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(5,21,40,.98) 0%,rgba(7,27,46,.94) 35%,rgba(7,27,46,.57) 58%,rgba(7,27,46,.10) 100%),url('assets/images/jafo-home-hero.jpg');background-size:cover;background-position:center}.tcp-hero-v2:after{display:none}.tcp-hero-v2 .tcp-container{position:relative;z-index:2}.tcp-hero-content{max-width:690px}.tcp-hero-v2 h1{font-size:clamp(44px,5.3vw,70px);max-width:760px}.tcp-hero-v2 p{max-width:650px;color:#e1eaf2}.tcp-hero-v2 .tcp-proof{max-width:700px}.tcp-route-strip{position:relative;margin-top:-42px;z-index:10}.tcp-route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.tcp-route-grid>a{background:#fff;border:1px solid var(--tcp-border);border-radius:20px;box-shadow:0 14px 40px rgba(7,27,46,.14);padding:15px;display:flex;align-items:center;gap:13px;transition:.2s}.tcp-route-grid>a:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(7,27,46,.18)}.tcp-route-grid img{width:76px;height:76px;object-fit:contain;flex:0 0 auto}.tcp-route-grid span{display:grid;gap:2px}.tcp-route-grid strong{color:var(--tcp-primary);font-size:16px}.tcp-route-grid small{color:var(--tcp-muted);line-height:1.35}.tcp-keyword-grid{margin-top:30px}.tcp-topic-card{display:flex;flex-direction:column;min-height:210px}.tcp-topic-card span{margin-top:auto;color:#8c6518;font-weight:800}.tcp-visual-split{overflow:hidden}.tcp-image-card{border-radius:28px;overflow:hidden;box-shadow:0 24px 60px rgba(7,27,46,.16);min-height:380px}.tcp-image-card img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block}.tcp-icon-service-grid .tcp-card{text-align:center}.tcp-icon-service-grid img{width:148px;height:148px;object-fit:contain;margin:-6px auto 6px;display:block}.tcp-training-visual{background:linear-gradient(180deg,#fff,#f8fafc)}.tcp-page-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#071b2e,#0d4853);color:#fff;padding:88px 0}.tcp-page-hero .tcp-container{position:relative;z-index:2}.tcp-page-hero .tcp-kicker{color:#e6ad3c}.tcp-page-hero h1{font-size:clamp(40px,5vw,64px);line-height:1.04;letter-spacing:-.035em;max-width:880px;margin:8px 0 0}.tcp-page-hero-ohs{background-image:linear-gradient(90deg,rgba(5,21,40,.97),rgba(7,27,46,.80) 50%,rgba(7,27,46,.24)),url('assets/images/jafo-ohs-consulting-hero.jpg');background-size:cover;background-position:center}.tcp-page-hero-training{background-image:linear-gradient(90deg,rgba(5,21,40,.97),rgba(7,27,46,.84) 54%,rgba(7,27,46,.25)),url('assets/images/jafo-training-hero.jpg');background-size:cover;background-position:center}.entry-content{max-width:920px}.entry-content h2{font-size:clamp(28px,3vw,40px);line-height:1.15;color:var(--tcp-primary);margin-top:42px}.entry-content h3{font-size:22px;color:var(--tcp-primary);margin-top:28px}.entry-content .tcc-course-grid,.entry-content .tcc-ohs-grid,.entry-content .tcc-form{max-width:1180px}.tcp-footer-brand strong{font-size:20px;color:#fff}
@media(max-width:1050px){.tcp-route-grid{grid-template-columns:repeat(2,1fr)}.tcp-hero-v2{background-position:58% center}.tcp-hero-content{max-width:620px}.tcp-wordmark-logo img{max-width:210px}}
@media(max-width:780px){.tcp-hero-v2{min-height:620px;background-image:linear-gradient(90deg,rgba(5,21,40,.98),rgba(7,27,46,.92)),url('assets/images/jafo-home-hero.jpg');background-position:66% center}.tcp-route-strip{margin-top:-24px}.tcp-route-grid{grid-template-columns:1fr 1fr}.tcp-route-grid>a{padding:12px}.tcp-route-grid img{width:62px;height:62px}.tcp-icon-service-grid img{width:120px;height:120px}.tcp-page-hero{padding:72px 0}}
@media(max-width:560px){.tcp-route-grid{grid-template-columns:1fr}.tcp-route-grid img{width:70px;height:70px}.tcp-hero-v2 h1{font-size:42px}.tcp-wordmark-logo img{max-width:185px;max-height:50px}.tcp-hero-v2{min-height:590px}.tcp-image-card,.tcp-image-card img{min-height:280px}}
