/* VoltLab v2: rustig, veel wit, weinig woorden. Foto's dragen het verhaal. */
:root{
  --bg:#f5f4f1; --paper:#ffffff; --ink:#1c1f22; --muted:#62676d; --line:#dedcd6;
  --copper:#c46b33; --copper-ink:#a5551f;
  --f-display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --f-body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#16181b; --paper:#1e2125; --ink:#ecebe8; --muted:#a3a7ac; --line:#30343a; --copper:#d98149; --copper-ink:#e79563; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#16181b; --paper:#1e2125; --ink:#ecebe8; --muted:#a3a7ac; --line:#30343a; --copper:#d98149; --copper-ink:#e79563; color-scheme:dark}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--f-body)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--f-display);font-weight:700;line-height:1.06;margin:0;text-wrap:balance;font-stretch:90%}
h1{font-size:clamp(2.5rem,6.5vw,4.6rem);letter-spacing:-.025em}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);letter-spacing:-.015em}
h3{font-size:1.3rem}
p{margin:0}
.muted{color:var(--muted)}
.eyebrow{font:600 .8rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--copper-ink)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:var(--paper);padding:8px 12px;z-index:10}

.btn{display:inline-flex;align-items:center;font:700 1rem var(--f-body);padding:.85em 1.5em;border-radius:2px;text-decoration:none;border:1.5px solid var(--copper);background:var(--copper);color:#fff;cursor:pointer}
.btn.line{background:transparent;color:var(--ink)}
.textlink{font-weight:700;color:var(--copper-ink);text-decoration:none;border-bottom:1.5px solid currentColor}

/* header */
header{background:var(--bg);position:sticky;top:env(safe-area-inset-top,0px);z-index:5;border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:28px;padding-block:16px}
.logo{height:36px;width:auto}
.nav ul{display:flex;gap:28px;list-style:none;margin:0 0 0 auto;padding:0;font-weight:600}
.nav ul a{text-decoration:none}
.nav ul a:hover,.nav ul a[aria-current="page"]{color:var(--copper-ink)}
.menu-btn{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);color:var(--ink);border-radius:2px;padding:.45em .8em;font:600 .9rem var(--f-body);cursor:pointer}
@media (max-width:760px){
  .nav{flex-wrap:wrap}
  .menu-btn{display:inline-block}
  .nav ul{display:none}
  .nav ul.open{display:grid;width:100%;gap:2px;margin:4px 0 0;padding-top:8px;border-top:1px solid var(--line)}
  .nav ul.open a{display:block;padding:10px 0}
  .logo{height:30px}
}

/* blokken */
.block{padding-block:clamp(56px,9vw,120px)}
.block.tight{padding-top:0}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center;padding-block:clamp(40px,7vw,96px)}
.hero>div{min-width:0;display:grid;gap:22px;align-content:center}
.hero .lead{font-size:1.25rem;color:var(--muted);max-width:30ch}
.actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:8px}
.phone{font:700 1.15rem var(--f-display);text-decoration:none;font-variant-numeric:tabular-nums}
@media (max-width:820px){.hero{grid-template-columns:1fr}}

.photo{background:linear-gradient(135deg,var(--paper),var(--line));border-radius:2px;display:grid;place-items:center;color:var(--muted);font-size:.85rem;text-align:center;padding:16px;aspect-ratio:4/5;max-width:100%}
.photo.wide{aspect-ratio:3/2}
.photo .todo{display:block;margin-top:6px}

.three{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px)}
.three>*{min-width:0;display:grid;gap:12px;align-content:start}
.three p{color:var(--muted)}
.three h3::before{content:"";display:block;width:28px;height:2px;background:var(--copper);margin-bottom:18px}
@media (max-width:820px){.three{grid-template-columns:1fr}}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:640px){.gallery{grid-template-columns:1fr 1fr}.gallery>:first-child{grid-column:span 2}}

.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:40px}

.region{background:var(--paper);border-block:1px solid var(--line)}
.region .wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,5vw,64px);align-items:center}
.region .wrap>*{min-width:0}
.places{font:700 clamp(1.3rem,2.6vw,1.8rem)/1.35 var(--f-display);font-stretch:90%}
.places span{color:var(--copper)}
@media (max-width:820px){.region .wrap{grid-template-columns:1fr}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,80px);align-items:start}
.split>*{min-width:0;display:grid;gap:16px;align-content:start}
.split p{color:var(--muted)}
@media (max-width:820px){.split{grid-template-columns:1fr}}

.service{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center;padding-block:clamp(40px,6vw,72px);border-top:1px solid var(--line)}
.service>*{min-width:0}
.service .txt{display:grid;gap:14px;align-content:start}
.service p{color:var(--muted);max-width:44ch}
.service ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.service li::before{content:"";display:inline-block;width:10px;height:2px;background:var(--copper);vertical-align:middle;margin-right:12px}
.service:nth-of-type(even) .photo{order:-1}
@media (max-width:820px){.service{grid-template-columns:1fr}.service:nth-of-type(even) .photo{order:0}}

.cv{display:grid;border-top:1px solid var(--line)}
.cv div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.cv span:last-child{color:var(--copper-ink);font-variant-numeric:tabular-nums;white-space:nowrap}

.cta{text-align:left}
.cta .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}

/* contact */
dl{display:grid;grid-template-columns:auto 1fr;gap:12px 28px;margin:0}
dt{color:var(--muted)}
dd{margin:0;font-weight:600;overflow-wrap:anywhere}
dd a{text-decoration:none}
form{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:clamp(20px,3vw,32px);display:grid;gap:16px}
label{display:grid;gap:6px;font-weight:600;font-size:.92rem}
input,select,textarea{font:inherit;font-weight:400;padding:.7em .85em;border:1px solid var(--line);border-radius:2px;background:var(--bg);color:var(--ink);width:100%}
.check{display:flex;gap:10px;font-weight:400;align-items:flex-start}
.check input{width:auto;margin-top:.35em}
.form-note{font-size:.88rem;color:var(--muted)}
.hp{position:absolute;left:-9999px}

.prose{max-width:66ch;display:grid;gap:14px}
.prose h2{font-size:1.4rem;margin-top:16px}
.prose p{color:var(--muted)}

footer{border-top:1px solid var(--line);padding-block:32px;font-size:.88rem;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}
footer a{text-decoration:none}
footer a:hover{color:var(--copper-ink)}

.todo{background:#ffd98a;color:#1c1f22;padding:0 .3em;border-radius:2px;font-size:.85em}
.shot{margin:0;display:grid;gap:10px;min-width:0}
.shot img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:2px;background:var(--paper)}
.shot.wide img{aspect-ratio:4/3}
.shot figcaption{font-weight:600;font-size:.9rem;color:var(--muted)}
@media (max-width:640px){.gallery{grid-template-columns:1fr 1fr 1fr;gap:8px}.gallery>:first-child{grid-column:auto}}
.proj{font-weight:700;margin:0 0 14px}
.gallery+.proj{margin-top:48px}
.hero-shot img{aspect-ratio:4/5}
