/* V13: one authoritative type, colour and motion contract across the site.
   !important is limited to the typography/colour contract because older theme
   layers contain important label rules and highly specific page overrides. */
:root {
 --audit-face:"Inter Display",Inter,Arial,sans-serif;
 --audit-hero:clamp(2.625rem,4.5vw,4.5rem);
 --audit-page:clamp(2.375rem,4vw,4rem);
 --audit-section:clamp(2rem,3.2vw,3rem);
 --audit-card:clamp(1.375rem,1.85vw,1.75rem);
 --audit-sub:1.375rem;
 --audit-quote:clamp(1.25rem,1.6vw,1.5rem);
 --audit-body:1.0625rem; --audit-lead:1.125rem;
 --audit-small:.9375rem; --audit-label:.8125rem;
 --audit-nav:.875rem; --audit-button:.875rem;
 --audit-reading:1.75; --audit-heading:1.15; --audit-card-leading:1.3;
 --audit-ink:#14211f; --audit-heading-ink:#123b37;
 --audit-muted:#52615d; --audit-accent:#914827;
 --audit-ease:cubic-bezier(.2,.75,.25,1);
}
html[lang="ar"] {
 --audit-face:"Segoe UI",Tahoma,Arial,sans-serif;
 --audit-body:1.125rem; --audit-lead:1.1875rem;
 --audit-label:.875rem; --audit-nav:.9375rem; --audit-button:.9375rem;
 --audit-reading:1.9; --audit-heading:1.35; --audit-card-leading:1.45;
}
body {font-family:var(--audit-face)!important; font-size:var(--audit-body)!important; line-height:var(--audit-reading)!important;}
body :is(h1,h2,h3,h4,.hero-h1,.page-h1,.article-h1,.sect-h,.closing-h,.case-title,.post-title,.related-title,.archive-link) {
 font-family:var(--audit-face)!important; color:var(--audit-heading-ink)!important;
 font-weight:500!important; text-align:start!important; letter-spacing:-.035em;
 text-transform:none; text-wrap:balance; overflow-wrap:break-word;
}
body :is(.hero-h1,.page-h1,.article-h1) {font-weight:400!important;}
body .hero-h1 {font-size:var(--audit-hero)!important; line-height:var(--audit-heading)!important;}
body :is(.page-h1,.article-h1,.err-page h1) {font-size:var(--audit-page)!important; line-height:var(--audit-heading)!important;}
body :is(.sect-h,.closing-h) {font-size:var(--audit-section)!important; line-height:var(--audit-heading)!important;}
body :is(.case-title,.post-title,.expertise-card h2,.archive-body h3,.role-head h2,.related-title) {font-size:var(--audit-card)!important; line-height:var(--audit-card-leading)!important;}
body :is(.disc h3,.method-list h3,.lead-list h3,.cv-details h2,.article-body h3,.privacy-body h2,.related-feature) {font-size:var(--audit-sub)!important; line-height:var(--audit-card-leading)!important;}
body :is(.article-body h2,.case-body h2,.contact-form .sect-h,.evidence-panel .sect-h,.related-band .sect-h,.cv-details .sect-h) {font-size:var(--audit-card)!important; line-height:var(--audit-card-leading)!important;}
body :is(.hero-support,.sect-copy,.page-intro,.article-proof) {font-size:var(--audit-lead)!important; line-height:var(--audit-reading)!important; color:var(--audit-muted)!important; font-weight:400!important;}
body.is-home .hero-support {color:var(--audit-ink)!important;}
body :is(.man-body,.article-body p,.article-body li,.case-body p,.case-body li,.privacy-body p,.privacy-body li,.disc>p:not(.tags),.role-body p,.role-body li,.method-list p,.lead-list p,.post-desc,.expertise-card p,.author-bio p,.about-foot-grid p,.capability-list li,.evidence-list li,.toolkit dd,.type-list li) {
 font-size:var(--audit-body)!important; line-height:var(--audit-reading)!important;
 color:var(--audit-muted)!important; font-weight:400!important; text-align:start!important;
}
body :is(.case-kicker,.case-role,.case-stats,.archive-kicker,.archive-stats,.related-sub,.role-title,.role-meta,.metrics-note,.metric-label,.client-wall span,.home-expertise-grid small,.rec-who,.rec-who span,.direct-list li,.assignment dd,.ftr-line,.form-privacy,.form-fallback,.form-status,.toc a,.article-share a,.sect-more,.case-cta) {
 font-size:var(--audit-small)!important; line-height:1.65!important;
 text-align:start!important; color:var(--audit-muted)!important; letter-spacing:0!important; text-transform:none;
}
body[class] :is(.eyebrow,.scene-label,.post-meta,.tags span,.tags li,.expertise-index,.method-number,.assignment dt,.field label,.rec-verified,.hero-proof,.art-disclaimer,.ftr-base) {
 font-size:var(--audit-label)!important; line-height:1.6!important; font-weight:500!important; text-align:start!important;
}
body[class] :is(.eyebrow,.scene-label,.post-meta,.expertise-index,.method-number,.assignment dt,.rec-verified) {color:var(--audit-accent)!important;}
body .rec-who .rec-verified {font-size:var(--audit-label)!important; line-height:1.6!important; color:var(--audit-accent)!important;}
body :is(.hero-proof,.art-disclaimer,.ftr-base,.tags span,.tags li) {color:var(--audit-muted)!important;}
body :is(.eyebrow,.scene-label,.post-meta) {letter-spacing:.075em!important;}
body :is(.menu a,.lang-toggle,.menu-btn,.ftr-nav a,.ftr-actions a,.contact-label,.cat) {font-size:var(--audit-nav)!important; line-height:1.4!important; font-weight:500!important; letter-spacing:.015em!important;}
body :is(.menu a,.lang-toggle,.menu-btn,.ftr-nav a,.ftr-actions a,.contact-label) {color:var(--audit-heading-ink)!important;}
body .menu a[aria-current="page"],body .menu a:hover {color:var(--audit-accent)!important;}
body .btn {font-family:var(--audit-face)!important; font-size:var(--audit-button)!important; line-height:1.4!important; font-weight:500!important; letter-spacing:.01em!important; min-height:48px; text-align:center!important; white-space:normal;}
body .btn-primary {color:#fff!important; background:#123b37;}
body .btn-ghost {color:var(--audit-heading-ink)!important;}
body .btn-ghost:hover {color:#fff!important; background:#123b37;}
body .hero-work-card .btn-ghost:hover {background:none; color:var(--audit-accent)!important;}
body .field :is(input,textarea,select) {font-family:var(--audit-face)!important; font-size:1rem!important; line-height:1.5!important; min-height:48px; color:var(--audit-ink)!important;}
body .field label {color:var(--audit-heading-ink)!important; margin-bottom:9px;}
body .field input::placeholder,body .field textarea::placeholder {color:var(--audit-muted)!important; opacity:1;}
/* Name colour is always distinct; content, spelling and metadata are unchanged. */
body .personal-name {font-family:inherit; font-size:inherit; line-height:inherit; font-weight:inherit; letter-spacing:inherit; color:var(--audit-accent)!important; text-transform:inherit;}
body .btn-primary .personal-name,body .btn-ghost:hover .personal-name {color:#efc5a3!important;}
body .hero-work-card .btn-ghost:hover .personal-name {color:var(--audit-accent)!important;}
body .wm {font-family:var(--audit-face)!important; font-size:15px; letter-spacing:.06em;}
body .wm>.personal-name {grid-column:2; grid-row:1;}
body .wm>.ar-sig {grid-column:2; grid-row:2; font-size:12px;}
body .ftr-name {font-size:18px;}
/* Reading direction and spacing remain predictable across every template. */
body :is(.eyebrow,.scene-label,.case-title,.case-kicker,.case-role,.case-stats,.post-title,.post-desc,.post-meta,.rec-quote,.rec-who,.role-head,.role-head h2,.metric-val,.metric-label,.client-wall a,.home-expertise-grid a) {text-align:start!important;}
body :is(.case-card,.post-card,.expertise-card) {min-width:0;}
body .case-card {align-items:stretch;}
body .case-card .case-title,body .post-card .post-title {min-block-size:calc(2em * var(--audit-card-leading)); margin-block:16px 14px;}
body .case-card :is(.case-kicker,.case-role,.case-stats) {margin-bottom:12px;}
body .case-card .case-cta {margin-top:auto; padding-top:12px; color:var(--audit-accent)!important;}
body .post-card-link {display:flex; flex-direction:column; height:100%;}
body .post-card .post-desc {margin-block:0 16px;}
body :is(.man-body,.article-body p,.case-body p,.role-body p) {margin-bottom:1.25em;}
body :is(.pull,.rec-quote,.closing-line) {font-size:var(--audit-quote)!important; line-height:var(--audit-reading)!important; color:var(--audit-heading-ink)!important; font-weight:400!important; text-align:start!important;}
body .manifesto .pull {margin-top:30px;}
body :is(.metric,.direct-list li) {min-width:0;}
body .metric-val {font-size:clamp(1.5rem,2.5vw,2.25rem)!important; font-weight:500; line-height:1.2!important; color:var(--audit-heading-ink)!important;}
body :is(.home-expertise-grid strong,.career-strip strong,.client-wall strong) {font-size:var(--audit-lead)!important; line-height:1.45!important; font-weight:500;}
body.is-home .hero-work-card {width:400px;}
body.is-home .hero-work-card .hero-proof {margin-bottom:14px;}
body.is-home .hero-work-card .hero-ctas {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px;}
body.is-home .hero-work-card .btn-primary {grid-column:1/-1; min-height:48px; padding:10px 12px;}
body.is-home .hero-work-card .btn-ghost {min-height:44px; padding:6px 0; justify-content:flex-start;}
body .hero-art {object-fit:contain!important; filter:none!important; transform:none!important;}
body .featured-work .case-card:nth-child(n) .case-media {aspect-ratio:16/10; min-height:0;}
/* The CV statistics sit on petrol, not legacy pale child tiles. */
body.is-inner main .cv-metrics>div:not(.section-art-panel) {background:transparent; padding:20px; min-height:0;}
body.is-inner main .cv-metrics strong {font-family:var(--audit-face); font-size:clamp(1.75rem,2.5vw,2.5rem)!important; font-weight:500; line-height:1.2!important; color:#fff!important;}
body.is-inner main .cv-metrics span {font-size:var(--audit-small)!important; line-height:1.65!important; color:#f8f6f1!important; text-align:start;}
body.is-inner main .cv-summary-grid>div:not(.section-art-panel) {grid-column:auto; grid-row:auto; min-width:0;}
body.is-inner main .case-cards>.case-card:nth-child(n) {grid-column:auto; grid-row:auto;}
body.is-inner main .case-cards>.case-card:nth-child(n) .case-media {aspect-ratio:16/10; flex:0 0 auto; min-height:0; height:auto;}
/* Motion is finite and progressive: never hide content waiting for JavaScript. */
.js body.motion-ready .rv.in {animation:audit-reveal 620ms var(--audit-ease) backwards; animation-delay:var(--motion-delay,0ms);}
.js body.motion-ready .hero-media.rv.in {animation-name:audit-portrait-rise; opacity:1;}
.js body.motion-ready .motion-step-0 {--motion-delay:0ms;}
.js body.motion-ready .motion-step-1 {--motion-delay:55ms;}
.js body.motion-ready .motion-step-2 {--motion-delay:110ms;}
.js body.motion-ready .motion-step-3 {--motion-delay:165ms;}
@keyframes audit-reveal {from {opacity:.65; transform:translate3d(0,16px,0);} to {opacity:1; transform:none;}}
@keyframes audit-portrait-rise {from {transform:translate3d(0,16px,0);} to {transform:none;}}
body :is(.btn,.case-card,.post-card,.expertise-card,.related-card,.scene-rail a) {transition:transform 280ms var(--audit-ease),box-shadow 280ms ease,background-color 200ms ease,border-color 200ms ease;}
body :is(.case-media img,.post-cover img,.expertise-card::before) {transition:transform 700ms var(--audit-ease);}
body .btn::after {transition:transform 220ms var(--audit-ease);}
@media(hover:hover) and (pointer:fine) {
 body .btn:hover::after {transform:translateX(3px);}
 html[dir="rtl"] body .btn:hover::after {transform:translateX(-3px);}
 body :is(.case-card,.post-card,.expertise-card,.related-card):hover {transform:translateY(-4px);}
 body .post-card:hover .post-cover img {transform:scale(1.035);}
}
@media(max-width:1100px) {body .menu.open a {font-size:1.5rem!important; line-height:1.5!important;} body.is-home .hero-work-card {width:380px;} }
@media(min-width:761px) and (max-width:1100px) {
 body.is-home .featured-work .case-cards,body.is-home .post-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 body.is-home .featured-work .case-card:nth-child(n) {grid-column:auto; grid-row:auto;}
 body.is-home .featured-work .case-card:first-child,body.is-home .post-grid>.post-card:first-child {grid-column:1/-1;}
}
@media(max-width:760px) {
 :root {--audit-hero:clamp(2.375rem,10.5vw,3.25rem); --audit-page:clamp(2.125rem,8.8vw,2.75rem); --audit-section:clamp(1.875rem,8vw,2.25rem); --audit-card:1.375rem; --audit-sub:1.25rem; --audit-body:1rem; --audit-lead:1.0625rem; --audit-small:.875rem; --audit-label:.75rem; --audit-nav:.8125rem; --audit-button:.8125rem;}
 html[lang="ar"] {--audit-body:1.0625rem; --audit-lead:1.125rem; --audit-label:.8125rem; --audit-nav:.875rem; --audit-button:.875rem;}
 body .wm {font-size:12px; letter-spacing:.025em;}
 body .wm>.ar-sig {font-size:11px;}
 body.is-home .hero-work-card {width:100%;}
 body.is-home .hero-work-card .hero-ctas {display:flex; flex-direction:column; gap:6px;}
 body.is-home .hero-work-card .btn {width:100%;}
 body.is-home .hero-work-card .btn-ghost {justify-content:flex-start;}
 body .hero-work-card .btn-ghost:hover {color:var(--audit-accent)!important;}
 body .case-card .case-title,body .post-card .post-title {min-block-size:0;}
 body .metric-label {font-size:14px!important;}
 body.is-home .metrics .metric {min-height:138px;}
 body :is(.ftr-nav a,.ftr-actions a) {min-height:44px;}
}
html[lang="ar"] body :is(h1,h2,h3,h4,.hero-h1,.page-h1,.article-h1,.sect-h,.closing-h,.case-title,.post-title,.personal-name,.eyebrow,.scene-label,.post-meta,.btn) {letter-spacing:0!important;}
html[lang="ar"] body :is(a[href^="tel:"],a[href^="mailto:"],input[type="email"],input[type="tel"]) {direction:ltr; unicode-bidi:isolate;}
html[lang="ar"] body .hero-work-card {direction:rtl;}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto!important;}
 body *,body *::before,body *::after {animation:none!important; transition:none!important; scroll-behavior:auto!important;}
 .js body .rv,.js body .rv.in {opacity:1!important; transform:none!important;}
}
@media print {body {font-size:10.5pt!important;} body .rv,body .rv.in {animation:none!important; opacity:1!important; transform:none!important;} body .personal-name {color:var(--audit-accent)!important;}}
