/* Lessius Corporate Finance — gedeelde stijl
   Layout: een gegraveerd register. Smalle serif-koppen als in het woordmerk, rustige zakelijke kolommen,
   één sterk moment per pagina: de gravure van Leonardus Lessius op inktblauw. */
:root{
  --paper:#F1F4F4; --surface:#FFFFFF; --ink:#14222C; --muted:#52626B;
  --slate:#2A5470; --slate-deep:#17344A; --on-slate:#EAF0F2; --verdigris:#7E9C97;
  --rule:#CFD8DB; --tint:#E4EBEC;
  --display:"Bodoni Moda","Didot","Bodoni 72","Times New Roman",serif;
  --body:"Hanken Grotesk","Segoe UI",system-ui,-apple-system,sans-serif;
  --step-0:1.0625rem; --step-1:1.25rem; --step-2:1.6rem; --step-3:2.2rem; --step-4:clamp(2.3rem,5vw,3.7rem);
  --wrap:1180px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#0F1A21; --surface:#15232C; --ink:#E6ECEE; --muted:#9DAEB5; --slate:#8DB4CC; --slate-deep:#0B2333;
  --on-slate:#E3ECF0; --verdigris:#8FB0AA; --rule:#2A3B45; --tint:#1A2B35; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#0F1A21; --surface:#15232C; --ink:#E6ECEE; --muted:#9DAEB5; --slate:#8DB4CC; --slate-deep:#0B2333;
  --on-slate:#E3ECF0; --verdigris:#8FB0AA; --rule:#2A3B45; --tint:#1A2B35; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
img{max-width:100%}
a{color:var(--slate)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--slate);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.12;text-wrap:balance;margin:0;font-optical-sizing:auto}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1)}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:720px){.wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}
.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.lead{font-size:var(--step-1);line-height:1.55;max-width:60ch}
.prose{max-width:66ch;display:grid;gap:1em;align-content:start}
.prose ul{margin:0;padding-left:1.1em;display:grid;gap:.45em}
.prose h2{font-size:var(--step-2);margin-top:.6em}

/* Logo (gravure + woordmerk als masker, volgt de tekstkleur) */
.logo{--h:48px;display:flex;align-items:center;gap:calc(var(--h)*.12);color:var(--slate);text-decoration:none;line-height:0}
.logo i{display:block;background:currentColor}
.logo .lb{-webkit-mask:url(assets/bust.svg) no-repeat center/contain;mask:url(assets/bust.svg) no-repeat center/contain;height:var(--h);aspect-ratio:784/1376}
.logo .lw{-webkit-mask:url(assets/wordmark.svg) no-repeat center/contain;mask:url(assets/wordmark.svg) no-repeat center/contain;height:calc(var(--h)/1.3);aspect-ratio:1839/625}
.engraving{display:block;background:currentColor;-webkit-mask:url(assets/bust.svg) no-repeat center/contain;mask:url(assets/bust.svg) no-repeat center/contain;aspect-ratio:784/1376;width:100%}

/* Header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.nav{display:flex;gap:30px;align-items:center}
.nav a{color:var(--ink);text-decoration:none;font-size:.98rem;font-weight:500}
.nav a:hover,.nav a[aria-current="page"]{color:var(--slate)}
.nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.8em 1.3em;border-radius:2px;font-weight:600;font-size:.95rem;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:var(--body)}
.btn-solid{background:var(--slate);color:var(--paper)}
.btn-solid:hover{filter:brightness(1.1)}
.btn-line{border-color:currentColor;color:inherit}
.nav .btn{color:var(--paper);text-decoration:none}
.menu{display:none}
.dd{position:relative}
.dd-top{display:inline-flex;align-items:center;gap:.45em}
.chev{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s}
.dd-panel{list-style:none;margin:0;padding:8px;position:absolute;left:-18px;top:100%;min-width:270px;background:var(--surface);border:1px solid var(--rule);box-shadow:0 14px 34px rgb(0 0 0 / .12);display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s}
.dd::before{content:"";position:absolute;left:-18px;right:-18px;top:100%;height:14px}
.dd-panel{margin-top:14px}
.dd:hover .dd-panel,.dd:focus-within .dd-panel{opacity:1;visibility:visible;transform:none}
.dd:hover .chev,.dd:focus-within .chev{transform:translateY(1px) rotate(225deg)}
.dd-panel a{display:flex;gap:.7em;align-items:baseline;padding:.65em .8em;border-radius:2px;font-size:.95rem}
.dd-panel a:hover{background:var(--tint);color:var(--slate)}
.dd-panel .no{font-family:var(--display);font-style:italic;color:var(--muted);min-width:1.6em}
.menu-panel a.sub{padding-left:1.8em;font-size:.94rem;color:var(--muted)}
@media (max-width:860px){
  .nav{display:none}
  .menu{display:block;position:relative}
  .menu summary{list-style:none;cursor:pointer;font-weight:600;padding:.5em .9em;border:1px solid var(--rule);border-radius:2px}
  .menu summary::-webkit-details-marker{display:none}
  .menu[open] .menu-panel{display:grid}
  .menu-panel{display:none;position:absolute;right:0;top:calc(100% + 10px);background:var(--surface);border:1px solid var(--rule);padding:10px;min-width:240px;gap:2px;box-shadow:0 10px 30px rgb(0 0 0 / .12)}
  .menu-panel a{color:var(--ink);text-decoration:none;padding:.6em .8em}
  .menu-panel a[aria-current="page"]{color:var(--slate);font-weight:600}
  .site-header .logo{--h:40px}
}

/* Home hero */
.hero{background:var(--slate-deep);color:var(--on-slate);overflow:hidden}
.hero > .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:40px;align-items:end;padding-top:clamp(48px,8vw,96px)}
.hero-text{display:grid;gap:26px;padding-bottom:clamp(48px,7vw,88px);min-width:0}
.hero .eyebrow,.page-hero .eyebrow,.dark .eyebrow{color:color-mix(in srgb,var(--on-slate) 70%,transparent)}
.hero h1{font-size:var(--step-4);letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:color-mix(in srgb,var(--on-slate) 78%,var(--verdigris))}
.hero .lead,.page-hero .lead{color:color-mix(in srgb,var(--on-slate) 86%,transparent)}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.hero .btn-solid,.page-hero .btn-solid,.dark .btn-solid{background:var(--on-slate);color:var(--slate-deep)}
.hero-figure{color:color-mix(in srgb,var(--on-slate) 88%,var(--slate-deep));justify-self:end;width:100%;max-width:380px;margin-bottom:-6px}
.facts{border-top:1px solid color-mix(in srgb,var(--on-slate) 18%,transparent)}
.facts ul{list-style:none;margin:0;padding:22px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.facts li{display:grid;gap:2px;font-size:.92rem;color:color-mix(in srgb,var(--on-slate) 75%,transparent)}
.facts b{font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--on-slate)}
@media (max-width:820px){
  .hero > .wrap{grid-template-columns:1fr}
  .hero-figure{max-width:150px;margin-top:-8px}
  .hero-text{padding-bottom:0}
  .facts ul{grid-template-columns:1fr}
}

/* Page hero (binnenpagina's) */
.page-hero{background:var(--slate-deep);color:var(--on-slate);overflow:hidden}
.page-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:40px;align-items:end;padding-block:clamp(36px,6vw,64px) 0}
.page-hero .txt{display:grid;gap:18px;padding-bottom:clamp(36px,6vw,64px);min-width:0}
.page-hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem)}
.page-hero .engraving{color:color-mix(in srgb,var(--on-slate) 85%,var(--slate-deep));margin-bottom:-4px}
.crumbs{font-size:.85rem;color:color-mix(in srgb,var(--on-slate) 70%,transparent)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.6}
.crumbs a{color:inherit;text-decoration:none}
.crumbs a:hover{color:var(--on-slate);text-decoration:underline}
@media (max-width:640px){.page-hero .wrap{grid-template-columns:1fr}.page-hero .engraving{display:none}}

/* Sections */
section{padding-block:clamp(60px,8vw,104px)}
.section-head{display:grid;gap:14px;margin-bottom:44px;max-width:760px}
.band{background:var(--surface);border-block:1px solid var(--rule)}
.dark{background:var(--slate-deep);color:var(--on-slate)}

/* Domain overview */
.domains{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.domain{display:flex;flex-direction:column;gap:14px;padding:26px 24px 24px 0;border-right:1px solid var(--rule)}
.domain + .domain{padding-left:24px}
.domain:last-child{border-right:0}
.domain .no{font-family:var(--display);font-size:.95rem;color:var(--muted);font-style:italic}
.domain h3{font-size:var(--step-2)}
.domain h3 a{color:inherit;text-decoration:none}
.domain h3 a:hover{color:var(--slate)}
.domain ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;align-content:start;font-size:.95rem}
.domain ul a{color:var(--muted);text-decoration:none}
.domain ul a:hover{color:var(--slate);text-decoration:underline}
.more,.svc-list .arr{display:inline-flex;align-items:center;gap:.55em;justify-self:start;width:fit-content;padding:.55em 1em;border:1px solid var(--slate);border-radius:2px;color:var(--slate);background:transparent;font-weight:600;font-size:.9rem;line-height:1.3;text-decoration:none;white-space:nowrap;transition:background .18s,color .18s}
.more::after,.svc-list .arr::after{content:"→";transition:transform .18s}
.more:hover,.svc-list a:hover .arr{background:var(--slate);color:var(--paper)}
.more:hover::after,.svc-list a:hover .arr::after{transform:translateX(3px)}
.domain .more{margin-top:auto}
.domain ul{margin-bottom:10px}
@media (max-width:980px){.domains{grid-template-columns:repeat(2,minmax(0,1fr))}.domain{border-bottom:1px solid var(--rule)}.domain:nth-child(2n){border-right:0}.domain:nth-child(3){padding-left:0}}
@media (max-width:560px){.domains{grid-template-columns:1fr}.domain,.domain + .domain{padding-left:0;border-right:0}}

/* Service list on domain pages */
.svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);display:grid}
.svc-list li{border-bottom:1px solid var(--rule)}
.svc-list a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:24px;align-items:center;padding:24px 0;text-decoration:none;color:inherit}
.svc-list h3{font-size:var(--step-2)}
.svc-list p{color:var(--muted);font-size:.98rem}

.svc-list a:hover h3{color:var(--slate)}
@media (max-width:760px){.svc-list a{grid-template-columns:1fr;gap:8px}}

/* Article layout */
.article{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:clamp(32px,6vw,88px);align-items:start}
.aside{position:sticky;top:110px;display:grid;gap:28px}
.aside nav{border-top:1px solid var(--ink)}
.aside nav p{padding:14px 0 6px}
.aside nav ul{list-style:none;margin:0;padding:0;display:grid}
.aside nav a{display:block;padding:9px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font-size:.95rem}
.aside nav a:hover{color:var(--slate)}
.aside nav a[aria-current="page"]{color:var(--slate);font-weight:600}
@media (max-width:900px){.article{grid-template-columns:1fr}.aside{position:static}}

.quote{border-left:2px solid var(--verdigris);padding:4px 0 4px 18px;display:grid;gap:8px;margin:0}
.quote p{font-family:var(--display);font-style:italic;font-size:1.15rem;line-height:1.45}
.quote span{font-size:.82rem;color:var(--muted);letter-spacing:.04em}
.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px}
@media (max-width:560px){.quotes{grid-template-columns:1fr}}

/* Fund models */
.models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.model{padding:24px 24px 8px 0;display:grid;gap:12px;align-content:start}
.model + .model{padding-left:24px;border-left:1px solid var(--rule)}
.model .eyebrow{color:var(--slate)}
.model h3{font-size:var(--step-2)}
.model dl{margin:6px 0 0;display:grid;gap:10px;font-size:.95rem}
.model dt{font-weight:600}
.model dd{margin:0;color:var(--muted)}
@media (max-width:640px){.models{grid-template-columns:1fr}.model + .model{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}

/* Process */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));counter-reset:s;border-top:1px solid var(--ink)}
.steps li{counter-increment:s;padding:22px 22px 26px 0;border-bottom:1px solid var(--rule);display:grid;gap:8px;align-content:start}
.steps li:not(:nth-child(3n+1)){padding-left:22px;border-left:1px solid var(--rule)}
.steps li::before{content:counter(s);font-family:var(--display);font-size:2.4rem;line-height:1;color:var(--slate)}
.steps h3{font-family:var(--body);font-weight:600;font-size:1.05rem}
.steps p{color:var(--muted);font-size:.95rem}
.steps.compact{grid-template-columns:1fr}
.steps.compact li{grid-template-columns:2.2rem minmax(0,1fr);padding:12px 0;gap:4px 12px;border-left:0!important;padding-left:0!important}
.steps.compact li::before{font-size:1.5rem;grid-row:span 2}
@media (max-width:860px){.steps:not(.compact){grid-template-columns:repeat(2,minmax(0,1fr))}.steps:not(.compact) li:not(:nth-child(3n+1)){padding-left:0;border-left:0}.steps:not(.compact) li:nth-child(2n){padding-left:22px;border-left:1px solid var(--rule)}}
@media (max-width:540px){.steps:not(.compact){grid-template-columns:1fr}.steps:not(.compact) li:nth-child(2n){padding-left:0;border-left:0}}

/* Record */
.record{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(32px,6vw,80px);align-items:start}
.names{list-style:none;margin:18px 0 0;padding:0;display:grid;border-top:1px solid var(--ink)}
.names li{font-family:var(--display);font-size:var(--step-2);padding:14px 0;border-bottom:1px solid var(--rule)}
.names small{display:block;font-family:var(--body);font-size:.85rem;color:var(--muted)}
@media (max-width:860px){.record{grid-template-columns:1fr}}

/* Person */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.person{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:start;padding-top:24px;border-top:1px solid var(--ink)}
.person img{width:120px;height:141px;object-fit:cover;filter:grayscale(1) contrast(1.05);border-radius:2px}
.person h3{font-size:var(--step-2)}
.person .role{font-size:.85rem;color:var(--slate);font-weight:600;letter-spacing:.04em;margin:4px 0 10px}
.person ul{margin:0 0 12px;padding-left:1.05em;font-size:.95rem;color:var(--muted);display:grid;gap:2px}
.person p{font-size:.97rem}
@media (max-width:860px){.split{grid-template-columns:1fr}}
@media (max-width:420px){.person{grid-template-columns:1fr}}

/* Quality */
.quality{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.quality > div{padding:26px 28px 6px 0;display:grid;gap:12px;align-content:start}
.quality > div + div{padding-left:28px;border-left:1px solid var(--rule)}
.quality h3{font-size:var(--step-2)}
@media (max-width:720px){.quality{grid-template-columns:1fr}.quality > div + div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}

/* Namesake */
.namesake .wrap{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.namesake h2{font-size:clamp(2rem,4vw,2.8rem)}
.namesake .prose{color:color-mix(in srgb,var(--on-slate) 86%,transparent)}
.namesake .engraving{color:color-mix(in srgb,var(--on-slate) 85%,var(--slate-deep))}
.namesake a{color:var(--on-slate)}
@media (max-width:720px){.namesake .wrap{grid-template-columns:1fr}.namesake .engraving{max-width:120px}}

/* FAQ / accordion */
.items{border-top:1px solid var(--ink);max-width:860px}
.item{border-bottom:1px solid var(--rule)}
.item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0}
.item summary::-webkit-details-marker{display:none}
.item summary h3{font-size:var(--step-1)}
.item .sign{flex:none;width:22px;height:22px;position:relative;color:var(--slate)}
.item .sign::before,.item .sign::after{content:"";position:absolute;left:3px;right:3px;top:10px;height:1.5px;background:currentColor;transition:transform .2s}
.item .sign::after{transform:rotate(90deg)}
.item[open] .sign::after{transform:rotate(0)}
.item .prose{padding:0 0 24px}

/* CTA band */
.cta .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:32px;align-items:center}
.cta h2{font-size:clamp(1.8rem,3.4vw,2.5rem)}
.cta .lead{color:color-mix(in srgb,var(--on-slate) 86%,transparent);margin-top:12px}
@media (max-width:760px){.cta .wrap{grid-template-columns:1fr}}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.card{background:var(--surface);border:1px solid var(--rule);padding:clamp(24px,4vw,40px);display:grid;gap:22px}
.card address{font-style:normal;display:grid;gap:2px}
.card .org{font-family:var(--display);font-size:var(--step-2)}
.lines{display:grid;border-top:1px solid var(--rule)}
.line{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule)}
.line span{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.line a{color:var(--ink);text-decoration:none;font-weight:500;overflow-wrap:anywhere}
.copy{font:inherit;font-size:.82rem;font-weight:600;color:var(--slate);background:none;border:1px solid var(--rule);border-radius:2px;padding:.35em .7em;cursor:pointer}
.copy:hover{border-color:var(--slate)}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
@media (max-width:420px){.line{grid-template-columns:minmax(0,1fr) auto}.line span{grid-column:1/-1}}

/* Footer */
footer{border-top:1px solid var(--rule);padding-block:48px;font-size:.9rem;color:var(--muted)}
footer .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:32px}
footer .logo{--h:42px;margin-bottom:16px}
footer h2{font-family:var(--body);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink);margin-bottom:10px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--slate);text-decoration:underline}
footer .legal{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:20px}
@media (max-width:860px){footer .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}footer .wrap > div:first-child{grid-column:1/-1}}
@media (max-width:440px){footer .wrap{grid-template-columns:1fr}}
