/* ===== Shared fixes (home page + case studies) =====
   1. Contrast: secondary grey raised to meet WCAG AA on #080808 / #111 / #181818.
   2. Minimum text size 12px (0.75rem) for labels that were 9-11px.
   3. Visible keyboard focus. */
:root{--gray-text:#9c9c9c;--gray-light:#c4c4c4}
.hss-label,.cat-tab,.psub,.pyear,.dp-ml,.sk-title,.fl,.nav-links a,.stat-label,.dp-ol,.dp-cl,.dp-hl,.tl-year,.fc,.ft-top,
.pill,.sk-tag,.hero-eyebrow,.sec-label,.dp-back,.show-more-btn,.show-less-btn,.portfolio-category-label,.tl-co,.fsub,
.dp-case-study-link,.pipe b,.btn-primary,.btn-ghost,.c-link,.photo-ph,#dp .dp-detail-footer,footer span,footer a{font-size:.75rem!important}
body>.dphero-content .pyear,body>.portfolio-case-title .pyear,body>.dphero-content .psub,body>.portfolio-case-title .psub{font-size:.75rem!important}
body>.dphero-content .portfolio-case-back,body>.portfolio-case-title .portfolio-case-back{font-size:.75rem!important}
.pill.core,.sk-tag.hi{color:#7eadff}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,.pcard:focus-visible{outline:2px solid #7eadff;outline-offset:3px}
/* Higher-specificity pass for the long-form case-study pages */
html body figcaption,html body figcaption *,html body .note,html body .gatlang-model-credit,html body .gatlang-model-credit a,
html body p.sec-label,html body .sec-label,html body>.dphero-content .portfolio-case-back,html body>.portfolio-case-title .portfolio-case-back,
html body>.dphero-content .pyear,html body>.dphero-content .psub{font-size:.75rem!important}
html body #dp-main .sec-label,html body #dp-main p.sec-label,html body main .sec-label,html body .portfolio-sketchfab-open{font-size:.75rem!important}
body>.dp-body #dp-main>section:first-child .sec-label,body>.dp-body #dp-main section .sec-label{font-size:.75rem!important}

/* ---- Case-study title: pinned strip (original design). The page script sets --portfolio-sticky-offset from the strip height;
   sidebar and anchor jumps sit below it. On phones the pinned state is compacted so it never eats the screen. ---- */
html body>.dp-body #dp-main>section,html body>.dp-body section[id]{scroll-margin-top:calc(var(--portfolio-sticky-offset,150px) + 6px)!important}
html{scroll-padding-top:calc(var(--portfolio-sticky-offset,150px) + 6px)}
/* Short screens (small laptops): slightly smaller title in BOTH states (never changes size at the moment it pins, which would make it flicker) */
@media(max-height:800px) and (min-width:901px){
 html body>.dphero-content .dp-title,html body>.portfolio-case-title .dp-title{font-size:clamp(1.9rem,5.6vh,2.7rem)!important}
 html body>.dphero-content,html body>.portfolio-case-title{padding-top:52px!important;padding-bottom:20px!important}
}

/* ---- standalone case-study footer ---- */
.cs-foot{max-width:1280px;margin:4rem auto 0;padding:2.5rem 3rem 3rem;border-top:1px solid rgba(255,255,255,.13);display:grid;gap:1.6rem;font-family:var(--font-mono,monospace)}
.cs-foot .cs-all{justify-self:start;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#f4f1ec;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.cs-foot .cs-more{display:flex;gap:1rem;flex-wrap:wrap}
.cs-foot .cs-more a{flex:1 1 240px;display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.2rem;border:1px solid rgba(255,255,255,.13);color:#f4f1ec;text-decoration:none;font-size:.82rem}
.cs-foot .cs-more a:hover{border-color:#2979ff}
.cs-foot .cs-more a:last-child{text-align:right}
.cs-foot small{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#9c9c9c}
.cs-foot p{font-size:.64rem;letter-spacing:.1em;color:#9c9c9c}
@media(max-width:600px){.cs-foot{padding:2rem 1.2rem}}

/* Mobile/tablet: facts sidebar must flow in normal layout (sticky offset leaked into relative → overlapped next section) */
@media(max-width:900px){
 html body>.dp-body #dp-sidebar,
 html body>.dp-body .portfolio-case-facts,
 html body>.portfolio-multi-case-main .portfolio-case-facts{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;transform:none!important;margin:0 0 .5rem!important}
}
