/* Pictoo marketingsite. Gedeelde stijl voor alle pagina's.
   Lettertypes staan zelf op de server (geen Google Fonts, dus geen cookies of IP-adressen naar derden).
   Bricolage Grotesque, Geist en Geist Mono vallen onder de SIL Open Font License. */
@font-face{font-family:"Bricolage Grotesque";src:url(../fonts/bricolage-grotesque.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Geist";src:url(../fonts/geist.woff2) format("woff2");font-weight:400 600;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(../fonts/geist-mono.woff2) format("woff2");font-weight:400 500;font-display:swap}

/* Layout: product site in the Pictoo identity. Baryta paper with darkroom bands; the hero is a working client gallery you can pick from. Single deliberate look so the brand colours stay exact. */
:root{
  --ink:#12131A; --fixer:#0F5C52; --fixer-2:#0B4840; --mint:#E4EFEC; --pick:#FFB224;
  --silver:#D7DAE0; --paper:#F5F6F7; --white:#FFFFFF; --muted:#636875; --line:#E3E5EA;
  --dline:#262833; --dmuted:#9A9EAB; --card-dark:#1A1B23;
  --display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;
  --text:"Geist","Helvetica Neue","Segoe UI",system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:rgba(245,246,247,.92)}
.wrap{max-width:1200px;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:760px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}
section{padding-block:clamp(72px,10vw,120px)}
.dark{background:var(--ink);color:var(--paper)}
.white{background:var(--white)}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.025em;line-height:1.03;text-wrap:balance;margin:0}
h2{font-size:clamp(34px,5vw,60px)}
h3{font-size:21px;letter-spacing:-.01em;line-height:1.2}
p{margin:0}
.lead{font-size:clamp(17px,1.8vw,20px);line-height:1.55;color:var(--muted);max-width:58ch}
.dark .lead{color:var(--dmuted)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fixer);font-weight:500}
.dark .eyebrow{color:var(--pick)}
.head{display:grid;gap:18px;margin-bottom:56px;max-width:760px}
.head.center{margin-inline:auto;text-align:center;justify-items:center}
svg{display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--fixer);outline-offset:3px;border-radius:6px}
.dark :focus-visible{outline-color:var(--pick)}

.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--text);font-weight:500;font-size:15.5px;border-radius:999px;padding:13px 24px;border:0;cursor:pointer;text-decoration:none;transition:transform .15s,background .2s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--fixer);color:#fff}
.btn-primary:hover{background:var(--fixer-2)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--silver)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.dark .btn-ghost{color:var(--paper);box-shadow:inset 0 0 0 1.5px #3A3D4A}
.btn-light{background:var(--paper);color:var(--ink)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--pick);flex-shrink:0}

/* NAV */
nav.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(245,246,247,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
nav.top.scrolled{border-bottom-color:var(--line)}
nav.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:68px}
nav.top .logo svg{height:26px;width:auto}
.navlinks{display:none;gap:28px;font-size:15px;color:var(--muted)}
.navlinks a{text-decoration:none}
.navlinks a:hover{color:var(--ink)}
.navcta{display:flex;gap:10px;align-items:center}
.navcta .login{display:none;font-size:15px;text-decoration:none;color:var(--muted);padding:8px 10px}
.navcta .btn{padding:10px 18px;font-size:14.5px}
@media (min-width:900px){.navlinks{display:flex}.navcta .login{display:inline}}

/* HERO */
.hero{padding-block:clamp(48px,7vw,88px) clamp(64px,8vw,104px)}
.hero-grid{display:grid;gap:56px;align-items:center}
@media (min-width:1000px){.hero-grid{grid-template-columns:1fr 1.08fr}}
.pill{display:inline-flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:99px;padding:6px 14px 6px 8px;font-size:13.5px;color:var(--muted)}
.pill b{background:var(--mint);color:var(--fixer);font-weight:600;border-radius:99px;padding:2px 10px;font-size:12px}
.hero h1{font-size:clamp(44px,6.6vw,84px);letter-spacing:-.035em;margin-top:24px}
.hero h1 .pk{position:relative;white-space:nowrap}
.hero h1 .pk::after{content:"";position:absolute;width:.2em;height:.2em;border-radius:50%;background:var(--pick);right:-.26em;bottom:.14em}
.hero .lead{margin-top:24px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.assure{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px;font-size:14px;color:var(--muted)}
.assure span{display:inline-flex;align-items:center;gap:8px}
.assure svg{width:16px;height:16px}

/* gallery demo */
.demo{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 50px 90px -50px rgba(18,19,26,.45),0 2px 6px rgba(18,19,26,.04);overflow:hidden;min-width:0}
.demo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.demo-top .who small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.demo-top .who strong{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em}
.counter{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border-radius:99px;padding:7px 14px;font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.counter .dot{box-shadow:0 0 0 2px var(--ink)}
.counter.bump{animation:bump .35s}
@keyframes bump{40%{transform:scale(1.08)}}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(84px,11vw,124px);gap:5px;padding:5px;grid-auto-flow:dense}
.dgrid .t{grid-row:span 2}
.dgrid .w{grid-column:span 2}
.ph{position:relative;overflow:hidden;border-radius:2px;background:#333}
.ph::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(0,0,0,.25));pointer-events:none}
.pickbtn{all:unset;position:absolute;right:8px;bottom:8px;width:34px;height:34px;display:grid;place-items:center;z-index:2;cursor:pointer;border-radius:50%}
.pickbtn span{width:22px;height:22px;border-radius:50%;border:2.5px solid #fff;display:grid;place-items:center;box-shadow:0 1px 6px rgba(0,0,0,.35);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.pickbtn span::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--pick);transform:scale(0);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.pickbtn[aria-pressed="true"] span::after{transform:scale(1)}
.pickbtn:active span{transform:scale(.85)}
.pickbtn:focus-visible{outline:2px solid #fff;outline-offset:1px}
.demo-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid var(--line);flex-wrap:wrap}
.demo-foot .hint{font-size:13px;color:var(--muted)}
.demo-foot .btn{padding:10px 18px;font-size:14px}
.sent{font-size:13.5px;color:var(--fixer);font-weight:500}

/* photo studies (abstract, not real photos) */
.p1{background:linear-gradient(180deg,#F2D3B3 0%,#E6A98C 38%,#B9796E 52%,#4B3A45 53%,#241D27 100%)}
.p2{background:radial-gradient(60% 50% at 62% 38%,#F4E9DC 0 18%,transparent 19%),linear-gradient(160deg,#A8B7A0,#5E7360 60%,#2D3A30)}
.p3{background:linear-gradient(200deg,#DCE3EA 0%,#9EB0C2 45%,#56687D 70%,#27303C 100%)}
.p4{background:radial-gradient(40% 55% at 50% 58%,#C99A83 0 40%,transparent 41%),radial-gradient(22% 18% at 50% 30%,#D6AB93 0 60%,transparent 61%),linear-gradient(#ECE6DF,#D8CFC6)}
.p5{background:linear-gradient(180deg,#1E2633 0%,#2F3D52 50%,#C98D5F 51%,#E8C192 62%,#6B5A4A 63%,#2A241F 100%)}
.p6{background:radial-gradient(70% 60% at 30% 70%,#E9C8C0,transparent 60%),linear-gradient(135deg,#F5E8E4,#D7B2A9)}
.p7{background:linear-gradient(90deg,#2F2A26 0 18%,#C9B9A6 18% 62%,#8E7C69 62% 64%,#E3D7C8 64%)}
.p8{background:radial-gradient(50% 45% at 50% 50%,#F7F1E6 0 30%,#CFC2AE 31% 45%,transparent 46%),linear-gradient(#7A8B7C,#3E4B41)}
.p9{background:linear-gradient(170deg,#FCE9C9 0%,#F2B88A 40%,#8B5E66 75%,#3A2C3A 100%)}

/* STEPS */
.steps{display:grid;gap:20px}
@media (min-width:900px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.step .vis{height:200px;background:var(--paper);display:grid;place-items:center;border-bottom:1px solid var(--line);padding:24px;position:relative;overflow:hidden}
.step .txt{padding:24px;display:grid;gap:8px}
.step .num{font-family:var(--mono);font-size:12px;color:var(--fixer);font-weight:500}
.step p{color:var(--muted);font-size:15px}
.drop{width:100%;max-width:260px;height:130px;border:2px dashed #BFC4CC;border-radius:10px;display:grid;place-items:center;text-align:center;font-size:13px;color:var(--muted);background:var(--white);position:relative}
.drop .files{position:absolute;top:-18px;left:50%;transform:translateX(-50%) rotate(-4deg);display:flex}
.drop .files i{width:48px;height:36px;border-radius:3px;border:2px solid #fff;box-shadow:0 6px 14px rgba(0,0,0,.2);margin-left:-14px}
.prog{width:70%;height:6px;background:var(--line);border-radius:9px;overflow:hidden;margin-top:8px}
.prog i{display:block;height:100%;width:72%;background:var(--fixer);border-radius:9px}
.share{width:100%;max-width:270px;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:10px;box-shadow:0 14px 30px -18px rgba(18,19,26,.35)}
.share .lnk{font-family:var(--mono);font-size:11.5px;background:var(--paper);border-radius:6px;padding:8px 10px;display:flex;justify-content:space-between;gap:8px}
.share .lnk b{color:var(--fixer);font-weight:500}
.share .row{display:flex;gap:6px}
.share .row span{flex:1;font-size:11px;text-align:center;border:1px solid var(--line);border-radius:99px;padding:5px}
.picks{display:grid;grid-template-columns:repeat(3,56px);gap:6px}
.picks .ph{height:56px}
.picks .on::before{content:"";position:absolute;right:5px;bottom:5px;width:14px;height:14px;border-radius:50%;border:2px solid #fff;z-index:2;background:radial-gradient(circle,var(--pick) 0 3px,transparent 3.5px)}

/* WHY */
.why{display:grid;gap:1px;background:var(--dline);border:1px solid var(--dline);border-radius:12px;overflow:hidden}
@media (min-width:760px){.why{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.why{grid-template-columns:repeat(4,1fr)}}
.why > div{background:var(--ink);padding:30px 26px;display:grid;gap:14px;align-content:start}
.why .old{font-size:14px;color:var(--dmuted);text-decoration:line-through;text-decoration-color:#4A4D5A}
.why h3{font-size:22px}
.why p{color:var(--dmuted);font-size:15px}
.why .ic{width:40px;height:40px;border-radius:10px;background:var(--card-dark);display:grid;place-items:center}
.why .ic svg{width:22px;height:22px}

/* FEATURES */
.feat{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:760px){.feat{grid-template-columns:repeat(6,1fr)}}
.fcard{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:28px;display:grid;gap:10px;align-content:start;min-width:0}
.fcard p{color:var(--muted);font-size:15px}
.fcard .tag.soon,.soon{background:#FFF1D6;color:#7A4E00}
.soon{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:99px;margin-left:6px;vertical-align:middle;font-weight:500}
.fcard .tag{justify-self:start;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:var(--mint);color:var(--fixer);padding:3px 9px;border-radius:99px}
@media (min-width:760px){.f-3{grid-column:span 3}.f-2{grid-column:span 2}.f-4{grid-column:span 4}}
.fcard.big{grid-template-columns:1fr;gap:24px}
@media (min-width:1000px){.fcard.big{grid-template-columns:1fr 1fr;align-items:center}}
.fvis{background:var(--paper);border-radius:8px;padding:20px;min-height:180px;display:grid;place-items:center;min-width:0}
.shop{display:grid;gap:8px;width:100%;max-width:280px}
.shop .item{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:8px;font-size:13px}
.shop .item .ph{width:44px;height:44px;flex-shrink:0}
.shop .item div{flex:1;min-width:0}
.shop .item small{display:block;color:var(--muted);font-size:11.5px}
.shop .item b{font-variant-numeric:tabular-nums;font-weight:500}
.shop .pay{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff;border-radius:8px;padding:10px 12px;font-size:13px}
.shop .pay span{font-family:var(--mono);font-size:11px;background:#fff;color:var(--ink);border-radius:4px;padding:2px 6px;font-weight:500}
.mini-list{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:6px;font-size:14.5px}
.mini-list li{display:flex;gap:10px;align-items:baseline}
.mini-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--fixer);flex-shrink:0;transform:translateY(-2px)}

/* PRICING */
.plans{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:700px){.plans{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.plans{grid-template-columns:repeat(4,1fr)}}
.plan{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:18px;position:relative;min-width:0;transition:box-shadow .25s,border-color .25s}
.plan.rec{border-color:var(--fixer);box-shadow:0 0 0 2px var(--fixer)}
.plan .badge{position:absolute;top:-12px;left:24px;background:var(--pick);color:var(--ink);font-size:12px;font-weight:600;border-radius:99px;padding:3px 11px;display:none}
.plan.rec .badge{display:block}
.plan h3{font-size:24px}
.plan .for{font-size:14px;color:var(--muted);min-height:44px}
.price{display:flex;align-items:baseline;gap:6px}
.price b{font-family:var(--display);font-size:52px;font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.price span{color:var(--muted);font-size:14px}
.plan .gb{font-family:var(--mono);font-size:13px;background:var(--paper);border-radius:6px;padding:8px 10px;display:flex;justify-content:space-between;gap:8px}
.plan ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:14.5px;flex:1}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li svg{width:16px;height:16px;flex-shrink:0;margin-top:4px}
.plan .btn{justify-content:center}
.price-note{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:28px;font-size:14px;color:var(--muted)}
.price-note span{display:inline-flex;gap:8px;align-items:center}

/* CALCULATOR */
.calc{margin-top:56px;background:var(--ink);color:var(--paper);border-radius:16px;padding:clamp(24px,4vw,44px);display:grid;gap:36px}
@media (min-width:960px){.calc{grid-template-columns:1.1fr 1fr;align-items:center}}
.calc h3{font-size:clamp(24px,3vw,32px);letter-spacing:-.02em}
.calc .sub{color:var(--dmuted);margin-top:8px;font-size:15px}
.field{display:grid;gap:10px;margin-top:28px}
.field label{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.field label output{font-family:var(--mono);color:var(--pick);font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:9px;background:linear-gradient(to right,var(--pick) var(--v,30%),#33364A var(--v,30%));outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:6px solid var(--ink);box-shadow:0 0 0 2px var(--pick);cursor:pointer}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:6px solid var(--ink);box-shadow:0 0 0 2px var(--pick);cursor:pointer}
input[type=range]:focus-visible{outline:2px solid var(--pick);outline-offset:6px}
.result{background:var(--card-dark);border:1px solid var(--dline);border-radius:12px;padding:28px;display:grid;gap:18px;min-width:0}
.result .rl{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dmuted)}
.result .plan-name{font-family:var(--display);font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1}
.result .plan-name small{font-size:18px;color:var(--dmuted);font-weight:500;letter-spacing:0;margin-left:8px}
.bars{display:grid;gap:10px}
.bar{display:grid;grid-template-columns:96px 1fr 64px;gap:12px;align-items:center;font-size:13.5px}
.bar .track{height:10px;background:#262833;border-radius:9px;overflow:hidden}
.bar .track i{display:block;height:100%;border-radius:9px;background:#4A4E60;transition:width .4s cubic-bezier(.3,.8,.3,1)}
.bar.us .track i{background:var(--pick)}
.bar b{font-family:var(--mono);font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
.save{font-size:15px;color:var(--paper);border-top:1px solid var(--dline);padding-top:16px}
.save b{color:var(--pick);font-variant-numeric:tabular-nums}
.result .fine{font-size:12px;color:var(--dmuted)}

/* COMPARE */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--white)}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:14.5px}
th,td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
thead th{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em;background:var(--white);position:sticky;top:0}
thead th.us{background:var(--ink);color:#fff}
td.us{background:var(--mint);font-weight:500;color:var(--ink)}
td:first-child{color:var(--muted);font-size:13.5px;width:22%}
td small{display:block;color:var(--muted);font-size:12.5px;font-weight:400;margin-top:2px}
.no{color:#A0434A}
.src{margin-top:16px;font-size:12.5px;color:var(--muted);max-width:90ch}
.src a{color:var(--muted)}

/* SWITCH */
.switch{display:grid;gap:40px;align-items:center}
@media (min-width:960px){.switch{grid-template-columns:1fr 1fr}}
.move{display:grid;gap:12px}
.move .row{display:flex;align-items:center;gap:16px;background:var(--card-dark);border:1px solid var(--dline);border-radius:10px;padding:16px 18px}
.move .row .n{font-family:var(--mono);color:var(--pick);font-size:13px;width:22px}
.move .row div{flex:1;min-width:0}
.move .row small{display:block;color:var(--dmuted);font-size:13.5px}
.move .row .st{font-family:var(--mono);font-size:11.5px;color:var(--dmuted);white-space:nowrap}

/* VOICES */
.quotes{display:grid;gap:20px}
@media (min-width:900px){.quotes{grid-template-columns:repeat(3,1fr)}}
.q{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:22px;justify-content:space-between;min-width:0}
.q blockquote{margin:0;font-family:var(--display);font-size:21px;font-weight:500;letter-spacing:-.015em;line-height:1.3}
.q .who{display:flex;gap:12px;align-items:center;font-size:14px}
.q .who .ph{width:40px;height:40px;border-radius:50%}
.q .who small{display:block;color:var(--muted);font-size:13px}
.ex-note{margin-top:16px;font-size:12.5px;color:var(--muted)}

/* FAQ */
.faq{display:grid;gap:10px;max-width:820px;margin:0 auto}
details{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:0 22px}
summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:500;font-size:17px;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"";width:22px;height:22px;border-radius:50%;border:2px solid var(--ink);flex-shrink:0;background:radial-gradient(circle,var(--pick) 0 0,transparent 0);transition:background .2s}
details[open] summary::after{background:radial-gradient(circle,var(--pick) 0 4px,transparent 4.5px)}
details p{padding:0 0 22px;color:var(--muted);max-width:65ch}

/* CTA + FOOTER */
.final{background:var(--fixer);color:#fff;text-align:center}
.final h2{font-size:clamp(38px,6vw,72px);max-width:16ch;margin:0 auto}
.final p{color:rgba(255,255,255,.78);margin:22px auto 0;max-width:46ch;font-size:18px}
.final .hero-ctas{justify-content:center}
.final .btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
footer{background:var(--ink);color:var(--dmuted);padding-block:56px 40px;font-size:14px}
.fgrid{display:grid;gap:36px;grid-template-columns:repeat(2,1fr)}
@media (min-width:860px){.fgrid{grid-template-columns:2fr repeat(3,1fr)}}
.fgrid .brand{grid-column:1/-1;display:grid;gap:14px;align-content:start}
@media (min-width:860px){.fgrid .brand{grid-column:auto}}
.fgrid .brand svg{height:28px;width:auto}
.fgrid h4{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--paper);margin-bottom:12px}
.fgrid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.fgrid a{text-decoration:none}
.fgrid a:hover{color:var(--paper)}
.legal{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--dline);margin-top:48px;padding-top:24px;font-size:13px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ===== Toevoegingen voor de site met meerdere pagina's ===== */
body{margin:0}
img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:100}
.skip:focus{left:16px}
.navlinks a[aria-current="page"]{color:var(--ink);font-weight:500}

/* mobiel menu */
.menu-btn{all:unset;cursor:pointer;width:42px;height:42px;display:grid;place-items:center;border-radius:10px;margin-right:-8px}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .2s,background .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
.mnav{display:none;border-top:1px solid var(--line);background:var(--paper)}
.mnav.open{display:block}
nav.top .mnav .wrap{display:grid;gap:2px;height:auto;padding-block:12px 20px;align-items:stretch;justify-content:stretch}
.mnav a{text-decoration:none;font-size:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.mnav a:last-of-type{border-bottom:0}
.mnav .btn{margin-top:12px;justify-content:center;font-size:16px;border-bottom:0}
@media (min-width:900px){.menu-btn,.mnav,.mnav.open{display:none}}
@media (max-width:420px){.navcta .btn{padding:9px 14px;font-size:14px}}

/* koptekst op subpagina's */
.phead{padding-block:clamp(48px,7vw,96px) clamp(40px,5vw,64px)}
.phead h1{font-size:clamp(40px,6vw,72px);letter-spacing:-.035em;margin-top:18px;max-width:18ch}
.phead .lead{margin-top:20px}
.phead.center{text-align:center}
.phead.center h1,.phead.center .lead{margin-inline:auto}
.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.crumbs a{text-decoration:none;color:var(--fixer)}
.crumbs a:hover{text-decoration:underline}
section.tight{padding-block:clamp(48px,7vw,80px)}

/* blogoverzicht */
.posts{display:grid;gap:20px}
@media (min-width:760px){.posts{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.posts{grid-template-columns:repeat(3,1fr)}}
.post-card{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;min-width:0;transition:box-shadow .2s,transform .2s}
.post-card:hover{box-shadow:0 24px 50px -30px rgba(18,19,26,.45);transform:translateY(-2px)}
.post-card .cover{aspect-ratio:16/10;border-radius:0}
.post-card .body{padding:24px;display:grid;gap:10px;flex:1;align-content:start}
.post-card h2,.post-card h3{font-size:22px;letter-spacing:-.015em;line-height:1.2}
.post-card p{color:var(--muted);font-size:15px}
.meta{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 14px}
.meta .cat{color:var(--fixer);text-transform:uppercase;letter-spacing:.08em}
.post-card.featured{grid-column:1/-1}
@media (min-width:900px){.post-card.featured{flex-direction:row}.post-card.featured .cover{aspect-ratio:auto;flex:1.2;min-height:340px}.post-card.featured .body{flex:1;padding:40px;align-content:center}.post-card.featured h2{font-size:34px}}

/* artikel */
.article-head{padding-block:clamp(40px,6vw,80px) 32px}
.article-head h1{font-size:clamp(36px,5.2vw,60px);letter-spacing:-.03em;margin-top:18px;max-width:20ch}
.article-head .lead{margin-top:20px}
.article-head .meta{margin-top:24px}
.article-cover{aspect-ratio:21/9;border-radius:14px;margin-bottom:clamp(40px,6vw,64px)}
.prose{max-width:68ch;font-size:17.5px;line-height:1.7}
.prose.center{margin-inline:auto}
.prose > * + *{margin-top:1.1em}
.prose h2{font-size:clamp(26px,3vw,34px);letter-spacing:-.02em;line-height:1.15;margin-top:1.9em}
.prose h3{font-size:21px;margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li + li{margin-top:.4em}
.prose li::marker{color:var(--fixer)}
.prose a{color:var(--fixer);text-underline-offset:3px}
.prose strong{font-weight:600}
.prose code{font-family:var(--mono);font-size:.88em;background:var(--white);border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.prose blockquote{margin-inline:0;border-left:3px solid var(--pick);padding:4px 0 4px 20px;font-family:var(--display);font-size:22px;line-height:1.35;letter-spacing:-.01em}
.tip{background:var(--mint);border-radius:12px;padding:20px 22px;font-size:16px}
.tip b{color:var(--fixer)}
.prose table{min-width:0;font-size:15px;background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden;border-collapse:separate;border-spacing:0}
.prose td:first-child{width:auto;color:var(--ink);font-size:15px}
.prose th{font-family:var(--display);font-size:15px;background:var(--paper)}
.prose .tbl{overflow-x:auto}
.cta-box{margin-top:56px;background:var(--ink);color:var(--paper);border-radius:14px;padding:32px;display:grid;gap:14px}
.cta-box h2{margin:0;font-size:28px}
.cta-box p{color:var(--dmuted)}
.cta-box .hero-ctas{margin-top:8px}
.more{border-top:1px solid var(--line);margin-top:72px;padding-top:48px}
.more h2{font-size:28px;margin-bottom:24px}

/* contact */
.cards{display:grid;gap:20px}
@media (min-width:760px){.cards{grid-template-columns:repeat(3,1fr)}}
.ccard{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:28px;display:grid;gap:10px;align-content:start}
.ccard p{color:var(--muted);font-size:15px}
.ccard a.big{font-family:var(--display);font-size:20px;font-weight:600;color:var(--fixer);text-decoration:none;word-break:break-word}
.ccard a.big:hover{text-decoration:underline}

/* 404 */
.nf{min-height:60vh;display:grid;place-items:center;text-align:center}
.nf .code{font-family:var(--mono);color:var(--fixer);letter-spacing:.1em}
.nf h1{font-size:clamp(40px,6vw,72px);margin-top:12px}
.nf p{color:var(--muted);margin-top:16px}
.nf .hero-ctas{justify-content:center}
