/* site.css: Plenivo-huisstijl bovenop cinema.css. Richting "Forge" met Plenivo-rood:
   film donker, informatie op licht papier, hoekige knoppen (3px). Gedeeld door alle pagina's en talen. */
:root {
  --bg:#0e0f11; --bg-2:#16181b; --surface:#1e2124; --line:rgba(230,235,240,.11);
  --text:#eceeef; --muted:rgba(236,238,239,.66);
  --accent:#e05246; --accent-rgb:224,82,70; --accent-ink:#ffffff; --nav-solid:rgba(14,15,17,.86);
  --scrim:10,11,12;
  --font-display:"Archivo",sans-serif; --font-ui:"Archivo",system-ui,sans-serif;
  --radius:3px;
  --red:#c3302a; --red-deep:#a52620; --paper:#f4f3f0; --paper-2:#eae8e3; --ink:#16181a; --ink-2:#4f555c; --rule:#d6d3cd;
}
.display { font-weight:800; font-stretch:112%; text-transform:uppercase; letter-spacing:-.01em; line-height:.92; }
.display em { font-family:"Instrument Serif",serif; font-style:italic; text-transform:none; font-weight:400; font-stretch:100%; letter-spacing:0; color:#f0705f; }
h1.display .eyebrow { display:flex; margin-bottom:22px; font-stretch:100%; line-height:1.4; }
.btn--solid { background:var(--red); color:#fff; box-shadow:none; }
.btn--solid:hover { background:#d63a33; }
.wordmark { display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:18px; letter-spacing:-.01em; }
.wordmark img { width:34px; height:34px; }
.nav__right { display:flex; align-items:center; gap:22px; }
.nav__login { font:500 12px/1 var(--font-ui); letter-spacing:.06em; color:var(--muted); }
.nav__login:hover, .nav__links a[aria-current] { color:var(--text); }
@media (max-width:520px) { .nav__login { display:none; } }
.nav--page { background:var(--nav-solid); backdrop-filter:blur(14px) saturate(1.2); border-color:var(--line); }
.melding { display:flex; gap:12px; align-items:flex-start; width:min(340px,100%); margin-top:22px; padding:12px 14px; border-radius:14px;
  background:rgba(255,255,255,.96); color:#16181a; box-shadow:0 16px 40px rgba(0,0,0,.35); font:14px/1.35 -apple-system,"Helvetica Neue",Arial,sans-serif; }
.melding img { width:34px; height:34px; flex:none; }
.melding b { display:block; font-size:13px; }
.melding small { color:#6b7177; font-weight:400; }

/* ---------- licht informatielaag ---------- */
.paper { background:var(--paper); color:var(--ink); font-size:17px; line-height:1.55; }
.paper .display em { color:var(--red-deep); }
.paper a:not(.btn) { color:var(--red-deep); }
.wrap { max-width:1240px; margin:0 auto; padding:0 clamp(20px,4vw,48px); }
.blk { padding:clamp(80px,10vw,120px) 0; }
.kick { font:600 12px/1 var(--font-ui); letter-spacing:.16em; text-transform:uppercase; color:var(--red-deep); margin:0 0 18px; }
.h2 { font-size:clamp(38px,5vw,64px); margin:0; }
.sub { margin:0; color:var(--ink-2); font-size:19px; }
.head2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; align-items:end; margin-bottom:56px; }
.feats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:32px; }
.feat { padding:28px 0 36px; border-top:1px solid var(--rule); }
.feat span { font-size:13px; color:#6b7177; }
.feat h3 { margin:10px 0; font-size:22px; font-weight:700; }
.feat p { margin:0; color:var(--ink-2); }
.dark { background:var(--bg); color:var(--text); }
.dark .sub { color:var(--muted); }
.dark .kick { color:#f0705f; }
.dark .display em { color:#f0705f; }
.dark a:not(.btn) { color:#f0705f; }
.shots { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:24px; }
.shots figure { margin:0; }
.shots img { width:100%; height:auto; border-radius:4px; border:1px solid var(--line); }
.shots figcaption { margin-top:14px; font-size:15px; color:var(--muted); }
.shots .col { display:grid; gap:24px; align-content:start; }
.steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.steps > div { border-top:2px solid var(--ink); padding-top:22px; }
.steps b { display:block; font:800 44px/1 var(--font-display); font-stretch:112%; color:var(--red-deep); }
.steps h3 { margin:14px 0 8px; font-size:20px; }
.steps p { margin:0; color:var(--ink-2); }
.tint { background:var(--paper-2); }
.two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
.depts { margin:0; padding:0; list-style:none; font-size:18px; border-bottom:1px solid #c9c6bf; }
.depts li { display:flex; justify-content:space-between; gap:16px; padding:18px 0; border-top:1px solid #c9c6bf; }
.depts span { color:var(--ink-2); text-align:right; }
/* prijzen */
.toggle { display:inline-flex; border:1px solid var(--ink); border-radius:3px; margin-bottom:28px; }
.toggle button { font:600 14px/1 var(--font-ui); padding:12px 18px; border:0; background:none; color:var(--ink); cursor:pointer; }
.toggle button[aria-pressed="true"] { background:var(--ink); color:#fff; }
.plans { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; }
.plan { background:#fff; border:1px solid var(--rule); padding:28px 24px; display:flex; flex-direction:column; gap:6px; }
.plan--top { background:var(--ink); color:var(--text); border-color:var(--ink); }
.plan__name { font:600 12px/1.3 var(--font-ui); letter-spacing:.16em; text-transform:uppercase; color:#6b7177; margin:0; }
.plan--top .plan__name { color:#f0705f; }
.plan__price { font:800 40px/1 var(--font-display); font-stretch:112%; margin:16px 0 0; }
.plan__price small { font:500 15px/1 var(--font-ui); }
.plan__old { font:500 15px/1 var(--font-ui); text-decoration:line-through; color:#8a9096; margin-right:6px; }
.plan__meta { margin:4px 0 0; color:var(--ink-2); font-size:15px; }
.plan--top .plan__meta { color:var(--muted); }
.plan ul { list-style:none; margin:16px 0 22px; padding:0; font-size:15px; display:grid; gap:6px; flex:1; align-content:start; }
.plan li::before { content:"— "; color:var(--red); }
.plan .btn { justify-content:center; }
.btn--line { border-color:var(--ink); color:var(--ink); }
.btn--line:hover { background:var(--ink); color:#fff; }
.note { margin:20px 0 0; font-size:14px; color:#6b7177; }
/* faq */
.faq { border-bottom:1px solid var(--rule); }
.faq details { border-top:1px solid var(--rule); padding:20px 0; }
.faq summary { cursor:pointer; font-weight:700; font-size:19px; list-style:none; display:flex; justify-content:space-between; gap:16px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; color:var(--red-deep); font-size:24px; line-height:1; }
.faq details[open] summary::after { content:"−"; }
.faq p { margin:12px 0 0; color:var(--ink-2); max-width:70ch; }
/* over + contact */
.vals { margin:36px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 32px; font-size:16px; }
.vals li { border-top:1px solid var(--line); padding-top:14px; }
.vals span { color:var(--muted); }
.form { background:var(--bg-2); padding:clamp(24px,3vw,36px); border:1px solid var(--line); display:grid; gap:16px; scroll-margin-top:90px; }
.form h3 { margin:0 0 4px; font-size:26px; }
.form label { display:grid; gap:6px; font-size:14px; color:rgba(236,238,239,.8); }
.form input, .form textarea { min-height:48px; padding:12px 14px; background:var(--bg); border:1px solid rgba(236,238,239,.25); border-radius:3px; color:var(--text); font:inherit; font-size:16px; }
.form textarea { min-height:96px; resize:vertical; }
.form input:focus, .form textarea:focus { outline:2px solid #f0705f; outline-offset:1px; }
.form .btn { justify-content:center; border:0; cursor:pointer; font-family:inherit; }
.form__ok { display:none; margin:0; padding:14px; border:1px solid rgba(110,200,140,.4); color:#9fe0b4; font-size:15px; }
.form small { color:var(--muted); font-size:14px; }
section[id] { scroll-margin-top:72px; }
/* footer */
.foot { background:#0a0b0c; color:var(--muted); padding:56px 0 32px; font-size:14px; }
.foot__grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:32px; }
.foot h2 { font:600 11px/1 var(--font-ui); letter-spacing:.24em; text-transform:uppercase; color:var(--text); margin:0 0 16px; }
.foot a { display:block; padding:4px 0; }
.foot a:hover { color:var(--text); }
.foot__tag { font:italic 22px/1.2 "Instrument Serif",serif; color:var(--text); margin:14px 0 8px; }
.foot__legal { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:48px; padding-top:20px; border-top:1px solid var(--line); font-size:12px; }
.foot__legal a { display:inline; }
.foot__credits { margin:16px 0 0; font-size:11px; opacity:.7; }
@media (max-width:900px) {
  .head2, .two, .shots { grid-template-columns:1fr; gap:24px; }
  .feats { grid-template-columns:1fr; }
  .steps { grid-template-columns:1fr 1fr; }
  .foot__grid { grid-template-columns:1fr 1fr; }
  .foot__grid > :first-child { grid-column:1 / -1; }
}
@media (max-width:520px) {
  .steps, .vals { grid-template-columns:1fr; }
  .depts li { flex-direction:column; gap:2px; }
  .depts span { text-align:left; }
}
.plan__price.ask { font-size:28px; line-height:1.1; padding-top:8px; }
