/* =====================================================================
   it-governance.net — Corporate Design layer (all pages)
   Shared layer for every page with <body class="cd">; loaded after relaunch.css / subpages.css.
   Design only: black / white / signal yellow, Bricolage Grotesque,
   pills, connector lines, white cards, chrome ribbon (cd-ribbon.js).
   ===================================================================== */

@font-face{font-family:"Bricolage Grotesque";src:url("assets/fonts/bricolage-grotesque-latin-var.woff2") format("woff2");font-weight:200 800;font-stretch:75% 100%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";src:url("assets/fonts/bricolage-grotesque-latin-ext-var.woff2") format("woff2");font-weight:200 800;font-stretch:75% 100%;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

.cd{
  --cd-black:#000;
  --cd-white:#fff;
  --cd-yellow:#fff200;
  --cd-ink:#111;
  --cd-text-dark:#3c3c38;
  --cd-muted:rgba(255,255,255,.7);
  --cd-line:rgba(255,255,255,.18);
  --cd-panel:#111;
  --cd-radius:28px;
  --cd-font:"Bricolage Grotesque","Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:var(--cd-font);
  --sans:var(--cd-font);
  background:var(--cd-black);
  color:var(--cd-white);
  font-family:var(--cd-font);
  font-size:17px;
  line-height:1.55;
}
.cd h1,.cd h2,.cd h3,.cd h4{font-family:var(--cd-font);font-feature-settings:normal}
.cd ::selection{background:var(--cd-yellow);color:#000}
.cd a:focus-visible,.cd button:focus-visible,.cd summary:focus-visible,.cd input:focus-visible,.cd textarea:focus-visible,.cd [tabindex]:focus-visible{outline:3px solid var(--cd-yellow);outline-offset:4px}
.cd .skip-link:focus{background:var(--cd-yellow);color:#000;border-radius:999px}

.cd-wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.cd-hl{color:var(--cd-yellow)}

/* ---------- Header ---------- */
.cd .site-header,.cd .site-header.is-scrolled,.cd .site-header.is-open{background:#000;border-bottom:1px solid #1d1d1d;-webkit-backdrop-filter:none;backdrop-filter:none}
.cd .site-header .brand{justify-self:start;width:max-content;padding:10px 22px;border:1.5px solid #fff;border-radius:999px;transition:border-color .2s}
.cd .site-header .brand:hover{border-color:var(--cd-yellow)}
.cd .site-header .brand img{width:clamp(140px,12vw,178px);opacity:1}
.cd .site-header .desktop-nav a{font:500 15px/1 var(--cd-font)!important;letter-spacing:0!important;opacity:1;color:rgba(255,255,255,.78)}
.cd .site-header .desktop-nav a:hover,.cd .site-header .desktop-nav a[aria-current="page"]{color:#fff}
.cd .site-header .desktop-nav a::after{background:var(--cd-yellow);height:3px}
.cd .site-header .header-action{gap:14px;min-height:0;padding:5px 5px 5px 20px;border:0;border-radius:999px;background:var(--cd-yellow);color:#000;font:600 15px/1 var(--cd-font);letter-spacing:0;text-transform:none;transition:background .2s}
.cd .site-header .header-action span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#000;color:#fff;font-size:15px;transition:transform .25s}
.cd .site-header .header-action:hover{background:#fff;color:#000}
.cd .site-header .header-action:hover span{transform:rotate(45deg)}
.cd .site-header .menu-toggle{border:1.5px solid #fff;border-radius:50%}
.cd .site-header .mobile-nav a{font-family:var(--cd-font);font-weight:600;letter-spacing:-.02em}
.cd .site-header .mobile-nav span{color:var(--cd-yellow);font-family:var(--cd-font)}

/* ---------- Buttons ---------- */
.cd-btn{display:inline-flex;align-items:center;gap:16px;min-height:56px;padding:5px 5px 5px 26px;border-radius:999px;font:600 17px/1 var(--cd-font);white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.cd-btn i{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;font-style:normal;font-size:17px;transition:transform .25s,background .2s,color .2s}
.cd-btn-yellow{background:var(--cd-yellow);color:#000;border:2px solid var(--cd-yellow)}
.cd-btn-yellow i{background:#000;color:#fff}
.cd-btn-yellow:hover{background:#fff;border-color:#fff}
.cd-btn-yellow:hover i{transform:rotate(45deg)}
.cd-btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.cd-btn-outline i{background:#fff;color:#000}
.cd-btn-outline:hover{background:#fff;color:#000}
.cd-btn-outline:hover i{background:#000;color:#fff}

/* ---------- Sections ---------- */
.cd-section{background:#000;color:#fff;padding:clamp(90px,10vw,160px) 0 0}
.cd-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(30px,6vw,110px);align-items:end;margin-bottom:clamp(44px,5vw,76px)}
.cd-eyebrow{width:min(100%,440px);margin:0 0 26px;padding-bottom:16px;border-bottom:1.5px solid #fff;color:var(--cd-yellow);font:500 clamp(14px,1.1vw,18px)/1.1 var(--cd-font);letter-spacing:.03em;text-transform:uppercase}
.cd-eyebrow-dark{color:#000;border-color:#000}
.cd .cd-section h2{margin:0;font:700 clamp(40px,5vw,82px)/1 var(--cd-font);letter-spacing:-.035em;text-wrap:balance}
.cd-head-copy{margin:0;max-width:44ch;color:var(--cd-muted);font-size:clamp(16px,1.2vw,19px);line-height:1.6}

/* ---------- Contact pills & forms ---------- */
.cd-contact-pills{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.cd-contact-pill{display:inline-flex;align-items:center;gap:10px;max-width:100%}
.cd-contact-box{display:flex;align-items:center;gap:8px;width:340px;max-width:calc(100vw - 2 * var(--pad) - 64px);padding:5px;border-radius:999px;background:#fff;color:#000}
.cd-contact-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#000;color:#fff;font-size:18px}
.cd-contact-pill b{flex:1 1 auto;min-width:0;padding:13px 22px;border-radius:999px;background:var(--cd-yellow);font-size:17px;font-weight:500;text-align:center;overflow-wrap:anywhere}
.cd-contact-pill>i{display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:50%;background:#fff;color:#000;font-size:19px;font-style:normal;transition:transform .25s,background .2s}
.cd-contact-pill:hover>i{background:var(--cd-yellow);transform:rotate(45deg)}
.cd .contact-form{gap:20px;padding:clamp(26px,3.4vw,50px);border-radius:var(--cd-radius);background:#fff;color:#000}
.cd .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.cd .contact-form label>span{font:600 13px/1 var(--cd-font);letter-spacing:.05em}
.cd .contact-form input,.cd .contact-form textarea{padding:15px 18px;border:1.5px solid #d4d4ce;border-radius:16px;background:#f7f7f4;color:#000;font-size:16px;transition:border-color .2s,box-shadow .2s}
.cd .contact-form textarea{border-radius:20px}
.cd .contact-form input:focus,.cd .contact-form textarea:focus{border-color:#000;box-shadow:0 0 0 4px var(--cd-yellow)}
.cd .contact-form .consent input{padding:0;border-radius:4px;accent-color:#000}
.cd .contact-form .consent span{font-size:13px;font-weight:400;letter-spacing:0;color:#55554f}
.cd .form-submit{flex-wrap:wrap}
.cd .form-submit button{align-items:center;gap:16px;min-width:0;padding:5px 5px 5px 26px;border:0;border-radius:999px;background:#000;color:#fff;font:600 16px/1 var(--cd-font);letter-spacing:0;text-transform:none}
.cd .form-submit button i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--cd-yellow);color:#000;font-style:normal;transition:transform .25s}
.cd .form-submit button:hover{background:#262626;color:#fff}
.cd .form-submit button:hover i{transform:rotate(45deg)}
.cd .form-submit p{color:#66665f;font-size:13px}

/* ---------- Footer ---------- */
.cd .site-footer.footer-v3{border-top:1px solid #1d1d1d}
.cd .footer-v3 h2{color:var(--cd-yellow);font:500 14px/1.3 var(--cd-font);letter-spacing:.06em}
.cd .footer-v3-brand>p,.cd .footer-v3-contact>a:not(.footer-v3-cta),.cd .footer-v3-address p,.cd .footer-v3-pages a{font-size:16px}
.cd .footer-v3-note{border:1.5px solid #fff;border-radius:999px;color:#fff;font-size:13px}
.cd .footer-v3-note span{border-radius:50%;background:var(--cd-yellow)}
.cd .footer-v3-cta{padding:14px 22px;border:0;border-radius:999px;background:var(--cd-yellow);color:#000;font:600 15px/1 var(--cd-font)}
.cd .footer-v3-cta:hover{background:#fff;color:#000}
.cd .footer-v3-regions span+span::before{color:var(--cd-yellow)}
.cd .footer-v3-wordmark{color:#161616;font-family:var(--cd-font);font-weight:800;letter-spacing:-.06em}
.cd .footer-v3 a:focus-visible,.cd .footer-v3 button:focus-visible{outline-color:var(--cd-yellow)}

/* ---------- Privacy panel ---------- */
.cd .privacy-choice-panel{border:1px solid #2a2a2a;border-radius:24px;background:#0d0d0d}
.cd .privacy-choice-kicker{color:var(--cd-yellow)}
.cd .privacy-choice-panel h2{font:700 24px/1.1 var(--cd-font);letter-spacing:-.02em}
.cd .privacy-choice-actions button{padding:0 20px;border:0;border-radius:999px;background:var(--cd-yellow);color:#000;font:600 13px/1 var(--cd-font)}
.cd .privacy-choice-actions button:hover{background:#fff}
.cd .privacy-choice-trigger{border-radius:999px;font-family:var(--cd-font);font-size:11px}
.cd .privacy-choice-trigger:hover{border-color:var(--cd-yellow)}
.cd .privacy-choice-trigger:focus-visible,.cd .privacy-choice-actions button:focus-visible{outline-color:var(--cd-yellow)}

/* ---------- Availability toast (existing widget, CD colours only) ---------- */
.cd .availability-toast{border-color:#2a2a2a;background:#0d0d0d}
.cd .availability-toast>strong{font-family:var(--cd-font);font-weight:600}
.cd .availability-avatars>i{background:var(--cd-yellow);border-color:#0d0d0d}
.cd .availability-toast-action{background:var(--cd-yellow);color:#000;font-family:var(--cd-font);font-weight:600}
.cd .availability-toast-action:hover{background:#fff;color:#000}
.cd .availability-toast :is(a,button):focus-visible{outline-color:var(--cd-yellow)}


/* =====================================================================
   Subpages (relaunch / detail / industry templates)
   `.cd.cd` raises specificity above the legacy template selectors.
   ===================================================================== */
.cd{--stone:#000;--line:rgba(255,255,255,.16);--muted:rgba(255,255,255,.62)}
.cd.cd{background:#000;color:#fff}
.cd .cd-ribbon-host{position:relative;isolation:isolate;overflow:hidden}
.cd .cd-ribbon-corner{position:absolute;inset:0;z-index:-1;width:100%;height:100%;display:block;pointer-events:none}
/* Heroes that are width-limited containers: let the ribbon run edge to edge */
.cd .cd-ribbon-host.container{overflow:visible}
.cd .cd-ribbon-host.container>.cd-ribbon-corner{left:calc(50% - 50vw);right:auto;width:100vw}

/* White CD card surface: dark text, dark hairlines */
.cd.cd :is(.capability-card,.about-principle-grid>article,.blog-card,.form-result-card,.industry-capability-card,.platform-evaluation-grid>article,.platform-catalog-grid>a,.acceleration-figure,.contact-page-form){--line:rgba(0,0,0,.12);--muted:#5d5d58;background:#fff;color:#111;border:0;border-radius:var(--cd-radius)}
.cd.cd :is(.capability-card,.blog-card,.industry-capability-card,.platform-evaluation-grid>article,.platform-catalog-grid>a){overflow:hidden}
.cd.cd :is(.capability-card,.blog-card,.industry-capability-card,.platform-catalog-grid>a):hover{background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.45)}

/* Legacy light sections become black */
.cd.cd :is(.consulting-acceleration,.mission-section,.about-principles,.industry-main,.industry-capabilities,.industry-outcomes,.industry-cta,.platform-evaluation,.form-result-main,.practice-section,.focus-section,.delivery-section,.subpage-intro,.consulting-capabilities){background:#000;color:#fff}

.cd.cd :is(.capability-card,.about-principle-grid>article,.blog-card,.form-result-card,.industry-capability-card,.platform-evaluation-grid>article,.platform-catalog-grid>a,.acceleration-figure,.contact-page-form) .eyebrow{color:#111;border-bottom-color:#111}
.cd.cd .consulting-acceleration-intro p{color:var(--cd-muted)}

/* Buttons → pills */
.cd.cd .button{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;min-height:54px;padding:5px 5px 5px 24px;border:2px solid var(--cd-yellow);border-radius:999px;background:var(--cd-yellow);color:#000;font:600 16px/1.15 var(--cd-font);letter-spacing:0;text-transform:none;white-space:nowrap;box-shadow:none;transition:background .2s,border-color .2s,color .2s}
.cd.cd .button:not(:has(span)){padding-right:24px}
.cd.cd .button span{display:grid;place-items:center;flex:none;width:42px;height:42px;margin:0;border-radius:50%;background:#000;color:#fff;font-size:16px;line-height:1;transition:transform .25s}
.cd.cd .button:hover{border-color:#fff;background:#fff;color:#000}
.cd.cd .button:hover span{transform:scale(1.08)}
.cd.cd :is(.button-quiet,.button-outline){border-color:#fff;background:transparent;color:#fff}
.cd.cd :is(.button-quiet,.button-outline) span{background:#fff;color:#000}
.cd.cd :is(.button-quiet,.button-outline):hover{background:#fff;color:#000}
.cd.cd :is(.button-quiet,.button-outline):hover span{background:#000;color:#fff}
.cd.cd .illustration-replay{padding:10px 16px;border:1.5px solid currentColor;border-radius:999px;font:600 13px/1.2 var(--cd-font)}
.cd.cd .illustration-replay:hover{border-color:var(--cd-yellow);background:var(--cd-yellow);color:#000}

/* Eyebrows & tags */
.cd.cd .eyebrow{width:min(100%,440px);margin-bottom:24px;padding-bottom:14px;border-bottom:1.5px solid currentColor;color:var(--cd-yellow);font:500 clamp(13px,1vw,16px)/1.2 var(--cd-font);letter-spacing:.04em;text-transform:uppercase}
.cd.cd .eyebrow{border-bottom-color:#fff}
.cd.cd :is(.service-audience span,.industry-proof span,.hero-tags span){padding:8px 14px;border:1.5px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;font:500 13px/1.2 var(--cd-font);letter-spacing:0;text-transform:none}

/* Photos & dark illustration panels get the CD radius */
.cd.cd :is(.subpage-hero-image,.service-detail-visual,.industry-hero-media,.blog-featured-visual,.article-diagram,.about-people-visual){border-radius:var(--cd-radius);overflow:hidden}
.cd.cd :is(.service-visual,.platform-visual,.system-illustration,.card-art){border-radius:20px;overflow:hidden}

/* Contact CTA blocks */
.cd.cd :is(.subpage-contact-cta,.service-contact-section .service-contact-inner,.industry-cta-inner){border:1.5px solid rgba(255,255,255,.18);border-radius:var(--cd-radius);background:#0b0b0b}
.cd.cd :is(.subpage-contact-cta,.service-contact-inner,.industry-cta-inner) h2 .cd-hl{color:var(--cd-yellow)}
.cd.cd .cta-people strong{color:#fff}

/* Article & legal callouts: white card with yellow bar (CD stat card) */
.cd.cd :is(.article-callout,.legal-note){border:0;border-left:10px solid var(--cd-yellow);border-radius:0;background:#fff;color:#111}
.cd.cd :is(.article-callout,.legal-note) *{color:inherit}
.cd.cd .article-diagram strong{color:#fff}
.cd.cd .legal-block code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}


/* Readable body copy on black (legacy greys were tuned for light stone) */
.cd.cd main :is(p,li,em,figcaption,dd):not(:is(.card-art,.service-visual,.system-illustration,.platform-visual,.acceleration-figure,.process-orbit,.value-stack,svg) *){color:rgba(255,255,255,.74)}
.cd.cd main :is(.capability-card,.about-principle-grid>article,.blog-card,.form-result-card,.industry-capability-card,.platform-evaluation-grid>article,.platform-catalog-grid>a,.acceleration-figure,.contact-page-form,.contact-form,.cd-stat,.cd-card,.expertise-card,.faq-list details,.cd-tech-panel) :is(p,li,em,figcaption,dd){color:#4f4f4a}
.cd.cd main .faq-list details:not([open]) p{color:rgba(255,255,255,.74)}
.cd.cd.cd :is(.article-body,.legal-copy,.legal-block) :is(.article-callout,.legal-note),.cd.cd.cd :is(.article-body,.legal-copy,.legal-block) :is(.article-callout,.legal-note) :is(p,li,strong,a,code,span,em){color:#111}
.cd.cd :is(.legal-block,.article-body) :is(p,li,strong,a:not(.button),code){color:rgba(255,255,255,.8)}
.cd.cd main p.cd-tag{color:#000}
.cd.cd .article-meta span{color:rgba(255,255,255,.7)}
.cd.cd .capability-card>span{color:#55554f}
.cd.cd :is(.legal-block,.article-body) :is(h2,h3,strong){color:#fff}
.cd.cd .service-contact-section p{color:rgba(255,255,255,.74)!important}

/* Section labels → CD eyebrow */
.cd.cd .section-label{display:block;width:min(100%,440px);margin-bottom:24px;padding-bottom:14px;border-bottom:1.5px solid #fff;color:var(--cd-yellow);font:500 clamp(13px,1vw,16px)/1.2 var(--cd-font);letter-spacing:.04em;text-transform:uppercase}
.cd.cd :is(.capability-card,.about-principle-grid>article,.blog-card,.form-result-card,.industry-capability-card,.platform-evaluation-grid>article,.platform-catalog-grid>a,.acceleration-figure,.contact-page-form) .section-label{color:#111;border-bottom-color:#111}

/* Micro labels: lift the 9–11px legacy sizes to readable CD sizes */
.cd.cd :is(.about-hero-signals span,.subpage-hero-image span,.subpage-hero-image figcaption,.practice-card span,.practice-card b,.about-people-caption span,.about-principle-grid span,.focus-list span,.article-meta span,.blog-meta span,.blog-card-tag,.blog-card-foot span,.acceleration-support span,.capability-card>span,.capability-card>b,.sovereignty-list span,.delivery-steps span,.contact-page-aside span,.industry-media-note span,.industry-challenge-grid span,.industry-capability-card>span,.industry-outcome-list span,.platform-evaluation-grid b,.platform-catalog-grid span,.platform-catalog-grid b,.service-detail-visual figcaption,.service-problem-list span,.service-deliverables b,.form-result-status){font-size:13px;letter-spacing:.05em}
.cd.cd :is(.about-people-copy a,.arrow-link,.capability-card>a,.cta-people strong,.cta-people span,.contact-direct span,.contact-direct strong,.service-back-link,.service-detail-actions a,.industry-footer-links a){font-size:14px;letter-spacing:.02em}
.cd.cd .capability-card>a,.cd.cd .arrow-link{font-weight:600;text-transform:none}

/* Service CTA: one frame only (outer section is the card) */
.cd.cd .service-contact-section{border:1.5px solid rgba(255,255,255,.18);border-radius:var(--cd-radius);background:#0b0b0b}
.cd.cd .service-contact-section .service-contact-inner{border:0;border-radius:0;background:transparent}
.cd.cd .service-contact-section .section-label{color:var(--cd-yellow)}

/* Industry footer */
.cd.cd .industry-footer{border-top:1px solid #1d1d1d;background:#000}
.cd.cd .industry-footer-inner{color:rgba(255,255,255,.7);font:500 13px/1.4 var(--cd-font);letter-spacing:.02em;text-transform:none}
.cd.cd .industry-footer-links a{color:rgba(255,255,255,.8)}
.cd.cd .industry-footer-links a:hover{color:var(--cd-yellow)}


/* ---------- Headlines: homepage weight, tracking and width ---------- */
.cd.cd :is(h1,h2):not(footer *){font-weight:700;letter-spacing:-.035em}
.cd.cd h3:not(footer *){font-weight:650;letter-spacing:-.02em}
.cd.cd.cd :is(h1,h2) em,.cd.cd.cd .mission-intro>em{font-style:normal;color:var(--cd-yellow)}
.cd.cd :is(.subpage-hero,.service-detail-hero,.platform-directory-hero,.blog-hero,.article-header,.legal-hero,.contact-page-hero,.industry-hero-copy) h1{max-width:17ch;font-weight:700;line-height:.96;letter-spacing:-.04em}

/* ---------- Form submit: same size as the other CD pills ---------- */
.cd.cd .form-submit button{min-height:56px;padding:5px 5px 5px 26px;font:600 17px/1 var(--cd-font)}
.cd.cd .form-submit button :is(i,span){display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:var(--cd-yellow);color:#000;font-size:17px;font-style:normal;transition:transform .25s}
.cd.cd .form-submit button:hover :is(i,span){transform:rotate(45deg)}

/* ---------- Consulting: delivery steps as clean columns ---------- */
.cd.cd .delivery-steps{gap:clamp(16px,2vw,32px);padding-top:32px;border-top:0}
.cd.cd .delivery-steps article{min-height:0;padding:0 0 6px;border:0;background:transparent}
.cd.cd .delivery-steps article:hover{background:transparent}
.cd.cd .delivery-steps article .system-illustration{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.cd.cd .delivery-steps article:hover .system-illustration{transform:translateY(-6px);box-shadow:0 0 0 1.5px var(--cd-yellow)}
.cd.cd .delivery-steps h3{margin-top:22px}
.cd.cd .delivery-steps span{color:var(--cd-yellow)}
.cd.cd .delivery-section{padding-bottom:clamp(100px,11vw,170px)}

/* ---------- About: principle cards with gaps, no legacy grid lines ---------- */
.cd.cd .about-principle-grid{gap:clamp(14px,1.6vw,24px);border:0}
.cd.cd .about-principle-grid article{min-height:0}
.cd.cd .about-principle-grid h3{margin-top:40px}


/* ---------- About: practice cards, people band, centred eyebrow ---------- */
.cd.cd .practice-cards{gap:clamp(14px,1.6vw,24px);background:transparent}
.cd.cd .practice-card{border-radius:var(--cd-radius);background:#fff;color:#111}
.cd.cd .practice-card:before{display:none}
.cd.cd .practice-card :is(span,b){color:#111}
.cd.cd main .practice-card p{color:#4f4f4a}
.cd.cd .practice-card h3{font-weight:700}
.cd.cd .practice-card:after{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#000;color:#fff;font:400 18px/1 var(--cd-font);opacity:1}
.cd.cd .practice-card:hover:after{background:var(--cd-yellow);color:#000}
.cd.cd .about-people-section{background:#000;border-color:#1d1d1d}
.cd.cd .mission-intro .eyebrow{margin-left:auto;margin-right:auto}


/* ---------- Detail heroes on the page grid (Platforms, Insights, Articles, Legal) ---------- */
.cd.cd :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header){padding-left:max(var(--pad),calc((100vw - var(--max)) / 2 + var(--pad)))!important;padding-right:max(var(--pad),calc((100vw - var(--max)) / 2 + var(--pad)))!important}
.cd.cd :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header)>:not(.cd-ribbon){max-width:1120px}
.cd.cd .cd-ribbon-corner{max-width:none}


/* ---------- Hover on white surfaces: never yellow text on white ---------- */
.cd.cd main a:is(.capability-card,.about-principle-grid>article,.blog-card,.form-result-card,.industry-capability-card,.platform-evaluation-grid>article,.platform-catalog-grid>a,.acceleration-figure,.contact-page-form,.contact-form,.practice-card,.cd-card,.cd-stat,.expertise-card,.faq-list details,.cd-tech-panel,.article-callout,.legal-note):hover,.cd.cd main :is(.capability-card,.about-principle-grid>article,.blog-card,.form-result-card,.industry-capability-card,.platform-evaluation-grid>article,.platform-catalog-grid>a,.acceleration-figure,.contact-page-form,.contact-form,.practice-card,.cd-card,.cd-stat,.expertise-card,.faq-list details,.cd-tech-panel,.article-callout,.legal-note) a:not(.button):hover{color:#111}
.cd.cd .blog-card-foot{align-items:center}
.cd.cd .blog-card-foot span:last-child{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#000;color:#fff;font-size:15px;letter-spacing:0;transition:background .2s,color .2s,transform .25s}
.cd.cd .blog-card:hover .blog-card-foot span:last-child{background:var(--cd-yellow);color:#000;transform:rotate(45deg)}
.cd.cd .blog-card h3{transition:none}


/* ---------- About: hero photo ---------- */
.cd.cd .about-hero-portrait{background:#111}
.cd.cd .about-hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 22%;filter:grayscale(1)}

/* ---------- About: team photo marquee (single tile / 2×2 group, alternating) ---------- */
.cd-team-gallery{padding:clamp(10px,2vw,30px) 0 clamp(20px,3vw,50px);background:#000;overflow:hidden}
.cd-team-marquee{--gh:clamp(220px,25vw,380px);--gap:14px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.cd-team-track{display:flex;width:max-content;animation:cd-team-scroll 80s linear infinite}
.cd-team-marquee:hover .cd-team-track{animation-play-state:paused}
.cd-team-set{display:flex;gap:var(--gap);padding-right:var(--gap)}
.cd-team-group{flex:none;height:var(--gh)}
.cd-team-single{width:calc(var(--gh) * 1.62)}
.cd-team-quad{display:grid;grid-template-columns:1fr .55fr 1fr;grid-template-rows:1fr 1fr;gap:var(--gap);width:calc(var(--gh) * 2.05)}
.cd-team-quad .cd-team-tile:nth-child(1){grid-column:1 / 3}
.cd-team-quad .cd-team-tile:nth-child(2){grid-column:3}
.cd-team-quad .cd-team-tile:nth-child(3){grid-column:1}
.cd-team-quad .cd-team-tile:nth-child(4){grid-column:2 / 4}
.cd-team-tile{position:relative;margin:0;overflow:hidden;border-radius:20px;background:#111}
.cd-team-single .cd-team-tile{height:100%}
.cd-team-tile img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;filter:grayscale(1);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cd-team-tile:hover img{transform:scale(1.05)}
@keyframes cd-team-scroll{to{transform:translateX(-50%)}}
@media (max-width:760px){.cd-team-marquee{--gh:200px;--gap:10px}.cd-team-tile{border-radius:14px}}
@media (prefers-reduced-motion:reduce){.cd-team-track{animation:none}.cd-team-marquee{overflow-x:auto}.cd-team-tile img{transition:none}}


/* ---------- Subtle rules: eyebrow underlines & section dividers ---------- */
.cd.cd :is(.eyebrow,.section-label,.cd-eyebrow){border-bottom-width:1px;border-bottom-color:rgba(255,255,255,.2)}
.cd.cd.cd :is(.capability-card,.about-principle-grid>article,.blog-card,.form-result-card,.industry-capability-card,.platform-evaluation-grid>article,.platform-catalog-grid>a,.acceleration-figure,.contact-page-form,.contact-form,.cd-tech-panel) :is(.eyebrow,.section-label,.cd-eyebrow),.cd.cd .cd-eyebrow-dark{border-bottom-color:rgba(0,0,0,.16)}
.cd.cd :is(.consulting-acceleration,.platform-evaluation,.about-people-section,.subpage-intro,.delivery-section,.practice-section,.focus-section){border-top-color:rgba(255,255,255,.1);border-bottom-color:rgba(255,255,255,.1)}
.cd.cd :is(.acceleration-support,.acceleration-support>*){border-color:rgba(255,255,255,.12)}
.cd.cd :is(.subpage-hero-image,.service-detail-visual) figcaption{border-top-color:rgba(255,255,255,.22)}
.cd.cd .about-people-copy>a{border-bottom-color:rgba(255,255,255,.25)}

/* Industry pages (own header variant) */
.cd.cd .industry-hero-copy h1,.cd.cd .industry-media-note strong{color:#fff}
.cd.cd .industry-media-note span{color:rgba(255,255,255,.75)}
.cd.cd .industry-hero-actions .button{background:var(--cd-yellow);border-color:var(--cd-yellow);color:#000}
.cd.cd .industry-hero-actions .button:hover{background:#fff;border-color:#fff}
.cd.cd .arrow-link{color:#fff}

/* ---------- Responsive (shared) ---------- */
@media (max-width:1000px){
  .cd-head{grid-template-columns:1fr;align-items:start}
}
@media (max-width:760px){
  .cd .cd-section h2 br{display:none}
}
@media (max-width:560px){
  .cd .field-row{grid-template-columns:1fr}
  .cd-btn{font-size:16px;padding-left:22px}
  .cd-contact-pill b{padding:12px 14px;font-size:15px}
  .cd .site-header .brand{padding:8px 16px}
  .cd .site-header .brand img{width:132px}
}
@media (prefers-reduced-motion:reduce){
  .cd-btn i,.cd-contact-pill>i{transition:none}
}
