/* Shared public-page refinements. Native scrolling: no wheel/touch hijacking. */
@font-face{font-family:'Bricolage Grotesque';src:url('/assets/fonts/bricolage/bricolage-grotesque-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--navigation-font:'Bricolage Grotesque',sans-serif}
.desktop-nav a,.mobile-nav a,.footer-links a,.header-cta,.project-nav a,.case-header nav a{font-family:var(--navigation-font);font-weight:550;letter-spacing:-.025em}
html{scroll-padding-top:108px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{scroll-behavior:auto!important}}
/* These are navigation labels, not page-section headings. */
.capability-label{display:block;font-family:var(--display,'Bricolage Grotesque',sans-serif);font-size:20px;font-weight:550;letter-spacing:-.04em;line-height:1.1;margin:0 0 6px}
@media(max-width:540px){html{scroll-padding-top:90px}.capability-label{font-size:18px}}
@media(max-width:540px){.capability-label{font-size:16px}}
.capability:hover .capability-label{color:var(--wine)}
:where(a,button,input,summary):focus-visible{outline:2px solid currentColor;outline-offset:5px}
/* Legal layout stays intact; match the website's display type. */
.legal-shell h1,.legal-shell h2{font-family:var(--navigation-font)}
.finder-noscript{font-size:13px;line-height:1.7}.finder-noscript ul{padding-left:20px}
/* Tablet is a stacked composition, not a squeezed desktop hero. */
@media(min-width:821px) and (max-width:1050px){
  body:not(.contact-page) .hero-main{min-height:0}
  body:not(.contact-page) .hero-copy{width:100%;max-width:none}
  body:not(.contact-page) .hero-title{font-size:clamp(58px,7.8vw,80px)}
  body:not(.contact-page) .hero-description{max-width:560px;font-size:15px}
  body:not(.contact-page) .hero-visual{position:relative;top:auto;right:auto;width:94%;max-width:none;min-height:0;aspect-ratio:1.65;margin:35px 0 20px 6%}
}
@media(max-width:1050px){
  .capability-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .capability{min-width:0}
  .capability>div:last-child{min-width:0}
  .capability:nth-child(2)::after{display:none}
  .capability:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
/* Longer service headlines must also fit just above the tablet breakpoint. */
@media(min-width:1051px) and (max-width:1260px){
  .service-landing .hero-title{font-size:6.2vw}
}
@media(max-width:540px){
  .hero-buttons{flex-wrap:wrap}
}
@media(max-width:380px){
  .capability{flex-direction:column;align-items:flex-start;gap:8px;padding:14px 10px}
  .capability-icon{height:25px}
  .capability-label{font-size:15px;line-height:1.2}
}
/* Narrative expansion stays inside the existing case shell, after the images. */
.case-seo-story{padding-block:90px;border-top:1px solid #ced9df}
.case-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(30px,6vw,90px)}
.case-seo-story h2{font-family:Sora,Arial,sans-serif;font-size:clamp(32px,3.5vw,50px);font-weight:500;line-height:1.16;letter-spacing:-.055em;margin:18px 0 25px;overflow-wrap:break-word}
.case-seo-story h3{font-family:Sora,Arial,sans-serif;font-size:clamp(23px,2vw,29px);font-weight:500;line-height:1.3;letter-spacing:-.04em;margin:10px 0 18px}
.case-seo-story p:not(.section-caption){font-size:14px;line-height:1.9;color:#50616c;margin:0 0 18px}
.case-story-articles article+article{border-top:1px solid #ced9df;margin-top:30px;padding-top:30px}
.case-search-terms{padding-left:20px;margin:20px 0;color:#50616c;font-size:14px;line-height:1.9}
.case-query-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;line-height:1.6;margin:22px 0}
.case-query-table caption{text-align:left;font-size:14px;font-weight:500;margin-bottom:12px}
.case-query-table th,.case-query-table td{padding:12px 0;border-bottom:1px solid #ced9df;text-align:left;overflow-wrap:break-word}
.case-query-table th:first-child{width:62%;padding-right:12px}
.case-query-table th:last-child,.case-query-table td:last-child{text-align:right}
.case-query-table tbody th{font-weight:400}
.case-seo-story p.case-search-period,.case-seo-story p.case-search-note{font-size:12px;line-height:1.8}
.case-seo-story p.case-search-summary strong{font-weight:600;color:#19262d}
#zoekdata{scroll-margin-top:35px}
.case-proof-links{display:flex;flex-wrap:wrap;gap:0 25px}
.case-story-link{display:inline-block;margin-top:18px;color:#860b1b;font-size:13px;line-height:1.8;text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.case-story-grid{grid-template-columns:minmax(0,1fr);gap:35px}.case-seo-story{padding-block:60px}}
@media(max-width:540px){.case-seo-story p:not(.section-caption){font-size:13px}.case-seo-story h2{font-size:34px}}
