/* Shared typography and palette. Load after page-specific presentation styles. */
:root{
 --font-ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --font-code:ui-monospace,SFMono-Regular,Menlo,monospace;
 --bg:#f1f2ed;--bg2:#e6efe8;--panel:#fbfcf8;--line:#d4dbd9;
 --ink:#131e2d;--muted:#51646b;--accent:#3e705b;--accent2:#3e705b;--selected-bg:#e6efe8;
 --type-body:1rem;--type-small:.875rem;--type-label:.75rem;
 --type-title:clamp(2.25rem,4.8vw,3.5rem);
 --type-section:clamp(1.875rem,3.5vw,3rem);
 --type-card:1.375rem;--type-lead:1.125rem;
}
html{font-size:16px}
body{font-family:var(--font-ui);font-size:var(--type-body);line-height:1.7;color:var(--ink);background:var(--bg)}
body *{font-family:var(--font-ui)!important}
code,pre,kbd,samp,code *,pre *{font-family:var(--font-code)!important}
body :is(h1,h2,h3,h4,h5,h6){color:var(--ink)!important;font-weight:700!important;font-style:normal;line-height:1.2!important;letter-spacing:-.025em!important}
body h1{font-size:var(--type-title)!important;line-height:1.12!important;letter-spacing:-.04em!important}
body h2{font-size:var(--type-section)!important;line-height:1.15!important;letter-spacing:-.035em!important}
body h3{font-size:var(--type-card)!important}
body h4{font-size:1.125rem!important}
body :is(h5,h6){font-size:var(--type-body)!important}
body :is(h1,h2,h3,h4,h5,h6) :is(span,em,strong){color:inherit!important;font-size:inherit;font-weight:inherit}
body :is(p,li,dd,dt,td,th,summary){font-size:var(--type-body);line-height:1.7}
body :is(p,dd,dt,td){color:var(--muted)!important}
body main p,body .section p,body .resume-wrap p{font-size:var(--type-body)!important;line-height:1.7!important}
body :is(.v12-lede,.hero-lede,.consulting-lede,.specializations-lede,.sopa-lede,.meet-kai-copy>p){font-size:var(--type-lead)!important;line-height:1.7!important;color:var(--muted)!important}
body :is(.v12-card,.v12-panel,.v12-step,.intelligence-panel,.public-proof,.email-dialog,.deel-dialog-toolbar,.modal-content,.v122-story-copy) h2{font-size:1.5rem!important;letter-spacing:-.025em!important}
body .resume-head h2,body #top .hero-subtitle,body .sopa-subtitle{font-size:1.375rem!important;line-height:1.4!important;color:var(--ink)!important}
body #top h1{font-size:clamp(2rem,3.2vw,2.75rem)!important}
body :is(.section-kicker,.overline,.eyebrow,.v12-eyebrow,.sopa-kicker,.small-label,.panel-kicker,.atlas-eyebrow,.audit-eyebrow,.assurance-eyebrow,.original-video-eyebrow,.consulting-service-number,.spec-index,.card-number,.competency-category,.resume-section h3){font-size:var(--type-label)!important;line-height:1.5!important;letter-spacing:.08em!important;font-weight:700!important;color:var(--accent)!important}
body :is(small,figcaption,.scope-note,.source-honesty,.v12-note,.sopa-note,.athos-measurement-note,.media-meta,.chart-card-head,.diagram-card-head,.case-card-top,.build-card-top,.build-card-footer,.visual-head,.visual-foot,.lex-diagram-header,.lex-diagram-footer,.timeline-year,.node-tag,.status-pill){font-size:var(--type-small)!important;line-height:1.6!important;color:var(--muted)}
body :is(.button,.nav-cta,.filter,.v12-pill,.print-button,.asset-links a,.deel-tabs button,.email-dialog button){font-size:var(--type-small)!important;line-height:1.4!important;font-weight:700!important;letter-spacing:normal!important}
body :is(input,select,textarea){font-size:var(--type-body)!important;color:var(--ink)}
body :is(.desktop-nav a,.mobile-nav a,.seo-footer-nav a,.seo-breadcrumbs){font-size:var(--type-small)!important}
body .v12-footer{font-size:var(--type-body)!important;line-height:1.7}
body :is(.heading-dot,.brand-dot){color:var(--accent)!important}
body .company-name{color:var(--accent)!important;font-weight:700!important}
body #experience .experience-title{color:var(--accent)!important}
body #specializations .specialization-line{color:var(--ink)!important}
body :is(.flow-node,.mini-node,.lex-center-node,.lex-wide-node,.lex-triad div,.sopa-box,.v122-step){font-size:var(--type-small)!important;line-height:1.5!important}
body .review-method li span{font-size:var(--type-body);line-height:1.7}
body .review-method li strong{font-size:var(--type-body);color:var(--ink)}
#methodology{--sopa-ink:var(--ink);--sopa-muted:var(--muted);--sopa-accent:var(--accent);--sopa-line:var(--line);background:var(--bg)}
@media(max-width:650px){
 body .site-header .nav-contact-actions .nav-cta{font-size:.8125rem!important}
 body .brand-label{font-size:.6875rem!important}
 body .brand-label small{font-size:.5625rem!important}
}
@media print{
 body.resume-page{font-size:10pt}
 body .resume-wrap p,body .resume-wrap li{font-size:10pt!important;line-height:1.5!important}
 body .resume-head h1{font-size:26pt!important}
 body .resume-head h2{font-size:13pt!important}
 body .resume-section h3{font-size:10pt!important}
}

/* Compact brand descriptor is part of the logo lockup. */
body .brand-label small{font-size:9px!important;line-height:1.5!important}

.consultancy-next{margin-top:64px;padding:48px 0;border-top:1px solid var(--line);text-align:center;background:var(--selected-bg)}
.consultancy-next p{max-width:680px;margin:16px auto 24px}
.consultancy-next .contact-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.consultancy-next .button.primary{background:var(--accent)!important;color:var(--panel)!important;border-color:var(--accent)!important}
@media(max-width:650px){.consultancy-next{margin-top:40px;padding:32px 0}.consultancy-next .button{width:100%;justify-content:center}}
