/* ─── RESET & TOKENS ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* Barlow Condensed global: all display text uses bold weight */
[style*="Barlow Condensed"],
.hero h1, .hero h1 .il, .hero h1 .tw,
h1, h2, h3,
.footer-big, .hero-bg-word, .page-hero-bg,
.marquee-track .mi,
.sol-num, .sol h3, .sol-page-num, .sol-page-body h3,
.a-card h2, .a-stat strong,
.eyebrow, .section-tag span,
.prism-layer-num, .prism-dim-letter, .prism-expr-name,
.fw-num, .fw-item h4,
.pillar-num, .pillar-card h3,
.sp-n, .svs-big,
.ssb-num, .stat-item strong,
.about-big-stat, .about-big-label,
.team-card .tc-role,
.sol-page-num,
.ac-skill-num, .ac-skill h3, .ac-format-icon, .ac-format h3, .ac-stat-num, .ac-outcome,
.lft-stat-num, .lft-obj-num, .lft-obj h3, .lft-format-icon, .lft-format h3,
.acl-stat-num, .acl-step-num, .acl-step h3, .acl-who-icon, .acl-who-card h3,
.acl-tier-price, .acl-session-date, .acl-time-btn strong, .acl-panel-header h3,
.acl-booking-left h2, .acl-cta h2,
.oc-stat-num, .oc-method-abbr, .oc-method h3, .oc-form h3, .oc-def-quote,
.cm-stat-num, .cm-step-num, .cm-step h3, .cm-scope-icon, .cm-truth h2,
.prism-problem, .prism-bg-letters, .prism-hero-left h1,
.ac-hero-left h1, .lft-hero-left h1, .acl-hero-left h1, .oc-hero-left h1, .cm-hero-left h1,
.acl-deepdive h2, .ac-deepdive h2, .lft-deepdive h2,
.oc-benefits h2, .cm-approach h2,
.prism-diff-icon, .prism-diff-card h3, .prism-use-num, .prism-use h3,
.prism-vs-left h2, .prism-for-left h2, .prism-cta h2,
.oc-cta h2, .cm-cta h2, .lft-cta h2, .ac-cta h2, .acl-cta h2,
.oc-how-left h2, .cm-scope-left h2, .cm-approach h2,
.ot-card h3, .ind-card h3, .testi-grid h2,
.safety-section h2, .sp-left h2,
.solutions-header h2, .phil-left h2,
.afe-word, .svs-label,
.acl-confirm h3, .form-success h4,
.ld-block h3, .ld-big-num, .tool-card h3,
.footer-big, .flogo-text, .logo-text {
  font-weight: 700;
}
:root {
  --gray:    #54585A;
  --red:     #F4364C;
  --teal:    #008C95;
  /* dark tokens — used for cards, grids, nav, footer */
  --black:   #0D0D0D;
  --ob:      #161616;
  --dark:    #1C1E1E;
  /* light tokens — used for page backgrounds and section fills */
  --bg:      #F8F7F4;
  --bg2:     #EFEFEB;
  --bg3:     #E6E4DF;
  /* text */
  --ink:     #1A1A1A;
  --ink2:    #3D3D3D;
  --ink3:    #6B6B6B;
  /* keep for elements that stay dark */
  --white:   #F6F6F6;
  --pure:    #FFFFFF;
  --dim:     rgba(246,246,246,0.5);
  --dimmer:  rgba(246,246,246,0.25);
  --border:  rgba(255,255,255,0.07);
  --lborder: rgba(0,0,0,0.09);
}
/* Barlow Condensed — bold weight applied universally */
body { font-synthesis: none; }
html { scroll-behavior: smooth; }
/* All Barlow Condensed display text: bold */
*[style], h1, h2, h3, h4 { }
/* Prevent mid-word line breaks on all display headings site-wide */
h1, h2, h3,
.hero h1, .page-hero h1,
.solutions-header h2, .phil-left h2, .safety-section h2,
.prism-hero-left h1, .ac-hero-left h1, .lft-hero-left h1,
.acl-hero-left h1, .oc-hero-left h1, .cm-hero-left h1, .st-hero-left h1,
.prism-diff-header h2, .prism-vs-left h2, .prism-for-left h2, .prism-cta h2,
.ac-skills-header h2, .ac-deepdive h2, .ac-delivery-left h2, .ac-cta h2,
.lft-obj-header h2, .lft-deepdive h2, .lft-delivery-left h2, .lft-cta h2,
.acl-steps-header h2, .acl-outcomes-band h2, .acl-who-left h2,
.acl-pricing-header h2, .acl-booking-left h2, .acl-cta h2,
.oc-methods-header h2, .oc-benefits h2, .oc-how-left h2, .oc-cta h2,
.cm-steps-header h2, .cm-truth h2, .cm-scope-left h2, .cm-approach h2, .cm-cta h2,
.st-steps-header h2, .st-diff h2, .st-pillars-left h2, .st-cta h2,
.sp-left h2, .act-left h2, .contact-info h2, .team-section h2,
.assessments-section h2, .testimonials h2, .safety-speed-top h2,
.safety-principles-section .sp-left h2 {
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
  -webkit-hyphens: none;
}
body { background: var(--bg); color: var(--ink); font-family: 'Inter', sans-serif; font-size: 16px; line-height: 1.6; overflow-x: hidden; }

/* ─── PAGES ─── */
.page { display: none; animation: fadeIn 0.35s ease; }
.page.active { display: block; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* ─── NAV ─── */
nav {
  position: fixed; inset: 0 0 auto 0; z-index: 200;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 52px; height: 68px;
  background: rgba(248,247,244,0.96); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--lborder);
}
.logo-wrap { display: flex; align-items: center; gap: 6px; text-decoration: none; cursor: pointer; }
.logo-text { font-family: 'Inter', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color: var(--ink); text-transform: lowercase; }
.logo-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--red); margin-bottom: 10px; flex-shrink: 0; }
.nav-links { display: flex; gap: 36px; list-style: none; }
.nav-links a {
  color: var(--ink3); text-decoration: none; font-size: 12px; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase; transition: color 0.2s; cursor: pointer;
}
.nav-links a:hover, .nav-links a.active { color: var(--ink); }
.nav-links a.active { color: var(--red); }
.nav-cta {
  background: var(--red); color: var(--pure); text-decoration: none;
  padding: 10px 24px; font-size: 11px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; transition: background 0.2s, transform 0.15s; border-radius: 2px; cursor: pointer; border: none;
}
.nav-cta:hover { background: #d62a3f; transform: translateY(-1px); }
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
.hamburger span { display: block; width: 22px; height: 2px; background: var(--ink); transition: all 0.3s; }
.mobile-menu {
  display: none; position: fixed; inset: 68px 0 0 0; z-index: 199;
  background: rgba(248,247,244,0.99); backdrop-filter: blur(14px);
  flex-direction: column; align-items: center; justify-content: flex-start; gap: 0;
  padding: 32px 24px 48px; overflow-y: auto;
}
.mobile-menu.open { display: flex; }
.mobile-menu a {
  color: var(--ink); text-decoration: none; font-size: 26px; font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; letter-spacing: 0.04em; cursor: pointer; text-transform: uppercase;
  padding: 11px 0; width: 100%; text-align: center; border-bottom: 1px solid var(--lborder);
}
.mobile-menu a.mobile-cta-link {
  background: var(--red); color: var(--pure); border-bottom: none;
  border-radius: 3px; padding: 18px 0; margin-top: 20px; font-size: 18px;
}

/* ─── SHARED UTILITIES ─── */
.btn { display: inline-block; text-decoration: none; font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; padding: 15px 32px; transition: all 0.2s; border-radius: 2px; cursor: pointer; border: none; }
.btn-red   { background: var(--red); color: var(--pure); }
.btn-red:hover { background: #d62a3f; transform: translateY(-2px); }
.btn-teal  { background: var(--teal); color: var(--pure); }
.btn-teal:hover { background: #007079; transform: translateY(-2px); }
.btn-ghost { border: 1px solid rgba(0,0,0,0.2); color: var(--ink); background: transparent; }
.btn-ghost:hover { border-color: var(--teal); color: var(--teal); }
.btn-gray  { background: var(--gray); color: var(--pure); }
.btn-gray:hover { background: #3d4042; transform: translateY(-2px); }

.eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--teal); margin-bottom: 24px; display: flex; align-items: center; gap: 14px;
}
.eyebrow::before { content: ''; width: 28px; height: 2px; background: var(--teal); display: block; flex-shrink: 0; }
.eyebrow.red { color: var(--red); }
.eyebrow.red::before { background: var(--red); }

.section-tag {
  display: flex; align-items: center; gap: 20px; padding: 0 52px; margin: 80px 0 0;
}
.section-tag span { font-size: 10px; font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase; color: var(--ink3); white-space: nowrap; }
.section-tag::after { content: ''; flex: 1; height: 1px; background: var(--lborder); }

.page-hero {
  padding: 88px 52px 80px;
  position: relative; overflow: hidden;
  border-bottom: 1px solid var(--lborder);
  background: var(--bg);
}
.page-hero-bg {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(120px, 6.0vw, 130px);
  color: transparent; -webkit-text-stroke: 1px rgba(84,88,90,0.06);
  pointer-events: none; user-select: none; white-space: nowrap; z-index: 0;
}
.page-hero > * { position: relative; z-index: 1; }
.page-hero h1 {
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(60px, 9vw, 130px);
  line-height: 0.9; letter-spacing: 0.02em; text-transform: uppercase; color: var(--ink);
  margin-bottom: 28px;
}
.page-hero h1 em { font-style: italic; font-family: 'Playfair Display', serif; font-weight: 900; color: var(--red); font-size: 0.72em; }
.page-hero p { font-size: 16px; color: var(--ink3); max-width: 560px; line-height: 1.75; font-weight: 300; }

/* ─── MARQUEE ─── */
.marquee-wrap { overflow: hidden; background: var(--ob); padding: 18px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.marquee-track { display: inline-flex; animation: scroll 30s linear infinite; white-space: nowrap; }
.marquee-track .mi { font-family: 'Barlow Condensed', sans-serif; font-size: 19px; letter-spacing: 0.18em; color: var(--gray); padding: 0 32px; }
.marquee-track .ms { color: var(--red); font-size: 16px; }
@keyframes scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ─── FOOTER ─── */
footer {
  background: var(--ob); padding: 72px 52px 36px;
  border-top: 1px solid var(--border);
}
.footer-big {
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(60px, 11vw, 160px);
  line-height: 0.88; color: transparent; -webkit-text-stroke: 1px rgba(84,88,90,0.22);
  margin-bottom: 52px; user-select: none;
}
.footer-cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; padding-top: 48px; border-top: 1px solid var(--border); margin-bottom: 52px; }
.f-brand .flogo { display: flex; align-items: center; gap: 6px; text-decoration: none; margin-bottom: 18px; cursor: pointer; }
.f-brand .flogo-text { font-family: 'Inter', sans-serif; font-size: 20px; font-weight: 700; letter-spacing: -0.02em; color: var(--white); text-transform: lowercase; }
.f-brand .flogo-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--red); margin-bottom: 8px; }
.f-brand p { font-size: 13px; color: var(--dimmer); line-height: 1.7; font-weight: 300; max-width: 260px; }
.f-col h4 { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--teal); margin-bottom: 18px; }
.f-col ul { list-style: none; }
.f-col li { margin-bottom: 10px; }
.f-col a { color: var(--dimmer); text-decoration: none; font-size: 13px; transition: color 0.2s; cursor: pointer; }
.f-col a:hover { color: var(--white); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.05); }
.footer-bottom span { font-size: 11px; color: rgba(255,255,255,0.2); letter-spacing: 0.05em; }

/* ════════════════════════════════
   HOME PAGE
════════════════════════════════ */
.hero {
  min-height: 100vh; padding: 68px 0 0;
  display: grid; grid-template-rows: 1fr auto;
  position: relative; overflow: hidden;
  background: var(--bg);
}
.hero-bg-word {
  position: absolute; bottom: -60px; left: -20px;
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(200px, 28vw, 500px);
  line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(84,88,90,0.07);
  pointer-events: none; user-select: none; letter-spacing: -0.01em; white-space: nowrap;
}
.hero-content { display: flex; flex-direction: column; justify-content: flex-end; padding: 80px 52px 0; position: relative; z-index: 2; }
.hero h1 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(80px, 12vw, 180px); line-height: 0.9; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ink); }
.hero h1 .il { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900; color: var(--red); font-size: 0.68em; letter-spacing: -0.01em; display: block; }
.hero h1 .tw { color: var(--teal); }
.hero-footer { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: flex-end; padding: 36px 52px 56px; margin-top: 48px; border-top: 1px solid var(--lborder); }
.hero-sub { font-size: 15px; color: var(--ink3); max-width: 380px; line-height: 1.75; font-weight: 300; }
.hero-ctas { display: flex; gap: 14px; flex-shrink: 0; }

/* Assessment cards */
.assessments { padding: 40px 52px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.a-card { position: relative; overflow: hidden; padding: 60px 52px 52px; min-height: 560px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 4px; }
.a-card-safety { background: var(--ob); border: 1px solid rgba(244,54,76,0.15); }
.a-card-leadership { background: var(--ob); border: 1px solid rgba(0,140,149,0.15); }
.a-card::before { content: attr(data-bg); position: absolute; bottom: -36px; right: -12px; font-family: 'Barlow Condensed', sans-serif; font-size: 280px; line-height: 1; color: transparent; pointer-events: none; user-select: none; }
.a-card-safety::before   { -webkit-text-stroke: 1px rgba(244,54,76,0.08); }
.a-card-leadership::before { -webkit-text-stroke: 1px rgba(0,140,149,0.08); }
.a-pill { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; padding: 6px 14px; border-radius: 2px; width: fit-content; margin-bottom: 32px; }
.pill-red  { background: rgba(244,54,76,0.12); color: var(--red); border: 1px solid rgba(244,54,76,0.22); }
.pill-teal { background: rgba(0,140,149,0.12); color: var(--teal); border: 1px solid rgba(0,140,149,0.22); }
.a-card h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(60px, 6vw, 96px); line-height: 0.9; letter-spacing: 0.02em; text-transform: uppercase; color: var(--white); margin-bottom: 24px; position: relative; z-index: 1; }
.a-card p { font-size: 14px; color: var(--dim); line-height: 1.75; font-weight: 300; max-width: 400px; margin-bottom: 36px; position: relative; z-index: 1; }
.a-stats { display: flex; gap: 32px; margin-bottom: 44px; position: relative; z-index: 1; padding-top: 24px; border-top: 1px solid var(--border); }
.a-stat strong { font-family: 'Barlow Condensed', sans-serif; font-size: 44px; letter-spacing: 0.04em; display: block; line-height: 1; }
.a-card-safety .a-stat strong { color: var(--red); }
.a-card-leadership .a-stat strong { color: var(--teal); }
.a-stat span { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--dimmer); margin-top: 4px; display: block; }

/* Solutions */
.solutions-header { padding: 100px 52px 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.solutions-header h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(72px, 11vw, 160px); line-height: 0.85; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ink); }
.solutions-header h2 .li { display: block; font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900; color: var(--teal); font-size: 0.6em; letter-spacing: -0.01em; }
.solutions-intro { max-width: 300px; font-size: 14px; color: var(--ink3); line-height: 1.75; font-weight: 300; flex-shrink: 0; padding-bottom: 12px; }
.solutions-grid { padding: 48px 52px 100px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--bg3); margin-top: 48px; }
.sol { background: var(--ob); padding: 44px 40px; display: flex; flex-direction: column; transition: background 0.25s; cursor: pointer; }
.sol:hover { background: #111; }
.sol:hover .sol-arrow { color: var(--teal); transform: translate(4px,-4px); }
.sol-num { font-size: 11px; letter-spacing: 0.25em; color: var(--ink3); margin-bottom: 24px; font-weight: 500; }
.sol h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 34px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--white); line-height: 1.0; margin-bottom: 16px; }
.sol p { font-size: 13px; color: var(--dim); line-height: 1.7; font-weight: 300; flex: 1; margin-bottom: 24px; }
.sol-arrow { font-size: 22px; color: var(--ink3); display: inline-block; transition: all 0.2s; }
.sol-cta { background: var(--dark); border: 1px solid rgba(0,140,149,0.18); cursor: default; }
.sol-cta h3 { color: var(--teal); }

/* Philosophy */
.philosophy { background: var(--bg2); border-top: 1px solid var(--lborder); border-bottom: 1px solid var(--lborder); display: grid; grid-template-columns: 1fr 1fr; }
.phil-left { padding: 100px 64px; border-right: 1px solid var(--lborder); }
.phil-left h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px, 4.6vw, 76px); line-height: 0.9; text-transform: uppercase; margin-bottom: 40px; color: var(--ink); }
.phil-left h2 .rw { color: var(--red); }
.phil-left h2 .iw { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900; color: var(--teal); font-size: 0.7em; }
.phil-right { padding: 100px 64px; display: flex; flex-direction: column; justify-content: center; }
.phil-right > p { font-size: 16px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 18px; }
.principles { margin-top: 32px; }
.principle { display: flex; gap: 16px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--lborder); }
.pdot { width: 5px; height: 5px; border-radius: 50%; background: var(--red); flex-shrink: 0; margin-top: 9px; }
.principle span { font-size: 14px; color: var(--ink2); font-weight: 300; }

/* Safety deep section */
.safety-section { padding: 100px 52px; display: grid; grid-template-columns: 1fr 1.15fr; gap: 80px; align-items: center; background: var(--bg); }
.safety-section h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px, 5vw, 88px); line-height: 0.9; text-transform: uppercase; color: var(--ink); margin-bottom: 32px; }
.safety-section h2 span { color: var(--red); }
.safety-section > div > p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 16px; }
.framework-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: rgba(255,255,255,0.05); }
.fw-item { background: var(--ob); padding: 36px 30px; transition: background 0.2s; }
.fw-item:hover { background: var(--dark); }
.fw-num { font-family: 'Barlow Condensed', sans-serif; font-size: 48px; color: var(--red); line-height: 1; margin-bottom: 10px; }
.fw-item h4 { font-size: 12px; font-weight: 600; color: var(--white); letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 8px; }
.fw-item p { font-size: 12px; color: rgba(246,246,246,0.65); line-height: 1.6; font-weight: 300; }
.fw-wide { grid-column: span 2; }

/* ════════════════════════════════
   ABOUT PAGE
════════════════════════════════ */
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--lborder); padding: 0 52px; margin: 60px 0; }
.about-block { background: var(--bg); padding: 52px 48px; }
.about-block h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink); margin-bottom: 16px; }
.about-block p { font-size: 14px; color: var(--ink2); line-height: 1.75; font-weight: 300; }
.about-block ul { list-style: none; margin-top: 16px; }
.about-block li { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--lborder); font-size: 14px; color: var(--ink2); font-weight: 300; }
.about-block li::before { content: '→'; color: var(--teal); flex-shrink: 0; font-weight: 600; }
.about-block.full { grid-column: span 2; background: var(--bg2); }
.about-big-stat { font-family: 'Barlow Condensed', sans-serif; font-size: 96px; color: var(--red); line-height: 1; }
.about-big-label { font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink3); margin-top: 4px; }

.team-section { padding: 80px 52px 100px; background: var(--bg); }
.team-section h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px, 7vw, 100px); line-height: 0.88; text-transform: uppercase; margin-bottom: 56px; color: var(--ink); }
.team-section h2 em { font-style: italic; font-family: 'Playfair Display', serif; color: var(--teal); font-size: 0.72em; }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--bg3); }
.team-card { background: var(--ob); padding: 48px 40px; }
.team-card .tc-role { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--teal); margin-bottom: 16px; }
.team-card h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; line-height: 0.95; text-transform: uppercase; color: var(--white); margin-bottom: 16px; }
.team-card p { font-size: 13px; color: var(--dim); line-height: 1.7; font-weight: 300; }

/* ════════════════════════════════
   SOLUTIONS PAGE
════════════════════════════════ */
.sol-page-grid { padding: 60px 52px 100px; display: grid; gap: 1px; background: rgba(255,255,255,0.08); }
.sol-page-item { background: var(--black); display: grid; grid-template-columns: 280px 1fr auto; align-items: start; padding: 52px 48px; gap: 48px; transition: background 0.25s; cursor: pointer; border-bottom: 1px solid rgba(255,255,255,0.06); }
.sol-page-item:hover { background: var(--ob); }
.sol-page-num { font-family: 'Barlow Condensed', sans-serif; font-size: 72px; color: transparent; -webkit-text-stroke: 1px rgba(244,54,76,0.35); line-height: 1; }
.sol-page-body h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 42px; line-height: 0.95; letter-spacing: 0.04em; text-transform: uppercase; color: var(--teal); margin-bottom: 14px; }
.sol-page-body .scat { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--red); margin-bottom: 12px; }
.sol-page-body p { font-size: 14px; color: var(--dim); line-height: 1.75; font-weight: 300; max-width: 560px; }
.sol-page-cta { align-self: center; flex-shrink: 0; }
.sol-page-item .btn-ghost { border: 1px solid rgba(255,255,255,0.25); color: var(--white); }
.sol-page-item .btn-ghost:hover { border-color: var(--teal); color: var(--teal); }
.sol-page-item.highlight { background: var(--black); border-left: 3px solid var(--red); }
.sol-page-item.highlight .sol-page-num { -webkit-text-stroke: 1px rgba(244,54,76,0.45); }

/* ════════════════════════════════
   SAFETY CULTURE PAGE
════════════════════════════════ */
.safety-pillars { padding: 80px 52px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--lborder); }
.pillar-card { background: var(--bg); padding: 52px 40px; border: 1px solid var(--lborder); }
.pillar-num { font-family: 'Barlow Condensed', sans-serif; font-size: 80px; color: var(--red); line-height: 1; margin-bottom: 16px; opacity: 0.6; }
.pillar-card h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; line-height: 0.95; text-transform: uppercase; color: var(--ink); margin-bottom: 16px; }
.pillar-card p { font-size: 13px; color: var(--ink3); line-height: 1.7; font-weight: 300; }
.safety-principles-section { padding: 80px 52px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; background: var(--bg2); }
.sp-left h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px, 7vw, 100px); line-height: 0.9; text-transform: uppercase; margin-bottom: 32px; color: var(--ink); }
.sp-left h2 span { color: var(--red); }
.sp-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 28px; }
.sp-right { display: flex; flex-direction: column; justify-content: center; }
.sp-principle { display: flex; gap: 20px; align-items: flex-start; padding: 18px 0; border-bottom: 1px solid var(--lborder); }
.sp-n { font-family: 'Barlow Condensed', sans-serif; font-size: 28px; color: var(--red); flex-shrink: 0; line-height: 1; width: 36px; }
.sp-principle span { font-size: 14px; color: var(--ink2); line-height: 1.65; font-weight: 300; }
/* Speed / affordability section */
.safety-speed {
  padding: 0 52px 0;
  background: var(--bg);
}
.safety-speed-top {
  padding: 100px 0 64px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end;
  border-bottom: 1px solid var(--lborder);
}
.safety-speed-top h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(60px, 9vw, 130px);
  line-height: 0.9; text-transform: uppercase; letter-spacing: 0.01em; color: var(--ink);
}
.safety-speed-top h2 .red { color: var(--red); display: block; }
.safety-speed-top h2 .il {
  font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900;
  color: var(--teal); font-size: 0.6em; letter-spacing: -0.01em; display: block;
}
.safety-speed-top-right {
  padding-bottom: 8px;
}
.safety-speed-top-right p {
  font-size: 17px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 20px;
}
.safety-speed-top-right strong { color: var(--ink); font-weight: 600; }

/* The three pillars of value: Affordable / Fast / Effective */
.safety-afe {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 2px; background: var(--lborder);
  margin-top: 2px;
}
.afe-card {
  background: var(--bg2); padding: 60px 44px;
  display: flex; flex-direction: column;
  transition: background 0.25s;
}
.afe-card:hover { background: var(--bg3); }
.afe-word {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(52px, 6vw, 88px);
  line-height: 0.88; text-transform: uppercase; letter-spacing: 0.02em;
  margin-bottom: 28px;
}
.afe-card:nth-child(1) .afe-word { color: var(--teal); }
.afe-card:nth-child(2) .afe-word { color: var(--red); }
.afe-card:nth-child(3) .afe-word { color: var(--gray); }
.afe-card p { font-size: 14px; color: var(--ink2); line-height: 1.75; font-weight: 300; flex: 1; }

/* vs traditional assessments comparison strip */
.safety-vs {
  margin-top: 2px;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 2px; background: var(--lborder);
}
.safety-vs-col {
  background: var(--bg); padding: 56px 48px;
}
.safety-vs-col.theirs { background: var(--bg2); }
.svs-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase;
  margin-bottom: 28px; display: flex; align-items: center; gap: 12px;
}
.svs-label.ours { color: var(--teal); }
.svs-label.ours::before { content: ''; width: 24px; height: 2px; background: var(--teal); }
.svs-label.theirs { color: var(--ink3); }
.svs-label.theirs::before { content: ''; width: 24px; height: 2px; background: var(--ink3); }
.svs-items { display: flex; flex-direction: column; gap: 0; }
.svs-item {
  display: flex; gap: 16px; align-items: flex-start;
  padding: 16px 0; border-bottom: 1px solid var(--lborder);
  font-size: 14px; line-height: 1.6; font-weight: 300;
}
.svs-item .svs-icon { flex-shrink: 0; font-size: 16px; margin-top: 1px; }
.svs-item.good { color: var(--ink); }
.svs-item.bad  { color: var(--ink3); text-decoration: line-through; text-decoration-color: rgba(0,0,0,0.2); }
.safety-vs-col .svs-big {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(52px, 5vw, 80px); line-height: 0.9; margin-bottom: 16px; color: var(--ink);
}
.safety-vs-col.ours-col .svs-big { color: var(--teal); }
.safety-vs-col.theirs .svs-big { color: var(--ink3); }

/* Stat callout bar */
.safety-stat-bar {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 2px; background: var(--red);
  margin-top: 2px;
}
.ssb-item {
  background: var(--red); padding: 44px 36px; text-align: center;
  border-right: 1px solid rgba(255,255,255,0.15);
}
.ssb-item:last-child { border-right: none; }
.ssb-num {
  font-family: 'Barlow Condensed', sans-serif; font-size: 72px; color: var(--pure);
  line-height: 1; display: block;
}
.ssb-label {
  font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(255,255,255,0.7); margin-top: 6px; display: block;
}

.assessment-cta-band { background: var(--bg2); border-top: 1px solid rgba(244,54,76,0.15); border-bottom: 1px solid rgba(244,54,76,0.15); padding: 80px 52px; display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.act-left h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px, 6vw, 96px); line-height: 0.9; text-transform: uppercase; color: var(--ink); }
.act-left h2 span { color: var(--red); }
.act-left p { font-size: 14px; color: var(--ink3); margin-top: 16px; max-width: 480px; line-height: 1.7; font-weight: 300; }
.act-right { display: flex; flex-direction: column; gap: 14px; flex-shrink: 0; align-items: flex-start; }
.act-url { font-size: 11px; letter-spacing: 0.1em; color: var(--ink3); margin-top: 4px; }

/* ════════════════════════════════
   LEADERSHIP PAGE
════════════════════════════════ */
.leadership-details { padding: 80px 52px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: rgba(255,255,255,0.04); }
.ld-block { background: var(--ob); padding: 52px 44px; }
.ld-block.full { grid-column: span 2; background: var(--dark); }
.ld-block h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; line-height: 0.95; text-transform: uppercase; color: var(--white); margin-bottom: 20px; }
.ld-block p { font-size: 14px; color: var(--dim); line-height: 1.75; font-weight: 300; margin-bottom: 12px; }
.ld-block ul { list-style: none; margin-top: 8px; }
.ld-block li { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,0.05); font-size: 14px; color: var(--dim); font-weight: 300; display: flex; gap: 12px; align-items: flex-start; }
.ld-block li::before { content: '→'; color: var(--teal); flex-shrink: 0; }
.ld-big-num { font-family: 'Barlow Condensed', sans-serif; font-size: 100px; color: var(--teal); line-height: 1; margin-bottom: 8px; }

.assessments-section { padding: 80px 52px 100px; }
.assessments-section h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px, 7vw, 100px); line-height: 0.88; text-transform: uppercase; margin-bottom: 52px; }
.assessments-section h2 em { font-style: italic; font-family: 'Playfair Display', serif; color: var(--teal); font-size: 0.72em; }
.tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: rgba(255,255,255,0.05); }
.tool-card { background: var(--ob); padding: 44px 36px; }
.tool-card .tc-tag { font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--teal); margin-bottom: 16px; }
.tool-card h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--white); margin-bottom: 14px; line-height: 0.95; }
.tool-card p { font-size: 13px; color: var(--dim); line-height: 1.65; font-weight: 300; }

/* ════════════════════════════════
   CLIENT WORK PAGE
════════════════════════════════ */
.industries { padding: 60px 52px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--lborder); }
.ind-card { background: var(--bg); padding: 52px 44px; transition: background 0.25s; }
.ind-card:hover { background: var(--bg2); }
.ind-icon { font-family: 'Barlow Condensed', sans-serif; font-size: 56px; color: transparent; -webkit-text-stroke: 1px rgba(0,140,149,0.35); line-height: 1; margin-bottom: 20px; }
.ind-card h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink); margin-bottom: 14px; line-height: 0.95; }
.ind-card p { font-size: 14px; color: var(--ink2); line-height: 1.75; font-weight: 300; }
.testimonials { padding: 80px 52px 100px; background: var(--bg2); }
.testimonials h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px, 7vw, 100px); text-transform: uppercase; line-height: 0.88; margin-bottom: 52px; color: var(--ink); }
.testimonials h2 em { font-style: italic; font-family: 'Playfair Display', serif; color: var(--red); font-size: 0.72em; }
.testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--bg3); }
.testi { background: var(--ob); padding: 44px 36px; display: flex; flex-direction: column; justify-content: space-between; }
.testi-quote { font-size: 15px; color: var(--dim); line-height: 1.8; font-weight: 300; font-style: italic; margin-bottom: 32px; }
.testi-quote::before { content: '"'; font-family: 'Playfair Display', serif; font-size: 48px; color: var(--red); line-height: 0.5; display: block; margin-bottom: 20px; }
.testi-attr strong { font-size: 12px; font-weight: 700; color: var(--white); letter-spacing: 0.05em; text-transform: uppercase; display: block; }
.testi-attr span { font-size: 12px; color: var(--dimmer); }
.stats-band { background: var(--bg2); border-top: 1px solid var(--lborder); border-bottom: 1px solid var(--lborder); padding: 64px 52px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.stat-item { padding: 32px; text-align: center; }
.stat-item strong { font-family: 'Barlow Condensed', sans-serif; font-size: 72px; color: var(--red); line-height: 1; display: block; }
.stat-item span { font-size: 12px; color: var(--ink3); letter-spacing: 0.15em; text-transform: uppercase; margin-top: 6px; display: block; }

/* ════════════════════════════════
   CONTACT PAGE
════════════════════════════════ */
.contact-layout { padding: 60px 52px 100px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; background: var(--bg); }
.contact-info h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px, 7vw, 100px); line-height: 0.88; text-transform: uppercase; margin-bottom: 36px; color: var(--ink); }
.contact-info h2 em { font-style: italic; font-family: 'Playfair Display', serif; color: var(--red); font-size: 0.72em; }
.contact-info p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 40px; }
.contact-details { display: flex; flex-direction: column; gap: 20px; }
.cd-item { display: flex; gap: 16px; align-items: flex-start; }
.cd-label { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--teal); width: 72px; flex-shrink: 0; padding-top: 2px; }
.cd-val { font-size: 14px; color: var(--ink2); font-weight: 300; }
.cd-val a { color: var(--ink); text-decoration: underline; text-decoration-color: rgba(0,140,149,0.4); text-underline-offset: 3px; }
.cd-val a:hover { color: var(--teal); }
.contact-form { background: var(--pure); border: 1px solid var(--lborder); padding: 52px; border-radius: 4px; box-shadow: 0 2px 24px rgba(0,0,0,0.06); }
.contact-form h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink); margin-bottom: 32px; }
.form-group { margin-bottom: 20px; }
.form-group label { font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--teal); display: block; margin-bottom: 8px; }
.form-group input, .form-group textarea, .form-group select {
  width: 100%; background: var(--bg); border: 1px solid var(--lborder);
  color: var(--ink); padding: 14px 16px; font-family: 'Inter', sans-serif; font-size: 14px;
  border-radius: 2px; transition: border-color 0.2s; outline: none;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--teal); }
.form-group textarea { min-height: 120px; resize: vertical; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-success { display: none; text-align: center; padding: 32px; }
.form-success h4 { font-family: 'Barlow Condensed', sans-serif; font-size: 48px; color: var(--teal); margin-bottom: 12px; }
.form-success p { font-size: 14px; color: var(--dim); }

/* ════════════════════════════════
   PRISM PAGE
════════════════════════════════ */

/* Hero with diagonal split */
.prism-hero {
  min-height: 100vh; padding: 68px 0 0;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
}
.prism-hero-left {
  background: var(--bg);
  padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
  position: relative; z-index: 2;
  border-right: 1px solid var(--border);
}
.prism-hero-right {
  background: var(--ob);
  padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
  position: relative; overflow: hidden;
}
.prism-bg-letters {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(180px, 6.0vw, 190px);
  color: transparent; -webkit-text-stroke: 1px rgba(244,54,76,0.08);
  pointer-events: none; user-select: none; white-space: nowrap; letter-spacing: -0.02em;
}
.prism-hero-left h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(80px, 6.0vw, 100px);
  line-height: 0.85; letter-spacing: 0.01em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 32px;
}
.prism-hero-left h1 span { color: var(--red); display: block; }
.prism-tagline {
  font-size: 18px; color: var(--ink3); line-height: 1.7; font-weight: 300;
  max-width: 400px; margin-bottom: 40px;
}
.prism-hero-right-inner { position: relative; z-index: 1; }
.prism-hero-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--red); margin-bottom: 28px;
  display: flex; align-items: center; gap: 12px;
}
.prism-hero-label::before { content:''; width: 24px; height: 2px; background: var(--red); }
.prism-problem {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(40px, 4.5vw, 64px);
  line-height: 0.92; text-transform: uppercase; color: var(--white);
  margin-bottom: 28px;
}
.prism-problem em {
  font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900;
  color: var(--red); font-size: 0.82em;
}
.prism-hero-right p { font-size: 15px; color: var(--dim); line-height: 1.75; font-weight: 300; margin-bottom: 16px; }

/* Two-layer framework */
.prism-framework {
  padding: 0 52px 0;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 2px; background: rgba(255,255,255,0.04);
}
.prism-layer {
  background: var(--ob); padding: 64px 52px;
}
.prism-layer-num {
  font-family: 'Barlow Condensed', sans-serif; font-size: 96px; line-height: 1;
  color: transparent; -webkit-text-stroke: 1px rgba(244,54,76,0.2);
  margin-bottom: 4px;
}
.prism-layer h2 {
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(44px, 4vw, 64px);
  line-height: 0.9; text-transform: uppercase; color: var(--white); margin-bottom: 20px;
}
.prism-layer h2 span { color: var(--red); }
.prism-layer > p { font-size: 15px; color: var(--dim); line-height: 1.75; font-weight: 300; margin-bottom: 32px; }
.prism-dims {
  display: flex; flex-direction: column; gap: 2px;
}
.prism-dim {
  background: var(--dark); padding: 18px 24px;
  display: flex; align-items: center; gap: 20px;
  transition: background 0.2s;
}
.prism-dim:hover { background: #252828; }
.prism-dim-letter {
  font-family: 'Barlow Condensed', sans-serif; font-size: 32px; color: var(--red);
  width: 28px; flex-shrink: 0; line-height: 1;
}
.prism-dim-body strong {
  display: block; font-size: 13px; font-weight: 600; color: var(--white);
  letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 3px;
}
.prism-dim-body span { font-size: 12px; color: var(--dimmer); line-height: 1.5; }

.prism-exprs {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
}
.prism-expr {
  background: var(--dark); padding: 22px 20px;
  transition: background 0.2s;
}
.prism-expr:hover { background: #252828; }
.prism-expr-name {
  font-family: 'Barlow Condensed', sans-serif; font-size: 28px; color: var(--teal);
  line-height: 1; margin-bottom: 8px;
}
.prism-expr-roots { font-size: 11px; color: var(--dimmer); letter-spacing: 0.08em; margin-bottom: 6px; font-weight: 500; text-transform: uppercase; }
.prism-expr-desc { font-size: 12px; color: var(--dim); line-height: 1.55; font-weight: 300; }

/* Why PRISM is different */
.prism-diff-header {
  padding: 100px 52px 0;
  background: var(--bg);
}
.prism-diff-header h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(60px, 9vw, 130px);
  line-height: 0.85; text-transform: uppercase; letter-spacing: 0.01em; color: var(--ink);
}
.prism-diff-header h2 em {
  font-style: italic; font-family: 'Playfair Display', serif;
  color: var(--red); font-size: 0.6em;
}
.prism-diff-grid {
  padding: 48px 52px 0;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 2px; background: var(--lborder);
}
.prism-diff-card {
  background: var(--bg); padding: 48px 36px;
}
.prism-diff-icon {
  font-family: 'Barlow Condensed', sans-serif; font-size: 52px; color: var(--red);
  line-height: 1; margin-bottom: 20px; letter-spacing: 0.05em;
}
.prism-diff-card h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 32px; text-transform: uppercase;
  color: var(--ink); line-height: 0.92; margin-bottom: 16px; letter-spacing: 0.03em;
}
.prism-diff-card p { font-size: 13px; color: var(--ink3); line-height: 1.7; font-weight: 300; }

/* vs other assessments comparison */
.prism-vs {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; background: var(--bg);
}
.prism-vs-left h2 {
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px, 5vw, 80px);
  line-height: 0.9; text-transform: uppercase; margin-bottom: 32px; color: var(--ink);
}
.prism-vs-left h2 span { color: var(--red); }
.prism-vs-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 16px; }
.prism-vs-table { display: flex; flex-direction: column; gap: 2px; width: 100%; }
.prism-vs-row {
  display: grid; grid-template-columns: 1fr 72px 72px;
  gap: 0; background: var(--bg2);
}
.prism-vs-row.header { background: var(--bg3); }
.prism-vs-cell {
  padding: 16px 18px; font-size: 13px; color: var(--ink2); font-weight: 300;
  border-right: 1px solid var(--lborder); min-width: 0; overflow-wrap: break-word;
}
.prism-vs-cell:last-child { border-right: none; }
.prism-vs-row.header .prism-vs-cell {
  font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink3); white-space: nowrap;
}
.prism-vs-cell.check { color: var(--teal); font-size: 16px; text-align: center; padding: 16px 6px; }
.prism-vs-cell.cross { color: var(--ink3); font-size: 16px; text-align: center; padding: 16px 6px; opacity: 0.55; }
.prism-vs-row.header .prism-vs-cell.check,
.prism-vs-row.header .prism-vs-cell.cross { padding: 16px 6px; letter-spacing: 0.03em; }

/* The Monday morning question */
.prism-monday {
  background: var(--red);
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
}
.prism-monday h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 5.5vw, 88px); line-height: 0.9; text-transform: uppercase;
  color: var(--pure);
}
.prism-monday-right p {
  font-size: 18px; color: rgba(255,255,255,0.85); line-height: 1.8; font-weight: 300;
  margin-bottom: 20px;
}
.prism-monday-examples {
  margin-top: 36px; display: flex; flex-direction: column; gap: 0;
}
.prism-eg {
  padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,0.15);
  font-size: 14px; color: rgba(255,255,255,0.75); font-weight: 300; line-height: 1.65;
  display: flex; gap: 16px; align-items: flex-start;
}
.prism-eg::before { content: '→'; color: var(--pure); font-weight: 700; flex-shrink: 0; }

/* Who it's for */
.prism-for {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: start; background: var(--bg);
}
.prism-for-left h2 {
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(60px, 5.0vw, 80px);
  line-height: 0.88; text-transform: uppercase; margin-bottom: 32px;
}
.prism-for-left h2 em { font-style: italic; font-family: 'Playfair Display', serif; color: var(--teal); font-size: 0.72em; }
.prism-for-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 32px; }
.prism-use-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--lborder); }
.prism-use {
  background: var(--bg2); padding: 40px 32px;
  transition: background 0.2s;
}
.prism-use:hover { background: var(--bg3); }
.prism-use-num { font-family: 'Barlow Condensed', sans-serif; font-size: 44px; color: var(--teal); line-height: 1; margin-bottom: 12px; }
.prism-use h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink); margin-bottom: 10px; line-height: 0.95; }
.prism-use p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; }

/* Main CTA band */
.prism-cta {
  background: var(--ob);
  border-top: 1px solid rgba(244,54,76,0.2);
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center;
}
.prism-cta h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 6vw, 96px); line-height: 0.85; text-transform: uppercase;
  color: var(--white); margin-bottom: 20px;
}
.prism-cta h2 span { color: var(--red); display: block; }
.prism-cta p { font-size: 16px; color: var(--dim); line-height: 1.75; font-weight: 300; max-width: 560px; }
.prism-cta-btns { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; flex-shrink: 0; }
.prism-url { font-size: 11px; letter-spacing: 0.1em; color: var(--dimmer); margin-top: 2px; }
.prism-cta .btn-ghost { border: 1px solid rgba(255,255,255,0.25); color: var(--white); }
.prism-cta .btn-ghost:hover { border-color: var(--teal); color: var(--teal); }

/* Third-party tools section */
.other-tools-section { padding: 80px 52px 100px; background: var(--bg2); border-top: 1px solid var(--lborder); }
.other-tools-section .ot-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 40px; gap: 32px; }
.other-tools-section h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px, 6vw, 96px); text-transform: uppercase; line-height: 0.9; color: var(--ink3); }
.other-tools-section .ot-note { font-size: 12px; color: var(--ink3); max-width: 280px; line-height: 1.65; font-weight: 300; text-align: right; }
.other-tools-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--lborder); }
.ot-card { background: var(--bg); padding: 40px 32px; }
.ot-card .ot-tag { font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gray); margin-bottom: 16px; }
.ot-card h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink3); margin-bottom: 14px; line-height: 0.95; }
.ot-card p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; }

/* ════════════════════════════════
   ACCOUNTABILITY & COACHING PAGE
════════════════════════════════ */

/* Hero — mirrors PRISM split */
.ac-hero {
  min-height: 100vh; padding: 68px 0 0;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
}
.ac-hero-left {
  background: var(--black);
  padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
  border-right: 1px solid var(--border);
  position: relative; overflow: hidden;
}
.ac-hero-bg {
  position: absolute; bottom: -40px; left: -20px;
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(180px, 6.0vw, 190px);
  color: transparent; -webkit-text-stroke: 1px rgba(0,140,149,0.07);
  pointer-events: none; user-select: none; line-height: 1; white-space: nowrap;
}
.ac-hero-left h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(80px, 6.0vw, 100px);
  line-height: 0.85; letter-spacing: 0.01em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 32px; position: relative; z-index: 1;
}
.ac-hero-left h1 .teal { color: var(--teal); display: block; }
.ac-hero-left h1 .il {
  font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900;
  color: var(--red); font-size: 0.65em; display: block; letter-spacing: -0.01em;
}
.ac-hero-tagline {
  font-size: 17px; color: var(--ink3); line-height: 1.75; font-weight: 300;
  max-width: 400px; margin-bottom: 40px; position: relative; z-index: 1;
}
.ac-hero-right {
  background: var(--ob); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
}
.ac-stat-stack {
  display: flex; flex-direction: column; gap: 2px; margin-bottom: 48px;
}
.ac-stat-row {
  background: var(--dark); padding: 24px 28px;
  display: grid; grid-template-columns: 80px 1fr;
  align-items: center; gap: 24px;
  transition: background 0.2s;
}
.ac-stat-row:hover { background: #252828; }
.ac-stat-num {
  font-family: 'Barlow Condensed', sans-serif; font-size: 52px;
  color: var(--teal); line-height: 1; letter-spacing: 0.04em;
}
.ac-stat-row:nth-child(2) .ac-stat-num { color: var(--red); }
.ac-stat-row:nth-child(3) .ac-stat-num { color: var(--white); }
.ac-stat-body strong {
  display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--white); margin-bottom: 4px;
}
.ac-stat-body span { font-size: 13px; color: var(--dimmer); font-weight: 300; }

/* What you'll build — skills grid */
.ac-skills-header {
  padding: 100px 52px 0;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 48px;
  background: var(--bg);
}
.ac-skills-header h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(64px, 9vw, 130px);
  line-height: 0.85; text-transform: uppercase; letter-spacing: 0.01em; color: var(--ink);
}
.ac-skills-header h2 .teal { color: var(--teal); display: block; }
.ac-skills-header h2 .il {
  display: block; font-family: 'Playfair Display', serif; font-style: italic;
  font-weight: 900; color: var(--red); font-size: 0.6em; letter-spacing: -0.01em;
}
.ac-skills-intro { max-width: 320px; font-size: 14px; color: var(--ink3); line-height: 1.75; font-weight: 300; padding-bottom: 12px; flex-shrink: 0; }
.ac-skills-grid {
  padding: 48px 52px 0;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 2px; background: var(--lborder);
  margin-top: 48px;
}
.ac-skill {
  background: var(--bg); padding: 44px 32px;
  display: flex; flex-direction: column; transition: background 0.25s;
}
.ac-skill:hover { background: var(--bg2); }
.ac-skill-num {
  font-family: 'Barlow Condensed', sans-serif; font-size: 72px; color: transparent;
  -webkit-text-stroke: 1px rgba(0,140,149,0.25); line-height: 1; margin-bottom: 16px;
}
.ac-skill h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); line-height: 0.95; margin-bottom: 14px;
}
.ac-skill p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; flex: 1; }

/* The deeper dive — mirrors PRISM's monday section in full color */
.ac-deepdive {
  background: var(--teal);
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
  margin-top: 2px;
}
.ac-deepdive h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 5.5vw, 88px); line-height: 0.88; text-transform: uppercase;
  color: var(--pure);
}
.ac-deepdive-right p {
  font-size: 17px; color: rgba(255,255,255,0.88); line-height: 1.8; font-weight: 300;
  margin-bottom: 18px;
}
.ac-outcomes {
  margin-top: 36px; display: flex; flex-direction: column; gap: 0;
}
.ac-outcome {
  padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,0.18);
  font-size: 14px; color: rgba(255,255,255,0.8); font-weight: 300; line-height: 1.65;
  display: flex; gap: 16px; align-items: flex-start;
}
.ac-outcome::before { content: '→'; color: var(--pure); font-weight: 700; flex-shrink: 0; }

/* Delivery format — mirrors PRISM's "who it's for" layout */
.ac-delivery {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: start;
  background: var(--bg);
}
.ac-delivery-left h2 {
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(44px, 4.5vw, 72px);
  line-height: 0.9; text-transform: uppercase; margin-bottom: 28px; color: var(--ink);
}
.ac-delivery-left h2 em { font-style: italic; font-family: 'Playfair Display', serif; color: var(--teal); font-size: 0.72em; }
.ac-delivery-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 32px; }
.ac-format-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
  background: rgba(255,255,255,0.04);
}
.ac-format {
  background: var(--bg2); padding: 44px 36px; transition: background 0.2s;
}
.ac-format:hover { background: var(--bg3); }
.ac-format-icon {
  font-family: 'Barlow Condensed', sans-serif; font-size: 52px; color: var(--teal);
  line-height: 1; margin-bottom: 16px; letter-spacing: 0.04em;
}
.ac-format h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 12px; line-height: 0.95;
}
.ac-format p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; }
.ac-format ul { list-style: none; margin-top: 12px; }
.ac-format li {
  padding: 8px 0; border-bottom: 1px solid var(--lborder);
  font-size: 13px; color: var(--ink3); font-weight: 300;
  display: flex; gap: 10px; align-items: flex-start;
}
.ac-format li::before { content: '→'; color: var(--teal); flex-shrink: 0; font-size: 11px; margin-top: 2px; }

/* Testimonials — mirrors PRISM style */
.ac-testimonials {
  background: var(--bg2); border-top: 1px solid var(--lborder);
  padding: 80px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
  background-clip: padding-box;
}
.ac-testi {
  background: var(--bg2); padding: 52px 44px;
  border-right: 1px solid var(--lborder);
}
.ac-testi:last-child { border-right: none; }
.ac-testi-quote {
  font-size: 16px; color: var(--ink2); line-height: 1.8; font-weight: 300;
  font-style: italic; margin-bottom: 28px;
}
.ac-testi-quote::before {
  content: '"'; font-family: 'Playfair Display', serif; font-size: 56px;
  color: var(--teal); line-height: 0.5; display: block; margin-bottom: 20px;
}
.ac-testi-attr strong {
  display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--white); margin-bottom: 4px;
}
.ac-testi-attr span { font-size: 12px; color: var(--dimmer); }

/* CTA band — mirrors PRISM's prism-cta */
.ac-cta {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center;
  border-top: 1px solid var(--lborder); background: var(--bg);
}
.ac-cta h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 6vw, 96px); line-height: 0.85; text-transform: uppercase;
  color: var(--ink); margin-bottom: 20px;
}
.ac-cta h2 .teal { color: var(--teal); display: block; }
.ac-cta p { font-size: 16px; color: var(--ink3); line-height: 1.75; font-weight: 300; max-width: 560px; }
.ac-cta-btns { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; flex-shrink: 0; }

/* ════════════════════════════════
   LEADING FRONTLINE TEAMS PAGE
════════════════════════════════ */
.lft-hero {
  min-height: 100vh; padding: 68px 0 0;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
}
.lft-hero-left {
  background: var(--bg); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
  border-right: 1px solid var(--border); position: relative; overflow: hidden;
}
.lft-hero-bg {
  position: absolute; bottom: -40px; left: -20px;
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(180px, 6.0vw, 190px);
  color: transparent; -webkit-text-stroke: 1px rgba(244,54,76,0.07);
  pointer-events: none; user-select: none; line-height: 1; white-space: nowrap;
}
.lft-hero-left h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(56px, 5.5vw, 88px);
  line-height: 0.9; letter-spacing: 0.01em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 32px; position: relative; z-index: 1;
}
.lft-hero-left h1 .red  { color: var(--red); display: block; }
.lft-hero-left h1 .il {
  font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900;
  color: var(--teal); font-size: 0.62em; display: block; letter-spacing: -0.01em;
}
.lft-hero-right {
  background: var(--ob); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
}
.lft-stat-stack { display: flex; flex-direction: column; gap: 2px; margin-bottom: 48px; }
.lft-stat-row {
  background: var(--dark); padding: 24px 28px;
  display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 24px;
  transition: background 0.2s;
}
.lft-stat-row:hover { background: #252828; }
.lft-stat-num {
  font-family: 'Barlow Condensed', sans-serif; font-size: 52px;
  line-height: 1; letter-spacing: 0.04em;
}
.lft-stat-row:nth-child(1) .lft-stat-num { color: var(--red); }
.lft-stat-row:nth-child(2) .lft-stat-num { color: var(--teal); }
.lft-stat-row:nth-child(3) .lft-stat-num { color: var(--white); }
.lft-stat-body strong {
  display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--white); margin-bottom: 4px;
}
.lft-stat-body span { font-size: 13px; color: var(--dimmer); font-weight: 300; }

/* Objectives grid */
.lft-obj-header {
  padding: 100px 52px 0;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 48px;
  background: var(--bg);
}
.lft-obj-header h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(60px, 9vw, 130px);
  line-height: 0.85; text-transform: uppercase; letter-spacing: 0.01em; color: var(--ink);
}
.lft-obj-header h2 .red  { color: var(--red); display: block; }
.lft-obj-header h2 .il {
  display: block; font-family: 'Playfair Display', serif; font-style: italic;
  font-weight: 900; color: var(--teal); font-size: 0.58em; letter-spacing: -0.01em;
}
.lft-obj-intro { max-width: 320px; font-size: 14px; color: var(--dim); line-height: 1.75; font-weight: 300; padding-bottom: 12px; flex-shrink: 0; }
.lft-obj-grid {
  padding: 48px 52px 0;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 2px; background: var(--lborder); margin-top: 48px;
}
.lft-obj {
  background: var(--bg); padding: 48px 36px;
  display: flex; flex-direction: column; transition: background 0.25s;
}
.lft-obj:hover { background: var(--bg2); }
.lft-obj-num {
  font-family: 'Barlow Condensed', sans-serif; font-size: 72px; color: transparent;
  -webkit-text-stroke: 1px rgba(244,54,76,0.22); line-height: 1; margin-bottom: 16px;
}
.lft-obj h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); line-height: 0.95; margin-bottom: 14px;
}
.lft-obj p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; flex: 1; }

/* Deep dive band — red like PRISM's monday section */
.lft-deepdive {
  background: var(--red); padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
  margin-top: 2px;
}
.lft-deepdive h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 5.5vw, 88px); line-height: 0.85; text-transform: uppercase;
  color: var(--pure);
}
.lft-deepdive-right p {
  font-size: 17px; color: rgba(255,255,255,0.88); line-height: 1.8; font-weight: 300;
  margin-bottom: 18px;
}
.lft-outcomes { margin-top: 36px; display: flex; flex-direction: column; gap: 0; }
.lft-outcome {
  padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,0.18);
  font-size: 14px; color: rgba(255,255,255,0.82); font-weight: 300; line-height: 1.65;
  display: flex; gap: 16px; align-items: flex-start;
}
.lft-outcome::before { content: '→'; color: var(--pure); font-weight: 700; flex-shrink: 0; }

/* Delivery — same as A&C */
.lft-delivery {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: start; background: var(--bg);
}
.lft-delivery-left h2 {
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(44px, 4.5vw, 72px);
  line-height: 0.9; text-transform: uppercase; margin-bottom: 28px; color: var(--ink);
}
.lft-delivery-left h2 em { font-style: italic; font-family: 'Playfair Display', serif; color: var(--red); font-size: 0.72em; }
.lft-delivery-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 28px; }
.lft-format-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--lborder); }
.lft-format {
  background: var(--bg2); padding: 44px 36px; transition: background 0.2s;
}
.lft-format:hover { background: var(--bg3); }
.lft-format-icon {
  font-family: 'Barlow Condensed', sans-serif; font-size: 52px; color: var(--red);
  line-height: 1; margin-bottom: 16px; letter-spacing: 0.04em;
}
.lft-format h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 12px; line-height: 0.95;
}
.lft-format p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; }
.lft-format ul { list-style: none; margin-top: 12px; }
.lft-format li {
  padding: 8px 0; border-bottom: 1px solid var(--lborder);
  font-size: 13px; color: var(--ink3); font-weight: 300;
  display: flex; gap: 10px; align-items: flex-start;
}
.lft-format li::before { content: '→'; color: var(--red); flex-shrink: 0; font-size: 11px; margin-top: 2px; }
/* Dark variant of format cards — light text for readability */
.format-dark { background: var(--ob) !important; }
.format-dark h3 { color: var(--white) !important; }
.format-dark p { color: var(--dim) !important; }

/* Testimonials */
.lft-testimonials {
  background: var(--bg2); border-top: 1px solid var(--lborder);
  padding: 80px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
}
.lft-testi {
  background: var(--bg2); padding: 52px 44px;
  border-right: 1px solid var(--lborder);
}
.lft-testi:last-child { border-right: none; }
.lft-testi-quote {
  font-size: 16px; color: var(--ink2); line-height: 1.8; font-weight: 300;
  font-style: italic; margin-bottom: 28px;
}
.lft-testi-quote::before {
  content: '"'; font-family: 'Playfair Display', serif; font-size: 56px;
  color: var(--red); line-height: 0.5; display: block; margin-bottom: 20px;
}
.lft-testi-attr strong {
  display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--white); margin-bottom: 4px;
}
.lft-testi-attr span { font-size: 12px; color: var(--dimmer); }

/* CTA */
.lft-cta {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center;
  border-top: 1px solid var(--lborder); background: var(--bg);
}
.lft-cta h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 6vw, 96px); line-height: 0.85; text-transform: uppercase;
  color: var(--ink); margin-bottom: 20px;
}
.lft-cta h2 .red { color: var(--red); display: block; }
.lft-cta p { font-size: 16px; color: var(--ink3); line-height: 1.75; font-weight: 300; max-width: 560px; }
.lft-cta-btns { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; flex-shrink: 0; }

/* ════════════════════════════════
   ACCELERATED COACHING LAB PAGE
════════════════════════════════ */
.acl-hero {
  min-height: 100vh; padding: 68px 0 0;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
}
.acl-hero-left {
  background: var(--bg); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
  border-right: 1px solid var(--border); position: relative; overflow: hidden;
}
.acl-hero-bg {
  position: absolute; bottom: -40px; left: -20px;
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(180px, 6.0vw, 190px);
  color: transparent; -webkit-text-stroke: 1px rgba(244,54,76,0.07);
  pointer-events: none; user-select: none; line-height: 1; white-space: nowrap;
}
.acl-hero-left h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(46px, 4.4vw, 66px);
  line-height: 0.9; letter-spacing: 0.01em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 32px; position: relative; z-index: 1;
}
.acl-hero-left h1 .red { color: var(--red); display: block; }
.acl-hero-left h1 .il {
  font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900;
  color: var(--teal); font-size: 0.62em; display: block; letter-spacing: -0.01em;
}
.acl-hero-right {
  background: var(--ob); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
}
.acl-stat-stack { display: flex; flex-direction: column; gap: 2px; margin-bottom: 48px; }
.acl-stat-row {
  background: var(--dark); padding: 24px 28px;
  display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 24px;
  transition: background 0.2s;
}
.acl-stat-row:hover { background: #252828; }
.acl-stat-num { font-family: 'Barlow Condensed', sans-serif; font-size: 52px; line-height: 1; letter-spacing: 0.04em; }
.acl-stat-row:nth-child(1) .acl-stat-num { color: var(--red); }
.acl-stat-row:nth-child(2) .acl-stat-num { color: var(--teal); }
.acl-stat-row:nth-child(3) .acl-stat-num { color: var(--white); }
.acl-stat-body strong { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white); margin-bottom: 4px; }
.acl-stat-body span { font-size: 13px; color: var(--dimmer); font-weight: 300; }

/* 4-step course format */
.acl-steps-header {
  padding: 100px 52px 0;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 48px;
  background: var(--bg);
}
.acl-steps-header h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(60px, 9vw, 130px);
  line-height: 0.85; text-transform: uppercase; letter-spacing: 0.01em; color: var(--ink);
}
.acl-steps-header h2 .red { color: var(--red); display: block; }
.acl-steps-header h2 .il {
  display: block; font-family: 'Playfair Display', serif; font-style: italic;
  font-weight: 900; color: var(--teal); font-size: 0.58em; letter-spacing: -0.01em;
}
.acl-steps-intro { max-width: 320px; font-size: 14px; color: var(--dim); line-height: 1.75; font-weight: 300; padding-bottom: 12px; flex-shrink: 0; }

.acl-steps-grid {
  padding: 48px 52px 0;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 2px; background: var(--lborder); margin-top: 48px;
}
.acl-step {
  background: var(--bg); padding: 52px 32px;
  display: flex; flex-direction: column; transition: background 0.25s;
  position: relative;
}
.acl-step:hover { background: var(--bg2); }
.acl-step-num {
  font-family: 'Barlow Condensed', sans-serif; font-size: 88px; color: transparent;
  -webkit-text-stroke: 1px rgba(244,54,76,0.2); line-height: 1; margin-bottom: 20px;
}
.acl-step h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 30px; letter-spacing: 0.03em; text-transform: uppercase;
  color: var(--ink); line-height: 1.0; margin-bottom: 14px; word-break: normal; overflow-wrap: normal; hyphens: none;
}
.acl-step p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; flex: 1; }

/* What you'll learn — 5 outcomes */
.acl-outcomes-band {
  background: var(--red); padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
  margin-top: 2px;
}
.acl-outcomes-band h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 5.5vw, 88px); line-height: 0.85; text-transform: uppercase; color: var(--pure);
}
.acl-outcomes-right p {
  font-size: 17px; color: rgba(255,255,255,0.88); line-height: 1.8; font-weight: 300; margin-bottom: 18px;
}
.acl-outcome-list { margin-top: 36px; display: flex; flex-direction: column; gap: 0; }
.acl-outcome-item {
  padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,0.18);
  font-size: 14px; color: rgba(255,255,255,0.82); font-weight: 300; line-height: 1.65;
  display: flex; gap: 16px; align-items: flex-start;
}
.acl-outcome-item::before { content: '→'; color: var(--pure); font-weight: 700; flex-shrink: 0; }

/* Who should attend */
.acl-who {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: start; background: var(--bg);
}
.acl-who-left h2 {
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(44px, 4.5vw, 72px);
  line-height: 0.9; text-transform: uppercase; margin-bottom: 28px; color: var(--ink);
}
.acl-who-left h2 em { font-style: italic; font-family: 'Playfair Display', serif; color: var(--teal); font-size: 0.72em; }
.acl-who-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 28px; }
.acl-who-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--lborder); }
.acl-who-card {
  background: var(--bg2); padding: 44px 36px; transition: background 0.2s;
}
.acl-who-card:hover { background: var(--bg3); }
.acl-who-icon {
  font-family: 'Barlow Condensed', sans-serif; font-size: 52px; color: var(--teal);
  line-height: 1; margin-bottom: 16px; letter-spacing: 0.04em;
}
.acl-who-card h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 10px; line-height: 0.95;
}
.acl-who-card p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; }

/* ── PRICING ── */
.acl-pricing {
  background: var(--bg2); border-top: 1px solid var(--lborder); border-bottom: 1px solid var(--lborder);
  padding: 100px 52px;
}
.acl-pricing-header { margin-bottom: 56px; }
.acl-pricing-header h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(60px, 9vw, 130px); line-height: 0.85; text-transform: uppercase; color: var(--ink);
}
.acl-pricing-header h2 em {
  font-style: italic; font-family: 'Playfair Display', serif; color: var(--red); font-size: 0.6em;
}
.acl-pricing-tiers {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px;
  background: rgba(255,255,255,0.05); margin-bottom: 32px;
}
.acl-tier {
  background: var(--bg); padding: 56px 44px;
  display: flex; flex-direction: column; transition: background 0.25s;
}
.acl-tier:hover { background: var(--bg3); }
.acl-tier.featured {
  background: var(--bg3);
  border-top: 3px solid var(--red);
}
.acl-tier-range {
  font-size: 10px; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase;
  color: var(--ink3); margin-bottom: 20px;
}
.acl-tier.featured .acl-tier-range { color: var(--red); }
.acl-tier-price {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(64px, 5.0vw, 80px); line-height: 0.85; color: var(--ink);
  margin-bottom: 8px; letter-spacing: 0.02em;
}
.acl-tier.featured .acl-tier-price { color: var(--red); }
.acl-tier-unit {
  font-size: 12px; color: var(--ink3); letter-spacing: 0.1em; text-transform: uppercase;
  font-weight: 500; margin-bottom: 32px;
}
.acl-tier-desc {
  font-size: 13px; color: var(--ink2); line-height: 1.7; font-weight: 300; flex: 1; margin-bottom: 32px;
}
.acl-tier-includes {
  font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--teal); margin-bottom: 12px;
}
.acl-tier ul { list-style: none; }
.acl-tier li {
  padding: 8px 0; border-bottom: 1px solid var(--lborder);
  font-size: 13px; color: var(--ink2); font-weight: 300;
  display: flex; gap: 10px; align-items: flex-start;
}
.acl-tier li::before { content: '✓'; color: var(--teal); flex-shrink: 0; font-weight: 700; font-size: 12px; }
.acl-pricing-note {
  font-size: 13px; color: var(--dimmer); font-style: italic; margin-top: 8px;
}
.acl-pricing-note a { color: var(--teal); text-decoration: none; }
.acl-pricing-note a:hover { color: var(--white); }

/* ── BOOKING ── */
.acl-booking {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: start; background: var(--bg);
}
.acl-booking-left h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(56px, 6vw, 96px); line-height: 0.88; text-transform: uppercase; margin-bottom: 28px; color: var(--ink);
}
.acl-booking-left h2 .red { color: var(--red); display: block; }
.acl-booking-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 20px; }
.acl-booking-steps { margin-top: 36px; display: flex; flex-direction: column; gap: 2px; }
.acl-bstep {
  background: var(--bg2); padding: 20px 24px;
  display: flex; gap: 20px; align-items: flex-start;
}
.acl-bstep-num {
  font-family: 'Barlow Condensed', sans-serif; font-size: 32px; color: var(--red);
  line-height: 1; flex-shrink: 0; width: 32px;
}
.acl-bstep-body strong { display: block; font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 3px; }
.acl-bstep-body span { font-size: 12px; color: var(--ink3); font-weight: 300; }

/* The booking widget panel */
.acl-booking-panel {
  background: var(--pure); border: 1px solid var(--lborder);
  border-radius: 4px; overflow: hidden; box-shadow: 0 2px 24px rgba(0,0,0,0.08);
}
.acl-panel-header {
  background: var(--ob); padding: 28px 36px;
  border-bottom: 1px solid var(--lborder);
  display: flex; justify-content: space-between; align-items: center;
}
.acl-panel-header h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 28px; text-transform: uppercase;
  color: var(--white); letter-spacing: 0.04em;
}
.acl-panel-badge {
  font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;
  background: rgba(244,54,76,0.15); color: var(--red); border: 1px solid rgba(244,54,76,0.25);
  padding: 6px 12px; border-radius: 2px;
}
.acl-booking-form { padding: 36px; }

/* Booking step screens */
.booking-step { display: none; }
.booking-step.active { display: block; }

.acl-session-grid { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.acl-session-btn {
  background: var(--bg2); border: 1px solid var(--lborder); padding: 18px 20px;
  display: flex; justify-content: space-between; align-items: center;
  cursor: pointer; transition: all 0.2s; border-radius: 2px;
}
.acl-session-btn:hover { border-color: var(--red); background: #252828; }
.acl-session-btn.selected { border-color: var(--red); background: rgba(244,54,76,0.08); }
.acl-session-date { font-family: 'Barlow Condensed', sans-serif; font-size: 22px; color: var(--ink); letter-spacing: 0.05em; }
.acl-session-info { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.acl-session-time { font-size: 12px; color: var(--dim); font-weight: 500; }
.acl-session-spots { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
.spots-open { color: var(--teal); }
.spots-low  { color: var(--red); }

.acl-time-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 28px; }
.acl-time-btn {
  background: var(--bg2); border: 1px solid var(--lborder); padding: 18px 16px;
  cursor: pointer; transition: all 0.2s; text-align: center; border-radius: 2px;
}
.acl-time-btn:hover { border-color: var(--teal); }
.acl-time-btn.selected { border-color: var(--teal); background: rgba(0,140,149,0.1); }
.acl-time-btn strong { display: block; font-family: 'Barlow Condensed', sans-serif; font-size: 20px; color: var(--ink); letter-spacing: 0.05em; }
.acl-time-btn span { font-size: 11px; color: var(--ink3); }

.acl-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.acl-field { margin-bottom: 14px; }
.acl-field label { font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--teal); display: block; margin-bottom: 7px; }
.acl-field input, .acl-field select {
  width: 100%; background: var(--bg); border: 1px solid var(--lborder);
  color: var(--ink); padding: 13px 16px; font-family: 'Inter', sans-serif; font-size: 14px;
  border-radius: 2px; transition: border-color 0.2s; outline: none;
}
.acl-field input:focus, .acl-field select:focus { border-color: var(--teal); }

/* Pricing summary in booking */
.acl-price-summary {
  background: var(--bg2); border: 1px solid var(--lborder); padding: 20px;
  margin-bottom: 20px; border-radius: 2px;
}
.acl-price-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.acl-price-row:last-child { margin-bottom: 0; padding-top: 10px; border-top: 1px solid var(--border); margin-top: 10px; }
.acl-price-row .pr-label { font-size: 13px; color: var(--ink3); }
.acl-price-row .pr-val { font-family: 'Barlow Condensed', sans-serif; font-size: 22px; color: var(--ink); }
.acl-price-row.total .pr-val { color: var(--red); font-size: 32px; }

/* Stripe placeholder */
.stripe-placeholder {
  background: var(--bg2); border: 1px solid var(--lborder); border-radius: 4px;
  padding: 20px; margin-bottom: 20px;
}
.stripe-label { font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--teal); margin-bottom: 12px; display: block; }
.stripe-mock-field {
  background: var(--bg3); border: 1px solid var(--lborder); border-radius: 2px;
  padding: 14px 16px; margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between;
}
.stripe-mock-field span { font-size: 14px; color: var(--ink3); }
.stripe-badge {
  display: flex; align-items: center; gap: 8px; margin-top: 12px;
}
.stripe-badge span { font-size: 11px; color: var(--ink3); letter-spacing: 0.05em; }
.stripe-lock { font-size: 13px; }

.booking-nav { display: flex; gap: 12px; align-items: center; margin-top: 20px; }
.acl-back-btn {
  background: transparent; border: 1px solid rgba(255,255,255,0.15); color: var(--dim);
  padding: 13px 24px; font-size: 11px; font-weight: 600; letter-spacing: 0.15em;
  text-transform: uppercase; cursor: pointer; border-radius: 2px; transition: all 0.2s;
}
.acl-back-btn:hover { border-color: var(--white); color: var(--white); }

/* Confirmation screen */
.acl-confirm {
  text-align: center; padding: 40px 20px;
}
.acl-confirm-icon {
  font-size: 48px; margin-bottom: 16px; display: block;
}
.acl-confirm h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 48px; color: var(--teal);
  text-transform: uppercase; margin-bottom: 12px;
}
.acl-confirm p { font-size: 14px; color: var(--ink2); line-height: 1.7; margin-bottom: 8px; }
.acl-confirm .confirm-detail {
  background: var(--bg2); padding: 16px 20px; margin: 20px 0;
  border-radius: 2px; text-align: left;
}
.acl-confirm .confirm-detail p { margin: 0; font-size: 13px; padding: 4px 0; }
.acl-confirm .confirm-detail strong { color: var(--ink); }

/* Testimonial */
.acl-testi-band {
  background: var(--bg2); border-top: 1px solid var(--lborder);
  padding: 80px 52px;
}
.acl-testi-inner {
  max-width: 800px; margin: 0 auto; text-align: center;
}
.acl-testi-quote {
  font-family: 'Playfair Display', serif; font-style: italic;
  font-size: clamp(20px, 2.5vw, 30px); color: var(--ink2); line-height: 1.65;
  margin-bottom: 32px;
}
.acl-testi-quote::before {
  content: '"'; display: block; font-size: 80px; color: var(--red);
  line-height: 0.6; margin-bottom: 24px;
}
.acl-testi-attr strong { font-size: 12px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--teal); display: block; }
.acl-testi-attr span { font-size: 12px; color: var(--dimmer); }

/* CTA */
.acl-cta {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center;
  border-top: 1px solid var(--lborder); background: var(--bg);
}
.acl-cta h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 6vw, 96px); line-height: 0.85; text-transform: uppercase;
  color: var(--ink); margin-bottom: 20px;
}
.acl-cta h2 .red { color: var(--red); display: block; }
.acl-cta p { font-size: 16px; color: var(--ink3); line-height: 1.75; font-weight: 300; max-width: 560px; }
.acl-cta-btns { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; flex-shrink: 0; }

/* ════════════════════════════════
   ORGANIZATIONAL CULTURE PAGE
════════════════════════════════ */
.oc-hero {
  min-height: 100vh; padding: 68px 0 0;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
}
.oc-hero-left {
  background: var(--bg); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
  border-right: 1px solid var(--border); position: relative; overflow: hidden;
}
.oc-hero-bg {
  position: absolute; bottom: -40px; left: -20px;
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(160px, 6.0vw, 170px);
  color: transparent; -webkit-text-stroke: 1px rgba(0,140,149,0.07);
  pointer-events: none; user-select: none; line-height: 1; white-space: nowrap;
}
.oc-hero-left h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(40px, 3.7vw, 56px);
  line-height: 0.9; letter-spacing: 0.01em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 32px; position: relative; z-index: 1;
}
.oc-hero-left h1 .teal { color: var(--teal); display: block; }
.oc-hero-left h1 .il {
  font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900;
  color: var(--red); font-size: 0.62em; display: block; letter-spacing: -0.01em;
}
.oc-hero-right {
  background: var(--ob); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
}
.oc-stat-stack { display: flex; flex-direction: column; gap: 2px; margin-bottom: 48px; }
.oc-stat-row {
  background: var(--dark); padding: 24px 28px;
  display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 24px;
  transition: background 0.2s;
}
.oc-stat-row:hover { background: #252828; }
.oc-stat-num { font-family: 'Barlow Condensed', sans-serif; font-size: 52px; line-height: 1; letter-spacing: 0.04em; }
.oc-stat-row:nth-child(1) .oc-stat-num { color: var(--teal); }
.oc-stat-row:nth-child(2) .oc-stat-num { color: var(--red); }
.oc-stat-row:nth-child(3) .oc-stat-num { color: var(--white); }
.oc-stat-body strong { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white); margin-bottom: 4px; }
.oc-stat-body span { font-size: 13px; color: var(--dimmer); font-weight: 300; }

/* The definition band */
.oc-definition {
  background: var(--teal); padding: 72px 52px;
  display: grid; grid-template-columns: auto 1fr; gap: 64px; align-items: center;
}
.oc-def-quote {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(64px, 5.5vw, 88px); line-height: 0.85; text-transform: uppercase;
  color: var(--pure); white-space: nowrap;
}
.oc-def-right p {
  font-size: 17px; color: rgba(255,255,255,0.88); line-height: 1.8; font-weight: 300; margin-bottom: 16px;
}

/* Assessment methods grid */
.oc-methods-header {
  padding: 100px 52px 0;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 48px;
  background: var(--bg);
}
.oc-methods-header h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(60px, 9vw, 130px);
  line-height: 0.85; text-transform: uppercase; letter-spacing: 0.01em;
}
.oc-methods-header h2 .teal { color: var(--teal); display: block; }
.oc-methods-header h2 .il {
  display: block; font-family: 'Playfair Display', serif; font-style: italic;
  font-weight: 900; color: var(--red); font-size: 0.58em; letter-spacing: -0.01em;
}
.oc-methods-intro { max-width: 320px; font-size: 14px; color: var(--ink3); line-height: 1.75; font-weight: 300; padding-bottom: 12px; flex-shrink: 0; }

.oc-methods-grid {
  padding: 48px 52px 0;
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 2px; background: var(--lborder); margin-top: 48px;
}
.oc-method {
  background: var(--bg); padding: 52px 40px;
  display: flex; flex-direction: column; transition: background 0.25s;
}
.oc-method:hover { background: var(--bg2); }
.oc-method-abbr {
  font-family: 'Barlow Condensed', sans-serif; font-size: 72px; color: transparent;
  -webkit-text-stroke: 1px rgba(0,140,149,0.28); line-height: 1; margin-bottom: 16px;
}
.oc-method h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); line-height: 0.95; margin-bottom: 8px;
}
.oc-method .oc-method-full {
  font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--teal); margin-bottom: 16px;
}
.oc-method p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; flex: 1; }
.oc-method ul { list-style: none; margin-top: 16px; }
.oc-method li {
  padding: 8px 0; border-bottom: 1px solid var(--lborder);
  font-size: 13px; color: var(--ink3); font-weight: 300;
  display: flex; gap: 10px; align-items: flex-start;
}
.oc-method li::before { content: '→'; color: var(--teal); flex-shrink: 0; font-size: 11px; margin-top: 2px; }

/* Benefits deep dive — teal band */
.oc-benefits {
  background: var(--teal); padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start;
  margin-top: 2px;
}
.oc-benefits h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 5.5vw, 88px); line-height: 0.85; text-transform: uppercase; color: var(--pure);
  margin-bottom: 32px;
}
.oc-benefits-right p {
  font-size: 16px; color: rgba(255,255,255,0.88); line-height: 1.8; font-weight: 300; margin-bottom: 16px;
}
.oc-benefit-list { margin-top: 28px; display: flex; flex-direction: column; gap: 0; }
.oc-benefit-item {
  padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,0.18);
  font-size: 14px; color: rgba(255,255,255,0.82); font-weight: 300; line-height: 1.65;
  display: flex; gap: 16px; align-items: flex-start;
}
.oc-benefit-item::before { content: '→'; color: var(--pure); font-weight: 700; flex-shrink: 0; }

/* How it works — two OCI forms */
.oc-how {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: start; background: var(--bg);
}
.oc-how-left h2 {
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(44px, 4.5vw, 72px);
  line-height: 0.9; text-transform: uppercase; margin-bottom: 28px; color: var(--ink);
}
.oc-how-left h2 em { font-style: italic; font-family: 'Playfair Display', serif; color: var(--teal); font-size: 0.72em; }
.oc-how-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 28px; }
.oc-forms-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--lborder); }
.oc-form {
  background: var(--bg2); padding: 48px 40px; transition: background 0.2s;
}
.oc-form:hover { background: var(--bg3); }
.oc-form-tag {
  font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--teal); margin-bottom: 16px;
}
.oc-form h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 14px; line-height: 0.95;
}
.oc-form p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; }
.oc-accreditation {
  grid-column: span 2; background: var(--bg3); padding: 36px 40px;
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
}
.oc-accreditation p { font-size: 14px; color: var(--ink2); line-height: 1.7; font-weight: 300; max-width: 600px; }
.oc-accreditation strong { color: var(--white); font-weight: 600; }

/* Testimonials */
.oc-testimonials {
  background: var(--bg2); border-top: 1px solid var(--lborder);
  padding: 80px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
}
.oc-testi {
  background: var(--bg2); padding: 52px 44px; border-right: 1px solid var(--lborder);
}
.oc-testi:last-child { border-right: none; }
.oc-testi-quote {
  font-size: 16px; color: var(--ink2); line-height: 1.8; font-weight: 300;
  font-style: italic; margin-bottom: 28px;
}
.oc-testi-quote::before {
  content: '"'; font-family: 'Playfair Display', serif; font-size: 56px;
  color: var(--teal); line-height: 0.5; display: block; margin-bottom: 20px;
}
.oc-testi-attr strong { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white); margin-bottom: 4px; }
.oc-testi-attr span { font-size: 12px; color: var(--dimmer); }

/* CTA */
.oc-cta {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center;
  border-top: 1px solid var(--lborder); background: var(--bg);
}
.oc-cta h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 6vw, 96px); line-height: 0.85; text-transform: uppercase;
  color: var(--ink); margin-bottom: 20px;
}
.oc-cta h2 .teal { color: var(--teal); display: block; }
.oc-cta p { font-size: 16px; color: var(--ink3); line-height: 1.75; font-weight: 300; max-width: 560px; }
.oc-cta-btns { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; flex-shrink: 0; }

/* ════════════════════════════════
   CHANGE MANAGEMENT PAGE
════════════════════════════════ */
.cm-hero {
  min-height: 100vh; padding: 68px 0 0;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
}
.cm-hero-left {
  background: var(--bg); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
  border-right: 1px solid var(--border); position: relative; overflow: hidden;
}
.cm-hero-bg {
  position: absolute; bottom: -40px; left: -20px;
  font-family: 'Barlow Condensed', sans-serif; font-size: clamp(160px, 6.0vw, 170px);
  color: transparent; -webkit-text-stroke: 1px rgba(244,54,76,0.06);
  pointer-events: none; user-select: none; line-height: 1; white-space: nowrap;
}
.cm-hero-left h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(52px, 5vw, 80px);
  line-height: 0.9; letter-spacing: 0.01em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 32px; position: relative; z-index: 1;
}
.cm-hero-left h1 .red  { color: var(--red); display: block; }
.cm-hero-left h1 .il {
  font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900;
  color: var(--teal); font-size: 0.62em; display: block; letter-spacing: -0.01em;
}
.cm-hero-right {
  background: var(--ob); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
}
.cm-stat-stack { display: flex; flex-direction: column; gap: 2px; margin-bottom: 48px; }
.cm-stat-row {
  background: var(--dark); padding: 24px 28px;
  display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 24px;
  transition: background 0.2s;
}
.cm-stat-row:hover { background: #252828; }
.cm-stat-num { font-family: 'Barlow Condensed', sans-serif; font-size: 52px; line-height: 1; letter-spacing: 0.04em; }
.cm-stat-row:nth-child(1) .cm-stat-num { color: var(--red); }
.cm-stat-row:nth-child(2) .cm-stat-num { color: var(--teal); }
.cm-stat-row:nth-child(3) .cm-stat-num { color: var(--white); }
.cm-stat-body strong { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white); margin-bottom: 4px; }
.cm-stat-body span { font-size: 13px; color: var(--dimmer); font-weight: 300; }

/* The truth band */
.cm-truth {
  background: var(--red); padding: 72px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center;
}
.cm-truth h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 5.5vw, 88px); line-height: 0.85; text-transform: uppercase; color: var(--pure);
}
.cm-truth-right p {
  font-size: 18px; color: rgba(255,255,255,0.9); line-height: 1.8; font-weight: 300; margin-bottom: 16px;
}

/* 9-step process */
.cm-steps-header {
  padding: 100px 52px 0;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 48px;
  background: var(--bg);
}
.cm-steps-header h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(60px, 9vw, 130px);
  line-height: 0.9; text-transform: uppercase; letter-spacing: 0.02em; color: var(--ink);
}
.cm-steps-header h2 .red { color: var(--red); display: block; }
.cm-steps-header h2 .il {
  display: block; font-family: 'Playfair Display', serif; font-style: italic;
  font-weight: 900; color: var(--teal); font-size: 0.58em; letter-spacing: -0.01em;
}
.cm-steps-intro { max-width: 320px; font-size: 14px; color: var(--ink3); line-height: 1.75; font-weight: 300; padding-bottom: 12px; flex-shrink: 0; }

.cm-steps-grid {
  padding: 48px 52px 0;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 2px; background: var(--lborder); margin-top: 48px;
}
.cm-step {
  background: var(--bg); padding: 48px 36px;
  display: flex; flex-direction: column; transition: background 0.25s;
}
.cm-step:hover { background: var(--bg2); }
.cm-step-num {
  font-family: 'Barlow Condensed', sans-serif; font-size: 80px; color: transparent;
  -webkit-text-stroke: 1px rgba(244,54,76,0.22); line-height: 1; margin-bottom: 16px;
}
.cm-step h3 {
  font-family: 'Barlow Condensed', sans-serif; font-size: 42px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); line-height: 0.95; margin-bottom: 14px;
}
.cm-step p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; flex: 1; }

/* Scope band — red like PRISM's monday section */
.cm-scope {
  background: var(--bg2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start;
  margin-top: 2px;
}
.cm-scope-left h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(60px, 5.0vw, 80px); line-height: 0.88; text-transform: uppercase; margin-bottom: 32px; color: var(--ink);
}
.cm-scope-left h2 .red { color: var(--red); }
.cm-scope-left h2 .il {
  display: block; font-family: 'Playfair Display', serif; font-style: italic;
  font-weight: 900; color: var(--teal); font-size: 0.72em;
}
.cm-scope-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 16px; }
.cm-scope-right { display: flex; flex-direction: column; gap: 2px; }
.cm-scope-item {
  background: var(--bg3); padding: 24px 28px;
  display: flex; gap: 20px; align-items: flex-start; transition: background 0.2s;
}
.cm-scope-item:hover { background: var(--bg2); }
.cm-scope-icon {
  font-family: 'Barlow Condensed', sans-serif; font-size: 36px; color: var(--red);
  line-height: 1; flex-shrink: 0; width: 44px;
}
.cm-scope-item strong { display: block; font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 4px; letter-spacing: 0.03em; }
.cm-scope-item span { font-size: 13px; color: var(--ink3); font-weight: 300; line-height: 1.55; }

/* Approach section */
.cm-approach {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; background: var(--bg);
}
.cm-approach h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(64px, 5.5vw, 88px); line-height: 0.85; text-transform: uppercase; margin-bottom: 32px; color: var(--ink);
}
.cm-approach h2 .teal { color: var(--teal); display: block; }
.cm-approach-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 16px; }
.cm-pillars { display: flex; flex-direction: column; gap: 2px; }
.cm-pillar {
  background: var(--bg2); padding: 28px 32px;
  display: flex; gap: 24px; align-items: flex-start; transition: background 0.2s;
}
.cm-pillar:hover { background: var(--bg3); }
.cm-pillar-letter {
  font-family: 'Barlow Condensed', sans-serif; font-size: 44px; color: var(--teal);
  line-height: 1; flex-shrink: 0; width: 40px;
}
.cm-pillar strong { display: block; font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 4px; letter-spacing: 0.04em; text-transform: uppercase; }
.cm-pillar span { font-size: 13px; color: var(--ink3); font-weight: 300; line-height: 1.6; }

/* Testimonials */
.cm-testimonials {
  background: var(--bg2); border-top: 1px solid var(--lborder);
  padding: 80px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
}
.cm-testi {
  background: var(--bg2); padding: 52px 44px; border-right: 1px solid var(--lborder);
}
.cm-testi:last-child { border-right: none; }
.cm-testi-quote {
  font-size: 16px; color: var(--ink2); line-height: 1.8; font-weight: 300;
  font-style: italic; margin-bottom: 28px;
}
.cm-testi-quote::before {
  content: '"'; font-family: 'Playfair Display', serif; font-size: 56px;
  color: var(--red); line-height: 0.5; display: block; margin-bottom: 20px;
}
.cm-testi-attr strong { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white); margin-bottom: 4px; }
.cm-testi-attr span { font-size: 12px; color: var(--dimmer); }

/* CTA */
.cm-cta {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center;
  border-top: 1px solid var(--lborder); background: var(--bg);
}
.cm-cta h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(48px, 6vw, 96px); line-height: 0.85; text-transform: uppercase;
  color: var(--ink); margin-bottom: 20px;
}
.cm-cta h2 .red { color: var(--red); display: block; }
.cm-cta p { font-size: 16px; color: var(--ink3); line-height: 1.75; font-weight: 300; max-width: 560px; }
.cm-cta-btns { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; flex-shrink: 0; }

/* ════════════════════════════════
   STRATEGY PAGE
════════════════════════════════ */
.st-hero {
  min-height: 100vh; padding: 68px 0 0;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
}
.st-hero-left {
  background: var(--bg); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
  border-right: 1px solid var(--lborder); position: relative; overflow: hidden;
}
.st-hero-bg {
  position: absolute; bottom: -40px; left: -20px;
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  font-size: clamp(160px, 6.0vw, 170px);
  color: transparent; -webkit-text-stroke: 1px rgba(0,140,149,0.07);
  pointer-events: none; user-select: none; line-height: 1; white-space: nowrap;
}
.st-hero-left h1 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  font-size: clamp(50px, 4.8vw, 74px);
  line-height: 0.9; letter-spacing: 0.01em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 32px; position: relative; z-index: 1;
}
.st-hero-left h1 .teal { color: var(--teal); display: block; }
.st-hero-left h1 .il {
  font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900;
  color: var(--red); font-size: 0.62em; display: block; letter-spacing: -0.01em;
}
.st-hero-right {
  background: var(--ob); padding: 100px 64px 80px;
  display: flex; flex-direction: column; justify-content: flex-end;
}
.st-stat-stack { display: flex; flex-direction: column; gap: 2px; margin-bottom: 48px; }
.st-stat-row {
  background: var(--dark); padding: 24px 28px;
  display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 24px;
  transition: background 0.2s;
}
.st-stat-row:hover { background: #252828; }
.st-stat-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 52px; line-height: 1; letter-spacing: 0.04em; }
.st-stat-row:nth-child(1) .st-stat-num { color: var(--teal); }
.st-stat-row:nth-child(2) .st-stat-num { color: var(--red); }
.st-stat-row:nth-child(3) .st-stat-num { color: var(--white); }
.st-stat-body strong { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white); margin-bottom: 4px; }
.st-stat-body span { font-size: 13px; color: var(--dimmer); font-weight: 300; }

/* What strategy means band */
.st-truth {
  background: var(--teal); padding: 72px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center;
}
.st-truth h2 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  font-size: clamp(48px, 5.5vw, 88px); line-height: 0.9; text-transform: uppercase; color: var(--pure);
}
.st-truth-right p { font-size: 18px; color: rgba(255,255,255,0.9); line-height: 1.8; font-weight: 300; margin-bottom: 16px; }

/* 4-step strategic process */
.st-steps-header {
  padding: 100px 52px 0;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 48px;
  background: var(--bg);
}
.st-steps-header h2 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  font-size: clamp(60px, 9vw, 130px);
  line-height: 0.9; text-transform: uppercase; letter-spacing: 0.02em; color: var(--ink);
}
.st-steps-header h2 .teal { color: var(--teal); display: block; }
.st-steps-header h2 .il {
  display: block; font-family: 'Playfair Display', serif; font-style: italic;
  font-weight: 900; color: var(--red); font-size: 0.58em; letter-spacing: -0.01em;
}
.st-steps-intro { max-width: 320px; font-size: 14px; color: var(--ink3); line-height: 1.75; font-weight: 300; padding-bottom: 12px; flex-shrink: 0; }
.st-steps-grid {
  padding: 48px 52px 0;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 2px; background: var(--lborder); margin-top: 48px;
}
.st-step {
  background: var(--bg); padding: 52px 36px;
  display: flex; flex-direction: column; transition: background 0.25s;
}
.st-step:hover { background: var(--bg2); }
.st-step-num {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 80px;
  color: transparent; -webkit-text-stroke: 1px rgba(0,140,149,0.22);
  line-height: 1; margin-bottom: 16px;
}
.st-step h3 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 42px;
  letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); line-height: 0.95; margin-bottom: 14px;
}
.st-step p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; flex: 1; }

/* What makes us different */
.st-diff {
  background: var(--red); padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start;
  margin-top: 2px;
}
.st-diff h2 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  font-size: clamp(48px, 5.5vw, 88px); line-height: 0.85; text-transform: uppercase; color: var(--pure);
}
.st-diff-right p { font-size: 17px; color: rgba(255,255,255,0.88); line-height: 1.8; font-weight: 300; margin-bottom: 18px; }
.st-diff-list { margin-top: 36px; display: flex; flex-direction: column; gap: 0; }
.st-diff-item {
  padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,0.18);
  font-size: 14px; color: rgba(255,255,255,0.82); font-weight: 300; line-height: 1.65;
  display: flex; gap: 16px; align-items: flex-start;
}
.st-diff-item::before { content: '→'; color: var(--pure); font-weight: 700; flex-shrink: 0; }

/* Strategic pillars */
.st-pillars {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: start;
  background: var(--bg);
}
.st-pillars-left h2 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  font-size: clamp(44px, 4.5vw, 72px); line-height: 0.9; text-transform: uppercase; margin-bottom: 28px; color: var(--ink);
}
.st-pillars-left h2 em { font-style: italic; font-family: 'Playfair Display', serif; color: var(--teal); font-size: 0.72em; }
.st-pillars-left p { font-size: 15px; color: var(--ink2); line-height: 1.8; font-weight: 300; margin-bottom: 32px; }
.st-pillars-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--lborder); }
.st-pillar {
  background: var(--bg2); padding: 44px 36px; transition: background 0.2s;
}
.st-pillar:hover { background: var(--bg3); }
.st-pillar-num {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 52px;
  color: var(--teal); line-height: 1; margin-bottom: 12px; letter-spacing: 0.04em;
}
.st-pillar h3 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 42px;
  letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 12px; line-height: 0.95;
}
.st-pillar p { font-size: 13px; color: var(--ink3); line-height: 1.65; font-weight: 300; }

/* Testimonial */
.st-testi-band {
  background: var(--bg2); border-top: 1px solid var(--lborder);
  padding: 80px 52px;
}
.st-testi-inner { max-width: 800px; margin: 0 auto; text-align: center; }
.st-testi-quote {
  font-family: 'Playfair Display', serif; font-style: italic;
  font-size: clamp(20px, 2.5vw, 28px); color: var(--ink2); line-height: 1.65; margin-bottom: 32px;
}
.st-testi-quote::before {
  content: '"'; display: block; font-size: 80px; color: var(--teal);
  line-height: 0.6; margin-bottom: 24px;
}
.st-testi-attr strong { font-size: 12px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--teal); display: block; }
.st-testi-attr span { font-size: 12px; color: var(--ink3); }

/* CTA */
.st-cta {
  padding: 100px 52px;
  display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center;
  border-top: 1px solid var(--lborder); background: var(--bg);
}
.st-cta h2 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  font-size: clamp(48px, 6vw, 96px); line-height: 0.85; text-transform: uppercase;
  color: var(--ink); margin-bottom: 20px;
}
.st-cta h2 .teal { color: var(--teal); display: block; }
.st-cta p { font-size: 16px; color: var(--ink3); line-height: 1.75; font-weight: 300; max-width: 560px; }
.st-cta-btns { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; flex-shrink: 0; }


/* ════════════════════════════════
   AWARD-LEVEL ANIMATIONS
════════════════════════════════ */

/* Hero text reveal — staggered line slide-up */
@keyframes heroLineUp {
  from { opacity: 0; transform: translateY(60px) rotate(1deg); }
  to   { opacity: 1; transform: translateY(0) rotate(0deg); }
}
.hero h1 .anim-line {
  display: block;
  overflow: hidden;
}
.hero h1 .anim-line > span {
  display: block;
  animation: heroLineUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.hero h1 .anim-line:nth-child(1) > span { animation-delay: 0.1s; }
.hero h1 .anim-line:nth-child(2) > span { animation-delay: 0.25s; }
.hero h1 .anim-line:nth-child(3) > span { animation-delay: 0.4s; }
.hero h1 .anim-line:nth-child(4) > span { animation-delay: 0.55s; }

/* Eyebrow fade-slide */
@keyframes fadeRight {
  from { opacity: 0; transform: translateX(-24px); }
  to   { opacity: 1; transform: translateX(0); }
}
.hero .eyebrow { animation: fadeRight 0.8s cubic-bezier(0.16,1,0.3,1) 0.05s both; }

/* Hero footer rise */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hero-footer { animation: fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.8s both; }

/* Background word slow drift */
@keyframes bgDrift {
  0%   { transform: translateX(0); opacity: 0; }
  15%  { opacity: 1; }
  100% { transform: translateX(40px); opacity: 1; }
}
.hero-bg-word { animation: bgDrift 8s ease-out 0.3s both; }

/* ── ANIMATED GEOMETRIC GRAPHIC — orbiting brand rings ── */
.hero-graphic {
  position: absolute;
  top: 50%;
  right: 6vw;
  transform: translateY(-58%);
  width: clamp(280px, 30vw, 520px);
  height: clamp(280px, 30vw, 520px);
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  animation: graphicIn 1.4s cubic-bezier(0.16,1,0.3,1) 0.6s forwards;
}
@keyframes graphicIn {
  from { opacity: 0; transform: translateY(-52%) scale(0.85); }
  to   { opacity: 1; transform: translateY(-58%) scale(1); }
}
.hg-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid;
}
.hg-ring-1 {
  border-color: rgba(244,54,76,0.35);
  animation: spinSlow 24s linear infinite;
}
.hg-ring-2 {
  inset: 12%;
  border-color: rgba(0,140,149,0.4);
  border-style: dashed;
  animation: spinSlow 36s linear infinite reverse;
}
.hg-ring-3 {
  inset: 26%;
  border-color: rgba(84,88,90,0.25);
  animation: spinSlow 48s linear infinite;
}
@keyframes spinSlow { to { transform: rotate(360deg); } }

/* Orbit dots riding the rings */
.hg-dot {
  position: absolute;
  width: 14px; height: 14px;
  border-radius: 50%;
  top: -7px; left: 50%;
  margin-left: -7px;
}
.hg-dot-red  { background: var(--red); box-shadow: 0 0 24px rgba(244,54,76,0.6); }
.hg-dot-teal { background: var(--teal); box-shadow: 0 0 24px rgba(0,140,149,0.6); width: 10px; height: 10px; top: -5px; margin-left: -5px; }
.hg-dot-gray { background: var(--gray); width: 8px; height: 8px; top: -4px; margin-left: -4px; }

/* Center pulse mark — the ephektiv dot */
.hg-center {
  position: absolute;
  top: 50%; left: 50%;
  width: 18px; height: 18px;
  margin: -9px 0 0 -9px;
  border-radius: 50%;
  background: var(--red);
  animation: centerPulse 3s ease-in-out infinite;
}
@keyframes centerPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(244,54,76,0.35); }
  50%      { box-shadow: 0 0 0 28px rgba(244,54,76,0); }
}

/* Floating cross-hair accents */
.hg-cross {
  position: absolute;
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  color: rgba(84,88,90,0.4);
  font-size: 18px;
  animation: floatY 5s ease-in-out infinite;
}
.hg-cross-1 { top: 8%; left: -8%; animation-delay: 0s; }
.hg-cross-2 { bottom: 4%; right: -4%; animation-delay: 1.6s; color: rgba(0,140,149,0.45); }
.hg-cross-3 { top: 40%; right: -12%; animation-delay: 3.1s; color: rgba(244,54,76,0.4); }
@keyframes floatY {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-14px); }
}

/* ── SCROLL-TRIGGERED REVEALS (site-wide) ── */
.reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.8s cubic-bezier(0.16,1,0.3,1), transform 0.8s cubic-bezier(0.16,1,0.3,1);
}
.reveal.in {
  opacity: 1;
  transform: translateY(0);
}
/* Stagger children inside grids */
.reveal-stagger > * {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
.reveal-stagger.in > * { opacity: 1; transform: translateY(0); }
.reveal-stagger.in > *:nth-child(1) { transition-delay: 0.05s; }
.reveal-stagger.in > *:nth-child(2) { transition-delay: 0.12s; }
.reveal-stagger.in > *:nth-child(3) { transition-delay: 0.19s; }
.reveal-stagger.in > *:nth-child(4) { transition-delay: 0.26s; }
.reveal-stagger.in > *:nth-child(5) { transition-delay: 0.33s; }
.reveal-stagger.in > *:nth-child(6) { transition-delay: 0.4s; }
.reveal-stagger.in > *:nth-child(7) { transition-delay: 0.47s; }
.reveal-stagger.in > *:nth-child(8) { transition-delay: 0.54s; }
.reveal-stagger.in > *:nth-child(9) { transition-delay: 0.61s; }

/* Buttons get a subtle lift micro-interaction */
.btn { will-change: transform; }
.btn:active { transform: translateY(1px) scale(0.98); }

/* Card hover lift across the site */
.sol, .a-card, .acl-tier, .prism-diff-card, .ac-skill, .lft-obj, .acl-step, .cm-step, .oc-method, .st-step, .pillar-card, .ind-card, .team-card, .testi {
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), background 0.25s, box-shadow 0.35s;
}
.sol:hover, .a-card:hover, .acl-tier:hover, .prism-diff-card:hover, .ac-skill:hover, .lft-obj:hover, .acl-step:hover, .cm-step:hover, .oc-method:hover, .st-step:hover, .pillar-card:hover, .ind-card:hover, .team-card:hover, .testi:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.12);
}

/* Reduced motion respect */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .reveal, .reveal-stagger > * { opacity: 1; transform: none; }
}

@media (max-width: 960px) {
  .hero-graphic { display: none; }
}


/* ─── RESPONSIVE ─── */
@media (max-width: 960px) {
  nav { padding: 0 24px; }
  .nav-links { display: none; }
  .nav-cta { display: none; }
  .hamburger { display: flex; }
  .hero-content { padding: 60px 24px 0; }
  .hero-footer { padding: 28px 24px 48px; flex-direction: column; align-items: flex-start; gap: 28px; }
  .assessments { grid-template-columns: 1fr; padding: 32px 24px 0; gap: 12px; }
  .solutions-header { padding: 72px 24px 0; flex-direction: column; align-items: flex-start; }
  .solutions-grid, .sol-page-grid { padding: 32px 24px 72px; }
  .solutions-grid { grid-template-columns: 1fr; }
  .philosophy { grid-template-columns: 1fr; }
  .phil-left { border-right: none; border-bottom: 1px solid var(--border); padding: 64px 24px; }
  .phil-right { padding: 64px 24px; }
  .safety-section, .safety-principles-section { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .safety-pillars, .team-grid, .testi-grid, .tool-grid { grid-template-columns: 1fr; }
  .safety-pillars, .team-section, .assessments-section, .testimonials, .contact-layout { padding: 60px 24px 80px; }
  .prism-hero { grid-template-columns: 1fr; }
  .prism-hero-left, .prism-hero-right { padding: 80px 24px 56px; border-right: none; }
  .prism-hero-right { border-top: 1px solid var(--border); }
  .ac-hero { grid-template-columns: 1fr; }
  .ac-hero-left, .ac-hero-right { padding: 80px 24px 56px; border-right: none; }
  .ac-hero-right { border-top: 1px solid var(--border); }
  .ac-skills-header { padding: 72px 24px 0; flex-direction: column; align-items: flex-start; gap: 24px; }
  .ac-skills-grid { grid-template-columns: 1fr 1fr; padding: 32px 24px 0; }
  .lft-hero { grid-template-columns: 1fr; }
  .lft-hero-left, .lft-hero-right { padding: 80px 24px 56px; border-right: none; }
  .lft-hero-right { border-top: 1px solid var(--border); }
  .lft-obj-header { padding: 72px 24px 0; flex-direction: column; align-items: flex-start; gap: 24px; }
  .lft-obj-grid { grid-template-columns: 1fr 1fr; padding: 32px 24px 0; }
  .acl-hero { grid-template-columns: 1fr; }
  .acl-hero-left, .acl-hero-right { padding: 80px 24px 56px; border-right: none; }
  .acl-hero-right { border-top: 1px solid var(--border); }
  .acl-steps-header { padding: 72px 24px 0; flex-direction: column; align-items: flex-start; gap: 24px; }
  .acl-steps-grid { grid-template-columns: 1fr 1fr; padding: 32px 24px 0; }
  .oc-hero { grid-template-columns: 1fr; }
  .oc-hero-left, .oc-hero-right { padding: 80px 24px 56px; border-right: none; }
  .oc-hero-right { border-top: 1px solid var(--border); }
  .oc-definition { grid-template-columns: 1fr; padding: 60px 24px; gap: 32px; }
  .oc-def-quote { font-size: clamp(48px, 5.5vw, 80px); white-space: normal; }
  .oc-methods-header { padding: 72px 24px 0; flex-direction: column; align-items: flex-start; gap: 24px; }
  .oc-methods-grid { grid-template-columns: 1fr; padding: 32px 24px 0; }
  .oc-benefits { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .oc-how { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .oc-forms-grid { grid-template-columns: 1fr; }
  .oc-accreditation { grid-column: span 1; flex-direction: column; align-items: flex-start; }
  .oc-testimonials { grid-template-columns: 1fr; padding: 60px 24px; }
  .oc-testi { border-right: none; border-bottom: 1px solid var(--border); }
  .oc-cta { grid-template-columns: 1fr; padding: 64px 24px; gap: 40px; }
  .cm-hero { grid-template-columns: 1fr; }
  .cm-hero-left, .cm-hero-right { padding: 80px 24px 56px; border-right: none; }
  .cm-hero-right { border-top: 1px solid var(--border); }
  .cm-truth { grid-template-columns: 1fr; padding: 60px 24px; gap: 36px; }
  .cm-steps-header { padding: 72px 24px 0; flex-direction: column; align-items: flex-start; gap: 24px; }
  .cm-steps-grid { grid-template-columns: 1fr 1fr; padding: 32px 24px 0; }
  .cm-scope { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .cm-approach { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .cm-testimonials { grid-template-columns: 1fr; padding: 60px 24px; }
  .cm-testi { border-right: none; border-bottom: 1px solid var(--border); }
  .cm-cta { grid-template-columns: 1fr; padding: 64px 24px; gap: 40px; }
  .st-hero { grid-template-columns: 1fr; }
  .st-hero-left, .st-hero-right { padding: 80px 24px 56px; border-right: none; }
  .st-hero-right { border-top: 1px solid var(--border); }
  .st-truth { grid-template-columns: 1fr; padding: 60px 24px; gap: 36px; }
  .st-steps-header { padding: 72px 24px 0; flex-direction: column; align-items: flex-start; gap: 24px; }
  .st-steps-grid { grid-template-columns: 1fr 1fr; padding: 32px 24px 0; }
  .st-diff { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .st-pillars { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .st-pillars-grid { grid-template-columns: 1fr; }
  .st-testi-band { padding: 60px 24px; }
  .st-cta { grid-template-columns: 1fr; padding: 64px 24px; gap: 40px; }
  .acl-outcomes-band { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .acl-who { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .acl-who-grid { grid-template-columns: 1fr; }
  .acl-pricing { padding: 64px 24px; }
  .acl-pricing-tiers { grid-template-columns: 1fr; }
  .acl-booking { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .acl-field-row { grid-template-columns: 1fr; }
  .acl-time-grid { grid-template-columns: 1fr; }
  .acl-cta { grid-template-columns: 1fr; padding: 64px 24px; gap: 40px; }
  .acl-testi-band { padding: 60px 24px; }
  .lft-deepdive { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .lft-delivery { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .lft-format-grid { grid-template-columns: 1fr; }
  .lft-testimonials { grid-template-columns: 1fr; padding: 60px 24px; }
  .lft-testi { border-right: none; border-bottom: 1px solid var(--border); }
  .lft-cta { grid-template-columns: 1fr; padding: 64px 24px; gap: 40px; }
  .ac-deepdive { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .ac-delivery { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .ac-format-grid { grid-template-columns: 1fr; }
  .ac-testimonials { grid-template-columns: 1fr; padding: 60px 24px; }
  .ac-testi { border-right: none; border-bottom: 1px solid var(--border); }
  .ac-cta { grid-template-columns: 1fr; padding: 64px 24px; gap: 40px; }
  .prism-framework { grid-template-columns: 1fr; padding: 0 24px; }
  .prism-exprs { grid-template-columns: 1fr; }
  .prism-diff-header { padding: 72px 24px 0; }
  .prism-diff-grid { grid-template-columns: 1fr; padding: 32px 24px 0; }
  .prism-vs, .prism-for, .prism-monday, .prism-cta { grid-template-columns: 1fr; padding: 64px 24px; gap: 48px; }
  .prism-use-grid { grid-template-columns: 1fr; }
  .other-tools-section { padding: 64px 24px 80px; }
  .other-tools-grid { grid-template-columns: 1fr; }
  .other-tools-section .ot-header { flex-direction: column; align-items: flex-start; }
  .other-tools-section .ot-note { text-align: left; }
  .leadership-details, .industries, .about-grid, .contact-layout, .stats-band { grid-template-columns: 1fr; }
  .about-block.full, .ld-block.full, .fw-wide { grid-column: span 1; }
  .sol-page-item { grid-template-columns: 1fr; gap: 16px; padding: 36px 24px; }
  .sol-page-num { font-size: 48px; }
  .assessment-cta-band { flex-direction: column; padding: 60px 24px; }
  .safety-speed { padding: 0 24px; }
  .safety-speed-top { grid-template-columns: 1fr; padding: 72px 0 48px; gap: 40px; }
  .safety-afe, .safety-vs { grid-template-columns: 1fr; }
  .safety-stat-bar { grid-template-columns: 1fr 1fr; }
  .footer-cols { grid-template-columns: 1fr 1fr; }
  footer { padding: 56px 24px 32px; }
  .section-tag { padding: 0 24px; }
  .page-hero { padding: 88px 24px 60px; }
  .contact-form { padding: 32px 24px; }
  .form-row { grid-template-columns: 1fr; }

  /* ── MOBILE LIGHT THEME: convert dark split-hero right panels to light ── */
  .ac-hero-right, .lft-hero-right, .acl-hero-right,
  .oc-hero-right, .cm-hero-right, .st-hero-right, .prism-hero-right {
    background: var(--bg2) !important;
    border-top: 1px solid var(--lborder) !important;
  }
  /* Stat rows inside those panels → light cards */
  .ac-stat-row, .lft-stat-row, .acl-stat-row,
  .oc-stat-row, .cm-stat-row, .st-stat-row {
    background: var(--bg) !important;
  }
  .ac-stat-row:hover, .lft-stat-row:hover, .acl-stat-row:hover,
  .oc-stat-row:hover, .cm-stat-row:hover, .st-stat-row:hover {
    background: var(--bg3) !important;
  }
  .ac-stat-body strong, .lft-stat-body strong, .acl-stat-body strong,
  .oc-stat-body strong, .cm-stat-body strong, .st-stat-body strong {
    color: var(--ink) !important;
  }
  .ac-stat-body span, .lft-stat-body span, .acl-stat-body span,
  .oc-stat-body span, .cm-stat-body span, .st-stat-body span {
    color: var(--ink3) !important;
  }
  /* The descriptive paragraph at the bottom of right panels */
  .ac-hero-right > p, .lft-hero-right > p, .acl-hero-right > p,
  .oc-hero-right > p, .cm-hero-right > p, .st-hero-right > p {
    color: var(--ink2) !important;
  }

  /* PRISM hero right panel (problem statement) → light */
  .prism-hero-right p { color: var(--ink2) !important; }
  .prism-problem { color: var(--ink) !important; }
  .prism-bg-letters { -webkit-text-stroke-color: rgba(244,54,76,0.06) !important; }

  /* Split-hero border-tops use light border on mobile */
  .ac-hero-right, .lft-hero-right, .acl-hero-right, .oc-hero-right,
  .cm-hero-right, .st-hero-right, .prism-hero-right { border-top: 1px solid var(--lborder) !important; }

  /* Stacked-card border separators → light */
  .phil-left, .oc-testi, .cm-testi, .lft-testi, .ac-testi { border-color: var(--lborder) !important; }

  /* Tighten hero headline sizing on phones so it never overflows */
  .hero h1 { font-size: clamp(56px, 17vw, 96px) !important; }
  .page-hero h1 { font-size: clamp(44px, 13vw, 80px) !important; }
  .solutions-header h2 { font-size: clamp(52px, 15vw, 96px) !important; }

  /* Split-hero h1s on mobile */
  .ac-hero-left h1, .lft-hero-left h1, .cm-hero-left h1, .prism-hero-left h1 {
    font-size: clamp(52px, 15vw, 88px) !important;
  }
  /* Longer-word heroes get smaller mobile caps so words never break */
  .acl-hero-left h1, .st-hero-left h1 {
    font-size: clamp(44px, 12vw, 72px) !important;
  }
  .oc-hero-left h1 {
    font-size: clamp(36px, 9.5vw, 58px) !important;
  }

  /* Single-column step/skill grids stack cleanly */
  .ac-skills-grid, .lft-obj-grid, .acl-steps-grid, .cm-steps-grid, .st-steps-grid {
    grid-template-columns: 1fr !important;
  }

  /* Mobile menu always light */
  .mobile-menu { background: rgba(248,247,244,0.99) !important; }
  .mobile-menu a:not(.mobile-cta-link) { color: var(--ink) !important; }

  /* Marquee a touch smaller on mobile */
  .marquee-track .mi { font-size: 16px; padding: 0 24px; }

  /* Reduce oversized section padding on phones */
  .prism-framework .prism-layer { padding: 48px 24px; }
}

  /* Decorative oversized elements clipped on mobile */
  .a-card, .acl-step, .ac-skill, .lft-obj, .cm-step, .oc-method, .st-step, .prism-diff-card { overflow: hidden; }
  .a-card::before { font-size: 180px !important; bottom: -20px !important; }
  .hero-bg-word { font-size: clamp(140px, 40vw, 260px) !important; }

/* ── SMALL PHONES ── */
@media (max-width: 520px) {
  .hero h1 { font-size: clamp(48px, 16vw, 72px) !important; }
  .safety-stat-bar { grid-template-columns: 1fr 1fr; }
  .footer-cols { grid-template-columns: 1fr; }
  .stats-band { grid-template-columns: 1fr 1fr; }
  .a-stats { flex-wrap: wrap; gap: 20px; }
  .card-meta, .a-stats { gap: 18px; }
  nav { padding: 0 18px; }
  .hero-content, .hero-footer { padding-left: 18px; padding-right: 18px; }
  .acl-panel-header { padding: 20px 22px; }
  .acl-booking-form { padding: 24px 22px; }
  .btn { padding: 13px 22px; font-size: 10px; }
}