/* ============================================================
   Marveltest — gedeelde stijl (nieuwe huisstijl, o.b.v. vnew3)
   Gebruikt op alle subpagina's: team, careers, cases, articles, case-detail
   ============================================================ */
:root{
  --ink:#101626;
  --ink-soft:#414a5e;
  --paper:#ffffff;
  --paper-2:#F4F1EC;
  --paper-3:#ECE7DE;
  --navy:#132653;
  --muted:#6a7180;
  --line:rgba(19,21,27,.12);
  --line-dark:rgba(255,255,255,.16);
  --accent:#2288F5;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --wrap:1280px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;letter-spacing:-.011em;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
section{position:relative}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 36px}

/* type */
h1,h2,h3,h4{font-weight:600;letter-spacing:-.032em;line-height:1.02;color:var(--ink)}
.h-xl{font-size:clamp(46px,6.6vw,92px);letter-spacing:-.04em;line-height:.98}
.h-lg{font-size:clamp(34px,4.6vw,62px);letter-spacing:-.035em;line-height:1.0}
.h-md{font-size:clamp(26px,3vw,40px);letter-spacing:-.03em}
.lead{font-size:clamp(17px,1.4vw,21px);line-height:1.5;color:var(--ink-soft);font-weight:400;letter-spacing:-.012em}
.ey{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.ey .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:9px;vertical-align:middle}

/* buttons / links */
.btn{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:500;padding:14px 24px;border-radius:100px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;transition:.35s var(--ease)}
.btn svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover svg{transform:translateX(4px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink)}
.on-dark .btn{background:#fff;color:var(--ink);border-color:#fff}
.on-dark .btn-ghost{background:transparent;color:#fff;border-color:var(--line-dark)}
.arrow{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:14.5px;transition:.3s}
.arrow svg{width:15px;height:15px;transition:transform .35s var(--ease)}
.arrow:hover svg{transform:translateX(4px)}
.btn-sm{padding:10px 18px}

/* announcement bar */
.anno{background:var(--navy);color:#fff;font-size:13px;text-align:center;padding:9px 16px;letter-spacing:-.005em}
.anno a{font-weight:500;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:1px}

/* ============ NAV + DROPDOWN MEGA MENU ============ */
header.nav{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.82);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
.brand{font-weight:600;font-size:21px;letter-spacing:-.04em;display:inline-flex;align-items:flex-start}
.brand sup{color:var(--accent);font-size:.58em;margin-left:1px;top:.12em;position:relative}
.nav-links{display:flex;gap:28px;list-style:none;align-items:center}
.nav-links>li{position:relative}
.nav-links>li>a{font-size:14.5px;font-weight:450;color:var(--ink-soft);transition:.2s}
.nav-links>li>a:hover{color:var(--ink)}
.nav-links>li>button{font-size:14.5px;font-weight:450;color:var(--ink-soft);transition:.2s;display:inline-flex;align-items:center;gap:6px;background:none;border:0;font-family:inherit;cursor:pointer;padding:0}
.nav-links>li>button:hover{color:var(--ink)}
.nav-links .caret{width:11px;height:11px;transition:transform .25s var(--ease)}
.nav-links>li:hover .caret{transform:rotate(180deg)}
/* dropdown panel */
.dd{position:absolute;top:calc(100% + 10px);left:0;min-width:280px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -24px rgba(16,22,38,.28);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.26s var(--ease);z-index:95}
.dd.dd-end{left:auto;right:0}
.nav-links>li:hover .dd,.nav-links>li:focus-within .dd{opacity:1;visibility:visible;transform:none}
.dd a{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:11px;transition:.2s}
.dd a:hover{background:var(--paper-2)}
.dd .di{width:34px;height:34px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;background:var(--paper-2);color:var(--accent)}
.dd .di svg{width:18px;height:18px}
.dd .dt{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em;display:flex;align-items:center;gap:6px}
.dd .dt .ext{font-size:10px;color:var(--muted)}
.dd .ds{font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:2px}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-login{font-size:14.5px;color:var(--ink-soft)}
.nav-login:hover{color:var(--ink)}
.nav-login-dd{position:relative;display:inline-flex}
.nav-login-dd>.nav-login{display:inline-flex;align-items:center;gap:5px;background:none;border:0;font-family:inherit;cursor:pointer;padding:0}
.nav-login-dd .caret{width:11px;height:11px;transition:transform .25s var(--ease)}
.nav-login-dd:hover .caret{transform:rotate(180deg)}
.nav-login-dd .dd{min-width:230px}
.nav-login-dd:hover .dd,.nav-login-dd:focus-within .dd{opacity:1;visibility:visible;transform:none}
.mm-social{display:flex;gap:12px;margin-top:8px}
.mm-social a{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink)}
.mm-social svg{width:19px;height:19px}
.menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.menu-btn span{width:23px;height:1.7px;background:var(--ink);display:block;transition:.3s}

/* ============ SECTION FRAME ============ */
.sec{padding:120px 0}
.sec-sm{padding:84px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:48px}
.sec-head .t{max-width:760px}
.sec-head h2{margin-top:18px}
.alt{background:var(--paper-2)}

/* page hero */
.phero{padding:74px 0 10px}
.phero .ey{margin-bottom:26px}
.phero h1{max-width:18ch}
.phero .lead{max-width:620px;margin-top:26px}

/* breadcrumb */
.crumb{font-size:13px;color:var(--muted);margin-bottom:22px;display:flex;gap:8px;align-items:center}
.crumb a:hover{color:var(--ink)}

/* generic card grid */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

/* value cards */
.vcard{border:1px solid var(--line);border-radius:18px;padding:32px 30px;background:var(--paper)}
.vcard h3{font-size:21px;margin-bottom:12px;letter-spacing:-.03em}
.vcard p{font-size:14.5px;color:var(--ink-soft);line-height:1.55}
.vcard .ix{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--paper-2);color:var(--accent);margin-bottom:20px}
.vcard .ix svg{width:21px;height:21px}

/* stats */
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.proof .p{padding:46px 40px;border-right:1px solid var(--line)}
.proof .p:last-child{border-right:0}
.proof .p .v{font-size:clamp(40px,4.4vw,60px);font-weight:600;letter-spacing:-.04em;line-height:1}
.proof .p .v .u{color:var(--accent)}
.proof .p .k{margin-top:14px;font-size:14.5px;color:var(--muted);max-width:30ch}

/* ============ TEAM ============ */
.team-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.team-tab{font-size:13.5px;font-weight:500;padding:10px 18px;border-radius:100px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);cursor:pointer;transition:.25s var(--ease)}
.team-tab:hover{border-color:var(--ink)}
.team-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}
.team-group{margin-bottom:18px}
.team-group .intro{max-width:760px;margin-bottom:32px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.member{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;transition:.3s var(--ease)}
.member:hover{transform:translateY(-4px);box-shadow:0 20px 44px -26px rgba(16,22,38,.35)}
.member .ph{aspect-ratio:4/4.4;background:linear-gradient(160deg,var(--paper-3),var(--paper-2));display:grid;place-items:center;color:var(--muted);font-size:40px;font-weight:600;letter-spacing:-.04em}
.member .mb{padding:18px 18px 22px}
.member .mb b{font-size:16px;font-weight:600;letter-spacing:-.02em;display:block}
.member .mb span{font-size:13px;color:var(--muted)}
.member .mb a{font-size:12.5px;color:var(--accent);margin-top:10px;display:inline-flex;align-items:center;gap:5px}

/* ============ CASES OVERVIEW ============ */
.case-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.cf{font-size:13px;font-weight:500;padding:9px 16px;border-radius:100px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);cursor:pointer;transition:.25s var(--ease)}
.cf:hover{border-color:var(--ink)}
.cf.active{background:var(--navy);border-color:var(--navy);color:#fff}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ccard{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:.3s var(--ease)}
.ccard:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(16,22,38,.4)}
.ccard .img{aspect-ratio:16/10;overflow:hidden;background:var(--paper-3)}
.ccard .img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.ccard:hover .img img{transform:scale(1.05)}
.ccard .body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.ccard .tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.ccard .tag{font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);padding:4px 10px;border-radius:100px}
.ccard h3{font-size:20px;letter-spacing:-.03em;margin-bottom:8px}
.ccard p{font-size:13.5px;color:var(--ink-soft);line-height:1.5;margin-bottom:18px;flex:1}
.ccard .ccta{font-size:13.5px;color:var(--accent);font-weight:500;display:inline-flex;align-items:center;gap:6px}
.ccta svg{width:15px;height:15px;flex:0 0 auto;transition:transform .35s var(--ease)}
.ccta:hover svg{transform:translateX(4px)}

/* highlight band */
.hl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hl{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:var(--paper-3)}
.hl img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.hl::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(16,22,38,.8),transparent 60%)}
.hl:hover img{transform:scale(1.05)}
.hl .cap{position:absolute;left:0;bottom:0;z-index:2;padding:20px;color:#fff}
.hl .cap b{font-size:18px;font-weight:600;display:block;letter-spacing:-.02em}
.hl .cap span{font-size:12px;color:rgba(255,255,255,.78)}

/* ============ CASE DETAIL ============ */
.cd-hero{padding:60px 0 0}
.cd-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0}
.cd-tag{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);background:rgba(34,136,245,.08);padding:6px 13px;border-radius:100px}
.cd-cover{margin-top:46px;border-radius:22px;overflow:hidden;aspect-ratio:21/9;background:var(--paper-3)}
.cd-cover img{width:100%;height:100%;object-fit:cover}
.cd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:40px}
.cd-stats .s{padding:40px 36px;border-right:1px solid var(--line)}
.cd-stats .s:last-child{border-right:0}
.cd-stats .s .v{font-size:clamp(36px,4vw,54px);font-weight:600;letter-spacing:-.04em;line-height:1}
.cd-stats .s .v .u{color:var(--accent)}
.cd-stats .s .k{margin-top:10px;font-size:13.5px;color:var(--muted);max-width:26ch}
.phase{display:grid;grid-template-columns:200px 1fr;gap:40px;padding:44px 0;border-top:1px solid var(--line)}
.phase .pn{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}
.phase h3{font-size:26px;letter-spacing:-.03em;margin-top:8px}
.phase p{font-size:15.5px;color:var(--ink-soft);line-height:1.6;max-width:62ch}
.cd-quote{background:var(--navy);color:#fff;border-radius:22px;padding:60px;margin-top:10px}
.cd-quote blockquote{font-size:clamp(22px,2.8vw,34px);font-weight:600;letter-spacing:-.03em;line-height:1.18;max-width:22ch}

/* ============ ARTICLES ============ */
.feat-article{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}
.feat-article .img{background:var(--paper-3);min-height:340px}
.feat-article .img img{width:100%;height:100%;object-fit:cover}
.feat-article .body{padding:48px}
.feat-article .meta{font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:18px}
.feat-article h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.03em;line-height:1.08;margin-bottom:18px}
.feat-article p{font-size:15px;color:var(--ink-soft);line-height:1.6;margin-bottom:26px;max-width:50ch}
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.art{border-top:2px solid var(--ink);padding-top:24px;display:flex;flex-direction:column;transition:.25s var(--ease)}
.art:hover{border-top-color:var(--accent)}
.art .cat{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:16px}
.art h3{font-size:21px;letter-spacing:-.03em;line-height:1.2;margin-bottom:14px;min-height:2.4em}
.art p{font-size:14px;color:var(--ink-soft);line-height:1.55;margin-bottom:20px;flex:1}
.art .by{font-size:12.5px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}

/* ============ CLOSING CTA ============ */
.closing{background:var(--navy);color:#fff;text-align:center;overflow:hidden}
.closing h2{color:#fff;max-width:18ch;margin:0 auto}
.closing .lead{color:rgba(255,255,255,.72);margin:24px auto 38px;max-width:520px}
.closing-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============ FOOTER ============ */
footer{background:var(--navy);color:#fff;padding:30px 0 40px}
.foot-news{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:50px 0;border-bottom:1px solid var(--line-dark)}
.foot-news h3{color:#fff;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.03em;max-width:14ch}
.news-form{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.news-form input{flex:1;min-width:220px;background:transparent;border:1px solid var(--line-dark);border-radius:100px;padding:14px 20px;color:#fff;font-family:inherit;font-size:14.5px}
.news-form input::placeholder{color:rgba(255,255,255,.45)}
.foot-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding:54px 0}
.foot-brand .brand{color:#fff;font-size:24px;margin-bottom:16px}
.foot-brand p{font-size:14px;color:rgba(255,255,255,.65);max-width:300px;line-height:1.6}
.foot-col h4{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:18px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.foot-col a{font-size:14.5px;color:rgba(255,255,255,.72)}
.foot-col a:hover{color:#fff}
.foot-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:28px;border-top:1px solid var(--line-dark);font-size:13px;color:rgba(255,255,255,.5)}
.foot-social{display:flex;gap:12px;margin-top:22px}
.foot-social a{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line-dark);color:rgba(255,255,255,.8);transition:.25s var(--ease)}
.foot-social a:hover{background:#fff;color:var(--navy);border-color:#fff}
.foot-social svg{width:17px;height:17px}
.foot-legal{display:flex;gap:6px;flex-wrap:wrap}
.foot-legal a{color:rgba(255,255,255,.5)}
.foot-legal a:hover{color:#fff}

/* reveal */
.r{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.r.in{opacity:1;transform:none}

/* mobile menu */
.mm{position:fixed;inset:0;z-index:100;background:var(--paper);transform:translateX(100%);transition:transform .45s var(--ease);display:flex;flex-direction:column;justify-content:center;gap:2px;padding:40px;overflow-y:auto}
.mm.open{transform:none}
.mm .mgroup{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:18px 0 6px}
.mm>a,.mm .mgroup+a{font-size:22px;font-weight:600;letter-spacing:-.03em;padding:7px 0}
.mm .msub{font-size:16px;font-weight:500;color:var(--ink-soft);padding:6px 0 6px 2px}
.mm .close{position:absolute;top:22px;right:28px;background:none;border:0;font-size:34px;cursor:pointer}
.mm-cta{display:flex;flex-direction:column;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.mm-cta .btn{justify-content:center;font-size:16px;padding:16px 24px}

/* ============ RESPONSIVE ============ */
@media(max-width:1080px){.team-grid,.grid-4,.hl-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){
  .grid-3,.cases-grid,.art-grid{grid-template-columns:1fr 1fr}
  .proof,.cd-stats{grid-template-columns:1fr}
  .proof .p,.cd-stats .s{border-right:0;border-bottom:1px solid var(--line)}
  .feat-article{grid-template-columns:1fr}
  .foot-news,.foot-cols{grid-template-columns:1fr}
  .news-form{justify-content:flex-start}
  .phase{grid-template-columns:1fr;gap:10px}
}
@media(max-width:860px){
  .nav-links,.nav-login{display:none}
  .nav-right .lang,.nav-right .btn,.nav-login-dd{display:none}
  .nav-in{gap:12px}
  .menu-btn{display:flex}
}
@media(max-width:680px){
  .wrap{padding:0 22px}
  .sec{padding:72px 0}
  .team-grid,.grid-2,.grid-3,.grid-4,.cases-grid,.art-grid,.hl-grid{grid-template-columns:1fr 1fr}
  .cd-quote,.feat-article .body{padding:34px}
}
@media(max-width:480px){
  .team-grid,.grid-2,.grid-3,.grid-4,.cases-grid,.art-grid,.hl-grid{grid-template-columns:1fr}
}
