/* WATERPROOF EUROPE — design tokens + components, ported from design_handoff_corporate_website/prototype */

/* ---------- Fonts (self-hosted; Space Grotesk & Archivo are variable files) ---------- */
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url(../assets/fonts/space-grotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url(../assets/fonts/space-grotesk-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../assets/fonts/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../assets/fonts/archivo-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Tokens: colors ---------- */
:root{
--graphite-950:#0a0c0e;
--graphite-900:#101417;
--graphite-850:#151a1e;
--graphite-800:#1a2025;
--graphite-700:#242c33;
--graphite-600:#313b43;
--graphite-500:#4a565f;
--mineral-white:#f3f5f2;
--cyan-500:#28c7d9;
--cyan-400:#4fd6e6;
--cyan-600:#1ba4b4;
--cyan-glow:rgba(40,199,217,.35);
--green-500:#a7e84b;
--green-600:#8ccf35;
--green-glow:rgba(167,232,75,.3);
--red-500:#ff4d5e;
--amber-500:#ffb224;
--surface-page:var(--graphite-950);
--surface-raised:var(--graphite-900);
--surface-card:var(--graphite-850);
--surface-inset:var(--graphite-800);
--surface-overlay:#12171b;
--text-primary:var(--mineral-white);
--text-secondary:#a8b3b8;
--text-muted:#697479;
--text-on-accent:var(--graphite-950);
--accent:var(--cyan-500);
--accent-hover:var(--cyan-400);
--accent-press:var(--cyan-600);
--accent-subtle:rgba(40,199,217,.12);
--positive:var(--green-500);
--positive-subtle:rgba(167,232,75,.12);
--danger:var(--red-500);
--danger-subtle:rgba(255,77,94,.12);
--warning:var(--amber-500);
--warning-subtle:rgba(255,178,36,.12);
--border-subtle:rgba(243,245,242,.08);
--border-strong:rgba(243,245,242,.16);
--border-accent:rgba(40,199,217,.5);
--focus-ring:0 0 0 2px var(--graphite-950),0 0 0 4px var(--cyan-500);
/* Tokens: typography */
--font-display:"Space Grotesk","Archivo",system-ui,sans-serif;
--font-body:"Archivo",system-ui,sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,monospace;
--text-hero:clamp(44px,6vw,72px);
--text-h1:40px;
--text-h2:28px;
--text-h3:20px;
--text-body-lg:17px;
--text-body:15px;
--text-sm:13px;
--text-caption:11px;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
--tracking-caps:.18em;
--tracking-wide:.08em;
--tracking-tight:-.01em;
--leading-tight:1.1;--leading-snug:1.3;--leading-body:1.55;
/* Tokens: spacing */
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;
--container-max:1200px;
--control-h-sm:32px;--control-h-md:40px;--control-h-lg:48px;
/* Tokens: effects */
--shadow-card:0 1px 0 rgba(243,245,242,.04) inset,0 8px 24px rgba(0,0,0,.4);
--shadow-overlay:0 16px 48px rgba(0,0,0,.6),0 0 0 1px rgba(243,245,242,.06);
--glow-accent:0 0 0 1px rgba(40,199,217,.4),0 0 24px rgba(40,199,217,.25);
--glow-positive:0 0 0 1px rgba(167,232,75,.4),0 0 20px rgba(167,232,75,.2);
--ease-out:cubic-bezier(.22,1,.36,1);
--ease-inout:cubic-bezier(.65,0,.35,1);
--dur-fast:120ms;
--dur-med:220ms;
--dur-slow:400ms;
--grid-line:rgba(40,199,217,.07);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--accent-hover)}
::selection{background:var(--accent);color:var(--text-on-accent)}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
code,pre,kbd{font-family:var(--font-mono)}
img,video,canvas{max-width:100%}

/* ---------- Icon (lucide via CSS mask; set --i, width/height, background-color inline) ---------- */
.icon{display:inline-block;width:18px;height:18px;flex-shrink:0;background-color:currentColor;-webkit-mask-image:var(--i);mask-image:var(--i);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

/* ---------- Button ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-h-md);padding:0 18px;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:var(--tracking-wide);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);text-decoration:none;white-space:nowrap}
.btn--sm{height:var(--control-h-sm);padding:0 14px;font-size:12px}
.btn--lg{height:var(--control-h-lg);padding:0 24px;font-size:14px}
.btn--full{width:100%}
.btn--primary{background:var(--accent);color:var(--text-on-accent);border:1px solid transparent}
.btn--primary:hover{background:var(--accent-hover);color:var(--text-on-accent)}
.btn--primary:active{background:var(--accent-press);color:var(--text-on-accent);transform:translateY(1px)}
.btn--secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-strong)}
.btn--secondary:hover{background:var(--surface-inset);color:var(--text-primary);border-color:var(--border-accent)}
.btn--secondary:active{background:var(--surface-inset);color:var(--text-primary);border-color:var(--border-strong);transform:translateY(1px)}
.btn:disabled{cursor:not-allowed;opacity:.45}

/* ---------- Badge ---------- */
.badge{display:inline-flex;align-items:center;gap:8px;height:24px;padding:0 12px;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap}
.badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.badge--info{color:var(--accent);background:var(--accent-subtle);border:1px solid rgba(40,199,217,.4)}
.badge--positive{color:var(--positive);background:var(--positive-subtle);border:1px solid rgba(167,232,75,.4)}

/* ---------- Tag ---------- */
.tag{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--radius-xs);background:var(--surface-inset);border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;transition:border-color var(--dur-fast) var(--ease-out)}
.tag:hover{border-color:var(--border-strong)}

/* ---------- Card ---------- */
.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6);font-family:var(--font-body);color:var(--text-primary)}

/* ---------- Form controls ---------- */
.field{display:flex;flex-direction:column;gap:6px;font-family:var(--font-body)}
.field__label{font-size:11px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-secondary);font-weight:600}
.field__box{display:flex;align-items:center;gap:8px;height:var(--control-h-md);padding:0 12px;background:var(--surface-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.field__box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}
.field__box input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:14px;font-family:var(--font-body)}
.field__box input:focus-visible{box-shadow:none}
.select-wrap{position:relative;display:block}
.select-wrap select{appearance:none;-webkit-appearance:none;width:100%;height:var(--control-h-md);padding:0 36px 0 12px;background:var(--surface-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:var(--font-body);cursor:pointer;outline:none;transition:border-color var(--dur-fast) var(--ease-out)}
.select-wrap select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}
.select-wrap::after{content:"▾";position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);font-size:10px}
.textarea-label{display:block;font-size:12px;font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px}
textarea{width:100%;background:var(--surface-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:14px;padding:12px 14px;resize:vertical}
textarea:focus-visible{box-shadow:none;outline:none;border-color:var(--accent)}

/* ---------- Nav ---------- */
.nav{display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:72px;border-bottom:1px solid var(--border-subtle);position:sticky;top:0;background:rgba(10,12,14,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:50}
.nav__brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav__brand img{height:30px}
.nav__wordmark{font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:var(--tracking-caps);color:var(--text-primary);white-space:nowrap}
.nav__wordmark span{color:var(--cyan-500)}
.nav__links{display:flex;align-items:center;gap:32px}
.nav__links>a:not(.btn){font-size:12px;font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-secondary)}
.nav__links>a:not(.btn):hover{color:var(--accent-hover)}
.nav__links>a.is-active{color:var(--cyan-500)}
.nav__burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;background:none;border:0;cursor:pointer;align-items:center}
.nav__burger span{display:block;width:20px;height:2px;background:var(--text-primary);transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}
.nav.is-open .nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.is-open .nav__burger span:nth-child(2){opacity:0}
.nav.is-open .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Shared blocks ---------- */
.section{padding:96px 48px;max-width:var(--container-max);margin:0 auto}
.section-label{font-size:11px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--cyan-500);font-weight:600;margin-bottom:12px}
.h2{font-family:var(--font-display);font-size:var(--text-h1);font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0 0 20px}
.prose{font-size:var(--text-body);line-height:var(--leading-body);color:var(--text-secondary);margin:0 0 16px}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:56px 56px}

/* Image / video band */
.band{position:relative;height:440px;overflow:hidden;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.band__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,14,.94) 0%,rgba(10,12,14,.6) 55%,rgba(10,12,14,.25) 100%)}
.band__content{position:relative;max-width:var(--container-max);margin:0 auto;padding:84px 48px;height:100%;display:flex;flex-direction:column;justify-content:center}
.band__content .h2{max-width:560px;margin:0 0 16px}
.band__text{color:var(--text-secondary);max-width:480px;margin:0 0 28px;line-height:var(--leading-body)}

/* CTA band */
.cta-band{position:relative;padding:110px 48px;text-align:center;overflow:hidden;border-top:1px solid var(--border-subtle)}
.cta-band .grid-bg{-webkit-mask-image:radial-gradient(ellipse 60% 90% at 50% 50%,black,transparent);mask-image:radial-gradient(ellipse 60% 90% at 50% 50%,black,transparent)}
.cta-band__inner{position:relative;max-width:720px;margin:0 auto}
.cta-band .section-label{margin-bottom:16px}
.cta-band .prose{font-size:var(--text-body-lg);margin:0 auto 32px;max-width:620px}
.cta-band__actions{display:flex;gap:12px;justify-content:center}

/* Footer */
.footer{border-top:1px solid var(--border-subtle)}
.footer__band{width:100%;height:56px;object-fit:cover;display:block;opacity:.8}
.footer__grid{max-width:var(--container-max);margin:0 auto;padding:48px 48px 20px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
.footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.footer__brand img{height:24px}
.footer__brand span{font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:var(--tracking-caps);color:var(--text-primary)}
.footer__brand span span{color:var(--cyan-500)}
.footer__desc{font-size:13px;color:var(--text-muted);line-height:var(--leading-body);max-width:380px;margin:0}
.footer__head{font-size:10px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-bottom:14px}
.footer__col{display:flex;flex-direction:column;gap:10px}
.footer__col a{font-size:13px;color:var(--text-secondary)}
.footer__col a:hover{color:var(--accent-hover)}
.footer__col .footer__note{font-size:13px;color:var(--text-muted)}
.footer__bottom{max-width:var(--container-max);margin:0 auto;padding:20px 48px 28px;display:flex;justify-content:space-between;border-top:1px solid var(--border-subtle)}
.footer__copy{font-size:11px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}
.footer__legal{display:flex;gap:24px}
.footer__legal a{font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}
.footer__legal a:hover{color:var(--accent-hover)}

/* Stats strip (Company + ECV) */
.stats{display:flex;border-bottom:1px solid var(--border-subtle);background:var(--surface-raised)}
.stats__cell{flex:1;padding:28px 24px;text-align:center}
.stats__cell+.stats__cell{border-left:1px solid var(--border-subtle)}
.stats__value{font-family:var(--font-mono);font-size:28px;font-weight:500;color:var(--cyan-500)}
.stats__value--positive{color:var(--positive)}
.stats__label{font-size:10px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-top:6px}
.stats--compact .stats__cell{padding:26px 20px}
.stats--compact .stats__value{font-size:20px}

/* Two-column prose sections */
.split{padding:96px 48px;max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr 1.3fr;gap:64px}

/* Raised full-width wrapper */
.raised{border-top:1px solid var(--border-subtle);background:var(--surface-raised)}
.raised__inner{padding:96px 48px;max-width:var(--container-max);margin:0 auto}

/* ---------- Home ---------- */
.hero{position:relative;padding:130px 48px 110px;text-align:center;overflow:hidden}
.hero__canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.hero__scrim{position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 45%,transparent,var(--surface-page) 85%)}
.hero__content{position:relative}
.hero__title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:28px auto 20px;max-width:940px}
.hero__title span{color:var(--cyan-500)}
.hero__lead{font-size:var(--text-body-lg);color:var(--text-secondary);max-width:640px;margin:0 auto 36px;line-height:var(--leading-body)}
.hero__actions{display:flex;gap:12px;justify-content:center;margin-bottom:36px}
.hero__tagline{font-size:11px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);font-weight:600}
.intro{border-top:1px solid var(--border-subtle)}
.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px}
.expertise-grid .card{padding:26px}
.card__title{font-family:var(--font-display);font-size:16px;font-weight:600;margin:14px 0 8px}
.card__body{font-size:13px;color:var(--text-secondary);line-height:var(--leading-body)}
.explore-link{margin-top:32px}
.explore-link a{font-size:13px;font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 56px;margin-top:40px}
.why-item{display:flex;gap:18px}
.icon-tile{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--accent-subtle);display:flex;align-items:center;justify-content:center}
.why-item__title{font-family:var(--font-display);font-size:16px;font-weight:600;margin-bottom:6px}
.why-item__body{font-size:13px;color:var(--text-secondary);line-height:var(--leading-body)}

/* ---------- Company ---------- */
.page-hero{position:relative;padding:110px 48px 90px;overflow:hidden;border-bottom:1px solid var(--border-subtle)}
.page-hero .grid-bg{-webkit-mask-image:radial-gradient(ellipse 60% 90% at 30% 40%,black,transparent);mask-image:radial-gradient(ellipse 60% 90% at 30% 40%,black,transparent)}
.page-hero__inner{position:relative;max-width:var(--container-max);margin:0 auto}
.page-hero__title{font-family:var(--font-display);font-size:52px;font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0 0 20px;max-width:820px}
.page-hero__title span{color:var(--cyan-500)}
.page-hero .prose{max-width:660px;font-size:var(--text-body-lg)}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;align-content:center}
.checklist__item{display:flex;gap:10px;align-items:flex-start}
.checklist__marker{color:var(--positive);font-family:var(--font-mono);font-size:13px;line-height:22px}
.checklist__text{font-size:13px;color:var(--text-secondary);line-height:22px}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.mv-grid .card{padding:32px}
.mv-label{font-size:11px;letter-spacing:var(--tracking-caps);text-transform:uppercase;font-weight:600;margin-bottom:14px}
.mv-label--mission{color:var(--cyan-500)}
.mv-label--vision{color:var(--positive)}
.principles-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:28px}
.principle{padding:24px 20px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card)}
.principle__title{font-family:var(--font-display);font-size:15px;font-weight:600;margin:12px 0 8px}
.principle__body{font-size:12px;color:var(--text-secondary);line-height:var(--leading-body)}
.leaders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.leaders-grid .card{padding:28px}
.leader__avatar{width:56px;height:56px;border-radius:50%;background:var(--accent-subtle);border:1px solid var(--border-accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--cyan-500);margin-bottom:18px}
.leader__name{font-family:var(--font-display);font-size:18px;font-weight:600}
.leader__role{font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--cyan-500);font-weight:600;margin:6px 0 14px}
.leader__bio{font-size:13px;color:var(--text-secondary);line-height:var(--leading-body)}

/* ---------- Expertise ---------- */
.activities-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.activities-grid .card{padding:28px}
.activity__head{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.icon-tile--sm{width:38px;height:38px}
.activity__title{font-family:var(--font-display);font-size:17px;font-weight:600}
.activity__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 28px;margin-top:40px}
.step{border-top:2px solid var(--cyan-500);padding-top:18px}
.step--last{border-top-color:var(--positive)}
.step__num{font-family:var(--font-mono);font-size:13px;color:var(--cyan-500);margin-bottom:10px}
.step--last .step__num{color:var(--positive)}
.step__title{font-family:var(--font-display);font-size:17px;font-weight:600;margin-bottom:8px}
.step__body{font-size:13px;color:var(--text-secondary);line-height:var(--leading-body)}
.positions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}
.position{padding:22px;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}
.position__title{font-family:var(--font-display);font-size:15px;font-weight:600;margin-bottom:8px}
.position__body{font-size:12.5px;color:var(--text-secondary);line-height:var(--leading-body)}
.sectors{border-top:1px solid var(--border-subtle)}
.sectors__inner{padding:90px 48px;max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:64px}
.tag-cloud{display:flex;flex-wrap:wrap;gap:10px;align-content:center}

/* ---------- ECV ---------- */
.ecv-hero{position:relative;min-height:560px;overflow:hidden;display:flex;align-items:center;border-bottom:1px solid var(--border-subtle)}
.ecv-hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,14,.95) 0%,rgba(10,12,14,.65) 55%,rgba(10,12,14,.3) 100%)}
.ecv-hero__content{position:relative;max-width:var(--container-max);margin:0 auto;padding:100px 48px;width:100%}
.ecv-hero__title{font-family:var(--font-display);font-size:56px;font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:24px 0 16px;max-width:760px}
.ecv-hero__title span{color:var(--positive)}
.ecv-hero__lead{font-size:var(--text-body-lg);color:var(--text-secondary);max-width:600px;line-height:var(--leading-body);margin:0 0 32px}
.ecv-hero__actions{display:flex;gap:12px;align-items:center}
.ecv-hero__tagline{font-size:12px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);font-weight:600}
.checks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 28px;margin-top:36px}
.check{display:flex;gap:12px;align-items:flex-start}
.check .icon{margin-top:2px}
.check__text{font-size:13px;color:var(--text-secondary);line-height:var(--leading-body)}
.checks-note{margin-top:32px;max-width:760px;margin-bottom:0;font-size:13px;color:var(--text-muted)}
.dimensions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.dimensions-grid .card{padding:24px}
.dimension__title{font-family:var(--font-display);font-size:15px;font-weight:600;margin:12px 0 8px}
.dimension__body{font-size:12.5px;color:var(--text-secondary);line-height:var(--leading-body)}
.audience{padding:96px 48px;max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:64px}
.ambition{border-top:1px solid var(--border-subtle);padding:90px 48px;text-align:center}
.ambition__inner{max-width:720px;margin:0 auto}
.ambition .section-label{margin-bottom:16px}
.ambition .prose{margin:0 auto;max-width:640px}
.ambition__sign{margin-top:28px;font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:var(--tracking-caps);text-transform:uppercase}
.ambition__sign span{color:var(--positive)}

/* ---------- Contact ---------- */
.contact{padding:100px 48px 96px;max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:72px}
.contact__title{font-family:var(--font-display);font-size:48px;font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0 0 20px}
.contact__title span{color:var(--cyan-500)}
.contact__facts{display:flex;flex-direction:column;gap:14px;margin-top:36px}
.contact__fact{display:flex;gap:12px;align-items:center}
.contact__fact span:last-child{font-size:13px;color:var(--text-secondary)}
.contact-card{padding:36px}
.contact-form{display:flex;flex-direction:column;gap:18px}
.contact-form__title{font-family:var(--font-display);font-size:20px;font-weight:600}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form__helper{font-size:11px;color:var(--text-muted);text-align:center}
.contact-form__error{font-size:12px;color:var(--danger);text-align:center;display:none}
.contact-form__error.is-visible{display:block}
.contact-success{text-align:center;padding:48px 0;display:none}
.contact-success.is-visible{display:block}
.contact-success .icon{margin:0 auto 18px}
.contact-success__title{font-family:var(--font-display);font-size:22px;font-weight:600;margin-bottom:8px}
.contact-success__sub{font-size:14px;color:var(--text-secondary)}
.turnstile-slot{min-height:65px}

/* ---------- 404 ---------- */
.notfound{position:relative;padding:150px 48px;text-align:center;overflow:hidden}
.notfound .grid-bg{-webkit-mask-image:radial-gradient(ellipse 60% 90% at 50% 50%,black,transparent);mask-image:radial-gradient(ellipse 60% 90% at 50% 50%,black,transparent)}
.notfound__inner{position:relative;max-width:640px;margin:0 auto}
.notfound__code{font-family:var(--font-mono);font-size:13px;color:var(--cyan-500);margin-bottom:16px}

/* ---------- Responsive (conservative; desktop design is the reference) ---------- */
@media (max-width:1024px){
.expertise-grid{grid-template-columns:repeat(2,1fr)}
.principles-grid{grid-template-columns:repeat(2,1fr)}
.leaders-grid,.dimensions-grid,.positions-grid,.steps-grid,.checks-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
.nav{padding:0 24px}
.nav__burger{display:flex}
.nav__links{display:none}
.nav.is-open .nav__links{display:flex;flex-direction:column;align-items:stretch;gap:4px;position:absolute;top:72px;left:0;right:0;padding:12px 24px 24px;background:rgba(10,12,14,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle)}
.nav.is-open .nav__links>a:not(.btn){padding:12px 0}
.nav.is-open .nav__links>.btn{margin-top:12px}
.section,.split,.raised__inner,.hero,.cta-band,.page-hero,.ambition,.contact,.audience,.sectors__inner{padding-left:24px;padding-right:24px}
.split,.sectors__inner,.audience,.contact{grid-template-columns:1fr;gap:40px}
.expertise-grid,.why-grid,.activities-grid,.mv-grid,.principles-grid,.leaders-grid,.dimensions-grid,.positions-grid,.steps-grid,.checks-grid,.checklist,.contact-form__row{grid-template-columns:1fr}
.stats{flex-wrap:wrap}
.stats__cell{flex:1 1 50%}
.stats__cell+.stats__cell{border-left:none}
.stats__cell:nth-child(even){border-left:1px solid var(--border-subtle)}
.stats__cell:nth-child(n+3){border-top:1px solid var(--border-subtle)}
.footer__grid{grid-template-columns:1fr;gap:32px}
.footer__bottom{flex-direction:column;gap:12px}
.band{height:auto;min-height:360px}
.band__content{padding:64px 24px}
.page-hero__title,.ecv-hero__title{font-size:40px}
.contact__title{font-size:40px}
.hero__actions,.cta-band__actions{flex-wrap:wrap}
.ecv-hero__actions{flex-wrap:wrap;row-gap:16px}
}
