/* Inter en Geist, zelf gehost (SIL Open Font License), opgehaald van Google Fonts op 1 oktober 2026 */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/geist-latin-ext-999bb767.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: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/geist-latin-f49f83ef.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: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/geist-latin-ext-999bb767.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: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/geist-latin-f49f83ef.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: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/geist-latin-ext-999bb767.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: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/geist-latin-f49f83ef.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: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/inter-latin-ext-b5a272c5.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: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/inter-latin-2870bcb8.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;
}

:root { --ink:#1b1a17; --paper:#fbfaf7; --stone:#efebe2; --line:#ddd6c5; --muted:#6f6858; --gold:#bb9a3b; --gold-d:#8a6f22;
  --night:#0f0e0c; --night-2:#171511; --night-line:#2b2720; --night-ink:#f1ece2; --night-muted:#a39c8b;
  --head:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", sans-serif; --body:"Geist", system-ui, sans-serif; }
@page { size:297mm 210mm; margin:0; }
* { box-sizing:border-box; }
html { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
body { margin:0; background:#2a2722; font-family:var(--body); color:var(--ink); }
.book { display:flex; flex-direction:column; align-items:center; gap:24px; padding:32px 16px 80px; }
.sheet { width:min(100%, 1123px); }
.scaler { width:297mm; height:210mm; transform-origin:0 0; }
.page { width:297mm; height:210mm; position:relative; overflow:hidden; background:var(--paper); padding:20mm 22mm 18mm; font-size:10.4pt; line-height:1.55; }
.page.dark { background:var(--night); color:var(--night-ink); }
h1, h2 { font-family:var(--head); font-weight:600; letter-spacing:-.022em; margin:0; }
h2 { font-size:25pt; line-height:1.08; margin:2.5mm 0 6mm; max-width:120mm; }
h2.big { font-size:40pt; max-width:200mm; }
p { margin:0 0 3.2mm; }
.kick { font-family:var(--head); font-size:7.6pt; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--gold-d); }
.dark .kick { color:var(--gold); }
.lede { font-size:12pt; line-height:1.5; color:#3a362e; max-width:125mm; }
.dark .lede { color:#d9d3c4; }
.note { font-size:9pt; color:var(--muted); }
.foot { position:absolute; left:22mm; right:22mm; bottom:8mm; display:flex; justify-content:space-between; font-size:7pt; letter-spacing:.06em; color:#a39c8b; }
.dark .foot { color:#5f5949; }
.grid { display:grid; height:100%; gap:14mm; align-items:center; }
.g-split { grid-template-columns:1fr 1fr; }
.g-letter { grid-template-columns:1.15fr .85fr; }
.g-stack { grid-template-rows:auto 1fr; align-items:start; gap:8mm; }
.col-text.narrow { max-width:170mm; }
.col-vis { display:flex; flex-direction:column; gap:6mm; }
figure { margin:0; } figcaption { font-size:7.6pt; color:var(--muted); margin-top:2.2mm; }
.dark figcaption { color:var(--night-muted); }
.shot img { width:100%; display:block; border-radius:2.5mm; box-shadow:0 1.5mm 6mm rgba(27,26,23,.14); border:.25mm solid var(--line); }
.col-text .shot { margin-top:5mm; } .col-text .shot img { max-height:58mm; object-fit:cover; object-position:center; }
.dark-shot img { border-color:#2b2720; }
.wide img { width:100%; display:block; border-radius:2.5mm; border:.25mm solid var(--night-line); }
.portrait { height:100%; } .portrait img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; border-radius:2.5mm; }
.g-letter { margin:-20mm -22mm -18mm 0; } .g-letter .portrait img { border-radius:0; }
.g-letter .col-text { padding:0 0 0 0; }
.sign { margin-top:6mm; font-family:var(--head); font-weight:600; } .sign span { display:block; font-weight:400; color:var(--muted); font-family:var(--body); font-size:9pt; }
.steps3 { list-style:none; padding:0; margin:0; display:grid; gap:7mm; counter-reset:s; }
.steps3 li { border-top:.3mm solid #3a3428; padding-top:4mm; display:grid; grid-template-columns:16mm 1fr; column-gap:2mm; }
.steps3 .num, .track .num { font-family:var(--head); color:var(--gold); font-size:15pt; font-weight:500; grid-row:span 2; line-height:1.1; }
.steps3 b { font-family:var(--head); font-size:12.5pt; } .steps3 p { color:#c9c2b2; margin:1mm 0 0; }
.spec { background:var(--stone); border-radius:3mm; padding:8mm 9mm; align-self:center; }
.spec-h { font-family:var(--head); font-size:7.6pt; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--gold-d); margin-bottom:4mm; }
.spec dl { margin:0; } .spec dt { font-family:var(--head); font-weight:600; font-size:11pt; } .spec dd { margin:.6mm 0 4.2mm; color:#4a453b; }
.spec dd:last-child { margin-bottom:0; }
.spec.compact { padding:5mm 6mm; margin-top:5mm; background:transparent; border-top:.3mm solid var(--line); border-radius:0; padding-left:0; padding-right:0; }
.spec ul { margin:0; padding-left:4.2mm; } .spec li { margin:1.2mm 0; } .two-col { columns:2; column-gap:8mm; }
.example { background:var(--stone); padding:3.5mm 4.5mm; border-radius:2mm; font-size:9.6pt; }
.keep { font-family:var(--head); font-weight:600; font-size:11.5pt; margin-top:-2mm; }
.closing { font-family:var(--head); font-weight:600; font-size:11.5pt; margin-top:4mm; max-width:120mm; }
.qr { display:flex; align-items:center; gap:4mm; font-size:8.6pt; color:var(--muted); }
a.qr { text-decoration:none; } .qr b { display:block; color:var(--ink); font-family:var(--head); font-size:9.6pt; } .qrc { width:18mm; height:18mm; flex:none; }
.cover { padding:0; }
.cover-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right center; }
.cover-fallback .cover-img { left:auto; width:62%; object-position:60% 50%; }
.cover-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,9,8,.94) 0%, rgba(10,9,8,.86) 30%, rgba(10,9,8,.35) 48%, rgba(10,9,8,0) 60%); }
.cover-txt { position:absolute; left:22mm; bottom:24mm; }
.cover h1 { font-size:40pt; line-height:1.0; margin:4mm 0 6mm; }
.eyebrow, .edition { font-size:8.4pt; letter-spacing:.16em; text-transform:uppercase; color:#cdb05a; font-family:var(--head); font-weight:600; }
.edition { color:#a39c8b; }
.opener { display:flex; align-items:center; }
.opener-txt { max-width:230mm; } .opener .lede { max-width:150mm; }
.index { list-style:none; padding:0; margin:12mm 0 0; display:grid; grid-template-columns:repeat(5, 1fr); gap:5mm; }
.index li { border-top:.3mm solid #3a3428; padding-top:3mm; font-family:var(--head); font-size:10.5pt; }
.index span { display:block; color:var(--gold); font-size:18pt; font-weight:500; margin-bottom:1mm; }
.idea { padding:0; display:grid; grid-template-columns:47% 53%; }
.idea-vis { position:relative; height:100%; background:#1b1814; }
.photo { width:100%; height:100%; object-fit:cover; display:block; }
.photo.pending { display:flex; align-items:center; justify-content:center; color:#8d8676; font-size:10pt; background:linear-gradient(150deg,#3a352b,#121110); }
.mini-wrap { position:absolute; right:7mm; top:7mm; width:74mm; border-radius:2.5mm; overflow:hidden; box-shadow:0 2mm 8mm rgba(0,0,0,.45); border:.3mm solid rgba(187,154,59,.45); }
.mini { display:block; width:100%; height:auto; }
.mini .lane { font:600 7.4px var(--head); fill:#cdb05a; letter-spacing:.08em; text-transform:uppercase; }
.mini .node { font:500 8.6px var(--body); fill:#ece6d8; }
.mini .tag { font:600 6.6px var(--head); fill:#e2c25e; }
.idea .foot { left:calc(47% + 16mm); right:16mm; }
.idea-txt { padding:20mm 20mm 18mm 16mm; position:relative; display:flex; flex-direction:column; justify-content:center; }
.idea-no { position:absolute; right:16mm; top:12mm; font-family:var(--head); font-size:54pt; font-weight:300; color:#e3dccb; line-height:1; }
.nk { display:grid; grid-template-columns:14mm 1fr; gap:3mm 4mm; margin:2mm 0 5mm; }
.nk dt { font-family:var(--head); font-size:7.6pt; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--gold-d); padding-top:.8mm; }
.nk dd { margin:0; }
.zit { border-top:.3mm solid var(--line); padding-top:3.5mm; font-size:9.6pt; color:#4a453b; }
.zit b { display:block; font-family:var(--head); font-size:7.6pt; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-d); margin-bottom:.8mm; }
.save { align-self:flex-start; margin-top:3mm; font:600 8.6pt var(--head); background:transparent; color:var(--ink); border:.3mm solid var(--ink); border-radius:99px; padding:1.6mm 4.5mm; cursor:pointer; }
.save[aria-pressed=true] { background:var(--ink); color:var(--paper); }
.track-page { height:100%; display:flex; flex-direction:column; justify-content:center; }
.track { list-style:none; padding:0; margin:6mm 0 8mm; display:grid; grid-template-columns:repeat(4, 1fr); gap:8mm; position:relative; }
.track li { border-top:.5mm solid var(--gold); padding-top:4mm; }
.track b { display:block; font-family:var(--head); font-size:12.5pt; margin:1mm 0 2mm; } .track p { color:#4a453b; font-size:9.8pt; }
.people { display:grid; grid-template-columns:1fr 1fr; gap:8mm; }
.people img { width:30mm; height:30mm; object-fit:cover; border-radius:2mm; display:block; margin-bottom:3mm; }
.people b { font-family:var(--head); font-size:11.5pt; } .people span { display:block; color:var(--muted); font-size:8.6pt; }
.people p { font-size:9.2pt; margin-top:2mm; color:#4a453b; }
.values dt { color:var(--ink); }
.back { display:flex; align-items:center; }
.back-txt { max-width:170mm; }
.logo { display:block; width:46mm; margin-bottom:12mm; } .logo svg { width:100%; height:auto; display:block; }
.contact { margin-top:8mm; display:flex; flex-direction:column; gap:1mm; font-size:11pt; } .contact b { font-family:var(--head); }
.qr-dark { margin-top:8mm; color:var(--night-muted); } .qr-dark b { color:var(--night-ink); }
.addr { margin-top:10mm; font-size:8.4pt; color:var(--night-muted); }
@media screen and (max-width:760px) {
  .book { padding:0 0 60px; gap:0; } .sheet { width:100%; height:auto !important; } .scaler { width:auto; height:auto; transform:none !important; }
  .page { width:auto; height:auto; padding:40px 20px 44px; font-size:16px; overflow:visible; }
  h2 { font-size:28px; max-width:none; margin:8px 0 16px; } h2.big { font-size:34px; } .lede { font-size:17px; max-width:none; }
  .kick, .spec-h, .nk dt, .zit b { font-size:11.5px; } figcaption { font-size:12.5px; } .note, .zit, .example, .people p, .track p { font-size:14.5px; }
  .grid, .idea { display:block; height:auto; } .g-letter { margin:0; } .col-vis, .steps3, .spec, figure.wide { margin-top:24px; }
  .portrait { height:auto; } .portrait img, .g-letter .portrait img { height:auto; aspect-ratio:4/5; border-radius:10px; }
  .cover { height:auto; aspect-ratio:4/5; } .cover-img { object-position:88% center; } .cover-txt { left:20px; right:20px; bottom:28px; } .cover h1 { font-size:36px; }
  .cover-shade { background:linear-gradient(0deg, rgba(10,9,8,.95) 0%, rgba(10,9,8,.6) 35%, rgba(10,9,8,0) 60%); }
  .idea-vis { aspect-ratio:4/3; height:auto; } .mini-wrap { width:52%; right:12px; top:12px; } .idea-txt { padding:28px 20px 40px; }
  .idea-no { font-size:44px; right:20px; top:20px; } .index { grid-template-columns:repeat(2, 1fr); } .track { grid-template-columns:1fr; gap:20px; }
  .two-col { columns:1; } .foot { display:none; } .qrc { display:none; } .qr { display:block; } .steps3 .num, .track .num { font-size:20px; }
  .spec { padding:22px 20px; border-radius:10px; } .people img { width:96px; height:96px; } .logo { width:150px; margin-bottom:28px; }
}
@media print { body { background:none; } .book { display:block; padding:0; } .sheet { width:auto; } .scaler { transform:none !important; height:auto !important; }
  .page { break-after:page; } .save { display:none; } }

body[data-page="aanbod"] { background:#24211c; }
.ab-bar { position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:12px; height:58px; padding:0 20px; background:rgba(12,11,9,.92);
  backdrop-filter:blur(10px); border-bottom:1px solid rgba(201,168,76,.18); font:500 15px/1.2 var(--body); color:#ece7dc; }
.ab-bar .brand { display:flex; align-items:center; margin-right:auto; } .ab-bar .logo { width:auto; margin:0; } .ab-bar .brand svg { height:26px; width:auto; display:block; }
.ab-bar a.btn { color:#ece7dc; text-decoration:none; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.08); white-space:nowrap; }
.ab-bar a.btn.gold { background:#bb9a3b; color:#141210; font-weight:600; }
.ab-pill { position:fixed; z-index:20; left:50%; bottom:18px; transform:translateX(-50%); display:none; align-items:center; gap:12px; padding:8px 8px 8px 18px;
  border-radius:999px; background:rgba(15,14,12,.94); color:#f1ece2; border:1px solid rgba(187,154,59,.5); box-shadow:0 10px 30px rgba(0,0,0,.4); font:500 15px var(--body); }
.ab-pill.on { display:flex; } .ab-pill a { background:#bb9a3b; color:#141210; text-decoration:none; font-weight:600; border-radius:999px; padding:8px 16px; }
.ab-send { width:min(100%, 1123px); background:var(--paper); color:var(--ink); border-radius:4px; padding:48px 6%; font-family:var(--body); }
.ab-send h2 { font-size:30px; max-width:none; } .ab-send .lede { margin-bottom:18px; }
.ab-list { list-style:none; padding:0; margin:0 0 22px; display:flex; flex-wrap:wrap; gap:8px; }
.ab-list li { border:1px solid var(--ink); border-radius:999px; padding:6px 8px 6px 14px; font:600 14px var(--head); display:flex; gap:8px; align-items:center; }
.ab-list button { border:0; background:#e8e2d3; border-radius:999px; width:24px; height:24px; cursor:pointer; font-size:14px; line-height:1; }
.ab-empty { color:var(--muted); }
.ab-form { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; max-width:760px; }
.ab-form label { display:flex; flex-direction:column; gap:6px; font-size:14px; color:#4a453b; }
.ab-form input[type=text], .ab-form input[type=email], .ab-form input[type=tel], .ab-form textarea { font:16px var(--body); padding:11px 12px; border:1px solid #cfc8b6; border-radius:8px; background:#fff; color:var(--ink); }
.ab-form textarea { min-height:90px; resize:vertical; } .ab-form .full { grid-column:1 / -1; }
.ab-form .check { flex-direction:row; align-items:flex-start; gap:10px; } .ab-form .check input { margin-top:3px; width:18px; height:18px; accent-color:#1b1a17; }
.ab-form .hp { position:absolute; left:-9999px; }
.ab-form button { justify-self:start; font:600 16px var(--head); background:var(--ink); color:var(--paper); border:0; border-radius:999px; padding:12px 24px; cursor:pointer; }
.ab-form button[disabled] { opacity:.5; cursor:default; }
.ab-msg { grid-column:1 / -1; font-size:15px; } .ab-msg.err { color:#9b2c1d; }
.ab-done { font:600 20px var(--head); }
@media (max-width:760px) { .ab-bar { padding:0 12px; gap:8px; font-size:14px; } .ab-bar .brand svg { height:20px; } .ab-bar a.btn { padding:7px 11px; }
  .ab-bar .home { display:none; } .ab-send { padding:36px 20px 48px; border-radius:0; } .ab-form { grid-template-columns:1fr; } }
