/*
Theme Name: CertGulf
Theme URI: https://certgulf.com/
Author: CertGulf
Author URI: https://certgulf.com/
Description: A responsive certification and professional training theme for CertGulf.
Version: 1.3.2
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: certgulf
*/

:root { --ink:#0f1b35; --ink-soft:#182744; --paper:#f6f8ff; --white:#fff; --muted:#667085; --line:#d9e1f2; --red:#1754e8; --orange:#ff653d; --lime:#dce8ff; --blue:#1754e8; --navy:#0f1b35; --coral:#ff653d; --sky:#e9f0ff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
[hidden] { display:none!important; }
.course-card.is-filtered { display:none; }
.enquiry-status { min-height:20px; color:#b42318; font-size:12px; line-height:1.45; }
.enquiry-status.is-success { color:#24754b; }
.generic-content { width:min(900px,calc(100% - 48px)); min-height:60vh; margin:0 auto; padding:90px 0; }
.generic-content h1 { font-size:clamp(40px,6vw,72px); line-height:1; letter-spacing:-.05em; }
.generic-content article { background:#fff; border:1px solid var(--line); border-radius:20px; padding:30px; }

.hero-shell { min-height:790px; background:radial-gradient(circle at 79% 24%,rgba(255,101,61,.2),transparent 28%),linear-gradient(145deg,#0b1730 0%,#123c9b 62%,#0f1b35 100%); color:var(--white); overflow:hidden; position:relative; }
.hero-shell::after { content:""; position:absolute; width:500px; height:500px; right:-300px; bottom:-280px; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.nav-wrap { width:min(1180px,calc(100% - 48px)); margin:18px auto 0; height:70px; padding:0 18px 0 20px; display:flex; align-items:center; gap:44px; border:1px solid rgba(255,255,255,.72); border-radius:18px; background:rgba(255,255,255,.97); box-shadow:0 18px 50px rgba(4,14,43,.16); position:relative; z-index:20; }
.brand { display:inline-flex; align-items:center; text-decoration:none; white-space:nowrap; }
.brand img { display:block; width:150px; height:auto; }
.nav-links { margin:0 auto; display:flex; gap:34px; align-items:center; }
.nav-links a { color:#56647c; text-decoration:none; font-size:14px; font-weight:650; transition:color .2s; }
.nav-links a:hover,.nav-links a:focus-visible { color:var(--blue); }
.nav-cta,.first-cta button { border:0; border-radius:999px; background:var(--navy); color:#fff; min-height:46px; padding:0 20px; font-size:13px; font-weight:750; cursor:pointer; display:inline-flex; align-items:center; gap:10px; }
.nav-cta span,.button span,.course-card button span,.course-card-cta span,.first-cta button span { font-size:16px; }
.menu-toggle { display:none; }

.hero-grid { width:min(1180px,calc(100% - 48px)); margin:0 auto; min-height:590px; display:grid; grid-template-columns:1.02fr .98fr; gap:70px; align-items:center; position:relative; z-index:2; }
.hero-copy { padding:54px 0 40px; }
.eyebrow { display:flex; align-items:center; gap:10px; color:#b9bbc3; text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:700; margin-bottom:24px; }
.eyebrow span { width:7px; height:7px; background:var(--coral); border-radius:50%; box-shadow:0 0 0 5px rgba(255,101,61,.15); }
.hero-copy h1 { max-width:660px; font-size:clamp(50px,5.3vw,76px); line-height:.98; letter-spacing:-.062em; margin:0; font-weight:660; }
.hero-copy h1 em { font-style:normal; color:#ff8061; }
.hero-copy>p { color:#a9abb4; max-width:560px; margin:26px 0 30px; font-size:17px; line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.button { border:0; min-height:54px; padding:0 24px; border-radius:999px; font-size:14px; font-weight:760; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:12px; cursor:pointer; }
.button-primary { background:linear-gradient(95deg,var(--blue),var(--coral)); color:#fff; box-shadow:0 14px 32px rgba(23,84,232,.22); }
.button-primary:hover { transform:translateY(-1px); }
.text-link { color:#fff; text-decoration:none; font-size:14px; font-weight:680; }
.text-link span { color:#ff8061; margin-left:6px; }
.hero-proof { display:flex; gap:34px; margin-top:46px; }
.hero-proof div { display:grid; gap:5px; }
.hero-proof strong { font-size:20px; }
.hero-proof span { color:#aebfe6; font-size:11px; }

.hero-visual { position:relative; height:500px; display:flex; align-items:center; justify-content:center; }
.orbit { position:absolute; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.orbit-one { width:510px; height:510px; }
.orbit-two { width:380px; height:380px; }
.dashboard-card { width:min(440px,92%); background:rgba(255,255,255,.97); color:var(--ink); border-radius:24px; padding:24px; box-shadow:0 32px 80px rgba(0,0,0,.42); transform:rotate(-1.5deg); position:relative; z-index:2; }
.dash-head { display:flex; justify-content:space-between; align-items:flex-start; }
.dash-kicker,.section-label { color:var(--red); font-size:10px; letter-spacing:.16em; font-weight:800; }
.dash-head h2 { margin:6px 0 0; font-size:22px; letter-spacing:-.04em; }
.avatar { width:40px; height:40px; display:grid; place-items:center; background:var(--ink); color:#fff; border-radius:50%; font-size:11px; font-weight:760; }
.progress-block { background:#f0efe9; padding:15px; border-radius:14px; margin:20px 0 12px; }
.progress-meta { display:flex; justify-content:space-between; font-size:11px; color:#676975; }
.progress-meta strong { color:var(--ink); }
.progress-track { height:7px; background:#dad9d3; border-radius:10px; margin-top:10px; overflow:hidden; }
.progress-track span { display:block; width:68%; height:100%; background:linear-gradient(90deg,var(--orange),var(--red)); border-radius:inherit; }
.module-list { display:grid; gap:8px; }
.module { min-height:63px; padding:10px 12px; display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center; border:1px solid #e7e6e0; border-radius:13px; }
.module.active { border-color:rgba(23,84,232,.48); box-shadow:0 6px 20px rgba(23,84,232,.09); }
.module-check,.module-index { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; font-style:normal; font-size:11px; font-weight:800; background:#e9e8e2; }
.module.complete .module-check { background:var(--ink); color:var(--lime); }
.module.active .module-index { background:var(--sky); color:var(--red); }
.module small { display:block; color:#9a9ca4; font-size:8px; letter-spacing:.08em; margin-bottom:2px; }
.module b { display:block; font-size:12px; }
.module em { font-style:normal; color:#9799a1; font-size:9px; }
.module.active em { color:var(--red); }
.mentor-row { display:grid; grid-template-columns:auto 1fr 34px; align-items:center; gap:12px; padding-top:16px; }
.mentor-avatars { display:flex; }
.mentor-avatars span { width:29px; height:29px; display:grid; place-items:center; margin-left:-6px; border-radius:50%; border:2px solid #fff; background:#353845; color:#fff; font-size:8px; }
.mentor-avatars span:first-child { margin-left:0; background:var(--red); }
.mentor-avatars span:last-child { background:#e7e6e0; color:var(--ink); }
.mentor-row p { margin:0; font-size:9px; line-height:1.5; color:#8e9099; }
.mentor-row p strong { color:var(--ink); font-size:10px; }
.mentor-row button { width:34px; height:34px; border:0; border-radius:50%; background:var(--ink); color:#fff; cursor:pointer; }
.floating-note { position:absolute; z-index:4; background:#fff; color:var(--ink); box-shadow:0 16px 50px rgba(0,0,0,.25); }
.note-top { top:57px; right:-5px; border-radius:14px; padding:12px 16px 12px 12px; display:flex; gap:10px; align-items:center; }
.note-top>span { width:30px; height:30px; display:grid; place-items:center; background:var(--lime); border-radius:9px; font-weight:800; }
.floating-note b { display:block; font-size:11px; }
.floating-note small { display:block; color:#8b8d96; font-size:8px; margin-top:2px; }
.note-bottom { left:-7px; bottom:66px; padding:13px 18px; border-radius:14px; }
.note-bottom b { font-size:20px; }

.partner-strip { width:min(1180px,calc(100% - 48px)); margin:0 auto; border-top:1px solid rgba(255,255,255,.1); min-height:108px; display:flex; align-items:center; gap:48px; position:relative; z-index:3; }
.partner-strip>span { color:#92a6d4; font-size:10px; text-transform:uppercase; letter-spacing:.12em; max-width:110px; line-height:1.5; }
.partner-list { flex:1; display:flex; justify-content:space-between; align-items:center; gap:22px; }
.partner-list b { color:#d8e2fb; font-size:16px; letter-spacing:-.03em; }

.course-section { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:105px 0 115px; }
.section-heading { display:grid; grid-template-columns:1fr 420px; gap:40px; align-items:end; }
.section-heading h2,.first-cta h2 { margin:9px 0 0; font-size:clamp(38px,4.3vw,58px); letter-spacing:-.055em; line-height:1; }
.section-heading p { margin:0; color:#6f717b; line-height:1.65; font-size:15px; }
.course-toolbar { margin:42px 0 30px; display:grid; gap:20px; }
.search-field { height:66px; border:1px solid var(--line); border-radius:16px; background:#fff; display:flex; align-items:center; padding:0 20px; gap:12px; box-shadow:0 14px 40px rgba(16,18,25,.05); }
.search-field>span { color:var(--red); font-size:25px; }
.search-field input { flex:1; border:0; outline:0; font-size:16px; background:transparent; }
.search-field:focus-within { border-color:var(--red); box-shadow:0 0 0 4px rgba(23,84,232,.09); }
.filter-row { display:flex; flex-wrap:wrap; gap:9px; }
.filter-row button { border:1px solid #d9d8d2; color:#61636d; background:transparent; border-radius:999px; padding:9px 15px; font-size:12px; cursor:pointer; }
.filter-row button.active { background:var(--ink); border-color:var(--ink); color:#fff; }
.results-meta { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; font-size:11px; color:#898b94; text-transform:uppercase; letter-spacing:.09em; }
.results-meta a,.results-meta button { color:var(--ink); text-decoration:none; font-weight:750; border:0; border-bottom:1px solid #aaa; background:transparent; padding:0 0 3px; text-transform:uppercase; letter-spacing:.09em; cursor:pointer; font-size:10px; }
.course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.course-card { min-height:0; background:#fff; border:1px solid #e2e1db; border-radius:18px; padding:22px; display:flex; flex-direction:column; transition:transform .24s,box-shadow .24s,border-color .24s; }
.course-card:hover { transform:translateY(-4px); box-shadow:0 20px 45px rgba(20,22,29,.08); border-color:#cac9c2; }
.card-topline { display:flex; justify-content:space-between; align-items:center; }
.course-mark { min-width:62px; height:38px; padding:0 11px; display:grid; place-items:center; border-radius:10px; font-size:10px; font-weight:850; color:#20222b; }
.course-mark.coral { background:#ffe1e7; color:#cf2442; }.course-mark.amber { background:#fff0ca; color:#956400; }.course-mark.violet { background:#ece3ff; color:#6745ac; }.course-mark.mint { background:#dcf9e9; color:#24754b; }.course-mark.blue { background:#dcecff; color:#2365a4; }.course-mark.pink { background:#fde0f2; color:#a13b77; }
.rating { color:#686a74; font-size:11px; }.rating::first-letter { color:#f7aa18; }
.availability-badge { padding:6px 9px; border-radius:999px; background:#dcf9e9; color:#24754b; font-size:8px; font-weight:850; letter-spacing:.1em; }
.card-category { margin-top:26px; color:var(--red); font-size:9px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.course-card h3 { margin:8px 0 9px; font-size:21px; line-height:1.14; letter-spacing:-.04em; }
.provider { color:#878992; font-size:12px; line-height:1.5; margin:0 0 24px; }.provider strong { color:#4d4f59; }
.course-card>button,.course-card>.course-card-cta { min-height:46px; border:1px solid #d9d8d2; border-radius:999px; background:transparent; color:var(--ink); display:flex; align-items:center; justify-content:space-between; padding:0 18px; font-size:12px; font-weight:780; cursor:pointer; text-decoration:none; }
.course-card>.course-card-cta { margin-top:auto; }
.course-card>button:hover,.course-card>.course-card-cta:hover { background:var(--ink); border-color:var(--ink); color:#fff; }
.show-more { min-height:48px; margin:32px auto 0; padding:0 24px; display:block; border:1px solid var(--blue); border-radius:999px; background:#fff; color:var(--blue); font-size:12px; font-weight:800; cursor:pointer; }
.show-more:hover { background:var(--blue); color:#fff; }
.catalogue-note { max-width:820px; margin:22px auto 0; color:#7a8498; text-align:center; font-size:11px; line-height:1.6; }
.empty-state { text-align:center; padding:70px 20px; border:1px dashed #cecdc7; border-radius:18px; }.empty-state b { font-size:20px; }.empty-state p { color:var(--muted); }.empty-state button { border:0; border-bottom:1px solid; background:transparent; cursor:pointer; }

.first-cta { background:linear-gradient(115deg,var(--blue),#163d9f 76%,var(--navy)); color:#fff; padding:76px max(24px,calc((100vw - 1180px)/2)); display:grid; grid-template-columns:1.25fr .7fr auto; gap:48px; align-items:center; }
.first-cta .section-label { color:#c9d8ff; }.first-cta p { color:#dbe5ff; max-width:360px; line-height:1.6; }

.modal-backdrop { position:fixed; inset:0; z-index:100; background:rgba(6,7,11,.78); backdrop-filter:blur(10px); display:grid; place-items:center; padding:20px; }
.enquiry-modal { width:min(580px,100%); max-height:calc(100vh - 40px); overflow-y:auto; background:var(--paper); border-radius:24px; padding:38px; position:relative; box-shadow:0 40px 100px rgba(0,0,0,.4); }
.modal-close { position:absolute; top:18px; right:18px; width:38px; height:38px; border:1px solid #d8d7d1; border-radius:50%; background:#fff; font-size:24px; cursor:pointer; }
.enquiry-modal h2 { font-size:35px; line-height:1.05; letter-spacing:-.05em; margin:10px 45px 12px 0; }.enquiry-modal>p { color:var(--muted); font-size:14px; line-height:1.6; }
.enquiry-modal form { display:grid; gap:14px; margin-top:24px; }.enquiry-modal label { font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.enquiry-modal input,.enquiry-modal textarea { width:100%; display:block; margin-top:7px; border:1px solid #d7d6d0; border-radius:12px; background:#fff; padding:13px 14px; outline:0; font-size:14px; text-transform:none; letter-spacing:normal; }
.enquiry-modal input:focus,.enquiry-modal textarea:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(23,84,232,.09); }
.success-message { text-align:center; padding:40px 5px 20px; }.success-message>span { width:62px; height:62px; display:grid; place-items:center; margin:0 auto 20px; border-radius:50%; background:var(--lime); font-size:26px; font-weight:800; }.success-message h2 { margin-right:0; }.success-message p { color:var(--muted); }.success-message button { border:0; border-bottom:1px solid; background:transparent; margin-top:15px; cursor:pointer; }

.outcomes-section { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:112px 0; }
.outcomes-heading { margin-bottom:44px; }.outcomes-heading h2 { max-width:760px; }
.outcome-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.outcome-card { min-height:480px; background:#fff; border:1px solid #e0dfd9; border-radius:20px; padding:24px; display:flex; flex-direction:column; }
.outcome-card.featured { background:#e9f0ff; border-color:#cfddff; }.outcome-card.dark-card { background:var(--ink); color:#fff; border-color:var(--ink); }
.outcome-number { font-size:10px; font-weight:800; color:#9a9ca5; letter-spacing:.12em; }
.outcome-visual { flex:1; min-height:220px; margin:24px 0; border-radius:16px; position:relative; overflow:hidden; }
.cohort-visual { background:radial-gradient(circle at 50% 52%,rgba(255,255,255,.95) 0 4%,transparent 4.5%),radial-gradient(circle at 50% 50%,rgba(23,84,232,.16) 0 25%,transparent 25.5%),repeating-radial-gradient(circle at 50% 50%,rgba(23,84,232,.12) 0 1px,transparent 1px 29px); display:grid; place-content:center; text-align:center; }
.cohort-visual>span { justify-self:center; background:var(--red); color:#fff; padding:4px 8px; border-radius:999px; font-size:8px; font-weight:800; letter-spacing:.1em; }.cohort-visual b { font-size:54px; line-height:1; letter-spacing:-.08em; }.cohort-visual small { color:#777985; }.cohort-visual i { color:var(--red); font-size:10px; letter-spacing:6px; margin-top:18px; }
.practice-visual { background:#f0f4ff; display:grid; place-content:center; text-align:center; padding:24px; }.practice-visual small { color:#8c8e96; letter-spacing:.14em; font-size:9px; }.practice-visual>b { font-size:64px; letter-spacing:-.08em; }.practice-visual>span { width:180px; height:8px; background:#d7e1f5; border-radius:10px; overflow:hidden; }.practice-visual>span i { display:block; width:86%; height:100%; background:linear-gradient(90deg,var(--blue),var(--coral)); }
.mentor-visual { background:#20232e; padding:26px; display:flex; align-items:center; gap:16px; }.mentor-visual>span { width:54px; height:54px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:var(--red); font-size:14px; font-weight:800; }.mentor-visual small { display:block; color:#9699a4; font-size:8px; letter-spacing:.12em; margin-bottom:7px; }.mentor-visual b { display:block; font-size:13px; }.mentor-visual i { display:block; color:var(--lime); font-size:10px; margin-top:7px; font-style:normal; }
.outcome-card h3 { font-size:24px; letter-spacing:-.04em; margin:0 0 10px; }.outcome-card p { color:#777985; line-height:1.6; font-size:13px; margin:0; }.dark-card p { color:#9a9ca6; }

.learning-model { background:#fff; padding:112px max(24px,calc((100vw - 1180px)/2)); display:grid; grid-template-columns:.9fr 1.1fr; gap:110px; align-items:center; }
.model-copy h2 { font-size:clamp(40px,4.4vw,60px); line-height:1.02; letter-spacing:-.06em; margin:12px 0 22px; }.model-copy>p { color:#73757f; max-width:520px; line-height:1.7; }.model-copy ul { list-style:none; padding:0; margin:38px 0 0; display:grid; gap:20px; }.model-copy li { display:flex; gap:14px; align-items:flex-start; }.model-copy li>span { width:28px; height:28px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; background:var(--lime); font-size:12px; font-weight:900; }.model-copy li b { display:block; font-size:13px; }.model-copy li small { display:block; color:#8c8e96; margin-top:4px; line-height:1.5; }
.roadmap-card { background:var(--paper); border:1px solid #e1e0da; border-radius:22px; padding:26px; position:relative; box-shadow:0 24px 70px rgba(18,20,27,.08); }
.roadmap-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid #dddcd6; }.roadmap-head span { color:var(--red); font-size:9px; font-weight:800; letter-spacing:.15em; }.roadmap-head b { font-size:11px; }
.roadmap-line { position:absolute; left:43px; top:86px; bottom:54px; width:1px; background:#d6d5cf; }.roadmap-line i { display:block; width:1px; height:45%; background:var(--red); }
.roadmap-step { min-height:90px; display:grid; grid-template-columns:34px 1fr auto; gap:15px; align-items:center; position:relative; z-index:2; padding:12px 0; }
.roadmap-step>span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#e4eaf7; color:#747680; font-size:9px; font-weight:800; }.roadmap-step.done>span { background:var(--ink); color:#fff; }.roadmap-step.active>span { background:var(--red); color:#fff; box-shadow:0 0 0 6px rgba(23,84,232,.1); }
.roadmap-step small { display:block; color:#a0a2aa; font-size:8px; letter-spacing:.12em; }.roadmap-step b { display:block; margin:3px 0; font-size:14px; }.roadmap-step p { margin:0; color:#8b8d96; font-size:10px; }.roadmap-step em { font-style:normal; color:#9a9ca5; font-size:8px; font-weight:800; letter-spacing:.1em; }.roadmap-step.active em { color:var(--red); }

.team-panel { width:min(1180px,calc(100% - 48px)); margin:110px auto; border-radius:28px; background:radial-gradient(circle at 86% 16%,rgba(255,101,61,.2),transparent 30%),linear-gradient(135deg,var(--navy),#12398d); color:#fff; padding:72px; display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; overflow:hidden; }
.team-copy h2 { font-size:clamp(42px,4.5vw,62px); line-height:1; letter-spacing:-.06em; margin:12px 0 20px; }.team-copy>p { color:#a6a8b0; line-height:1.7; max-width:430px; margin-bottom:30px; }
.team-dashboard { background:#f5f4ef; color:var(--ink); border-radius:22px; padding:26px; transform:rotate(1.5deg); box-shadow:0 28px 65px rgba(0,0,0,.3); }
.team-top { display:flex; justify-content:space-between; align-items:flex-start; }.team-top small { display:block; color:var(--red); font-size:8px; letter-spacing:.15em; }.team-top b { display:block; font-size:17px; margin-top:5px; }.team-top>span { background:#e5e4de; padding:7px 10px; border-radius:8px; font-size:8px; font-weight:800; }
.team-score { display:flex; align-items:flex-end; margin:24px 0; }.team-score>strong { font-size:66px; line-height:.8; letter-spacing:-.09em; }.team-score>span { color:#95979f; font-size:15px; margin-left:5px; }.team-score>div { margin-left:auto; }.team-score>div b { display:block; color:#2b7a51; }.team-score>div small { color:#92949d; font-size:8px; }
.skill-bars { display:grid; gap:15px; }.skill-bars>div { display:grid; grid-template-columns:130px 1fr 32px; gap:10px; align-items:center; font-size:9px; }.skill-bars i { height:7px; background:#dfded8; border-radius:999px; overflow:hidden; }.skill-bars i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--orange),var(--red)); }.skill-bars em { font-style:normal; font-weight:800; }
.team-foot { display:flex; justify-content:space-between; border-top:1px solid #dddbd5; margin-top:22px; padding-top:16px; color:#73757f; font-size:9px; }

.testimonial-section { width:min(930px,calc(100% - 48px)); margin:0 auto; padding:75px 0 130px; text-align:center; }.quote-mark { width:52px; height:52px; display:grid; place-items:center; margin:0 auto 24px; background:var(--sky); color:var(--red); border-radius:50%; font-family:Georgia,serif; font-size:36px; }.testimonial-section blockquote { margin:0; font-size:clamp(28px,3.5vw,46px); line-height:1.2; letter-spacing:-.045em; font-weight:620; }.quote-person { display:flex; justify-content:center; align-items:center; gap:12px; margin-top:30px; }.quote-person>span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:#fff; font-size:10px; font-weight:800; }.quote-person div { text-align:left; }.quote-person b,.quote-person small { display:block; }.quote-person b { font-size:11px; }.quote-person small { color:#90929a; font-size:9px; margin-top:3px; }.quote-person strong { color:#f4a61f; font-size:11px; letter-spacing:3px; margin-left:10px; }

.resources-section { background:#fff; padding:110px max(24px,calc((100vw - 1180px)/2)); }.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:44px; }.resource-card { min-height:430px; border-radius:20px; padding:24px; display:flex; flex-direction:column; overflow:hidden; }.resource-card>span { font-size:9px; font-weight:800; letter-spacing:.13em; }.resource-card h3 { font-size:24px; line-height:1.15; letter-spacing:-.04em; margin:20px 0; }.resource-card a { margin-top:auto; font-size:11px; font-weight:800; text-decoration:none; }.resource-red { background:linear-gradient(145deg,#1754e8,#103a9d); color:#fff; }.resource-lime { background:#ffdfd5; }.resource-dark { background:var(--ink); color:#fff; }
.resource-art { height:175px; margin:20px 0 0; display:grid; place-items:center; }.art-shield { font-size:100px; font-weight:200; border:1px solid rgba(255,255,255,.25); border-radius:50%; }.art-steps { display:flex; align-items:flex-end; justify-content:center; gap:8px; }.art-steps i { width:70px; display:grid; place-items:center; background:#1a1c24; color:var(--lime); font-style:normal; font-size:11px; font-weight:800; border-radius:10px 10px 0 0; }.art-steps i:nth-child(1){height:65px}.art-steps i:nth-child(2){height:105px}.art-steps i:nth-child(3){height:145px}.art-grid { grid-template-columns:repeat(2,70px); grid-template-rows:repeat(2,70px); gap:8px; }.art-grid i { border-radius:12px; background:#2a2d38; }.art-grid i:nth-child(2),.art-grid i:nth-child(3){background:var(--red)}

.faq-section { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:110px 0; display:grid; grid-template-columns:.7fr 1.3fr; gap:100px; }.faq-section>div:first-child h2 { font-size:50px; line-height:1; letter-spacing:-.055em; margin:12px 0 18px; }.faq-section>div:first-child p { color:#7b7d86; line-height:1.65; }.faq-list { border-top:1px solid #d7d6d0; }.faq-list article { border-bottom:1px solid #d7d6d0; }.faq-list button { width:100%; border:0; background:transparent; padding:24px 0; display:flex; justify-content:space-between; align-items:center; text-align:left; cursor:pointer; font-size:15px; font-weight:730; }.faq-list button i { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#e9e8e2; font-style:normal; font-size:18px; font-weight:400; }.faq-list article.open button i { background:var(--red); color:#fff; }.faq-list article p { color:#777983; line-height:1.65; font-size:13px; margin:-7px 40px 25px 0; }

.final-cta { text-align:center; background:linear-gradient(145deg,#edf3ff,#dfe9ff); padding:100px 24px; }.final-cta h2 { font-size:clamp(50px,6vw,82px); line-height:.92; letter-spacing:-.07em; margin:15px 0 24px; }.final-cta>p { color:#65718a; }.final-cta>div { margin-top:30px; display:flex; justify-content:center; gap:24px; align-items:center; }.final-cta>div>button { border:0; border-bottom:1px solid; background:transparent; cursor:pointer; font-size:13px; font-weight:800; }
footer { background:#09152d; color:#fff; padding:70px max(24px,calc((100vw - 1180px)/2)) 24px; }.footer-main { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:60px; }.footer-main>div { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }.footer-brand { background:#fff; border-radius:12px; padding:9px 12px; }.footer-brand img { width:142px; }.footer-main p { color:#95a5c4; max-width:260px; font-size:12px; line-height:1.6; }.footer-main>div>b { font-size:11px; margin-bottom:10px; }.footer-main a,.footer-main span { color:#95a5c4; text-decoration:none; font-size:11px; }.footer-main a:hover { color:#fff; }.footer-bottom { border-top:1px solid #23304a; margin-top:60px; padding-top:22px; display:flex; justify-content:space-between; color:#7283a4; font-size:9px; }.footer-bottom div { display:flex; gap:22px; }.footer-bottom a { color:inherit; text-decoration:none; }

@media (max-width:1000px) { .nav-wrap{gap:24px}.nav-links{gap:20px}.hero-grid{grid-template-columns:1fr 1fr;gap:25px}.hero-copy h1{font-size:54px}.course-grid{grid-template-columns:repeat(2,1fr)}.first-cta{grid-template-columns:1fr 1fr}.first-cta button{justify-self:start}.outcome-grid{grid-template-columns:1fr 1fr}.learning-model{gap:50px}.team-panel{padding:50px;gap:50px}.resource-grid{grid-template-columns:1fr 1fr}.faq-section{gap:50px}.footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-main>div:last-child{grid-column:2/4} }
@media (max-width:760px) {
  .hero-shell{min-height:auto}.nav-wrap{width:calc(100% - 32px);height:66px;margin-top:12px;padding:0 12px 0 16px;justify-content:space-between}.brand img{width:132px}.menu-toggle{width:44px;height:40px;border:1px solid #d9e1f2;border-radius:12px;background:#f5f8ff;display:grid;place-content:center;gap:6px}.menu-toggle span{display:block;width:18px;height:1px;background:var(--navy)}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;padding:20px;border:1px solid #dce4f5;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(7,23,61,.22)}.nav-links.is-open{display:grid;gap:18px}.nav-links a{color:var(--navy)}.nav-cta{display:none}
  .hero-grid{width:calc(100% - 32px);grid-template-columns:1fr;padding:34px 0 28px}.hero-copy{padding:16px 0 0}.hero-copy h1{font-size:clamp(44px,13vw,62px)}.hero-copy>p{font-size:15px}.hero-proof{gap:20px;justify-content:space-between}.hero-proof span{font-size:9px;max-width:90px}.hero-visual{height:450px}.dashboard-card{transform:none}.note-top{right:0;top:30px}.note-bottom{left:0;bottom:40px}
  .partner-strip{width:calc(100% - 32px);display:block;padding:25px 0}.partner-strip>span{display:block;max-width:none;margin-bottom:18px}.partner-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.partner-list b{font-size:13px}
  .course-section{width:calc(100% - 32px);padding:76px 0}.section-heading{grid-template-columns:1fr;gap:18px}.section-heading p{font-size:14px}.course-grid{grid-template-columns:1fr}.results-meta button{display:none}.first-cta{padding:64px 24px;grid-template-columns:1fr;gap:20px}.first-cta h2{font-size:42px}.enquiry-modal{padding:32px 22px}.enquiry-modal h2{font-size:29px}
  .outcomes-section{width:calc(100% - 32px);padding:76px 0}.outcome-grid{grid-template-columns:1fr}.outcome-card{min-height:430px}.learning-model{padding:76px 20px;grid-template-columns:1fr;gap:55px}.model-copy h2{font-size:43px}.roadmap-card{padding:20px}.roadmap-line{left:37px}.team-panel{width:calc(100% - 32px);margin:76px auto;padding:44px 20px;grid-template-columns:1fr;gap:45px}.team-copy h2{font-size:44px}.team-dashboard{transform:none;padding:20px}.skill-bars>div{grid-template-columns:105px 1fr 30px}.testimonial-section{padding:20px 20px 90px}.quote-person strong{display:none}.resources-section{padding:76px 16px}.resource-grid{grid-template-columns:1fr}.faq-section{width:calc(100% - 32px);padding:76px 0;grid-template-columns:1fr;gap:40px}.faq-section>div:first-child h2{font-size:42px}.final-cta{padding:76px 18px}.final-cta h2{font-size:53px}.final-cta>div{flex-direction:column}.footer-main{grid-template-columns:1fr 1fr;gap:38px}.footer-main>div:first-child{grid-column:1/3}.footer-main>div:last-child{grid-column:1/3}.footer-bottom{gap:20px;align-items:flex-start}.footer-bottom div{flex-wrap:wrap;justify-content:flex-end}
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important} }

/* Paid-campaign landing page */
.ads-page { min-height:100vh; background:linear-gradient(180deg,#f8faff 0,#eef3ff 32%,#fff 70%); }
.ads-header { width:min(1180px,calc(100% - 48px)); height:82px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #dbe4f6; }
.ads-logo { display:inline-flex; align-items:center; }
.ads-logo img { display:block; width:158px; height:auto; }
.ads-header-contact { color:var(--navy); font-size:13px; font-weight:750; text-decoration:none; }
.ads-hero { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:64px 0 88px; display:grid; grid-template-columns:1fr .92fr; gap:80px; align-items:center; }
.ads-eyebrow { display:flex; align-items:center; gap:10px; color:var(--blue); font-size:10px; font-weight:850; letter-spacing:.16em; }
.ads-eyebrow span { width:8px; height:8px; border-radius:50%; background:var(--coral); box-shadow:0 0 0 5px rgba(255,101,61,.12); }
.ads-hero-copy h1 { margin:22px 0 24px; max-width:650px; font-size:clamp(48px,5.2vw,72px); line-height:.98; letter-spacing:-.065em; }
.ads-hero-copy h1 em { color:var(--coral); font-style:normal; }
.ads-lead { max-width:620px; color:#60708d; font-size:17px; line-height:1.7; }
.ads-benefits { list-style:none; padding:0; margin:34px 0; display:grid; gap:18px; }
.ads-benefits li { display:flex; align-items:flex-start; gap:14px; }
.ads-benefits li>span { width:30px; height:30px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; background:var(--blue); color:#fff; font-size:12px; font-weight:900; }
.ads-benefits b,.ads-benefits small { display:block; }
.ads-benefits b { font-size:13px; }
.ads-benefits small { margin-top:4px; color:#7c879b; font-size:11px; line-height:1.5; }
.ads-provider-row { display:flex; flex-wrap:wrap; gap:8px; }
.ads-provider-row span { padding:8px 11px; border:1px solid #d7e1f3; border-radius:999px; background:rgba(255,255,255,.7); color:#61708b; font-size:9px; font-weight:800; }
.ads-form-card { background:#fff; border:1px solid #dbe4f4; border-radius:28px; padding:32px; box-shadow:0 30px 80px rgba(15,42,98,.14); }
.ads-form-intro>span { color:var(--blue); font-size:9px; font-weight:850; letter-spacing:.15em; }
.ads-form-intro h2 { margin:9px 0 8px; font-size:32px; line-height:1.05; letter-spacing:-.045em; }
.ads-form-intro p { margin:0 0 24px; color:#7d8799; font-size:12px; }
.ads-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ads-hp-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ads-form-grid label { color:#526079; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ads-form-grid label>span { color:#919bad; font-weight:650; text-transform:none; }
.ads-form-grid input,.ads-form-grid select,.ads-form-grid textarea { width:100%; min-height:48px; margin-top:7px; padding:12px 13px; border:1px solid #d8e1f1; border-radius:11px; background:#fbfcff; color:var(--navy); outline:0; font:inherit; font-size:13px; letter-spacing:normal; text-transform:none; }
.ads-form-grid textarea { min-height:86px; resize:vertical; }
.ads-form-grid input:focus,.ads-form-grid select:focus,.ads-form-grid textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(23,84,232,.09); }
.ads-full-field { grid-column:1/-1; }
.ads-consent { margin:16px 0 0; display:flex; align-items:flex-start; gap:10px; color:#707b90; font-size:10px; line-height:1.5; }
.ads-consent input { width:16px; height:16px; margin:1px 0 0; flex:0 0 auto; accent-color:var(--blue); }
.ads-consent a { color:var(--blue); font-weight:750; }
.ads-form-status { min-height:20px; margin-top:8px; color:#b42318; font-size:11px; }
.ads-submit { width:100%; min-height:54px; margin-top:4px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; border:0; border-radius:999px; background:linear-gradient(95deg,var(--blue),var(--coral)); color:#fff; font-size:13px; font-weight:800; cursor:pointer; box-shadow:0 14px 32px rgba(23,84,232,.2); }
.ads-submit:disabled { opacity:.6; cursor:wait; }
.ads-form-disclaimer { margin:11px 0 0; color:#8b95a7; text-align:center; font-size:9px; line-height:1.5; }
.ads-form-success { padding:70px 20px; text-align:center; }
.ads-form-success>span { width:64px; height:64px; margin:0 auto 20px; display:grid; place-items:center; border-radius:50%; background:#dcf9e9; color:#24754b; font-size:25px; font-weight:900; }
.ads-form-success h2 { margin:0; font-size:34px; letter-spacing:-.045em; }
.ads-form-success p { max-width:430px; margin:14px auto 0; color:#6e7a91; line-height:1.65; }
.ads-trust-strip { padding:32px max(24px,calc((100vw - 1180px)/2)); display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--navy); color:#fff; }
.ads-trust-strip>div { min-height:80px; display:grid; place-content:center; text-align:center; border-right:1px solid #293753; }
.ads-trust-strip>div:last-child { border-right:0; }
.ads-trust-strip strong { font-size:25px; }
.ads-trust-strip span { margin-top:5px; color:#96a6c4; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.ads-process,.ads-categories,.ads-faq { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:110px 0; }
.ads-section-heading { max-width:720px; }
.ads-section-heading>span { color:var(--blue); font-size:9px; font-weight:850; letter-spacing:.16em; }
.ads-section-heading h2 { margin:10px 0 0; font-size:clamp(40px,4.5vw,60px); line-height:1; letter-spacing:-.055em; }
.ads-process-grid { margin-top:46px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ads-process-grid article { min-height:260px; padding:28px; border:1px solid #dde5f3; border-radius:20px; background:#fff; }
.ads-process-grid i { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:var(--sky); color:var(--blue); font-size:10px; font-style:normal; font-weight:850; }
.ads-process-grid h3 { margin:46px 0 10px; font-size:23px; letter-spacing:-.035em; }
.ads-process-grid p { margin:0; color:#748098; font-size:13px; line-height:1.65; }
.ads-categories { border-top:1px solid #e0e7f3; }
.ads-category-grid { margin-top:46px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.ads-category-grid article { min-height:175px; padding:22px; border-radius:18px; background:linear-gradient(145deg,#eef3ff,#fff); border:1px solid #dce5f5; }
.ads-category-grid span { color:var(--coral); font-size:9px; font-weight:850; }
.ads-category-grid h3 { margin:38px 0 8px; font-size:18px; line-height:1.1; letter-spacing:-.03em; }
.ads-category-grid p { margin:0; color:#7e899d; font-size:10px; }
.ads-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; border-top:1px solid #e0e7f3; }
.ads-faq-list { border-top:1px solid #d8e0ee; }
.ads-faq-list details { border-bottom:1px solid #d8e0ee; }
.ads-faq-list summary { padding:22px 34px 22px 0; position:relative; cursor:pointer; list-style:none; font-size:14px; font-weight:780; }
.ads-faq-list summary::-webkit-details-marker { display:none; }
.ads-faq-list summary::after { content:"+"; position:absolute; right:2px; top:18px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#e9effb; font-size:17px; font-weight:400; }
.ads-faq-list details[open] summary::after { content:"−"; background:var(--blue); color:#fff; }
.ads-faq-list p { margin:-3px 40px 22px 0; color:#707d94; font-size:12px; line-height:1.7; }
.ads-final { padding:100px 24px; text-align:center; background:linear-gradient(135deg,var(--blue),#143b96 70%,var(--navy)); color:#fff; }
.ads-final>span { color:#c9d8ff; font-size:9px; font-weight:850; letter-spacing:.16em; }
.ads-final h2 { max-width:820px; margin:13px auto 28px; font-size:clamp(43px,5vw,70px); line-height:.98; letter-spacing:-.06em; }
.ads-final a { min-height:54px; padding:0 23px; display:inline-flex; align-items:center; gap:18px; border-radius:999px; background:#fff; color:var(--navy); text-decoration:none; font-size:13px; font-weight:800; }
.ads-footer { padding:28px max(24px,calc((100vw - 1180px)/2)); display:flex; justify-content:space-between; align-items:center; background:#08142c; color:#fff; }
.ads-footer>div { display:flex; align-items:center; gap:18px; }
.ads-footer b { font-size:15px; }
.ads-footer span,.ads-footer a { color:#8fa0bf; font-size:10px; text-decoration:none; }

@media (max-width:900px) {
  .ads-hero{grid-template-columns:1fr;gap:46px;padding-top:46px}.ads-hero-copy{max-width:720px}.ads-trust-strip{grid-template-columns:repeat(2,1fr)}.ads-trust-strip>div:nth-child(2){border-right:0}.ads-trust-strip>div:nth-child(-n+2){border-bottom:1px solid #293753}.ads-category-grid{grid-template-columns:repeat(2,1fr)}.ads-faq{grid-template-columns:1fr;gap:42px}
}
@media (max-width:620px) {
  .ads-header{width:calc(100% - 32px);height:70px}.ads-logo img{width:132px}.ads-header-contact{font-size:10px}.ads-hero{width:calc(100% - 32px);padding:38px 0 64px}.ads-hero-copy h1{font-size:45px}.ads-lead{font-size:15px}.ads-form-card{padding:24px 18px;border-radius:22px}.ads-form-grid{grid-template-columns:1fr}.ads-full-field{grid-column:auto}.ads-trust-strip{padding:24px 16px}.ads-process,.ads-categories,.ads-faq{width:calc(100% - 32px);padding:76px 0}.ads-process-grid,.ads-category-grid{grid-template-columns:1fr}.ads-process-grid article{min-height:220px}.ads-process-grid h3{margin-top:35px}.ads-category-grid article{min-height:150px}.ads-section-heading h2{font-size:42px}.ads-final{padding:76px 18px}.ads-final h2{font-size:45px}.ads-footer{align-items:flex-start;gap:25px}.ads-footer>div{align-items:flex-start;flex-direction:column;gap:8px}
}
