/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4
 * macrostructure: Split Studio · theme: existing Van Goubergen brand
 * genre: editorial business · nav: N1b balanced masthead · footer: Ft5 statement
 * tone: practical, human, restrained · enrichment: supplied photography
 * Audience: operations leaders · action: discuss a process challenge
 * User's existing brand palette/font continuity overrides catalog rotation.
 * QA: responsive 320–1920px EN/NL, contrast, keyboard navigation and real assets pass.
 * Design and feeling approved by the founder on 15 September 2026.
 */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url('/assets/fonts/open-sans-latin.woff2') format('woff2')}
*{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-lg))}
body{margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.65;-webkit-font-smoothing:antialiased}
body,h1,h2,h3,p,figure,ul,ol{margin:0}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,summary{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}
h1,h2,h3{font-family:var(--font-display);font-weight:700;font-style:normal;line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0}
h1{font-size:var(--text-display);letter-spacing:-.047em}
html[lang="nl-BE"] h1{font-size:clamp(1.9375rem,8.7vw,4rem)}
h2{font-size:var(--text-h2)}
h3{font-size:var(--text-h3);letter-spacing:-.025em;line-height:1.25}
p{max-width:65ch}
.shell{width:min(calc(100% - var(--page-gutter)*2),var(--page-width));margin-inline:auto}
.section{padding-block:var(--space-3xl)}
.skip-link{position:fixed;top:var(--space-md);left:var(--space-md);padding:var(--space-md);background:var(--color-accent);color:var(--color-accent-ink);transform:translateY(-180%);z-index:var(--z-menu)}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;background:var(--color-paper);color:var(--color-ink);z-index:var(--z-header);border-bottom:var(--rule) solid var(--color-rule)}
.header-inner{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}
.brand{display:inline-flex;min-height:44px;flex-direction:column;justify-content:center;flex-shrink:0;font-family:var(--font-display)}
.brand-name{display:flex;align-items:baseline;gap:.35em;font-size:1.3rem;line-height:1.25;letter-spacing:-.055em;font-weight:800;white-space:nowrap}
.brand-pm{font-size:.65em;letter-spacing:-.02em;color:var(--color-accent)}
.brand-line{font-size:.65rem;letter-spacing:.08em;line-height:1.5;margin-top:.25rem}
.desktop-nav,.header-actions{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-lg);min-height:52px;padding:var(--space-sm) var(--space-lg);border:var(--rule) solid var(--color-accent);border-radius:var(--radius-small);background:var(--color-accent);color:var(--color-accent-ink);font-family:var(--font-display);font-size:var(--text-body);font-weight:700;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out)}
.button span,.text-link span{font-size:1.25em;line-height:1}
.button:active{background:var(--color-accent-hover)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-sm);min-height:44px;font-family:var(--font-display);font-weight:700;color:var(--color-accent);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;white-space:nowrap}
.mobile-menu>summary{list-style:none;display:flex;gap:var(--space-sm);align-items:center;justify-content:flex-end;min-height:44px;font-family:var(--font-display);font-weight:700;font-size:var(--text-small);cursor:pointer}
.mobile-menu>summary::-webkit-details-marker{display:none}
.menu-icon{display:block;width:18px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.mobile-menu[open] .menu-icon{height:2px;border-bottom:0}
.mobile-panel{position:absolute;inset:var(--header-height) 0 auto;background:var(--color-paper);color:var(--color-ink);border-bottom:var(--rule) solid var(--color-rule);padding:var(--space-md) var(--page-gutter) var(--space-xl);max-height:calc(100svh - var(--header-height));overflow-y:auto}
.mobile-panel nav{display:grid;margin-bottom:var(--space-md)}
.mobile-panel nav a{min-height:52px;display:flex;align-items:center;border-bottom:var(--rule) solid var(--color-rule);font-family:var(--font-display);font-weight:600}
.language-links{display:flex;gap:var(--space-xs);font-family:var(--font-display);font-weight:600;font-size:var(--text-small)}
.language-links a{display:flex;min-height:44px;min-width:44px;align-items:center;justify-content:center}
.language-links [aria-current]{text-decoration:underline;text-underline-offset:6px;color:var(--color-accent)}
.hero{display:grid;gap:var(--space-xl);padding-top:var(--space-2xl);padding-bottom:var(--space-xl)}
.hero-context{color:var(--color-accent);font-family:var(--font-display);font-weight:600;margin-bottom:var(--space-lg);font-size:var(--text-small)}
.hero h1 span{display:block}
.hero h1 span+span{color:var(--color-accent)}
.hero-intro{margin-top:var(--space-lg);color:var(--color-ink-2);font-size:var(--text-body);max-width:49ch}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);margin-top:var(--space-xl)}
.hero-proof{font-size:var(--text-small);color:var(--color-muted);margin-top:var(--space-lg);max-width:38ch}
.hero-photo{position:relative;min-width:0}
.hero-photo img{width:100%;height:100%;aspect-ratio:5/4;object-fit:cover;object-position:40% 40%;border-radius:var(--radius-small)}
figcaption{font-size:.75rem;color:var(--color-muted);margin-top:var(--space-sm);line-height:1.5}
.references{padding-block:var(--space-xl) var(--space-2xl);border-bottom:var(--rule) solid var(--color-rule)}
.references>p{font-size:.75rem;color:var(--color-muted);margin-bottom:var(--space-lg)}
.reference-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg) var(--space-xl);align-items:center}
.reference-logos img{width:100%;height:35px;max-width:140px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply;opacity:.8}
.challenge{display:grid;gap:var(--space-xl)}
.section-intro p{color:var(--color-ink-2);margin-top:var(--space-lg)}
.challenge-list article{padding-block:var(--space-lg);border-bottom:var(--rule) solid var(--color-rule)}
.challenge-list article:first-child{padding-top:0}
.challenge-list p{margin-top:var(--space-sm);color:var(--color-ink-2)}
.approach{display:grid;gap:var(--space-xl);padding-top:var(--space-lg)}
.approach-photo img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:42% center;border-radius:var(--radius-small)}
.approach-copy>p{margin-top:var(--space-lg);color:var(--color-ink-2)}
.approach-steps{list-style:none;padding:0;margin-top:var(--space-xl)}
.approach-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-lg);border-top:var(--rule) solid var(--color-rule)}
.step-number{font-family:var(--font-display);color:var(--color-accent);font-weight:700;font-size:var(--text-small);padding-top:.2rem}
.approach-steps h3{font-size:1.25rem}
.approach-steps p{color:var(--color-ink-2);margin-top:var(--space-xs)}
.services{background:var(--color-paper-2);color:var(--color-ink)}
.services-intro{max-width:750px;margin-bottom:var(--space-2xl)}
.services-intro p{margin-top:var(--space-lg);color:var(--color-ink-2)}
.service-row{display:grid;gap:var(--space-lg);border-top:var(--rule) solid var(--color-rule);padding-block:var(--space-xl)}
.service-row:last-child{padding-bottom:0}
.service-heading{display:block}
.service-description>p{color:var(--color-ink-2)}
.service-description .service-tags{color:var(--color-muted);font-size:var(--text-small);margin-block:var(--space-md)}
.about{background:var(--color-dark);color:var(--color-paper);padding-block:var(--space-3xl)}
.about-grid{display:grid;gap:var(--space-2xl)}
.about h2{max-width:21ch}
.about-copy>p{color:var(--color-dark-muted);margin-top:var(--space-lg);max-width:52ch}
.about-expertise{padding-top:var(--space-lg);margin-top:var(--space-xl);border-top:var(--rule) solid var(--color-dark-rule)}
.about-expertise h3{font-size:1.25rem;max-width:32ch}
.about-expertise p{color:var(--color-dark-muted);margin-top:var(--space-sm);max-width:55ch;font-size:var(--text-small)}
.about-photo{max-width:480px}
.about-photo img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 40%;border-radius:var(--radius-small)}
.about-photo figcaption{color:var(--color-dark-muted);display:grid;gap:.25rem;margin-top:var(--space-md)}
.about-photo strong{font-size:var(--text-body);font-weight:600;color:var(--color-paper)}
.sectors{display:flex;gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;list-style:none;padding:var(--space-lg) 0 0;margin-top:var(--space-xl);border-top:var(--rule) solid var(--color-dark-rule);color:var(--color-dark-muted);font-size:var(--text-small)}
.academy{display:grid;gap:var(--space-xl)}
.academy-photo img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:60% 40%;border-radius:var(--radius-small)}
.academy-wordmark{font-family:var(--font-display);font-size:1.5rem;font-weight:800;line-height:1.1;color:var(--color-accent);letter-spacing:-.04em;margin-bottom:var(--space-xl)}
.academy-wordmark span{display:block;font-size:.625rem;letter-spacing:.07em;margin-top:.4rem;font-weight:500}
.academy-copy>p:not(.academy-wordmark){color:var(--color-ink-2);margin-top:var(--space-lg)}
.academy-copy>.text-link{margin-top:var(--space-md)}
.course-feature{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:var(--rule) solid var(--color-rule)}
.course-label{color:var(--color-muted);font-size:var(--text-small);margin-bottom:var(--space-xs)}
.course-feature h3{font-size:1.5rem}
.course-feature p:not(.course-label){color:var(--color-ink-2);margin-top:var(--space-sm)}
.course-feature .text-link{margin-top:var(--space-sm)}
.workshop-entry{display:grid;gap:var(--space-xl)}
.workshop-entry h2{max-width:19ch}
.workshop-entry h3{color:var(--color-accent)}
.workshop-entry p:not(.hero-context){margin-top:var(--space-md);color:var(--color-ink-2)}
.workshop-entry .button{margin-top:var(--space-lg)}
.workshop-entry .workshop-entry-note{font-size:var(--text-small);color:var(--color-muted)}
.faq{padding-top:var(--space-lg);display:grid;gap:var(--space-xl)}
.faq h2{font-size:clamp(1.875rem,1.3rem + 1.6vw,2.5rem);max-width:20ch}
.faq-list details{border-bottom:var(--rule) solid var(--color-rule)}
.faq-list details:first-child{border-top:var(--rule) solid var(--color-rule)}
.faq-list summary{display:flex;justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-lg);cursor:pointer;list-style:none;font-family:var(--font-display);font-size:var(--text-lead);font-weight:600;line-height:1.4}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list details>p{padding-bottom:var(--space-lg);padding-right:var(--space-xl);color:var(--color-ink-2)}
.faq-toggle{height:14px;width:14px;flex:0 0 14px;position:relative;margin-top:.4rem}
.faq-toggle::before,.faq-toggle::after{content:'';position:absolute;background:currentColor}
.faq-toggle::before{height:2px;inset:6px 0 auto}
.faq-toggle::after{width:2px;inset:0 auto 0 6px}
details[open] .faq-toggle::after{display:none}
.site-footer{background:var(--color-dark);color:var(--color-paper);padding-top:var(--space-3xl)}
.site-footer a:focus-visible{outline-color:var(--color-focus-dark)}
.footer-lead{display:grid;gap:var(--space-xl);padding-bottom:var(--space-3xl)}
.footer-lead h2{max-width:15ch;font-size:clamp(2.5rem,2rem + 2vw,4rem)}
.footer-lead p{max-width:45ch;color:var(--color-dark-muted);margin-top:var(--space-lg)}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md);justify-content:center}
.button-light{background:var(--color-paper);color:var(--color-dark);border-color:var(--color-paper);min-width:172px;justify-content:space-between}
.button-light:active{background:var(--color-paper-3);color:var(--color-dark)}
a:active:not(.button),summary:active{text-decoration:underline;text-underline-offset:4px}
.footer-contact .email-link{display:flex;align-items:center;min-height:44px;font-family:var(--font-display);font-size:clamp(1rem,.8rem + .6vw,1.25rem);white-space:nowrap}
.footer-contact p{font-size:var(--text-small);margin:0}
.footer-main{border-top:var(--rule) solid var(--color-dark-rule);padding-block:var(--space-xl);display:grid;gap:var(--space-lg)}
.site-footer .brand-pm{color:var(--color-paper)}
.footer-main>p{font-size:var(--text-small);color:var(--color-dark-muted)}
.footer-main nav{display:flex;flex-wrap:wrap;gap:0 var(--space-lg)}
.footer-main nav a{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;font-size:var(--text-small);white-space:nowrap;color:var(--color-dark-muted)}
.footer-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);padding-block:var(--space-md);border-top:var(--rule) solid var(--color-dark-rule);color:var(--color-dark-muted);font-size:.75rem}
.footer-meta a{display:inline-flex;align-items:center;gap:var(--space-lg);min-height:44px;white-space:nowrap}
@media(hover:hover){.button:hover{background:var(--color-accent-hover)}.button-light:hover{background:var(--color-paper-3);color:var(--color-dark)}.text-link:hover{text-decoration-thickness:2px}.desktop-nav a:hover{color:var(--color-accent)}.footer-main a:hover,.footer-meta a:hover{text-decoration:underline;text-underline-offset:4px}}
@media(min-width:40rem){
  .section{padding-block:var(--space-4xl)}
  .hero{padding-top:var(--space-3xl)}
  .hero-intro{font-size:var(--text-lead)}
  .hero-photo img{aspect-ratio:3/2;max-height:560px}
  .reference-logos{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2xl)}
  .reference-logos img{height:44px;max-width:150px;justify-self:center}
  .references{padding-block:var(--space-xl) var(--space-2xl)}
  .references>p{text-align:center;max-width:none;margin-bottom:var(--space-xl)}
  .footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .footer-main>p{justify-self:end;align-self:center}
  .footer-main nav{grid-column:1/-1}
}
@media(min-width:62rem){
  .workshop-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4xl);align-items:center}
  .hero{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:var(--space-2xl);align-items:center;padding-block:var(--space-2xl) var(--space-3xl)}
  .hero-copy{padding-block:var(--space-lg)}
  .hero h1{font-size:clamp(2.5rem,5.2vw,4.875rem)}
  .hero h1 span{white-space:nowrap}
  html[lang="nl-BE"] h1{font-size:clamp(2rem,4.3vw,4rem)}
  .hero-intro{font-size:var(--text-body);max-width:47ch}
  .hero-photo{align-self:stretch;min-height:580px;padding-bottom:var(--space-lg)}
  .hero-photo img{aspect-ratio:auto;max-height:none;position:absolute;inset:0 0 var(--space-lg);height:calc(100% - var(--space-lg));object-position:36% center}
  .hero-photo figcaption{position:absolute;bottom:-.5rem;left:0;max-width:none;white-space:nowrap;font-size:.68rem}
  .challenge{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:var(--space-5xl)}
  .section-intro h2{max-width:13ch}
  .challenge-list{padding-top:var(--space-xs)}
  .challenge-list h3{font-size:1.375rem}
  .approach{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4xl);align-items:center;padding-top:0}
  .approach-photo{height:100%;max-height:730px}
  .approach-photo img{height:calc(100% - 32px);aspect-ratio:auto;object-position:43% center}
  .approach-copy h2{max-width:20ch}
  .service-row{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:var(--space-4xl);padding-block:var(--space-2xl)}
  .service-heading{gap:var(--space-xl)}
  .service-heading h3{font-size:clamp(1.5rem,2.3vw,2rem);max-width:19ch}
  .services-intro{margin-bottom:var(--space-3xl)}
  .about-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-5xl);align-items:center}
  .about{padding-block:var(--space-4xl)}
  .about-photo img{aspect-ratio:4/5}
  .academy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4xl);align-items:center}
  .academy-photo{height:100%}
  .academy-photo img{height:100%;aspect-ratio:4/5;object-position:60% center;max-height:740px}
  .faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-4xl);padding-top:var(--space-lg)}
  .footer-lead{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--space-4xl)}
  .footer-contact{justify-self:end;min-width:290px}
  .footer-main{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md)}
  .footer-main>p{grid-row:2;justify-self:start}
  .footer-main nav{grid-row:1/3;grid-column:2;align-self:center;max-width:600px;justify-content:flex-end}
}
@media(min-width:76rem){
  .mobile-menu{display:none}
  .desktop-nav{display:flex;align-items:center;gap:var(--space-lg);font-family:var(--font-display);font-size:var(--text-small);font-weight:500}
  .desktop-nav a{display:inline-flex;align-items:center;gap:.3rem;min-height:44px;white-space:nowrap}
  .header-actions{display:flex;align-items:center;gap:var(--space-md)}
  .header-actions .language-links{gap:0;font-size:.75rem}
  .header-actions .language-links a{min-width:44px}
  .button-small{font-size:var(--text-small);min-height:44px;padding-inline:var(--space-md);gap:var(--space-md)}
  .hero{gap:var(--space-3xl)}
  .hero-intro{font-size:var(--text-lead)}
  .hero-photo{min-height:630px}
  .hero-photo figcaption{font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
