/* ==========================================================================
   site.css — Tyson Martin components layered on the baseline styles.css.
   Uses the same tokens (--dark, --accent, --text …); no new colors.
   ========================================================================== */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:0px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:8px;z-index:2000;background:var(--dark);color:#fff;padding:12px 16px;border-radius:var(--radius-sm)}
.skip-link:focus{left:12px}
.narrow{max-width:820px}
.narrow-wide{max-width:900px}
.center{text-align:center}
.small{font-size:var(--fs-small,.875rem)}
.h3{font-size:var(--fs-h3,1.5rem)}
.center-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.section-header.left{text-align:left;margin-left:0}
.section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.section-head-row h2{margin:8px 0 0}

/* ---------- Logo: transparent marks, no chip/box ever ---------- */
.site-header .logo,.site-header .logo.logo-chip-dark,.site-header .logo.logo-chip-light{background:none!important;padding:0!important}
.site-header .logo-img{height:44px;width:auto;max-width:150px}
.footer-logo.tm-footer-logo{width:220px;max-width:70%;height:auto;background:none!important;padding:0!important;border-radius:0;margin-bottom:20px}

/* ---------- Header: two CTAs top-right ---------- */
.header-actions{display:flex;align-items:center;gap:12px}
.header-actions .btn-sm{padding:12px 16px;font-size:.86rem;white-space:nowrap}
.desktop-nav .nav-link.active{color:var(--accent-dark)}
.mobile-menu .mm-sub{padding-left:28px;font-size:.95rem;opacity:.8}
.mobile-menu .btn + .btn{margin-top:12px}
@media(min-width:1024px) and (max-width:1240px){.header-actions .btn-outline-dark{display:none}}
.topbar-right a{display:inline-flex;align-items:center;gap:8px}

/* ---------- Heroes ---------- */
.tm-hero{position:relative;overflow:hidden;background:var(--dark);color:#fff;padding:120px 0 96px}
.tm-hero.hero-home{padding:152px 0 120px;min-height:min(86vh,820px);display:flex;align-items:center}
.tm-hero.hero-sm{padding:96px 0 72px}
.tm-hero .hero-dark-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(.9)}
.tm-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,27,43,.94) 0%,rgba(13,27,43,.78) 45%,rgba(13,27,43,.25) 100%);z-index:1}
.tm-hero .container{position:relative;z-index:2;width:100%}
.tm-hero .hero-content{max-width:780px}
.tm-hero h1{color:#fff;font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-.015em;margin:16px 0 20px}
.tm-hero.hero-home h1{font-size:clamp(2.1rem,1.5rem + 2.6vw,3.6rem)}
.tm-hero h1 .q{display:block;color:#fff;font-style:italic;font-weight:500;opacity:.92}
.tm-hero .hero-sub{color:rgba(255,255,255,.84);font-size:var(--fs-lede,1.15rem);max-width:680px}
.tm-hero .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.tm-hero .hero-note{margin-top:24px;color:rgba(255,255,255,.72);font-size:.98rem;max-width:620px;border-left:2px solid var(--accent);padding-left:16px}
.tm-hero .hero-label{display:inline-block;font-size:var(--fs-eyebrow,.8125rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.85}
.tm-hero .btn-outline{border-color:rgba(255,255,255,.55);color:#fff}
.tm-hero .btn-outline:hover{background:#fff;color:var(--dark)}

.hero-stats-bar{background:var(--dark-mid);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.hero-stats-bar .hero-ticker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.hero-stats-bar .ht-item{padding:28px 20px;border-left:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px}
.hero-stats-bar .ht-item:first-child{border-left:0}
.hero-stats-bar .ht-num{font-family:var(--font-display);font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem);font-weight:600;color:#fff;font-variant-numeric:tabular-nums;line-height:1}
.hero-stats-bar .ht-label{font-size:.88rem;color:rgba(255,255,255,.72)}
@media(max-width:760px){.hero-stats-bar .hero-ticker{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-stats-bar .ht-item:nth-child(3){border-left:0}.hero-stats-bar .ht-item{border-top:1px solid rgba(255,255,255,.08)}}

/* ---------- Logo walls ---------- */
.logo-wall{padding:44px 0;background:#fff;border-bottom:1px solid var(--border)}
.logo-wall.lw-edu{background:var(--surface);padding:64px 0}
.lw-title{text-align:center;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px}
.lw-sub{text-align:center;color:var(--text-secondary);margin:0 auto 8px;max-width:620px}
.lw-list{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px 48px}
.lw-item{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:96px}
.lw-item img{height:var(--h,30px);width:auto;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .3s var(--ease-hover),opacity .3s var(--ease-hover)}
.lw-item:hover img{filter:none;opacity:1}
.lw-item .wordmark{font-family:var(--font-display);font-size:1.18rem;font-weight:600;letter-spacing:.01em;color:#4a5260;white-space:nowrap}
.lw-cap{font-size:.74rem;color:var(--text-muted);text-align:center;max-width:150px;line-height:1.3}
.lw-edu .lw-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:36px 24px;max-width:1080px;margin-left:auto;margin-right:auto}
.lw-edu .lw-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:24px 12px 16px;min-height:118px;justify-content:center}
@media(max-width:900px){.lw-edu .lw-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.lw-edu .lw-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lw-list{gap:20px 32px}}

/* ---------- Split overrides ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.split-rev .split-media{order:2}
.split-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}
.split-media.logo-fit img{object-fit:contain!important;background:#fff;padding:5% 6%}
.split-body h2{margin-top:8px}
.split-body .btn{margin-top:12px}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:28px}.split.split-rev .split-media{order:0}}
.feature-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:12px}
.feature-list li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start}
.feature-list li svg{width:18px;height:18px;color:var(--accent);margin-top:4px}
.feature-list.on-dark li{color:rgba(255,255,255,.88)}
.pull{margin:24px 0 0;padding:20px 24px;border-left:3px solid var(--accent);background:var(--surface);font-family:var(--font-display);font-size:1.12rem;color:var(--text)}

/* ---------- Fortune 500 band ---------- */
.f500{background:radial-gradient(1200px 500px at 10% 0%,rgba(214,49,99,.12),transparent 60%),var(--dark)}
.f500-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:64px;align-items:start}
.f500-num{position:sticky;top:140px;border-left:3px solid var(--accent);padding-left:28px}
.f500-num .big{display:block;font-family:var(--font-display);font-size:clamp(4.5rem,3rem + 6vw,8rem);font-weight:600;line-height:.9;color:#fff;letter-spacing:-.03em}
.f500-num .lbl{display:block;font-size:1.2rem;color:#fff;margin-top:16px;line-height:1.4}
.f500-src{display:block;margin-top:12px;color:rgba(255,255,255,.6);font-size:.9rem}
.f500-body h2{color:#fff}
.f500-body p{color:rgba(255,255,255,.8)}
.rooms{list-style:none;padding:0;margin:20px 0;display:grid;gap:0}
.rooms li{padding:16px 0;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.8)}
.rooms li strong{color:#fff;font-weight:600}
.cred-line{font-size:.9rem;letter-spacing:.06em;color:rgba(255,255,255,.65)!important}
@media(max-width:900px){.f500-grid{grid-template-columns:1fr;gap:36px}.f500-num{position:static}}

/* ---------- Credential band ---------- */
.cred-band-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.cert-chips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cert-chips li{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 16px;display:flex;flex-direction:column;gap:4px}
.cert-chips .cb-name{font-weight:600;color:var(--text)}
.cert-chips .cb-body{font-size:.78rem;color:var(--text-muted);line-height:1.3}
@media(max-width:900px){.cred-band-grid{grid-template-columns:1fr}.cert-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Process / about ---------- */
.process-grid.process-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.process-step{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:32px 28px;position:relative}
.process-num{font-family:var(--font-display);font-size:2.2rem;color:var(--accent);font-weight:600;line-height:1;margin-bottom:12px}
@media(max-width:900px){.process-grid.process-3{grid-template-columns:1fr}}
.about-grid{display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:center;max-width:980px;margin:0 auto}
.about-photo{width:200px;height:200px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-md)}
.about-grid .card-link{margin-right:20px}
@media(max-width:700px){.about-grid{grid-template-columns:1fr;text-align:center}.about-photo{margin:0 auto;width:150px;height:150px}}

/* ---------- Testimonials / outcomes ---------- */
.testi-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start}
.testi-grid-1{grid-template-columns:1fr!important}
.testi-section .testi-card{margin:0}
.testi-quote{font-family:var(--font-display);font-size:1.25rem;line-height:1.55;margin:0 0 24px}
.testi-photo{width:56px;height:56px;border-radius:50%;object-fit:cover}
.outcomes{display:grid;gap:16px}
.outcome{border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;background:rgba(255,255,255,.02)}
.dark .outcome{border-color:rgba(255,255,255,.12)}
.outcome h3{font-size:1.05rem;margin:0 0 8px;font-family:var(--font-sans);font-weight:500}
.dark .outcome h3{color:#fff}
.dark .outcome p{color:rgba(255,255,255,.75)}
@media(max-width:900px){.testi-layout{grid-template-columns:1fr}}

/* ---------- Service cards / evidence / before-after ---------- */
.svc-grid{gap:20px}
.svc-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:28px 24px;display:flex;flex-direction:column;gap:8px}
.svc-card h3{font-size:1.15rem;margin:8px 0 4px}
.svc-card p{color:var(--text-secondary);flex:1}
.evidence-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:56px;align-items:start}
.evidence-grid h2{color:#fff}
@media(max-width:900px){.evidence-grid{grid-template-columns:1fr;gap:28px}}
.ba-grid{display:grid;grid-template-columns:1fr .7fr 1fr;gap:20px;align-items:stretch}
.ba-card,.ba-path{border-radius:var(--radius-md);padding:28px;border:1px solid var(--border);background:#fff}
.ba-after{background:var(--dark);color:#fff;border-color:var(--dark)}
.ba-after p{color:rgba(255,255,255,.88)}
.ba-path{background:transparent;border-style:dashed;display:flex;flex-direction:column;justify-content:center}
.ba-tag{display:inline-block;font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
@media(max-width:900px){.ba-grid{grid-template-columns:1fr}}

/* ---------- Proof ---------- */
.proof-nav{position:sticky;top:var(--header-h,72px);z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.proof-nav-inner{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.proof-nav a{flex:0 0 auto;display:flex;flex-direction:column;padding:8px 16px;border-radius:var(--radius-sm);font-weight:500;color:var(--text);font-size:.92rem}
.proof-nav a span{font-size:.72rem;color:var(--text-muted);font-weight:500;letter-spacing:.06em}
.proof-nav a:hover{background:var(--surface)}
.proof-block{scroll-margin-top:150px}
.proof-head{display:flex;align-items:center;gap:16px;margin:16px 0 4px}
.proof-logo{height:30px;width:auto;max-width:170px;object-fit:contain}
.proof-wordmark{font-family:var(--font-display);font-weight:600;font-size:1.25rem}
.proof-years{font-size:.8rem;font-weight:600;letter-spacing:.08em;color:var(--text-muted);border:1px solid var(--border);border-radius:40px;padding:4px 12px}
.proof-block h2{font-size:var(--fs-h3,1.6rem)}
.why{margin-top:20px;border-left:3px solid var(--accent);padding:4px 0 4px 20px}
.why span{display:block;font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dark)}
.why p{margin:8px 0 0;font-family:var(--font-display);font-size:1.1rem;color:var(--text)}
.cred-list{list-style:none;padding:0;margin:16px 0 24px;display:grid;gap:8px}
.cred-list li{color:rgba(255,255,255,.88);padding-left:20px;position:relative}
.cred-list li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--accent)}

/* ---------- Audiences ---------- */
.aud-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.aud-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column}
.aud-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.aud-body{padding:24px}
.aud-body h3{font-size:1.2rem}
@media(max-width:900px){.aud-grid{grid-template-columns:1fr}}
.stat-grid-light .stat-num{color:var(--text)}

/* ---------- Resources tools ---------- */
.tool-list{display:grid;gap:28px}
.tool{display:grid;grid-template-columns:.9fr 1.3fr;gap:44px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:28px}
.tool img{width:100%;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);aspect-ratio:4/3;object-fit:cover;object-position:top}
.tool-n{font-family:var(--font-display);font-size:1.6rem;color:var(--accent);font-weight:600}
.tool-quote{font-family:var(--font-display);font-style:italic;color:var(--text);border-left:2px solid var(--accent);padding-left:16px}
@media(max-width:900px){.tool{grid-template-columns:1fr;gap:20px}}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:12px 0 36px}
.pillar{border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);padding:24px}
.pillar-n{font-family:var(--font-display);color:var(--accent);font-size:1.4rem}
.pillar h3{color:#fff;font-size:1.15rem;margin:8px 0}
.pillar p{color:rgba(255,255,255,.75)}
@media(max-width:800px){.pillars{grid-template-columns:1fr}}
.news-form{display:flex;gap:8px;flex-wrap:wrap}
.news-form .form-control{flex:1 1 200px;min-width:0}
.news-form-lg{max-width:560px;margin:0 auto}
.news-note{font-size:.84rem;color:rgba(255,255,255,.65);margin-top:12px}
.news-note a{color:#fff;text-decoration:underline}
.news-note.center{text-align:center}

/* ---------- Scorecard / question pack ---------- */
.dims{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.dims-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dim{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:24px}
.dim-n{font-family:var(--font-display);color:var(--accent);font-size:1.5rem;font-weight:600}
.dim h3{font-size:1.04rem;margin:8px 0}
.dim p{font-size:.94rem;color:var(--text-secondary)}
@media(max-width:1000px){.dims,.dims-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dims,.dims-4{grid-template-columns:1fr}}
.gate-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.gate-grid>img{width:100%;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}
.gate-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:32px;box-shadow:var(--shadow-md)}
.gate-box .cta-form{padding:0;box-shadow:none;background:none;border:0}
@media(max-width:900px){.gate-grid{grid-template-columns:1fr}}

/* ---------- Interim phases ---------- */
.phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.phase{background:#fff;border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-md);padding:28px}
.phase-day{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.phase h3{margin:8px 0 12px;font-size:1.2rem}
.phase ul{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--text-secondary)}
@media(max-width:900px){.phases{grid-template-columns:1fr}}

/* ---------- Book ---------- */
.book-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start}
.cal-frame{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:#fff;box-shadow:var(--shadow-md)}
.cal-frame iframe{display:block;width:100%;height:720px;border:0}
.book-side{display:grid;gap:20px}
.contact-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:24px}
.contact-card.soft{background:var(--surface)}
.contact-card h3{font-size:1.1rem;margin:0 0 12px}
.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.contact-list li{display:flex;gap:12px;align-items:center}
.contact-list svg{width:18px;height:18px;color:var(--accent)}
.contact-card .cta-form{padding:0;box-shadow:none;background:none;border:0}
.contact-card .cta-form h3{display:none}
@media(max-width:900px){.book-grid{grid-template-columns:1fr}.cal-frame iframe{height:860px}}

/* ---------- Certifications page ---------- */
.cert-list{display:grid;gap:24px}
.cert-card{display:grid;grid-template-columns:150px 1fr;gap:36px;align-items:start;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:32px}
.cert-badge{display:flex;align-items:center;justify-content:center;background:var(--surface);border-radius:var(--radius-md);aspect-ratio:1;padding:16px}
.cert-badge img{max-width:100%;max-height:118px;object-fit:contain}
.cert-text h2{margin-top:0}
.cert-text p{color:var(--text-secondary)}
@media(max-width:700px){.cert-card{grid-template-columns:1fr;gap:16px}.cert-badge{max-width:140px}}

/* ---------- Generic sections ---------- */
.rich h1,.rich h2,.rich h3{font-family:var(--font-display)}
.rich h5{font-size:1.15rem;margin:0 0 8px}
.rich h6{font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dark);margin:0 0 8px}
.dark .rich,.dark .rich p,.dark .rich li{color:rgba(255,255,255,.85)}
.dark .rich h3,.dark .rich h2{color:#fff}
.narrow-rich{max-width:820px;margin:0 auto}
.mini-logos{list-style:none;padding:0;margin:28px auto 0;display:flex;flex-wrap:wrap;gap:28px 40px;justify-content:center;align-items:center;max-width:1000px}
.mini-logos img{height:46px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.8}
.mini-logos-wide{max-width:none;display:grid;grid-template-columns:repeat(8,1fr);gap:24px 32px}
.mini-logos-wide li{display:flex;align-items:center;justify-content:center;height:64px;min-width:0}
.mini-logos-wide img{width:auto;height:auto;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
@media(max-width:1100px){.mini-logos-wide{gap:20px 24px}.mini-logos-wide li{height:56px}}
@media(max-width:900px){.mini-logos-wide{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 36px}.mini-logos-wide li{width:120px;height:52px}}
.img-row{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.img-row img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md)}
.logo-row-sec{padding:36px 0;background:#fff;border-bottom:1px solid var(--border)}

/* ---------- Article cards / hub ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:1000px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.post-grid{grid-template-columns:1fr}}
.post-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s var(--ease-hover),transform .3s var(--ease-hover)}
.post-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.post-card-media img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.post-card-body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-card h3{font-size:1.08rem;line-height:1.35;margin:0}
.post-card h3 a{color:var(--text)}
.post-card h3 a:hover{color:var(--accent-dark)}
.post-card p{font-size:.92rem;color:var(--text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.post-topic{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-dark)}
.post-meta{font-size:.8rem;color:var(--text-muted)}
html.js .post-card.is-more{display:none}
html.js .hub-grid.show-all .post-card.is-more{display:flex}
.post-card.is-filtered{display:none!important}
.hub-intro{max-width:860px}
.q-list{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:16px 0 0}
.q-list li{background:var(--surface);border-radius:40px;padding:8px 16px;font-weight:500}
.hub-h2{margin:48px 0 20px}
.hub-tools{display:grid;gap:16px;margin-bottom:28px}
.hub-search{max-width:520px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--border);background:#fff;border-radius:40px;padding:8px 16px;font:500 .86rem var(--font-sans);color:var(--text);cursor:pointer}
.chip span{color:var(--text-muted);margin-left:4px}
.chip.active{background:var(--dark);color:#fff;border-color:var(--dark)}
.chip.active span{color:rgba(255,255,255,.7)}
.hub-empty{text-align:center;color:var(--text-muted);padding:32px 0}

/* ---------- Article ---------- */
.post-header{padding:40px 0 28px}
.post-header .post-topic{display:inline-block;margin-bottom:12px}
.post-header h1{font-family:var(--font-display);font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.15;letter-spacing:-.015em;margin:0 0 16px}
.post-dek{font-size:var(--fs-lede,1.15rem);color:var(--text-secondary);margin:0 0 24px}
.post-byline{display:flex;align-items:center;gap:12px}
.post-byline img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.post-byline .by-name{display:block;font-weight:600;color:var(--text)}
.post-byline span{font-size:.86rem;color:var(--text-muted)}
.post-hero{margin:0 auto 40px;max-width:1100px}
.post-hero img{width:100%;max-height:520px!important;object-fit:cover;border-radius:var(--radius-md)}
.post-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px;max-width:1100px;margin:0 auto 72px}
.side-sticky{position:sticky;top:130px;display:grid;gap:24px}
.toc{border-left:2px solid var(--border);padding-left:16px;max-height:46vh;overflow:auto}
.toc-title{font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.toc a{font-size:.88rem;color:var(--text-secondary);line-height:1.35;display:block}
.toc a:hover,.toc a.current{color:var(--accent-dark)}
.side-cta{background:var(--dark);color:#fff;border-radius:var(--radius-md);padding:24px}
.side-cta-h{font-family:var(--font-display);font-size:1.2rem;line-height:1.3;color:#fff;margin:8px 0}
.side-cta p{color:rgba(255,255,255,.78);font-size:.92rem}
.side-cta .btn{margin-top:8px}
.side-cta-alt{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:#fff;font-size:.86rem;opacity:.85}
.side-cta-alt svg{width:14px;height:14px}
.post-body{font-size:1.075rem;line-height:1.75;color:var(--text)}
.post-body h2{font-family:var(--font-display);font-size:1.75rem;line-height:1.25;margin:2.2em 0 .6em;scroll-margin-top:130px}
.post-body h3{font-size:1.25rem;margin:1.8em 0 .5em;scroll-margin-top:130px}
.post-body h4{font-size:1.08rem;margin:1.5em 0 .4em}
.post-body p{margin:0 0 1.1em}
.post-body ul,.post-body ol{margin:0 0 1.2em;padding-left:1.3em}
.post-body li{margin:.35em 0}
.post-body li p{margin:0}
.post-body a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.post-body figure{margin:2em 0}
.post-body figure img{width:100%;max-height:none!important;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--border)}
.inline-cta{display:flex;gap:24px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:24px 24px;margin:2.2em 0}
.inline-cta p{margin:0}
.inline-cta .ic-h{font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:4px 0}
.inline-cta .btn{text-decoration:none;flex-shrink:0}
.post-end-cta{margin:3em 0 2em;background:var(--dark);color:#fff;border-radius:var(--radius-md);padding:32px;display:grid;gap:20px}
.post-end-cta h2{color:#fff;margin:8px 0 8px}
.post-end-cta p{color:rgba(255,255,255,.8);margin:0}
.pec-actions{display:flex;gap:12px;flex-wrap:wrap}
.pec-actions .btn-outline-dark{border-color:rgba(255,255,255,.5);color:#fff;text-decoration:none}
.author-card{display:grid;grid-template-columns:88px 1fr;gap:20px;align-items:start;border-top:1px solid var(--border);padding-top:28px}
.author-card img{width:88px;height:88px;border-radius:50%;object-fit:cover}
.author-card p{margin:0 0 8px;font-size:.98rem}
.ac-name{font-weight:600}
.author-card .card-link{text-decoration:none}
@media(max-width:1000px){
  .post-layout{grid-template-columns:1fr;gap:28px}
  .post-side{order:2}
  .side-sticky{position:static}
  .toc{display:none}
  .inline-cta{flex-direction:column;align-items:flex-start}
}

/* ---------- Footer ---------- */
.site-footer{background:var(--dark)}
.footer-grid.footer-grid-tm{grid-template-columns:1.3fr .8fr .9fr 1.3fr;gap:44px}
.footer-brand .btn{margin:8px 0 20px}
.footer-news h4{text-transform:none;letter-spacing:0;font-size:1.05rem}
.footer-news p{color:rgba(255,255,255,.72);font-size:.92rem}
.footer-news .news-form{margin:16px 0 8px}
.footer-news .form-control{background:#fff}
.footer-contact-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
.footer-contact-list a{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.85)}
.footer-contact-list svg{width:16px;height:16px}
@media(max-width:1000px){.footer-grid.footer-grid-tm{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.footer-grid.footer-grid-tm{grid-template-columns:1fr}}

/* ---------- Modal (Decision-Clarity Call) ---------- */
.modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.modal .form-row{grid-template-columns:1fr}}
.quote-fab{display:none!important}

/* ---------- QA fixes ---------- */
.hero-stats-bar .hero-ticker{max-width:none;width:100%;margin:0;padding:0;border:0}
.lw-companies .lw-list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:24px 20px;align-items:center;justify-items:center}
.lw-companies .lw-item{min-width:0}
.lw-companies .lw-item img{max-width:100%}
.lw-companies .wordmark{font-size:1.06rem;white-space:normal;text-align:center;line-height:1.2}
@media(max-width:1100px){.lw-companies .lw-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.lw-companies .lw-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lw-edu .lw-item img{filter:grayscale(1) contrast(1.35) brightness(.85);opacity:.85}
.post-body ul{list-style:disc}
.post-body ol{list-style:decimal}
.post-body li::marker{color:var(--accent)}
.modal .form-note a,.cta-form .form-note a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:2px}
/* Buttons inside article prose keep button colours, never link colours */
.post-body a.btn{text-decoration:none}
.post-body a.btn-primary{color:#fff}
/* Primary CTA on dark surfaces: brand crimson (white text 4.7:1) so it never sinks into navy */
.tm-hero .btn-primary,.dark .btn-primary,.f500 .btn-primary,.side-cta .btn-primary,.post-end-cta .btn-primary,
.cta-band .btn-primary,.site-footer .btn-primary,.hero-stats-bar .btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.tm-hero .btn-primary:hover,.dark .btn-primary:hover,.f500 .btn-primary:hover,.side-cta .btn-primary:hover,.post-end-cta .btn-primary:hover,
.cta-band .btn-primary:hover,.site-footer .btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.cta-band .cta-form .btn-primary{background:var(--primary);border-color:var(--primary)}
/* Fixed header overlaps a leading hero (no body offset on hero pages): clear it explicitly */
.hero-dark.tm-hero{padding-top:calc(var(--header-total,108px) + 84px)}
.hero-dark.tm-hero.hero-home{padding-top:calc(var(--header-total,108px) + 96px)}
.hero-dark.tm-hero.hero-sm{padding-top:calc(var(--header-total,108px) + 64px)}
@media(max-width:760px){.hero-dark.tm-hero,.hero-dark.tm-hero.hero-home,.hero-dark.tm-hero.hero-sm{padding-top:calc(var(--header-total,72px) + 48px);padding-bottom:64px}.tm-hero.hero-home{min-height:0}}
/* Narrow columns and display serif never justify (avoids rivers) */
.split-body p,.why p,.pull,.testi-quote,.tool-quote,.hero-sub,.hero-note,.aud-body p,.svc-card p,.dim p,.phase li,
.post-card p,.outcome p,.cert-text p,.rooms li,.f500-body p,.side-cta p,.inline-cta p,.post-end-cta p,.author-card p,.lw-sub,.about-grid p{text-align:left;hyphens:manual}
/* Mobile header: logo + menu only; both CTAs live in the drawer */
@media(max-width:1023px){
  .site-header .header-actions{display:none}
  .site-header .mobile-toggle{display:inline-flex}
  .topbar-loc,.topbar-right a[href^="mailto"],.topbar-right a[href*="linkedin"]{display:none}
  .topbar-inner{justify-content:center}
}
/* ---------- Pre-deploy QA fixes ---------- */
:root{--text-muted:#5d6977}
.ba-after .ba-tag{color:#ff8fb0}
.ba-path .ba-tag,.ba-before .ba-tag,.why span,.post-topic,.phase-day{color:var(--accent-dark)}
.site-header .topbar{background:#05090f}
.chip{min-height:44px}
@media(max-width:1023px){
  .site-footer a,.footer-legal a,.card-link,.breadcrumb a,.topbar-right a,.ci-val,.contact-list a,.footer-contact-list a,
  .side-cta-alt,.post-byline .by-name,.toc a,.news-note a,.form-note a,.post-card h3 a,.post-topic,.mm-link{min-height:44px;display:inline-flex;align-items:center}
  .footer-col ul li{margin:0}
}
