/* =========================================================
   Fiets Awards 2027 · 40ste editie — HTML-prototype
   Opgezet als Elementor-bouwplan: elke sectie = 1 container,
   kleuren/typografie = Elementor Globale kleuren & fonts.
   ========================================================= */

/* Lokale webfonts (in WordPress: Elementor > Custom Fonts, of Google Fonts lokaal laden) */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/barlow-condensed-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/open-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/open-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/open-sans-latin-700-normal.woff2) format('woff2')}


/* ---------- Globale kleuren (Elementor: Site Settings > Global Colors) ---------- */
:root{
  --navy:#293C5B;          /* Primair · donkerblauw */
  --navy-deep:#1F2F49;     /* Footer */
  --blue-mid:#1E4F72;      /* Verloop midden */
  --blue:#10779C;          /* Accent · lichtblauw: labels, links */
  --gold:#A8842C;          /* Goud · vlak: knoppen, banden (altijd witte tekst) */
  --gold-hover:#8C6C1F;    /* Goud · hover */
  --gold-bright:#D4AF37;   /* Goud · tekst en lijn op blauw */
  --grey:#F4F4F4;          /* Lichtgrijs vlak */
  --line:#E3E7ED;          /* Lijnen */
  --muted:#5B6B84;         /* Secundaire tekst */
  --white:#FFFFFF;
  --danger:#B3261E;
  --success:#1F7A4D;

  --gold-grad:linear-gradient(135deg,#9C7A2C 0%,#D4AF37 35%,#F4E1A6 55%,#D4AF37 75%,#9C7A2C 100%); /* goudverloop: logo + 40-mark (zoals lookbook) */
  --gold-band:linear-gradient(135deg,#8C6C1F 0%,#A8842C 30%,#BC983C 52%,#A8842C 74%,#8C6C1F 100%); /* lichtkrant, subtiel */
  --hero:linear-gradient(135deg,#293C5B 0%,#1E4F72 55%,#10779C 100%); /* bestaand merkverloop */

  --f-head:'Barlow Condensed','Arial Narrow',sans-serif;   /* stand-in voor Korolev */
  --f-body:'Open Sans',system-ui,sans-serif;
  --f-title:'korolev-condensed','Barlow Condensed','Arial Narrow',sans-serif; /* Korolev Condensed (Adobe Fonts) */

  --wrap:1280px;
  --gutter:80px;
  --radius:2px;
  --shadow:0 18px 40px -24px rgba(31,47,73,.45);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f-body);font-size:17px;line-height:1.65;color:var(--navy);background:var(--white);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--blue)}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Typografie (Elementor: Global Fonts) ---------- */
.h1,.h2,.h3,.h4,h1,h2,h3,h4{font-family:var(--f-head);font-weight:800;text-transform:uppercase;line-height:.95;margin:0;letter-spacing:.005em}
h1,.h1{font-size:clamp(52px,7vw,96px)}
h2,.h2{font-size:clamp(40px,5vw,64px)}
h3,.h3{font-size:clamp(24px,2.2vw,30px);line-height:1}
.h4,h4{font-size:20px;line-height:1.05}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.lead{font-size:19px;line-height:1.7;max-width:640px}
.eyebrow{font-family:var(--f-head);font-weight:600;font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);display:inline-block}
.on-dark .eyebrow,.eyebrow--gold{color:var(--gold-bright)}
.label{font-family:var(--f-head);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.muted{color:var(--muted)}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}
.section{padding:104px 0}
.section--tight{padding:72px 0}
.section--grey{background:var(--grey)}
.section--navy{background:var(--navy);color:#fff}
.section--hero{background:var(--hero);color:#fff}
.section--gold{background:var(--gold);color:#fff}
.on-dark{color:#fff}
.on-dark a:not(.btn){color:#fff}
.stack{display:flex;flex-direction:column;gap:24px}
.row{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:48px}
.head-row .stack{gap:14px}

/* ---------- Knoppen (Elementor: Button widget, globale stijl) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border:1.5px solid transparent;border-radius:var(--radius);font-family:var(--f-head);font-weight:700;font-size:18px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s;white-space:nowrap;line-height:1}
.btn svg{width:18px;height:18px;flex:none;transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
.btn--gold{background:var(--gold);color:#fff}
.btn--gold:hover{background:var(--gold-hover);color:#fff}
.btn--ghost{border-color:rgba(255,255,255,.6);color:#fff;background:transparent}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
.btn--outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn--outline:hover{background:var(--navy);color:#fff}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{background:var(--blue-mid);color:#fff}
.btn--sm{min-height:42px;padding:0 18px;font-size:15px}
.link-arrow{font-family:var(--f-head);font-weight:700;font-size:16px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.link-arrow svg{width:16px;height:16px;transition:transform .2s}
.link-arrow:hover svg{transform:translateX(3px)}

/* ---------- Header (Elementor: Theme Builder > Header, sticky) ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;transition:box-shadow .25s}
.site-header.is-scrolled{box-shadow:0 8px 24px -12px rgba(0,0,0,.45)}
.site-header .wrap{display:flex;align-items:center;gap:40px;height:88px;transition:height .25s}
.site-header.is-scrolled .wrap{height:72px}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;flex:none}
.logo-mark{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:2px solid transparent;border-radius:50%;background:linear-gradient(var(--navy),var(--navy)) padding-box,var(--gold-grad) border-box;border-width:3px;font-family:var(--f-head);font-weight:800;font-size:24px;letter-spacing:-.02em}
.logo-mark span,.logo-text span{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.site-footer .logo-mark{background:linear-gradient(var(--navy-deep),var(--navy-deep)) padding-box,var(--gold-grad) border-box}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-text b{font-family:var(--f-head);font-weight:800;font-size:26px;letter-spacing:.04em;text-transform:uppercase}
.logo-text span{font-family:var(--f-head);font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-top:4px}
.main-nav{flex:1}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px}
.main-nav a{position:relative;white-space:nowrap;color:#fff;text-decoration:none;font-family:var(--f-head);font-weight:600;font-size:17px;letter-spacing:.1em;text-transform:uppercase;padding:8px 0}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold-bright);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav-toggle{display:none;background:none;border:0;color:#fff;width:44px;height:44px;margin-left:auto;cursor:pointer}
.nav-toggle svg{width:28px;height:28px}

/* ---------- Hero homepage ---------- */
.hero{position:relative;overflow:hidden;background:var(--hero);color:#fff}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center;padding:96px 0 64px}
.hero-copy{display:flex;flex-direction:column;gap:28px}
.hero-copy p{font-size:19px;line-height:1.7;max-width:560px;color:rgba(255,255,255,.9);margin:0}
.hero-mark{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hero-mark .wheel{position:absolute;width:118%;max-width:620px;aspect-ratio:1;opacity:.16;animation:spin 90s linear infinite}
.hero-mark .num{position:relative;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 18px rgba(10,20,40,.25));font-family:var(--f-head);font-weight:800;font-size:clamp(220px,29vw,420px);line-height:1.05;margin:-.12em 0 -.16em;padding:0 .04em;letter-spacing:-.02em;color:var(--gold-bright)}
.hero-mark .num-sub{position:relative;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:var(--f-head);font-weight:800;font-size:clamp(26px,3vw,40px);letter-spacing:.34em;text-transform:uppercase;color:var(--gold-bright);margin-top:10px;padding-left:.34em}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.hero-mark .wheel,.ticker-track{animation:none!important}}
.btn-row{display:flex;gap:16px;flex-wrap:wrap}

/* Aftelbalk */
.countbar{display:flex;align-items:center;gap:32px;padding:28px 0 40px;border-top:1px solid var(--gold-bright)}
.countbar-intro{display:flex;flex-direction:column;gap:6px;min-width:250px}
.countbar-intro .label{color:var(--gold-bright);font-size:19px}
.countbar-intro span:last-child{font-size:15px;color:rgba(255,255,255,.85)}
.countdown{display:flex;gap:12px}
.cd-unit{position:relative;width:118px;padding:14px 0 12px;display:flex;flex-direction:column;align-items:center;gap:4px;background:rgba(255,255,255,.07);border-top:4px solid var(--gold-bright);transition:background .35s,border-color .35s,box-shadow .35s,transform .35s}
.cd-unit::before{content:"";position:absolute;left:0;right:0;top:-4px;height:4px;background:#F4E1A6;opacity:0;transition:opacity .35s;box-shadow:0 0 14px 2px rgba(244,225,166,.9),0 0 34px 6px rgba(212,175,55,.55)}
.countdown:hover .cd-unit{background:rgba(255,255,255,.1)}
.countdown:hover .cd-unit::before{opacity:.55}
.countdown .cd-unit:hover{background:rgba(255,255,255,.14);transform:translateY(-3px);box-shadow:0 -10px 30px -12px rgba(212,175,55,.7)}
.countdown .cd-unit:hover::before{opacity:1}
@media (hover:none){.countdown:hover .cd-unit::before{opacity:0}}
.cd-unit b{font-family:var(--f-head);font-weight:800;font-size:60px;line-height:.95;font-variant-numeric:tabular-nums}
.cd-unit span{font-family:var(--f-head);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.countbar-cta{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.countbar-cta .label{color:var(--gold-bright);font-size:17px}

/* Lichtkrant (Elementor: container + HTML-widget of custom CSS-animatie) */
.ticker{background:var(--gold-band);color:#fff;height:56px;overflow:hidden;display:flex;align-items:center}
.ticker-track{display:flex;flex:none;gap:0;white-space:nowrap;animation:ticker 40s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{text-shadow:0 1px 2px rgba(60,40,0,.3);font-family:var(--f-head);font-weight:700;font-size:20px;letter-spacing:.12em;text-transform:uppercase;padding:0 22px;display:inline-flex;align-items:center;gap:44px}
.ticker-track span::after{content:"★";font-size:14px;opacity:.85}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------- Tijdlijn / belangrijke data ---------- */
.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;position:relative}
.tl-item{position:relative;padding-top:22px;border-top:4px solid var(--line)}
.tl-item.is-done{border-top-color:var(--blue)}
.tl-item.is-next{border-top-color:var(--gold)}
.tl-item.is-final{border-top-color:var(--navy)}
.tl-item b{display:block;font-family:var(--f-head);font-weight:800;font-size:28px;line-height:1;text-transform:uppercase}
.tl-item span{display:block;font-family:var(--f-head);font-weight:600;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.tl-item .tl-badge{position:absolute;top:-15px;left:0;background:var(--gold);color:#fff;font-family:var(--f-head);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;line-height:1.3}
.tl-tbd{font-family:var(--f-body)!important;font-size:13px!important;letter-spacing:0!important;text-transform:none!important;font-style:italic}


/* Fietsje op de tijdlijn (Elementor: SVG + 1 regel custom JS voor positie, of vaste positie per update) */
.tl-progress{position:absolute;left:0;top:0;height:4px;width:0;background:var(--blue);z-index:1;transition:width 1.8s cubic-bezier(.3,.6,.2,1)}
.tl-bike{position:absolute;left:-70px;top:-46px;width:80px;z-index:2;transition:left 1.8s cubic-bezier(.3,.6,.2,1)}
.tl-bike svg{width:80px;height:auto;display:block;animation:bob 2.4s ease-in-out infinite}
.tl-bike .wh{transform-box:fill-box;transform-origin:center}
.tl-bike.is-riding .wh{animation:spin .7s linear infinite}
.tl-bike.is-riding svg{animation:none}
.tl-now{position:absolute;right:-6px;top:-22px;font-family:var(--f-head);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);white-space:nowrap;opacity:0;transition:opacity .4s .3s}
.tl-bike.is-parked .tl-now{opacity:1}
.tl-item{z-index:0}
.tl-item .tl-badge{z-index:3}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@media (prefers-reduced-motion:reduce){.tl-bike,.tl-progress{transition:none}.tl-bike svg,.tl-bike .wh{animation:none!important}}
@media (max-width:1024px){.tl-bike,.tl-progress{display:none}}

/* ---------- Inschrijven / categorieën ---------- */
.signup-grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:72px;align-items:start}
.signup-copy{display:flex;flex-direction:column;gap:24px}
.earlybird{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--gold);color:#fff;font-family:var(--f-head);font-weight:700;font-size:19px;letter-spacing:.06em;text-transform:uppercase}
.earlybird svg{width:24px;height:24px;flex:none}
.download{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--navy);transition:border-color .2s}
.download:hover{border-color:var(--blue);color:var(--navy)}
.download svg{width:28px;height:28px;color:var(--blue);flex:none;margin-top:2px}
.download b{display:block;font-family:var(--f-head);font-weight:700;font-size:18px;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}
.download small{display:block;font-size:14px;line-height:1.5;color:var(--muted);margin-top:4px}
.cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cat-tile{background:#fff;padding:26px 24px 24px;border-top:6px solid var(--navy);display:flex;flex-direction:column;gap:14px;transition:transform .25s,box-shadow .25s}
.cat-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cat-tile.is-innovatie{border-top-color:var(--blue)}
.cat-tile svg{width:44px;height:44px;color:var(--blue)}
.cat-tile p{font-size:15px;line-height:1.55;color:var(--muted);margin:0}
.cat-cta{background:var(--navy);color:#fff;padding:26px 24px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.cat-cta .btn{width:100%}

/* ---------- Kaarten inzendingen ---------- */
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{text-decoration:none;font-family:var(--f-head);font-weight:600;font-size:15px;letter-spacing:.08em;text-transform:uppercase;padding:10px 18px;border:1px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer;border-radius:var(--radius);transition:background .2s,color .2s;line-height:1.1}
.chip:hover{background:rgba(41,60,91,.06)}
.chip[aria-pressed="true"],.chip.is-active{background:var(--navy);color:#fff}
.chip small{opacity:.7;font-size:13px;margin-left:4px}
.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}
.card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--navy)}
.card:hover{color:var(--navy)}
.card-media{position:relative;aspect-ratio:4/3;background:var(--grey);overflow:hidden;display:flex;align-items:center;justify-content:center}
.card-media img{width:88%;height:88%;object-fit:contain;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.card:hover .card-media img{transform:scale(1.05)}
.card-media::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.card:hover .card-media::after{transform:scaleX(1)}
.card-cat{font-family:var(--f-head);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.card-title{overflow-wrap:anywhere;font-family:var(--f-head);font-weight:700;font-size:24px;line-height:1.05;text-transform:uppercase}
.card-brand{font-size:14px;color:var(--muted);margin-top:-8px}
.badge{position:absolute;top:12px;left:12px;z-index:1;display:inline-flex;align-items:center;gap:6px;background:var(--gold);color:#fff;font-family:var(--f-head);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;line-height:1.2}
.badge svg{width:14px;height:14px}
.badge--nom{background:var(--navy)}
.card-join{border:1.5px dashed var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;aspect-ratio:4/3;text-decoration:none;color:var(--navy);transition:background .2s}
.card-join:hover{background:rgba(168,132,44,.06);color:var(--navy)}
.card-join .h3{font-size:30px}
.counter{display:flex;flex-direction:column;align-items:flex-end}
.counter b{font-family:var(--f-head);font-weight:800;font-size:64px;line-height:.9;color:var(--blue)}
.counter span{font-family:var(--f-head);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.center{display:flex;justify-content:center;margin-top:56px}
.img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9AA6B8}
.img-fallback svg{width:46%;height:auto;opacity:.6}
.empty{padding:56px 32px;text-align:center;border:1.5px dashed var(--line);display:flex;flex-direction:column;align-items:center;gap:16px}
.empty svg{width:56px;height:56px;color:var(--gold)}

/* ---------- Jubileumband (het ene volle gouden vlak) ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px}
.stat b{display:block;font-family:var(--f-head);font-weight:800;font-size:clamp(64px,7vw,104px);line-height:.9}
.stat span{display:block;font-family:var(--f-head);font-weight:700;font-size:18px;letter-spacing:.12em;text-transform:uppercase;margin-top:12px}
.quote{display:flex;gap:40px;align-items:center;margin-top:64px;padding-top:40px;border-top:2px solid rgba(255,255,255,.55)}
.quote-photo{width:104px;height:104px;border-radius:50%;flex:none;background:rgba(255,255,255,.18);overflow:hidden;border:3px solid rgba(255,255,255,.7)}
.quote-photo img{width:100%;height:100%;object-fit:cover}
.quote blockquote{margin:0;font-family:var(--f-head);font-weight:600;font-size:clamp(24px,2.4vw,32px);line-height:1.2}
.quote cite{display:block;font-style:normal;font-family:var(--f-head);font-weight:700;font-size:16px;letter-spacing:.12em;text-transform:uppercase;margin-top:14px;opacity:.95}
.ph{border-bottom:2px dotted currentColor;opacity:.95}

/* ---------- Winnaars-carousel ---------- */
.year-tabs{display:flex;gap:8px}
.year-tab{font-family:var(--f-head);font-weight:700;font-size:19px;letter-spacing:.06em;padding:10px 18px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;cursor:pointer;border-radius:var(--radius);line-height:1.1}
.year-tab:hover{border-color:#fff}
.year-tab[aria-selected="true"]{background:var(--gold);border-color:var(--gold)}
.carousel{position:relative;display:flex;align-items:center;gap:24px}
.car-viewport{overflow:hidden;flex:1}
.car-track{display:flex;gap:24px;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.car-track .win{flex:0 0 calc((100% - 48px)/3)}
.car-btn{width:56px;height:56px;border-radius:50%;border:1.5px solid #fff;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s,color .2s}
.car-btn:hover:not(:disabled){background:#fff;color:var(--navy)}
.car-btn:disabled{opacity:.3;cursor:default}
.car-btn svg{width:22px;height:22px}
.win{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:#fff}
.win:hover{color:#fff}
.win-media{position:relative;aspect-ratio:4/3;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.win-media img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .45s}
.win:hover .win-media img{transform:scale(1.04)}
.win-award{font-family:var(--f-head);font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}
.win-title{font-family:var(--f-head);font-weight:700;font-size:26px;line-height:1.05;text-transform:uppercase}
.car-dots{display:flex;gap:8px;justify-content:center;margin-top:36px}
.car-dots button{width:28px;height:4px;border:0;background:rgba(255,255,255,.3);cursor:pointer;padding:0}
.car-dots button[aria-current="true"]{background:var(--gold-bright)}

/* ---------- Jury + nieuws ---------- */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px}
.jury-faces{display:flex;flex-wrap:wrap}
.jury-faces img,.jury-faces .face{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid #fff;margin-right:-14px;background:var(--grey);box-shadow:0 4px 12px -6px rgba(0,0,0,.35)}
.jury-faces .more{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:var(--navy);color:#fff;border:3px solid #fff;font-family:var(--f-head);font-weight:800;font-size:22px}
.news-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--navy)}
.news-item:first-of-type{padding-top:0}
.news-item:hover{color:var(--navy)}
.news-item:hover .news-title{color:var(--blue)}
.news-thumb{aspect-ratio:3/2;background:var(--grey);overflow:hidden}
.news-thumb img{width:100%;height:100%;object-fit:cover}
.news-meta{font-family:var(--f-head);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.news-title{font-family:var(--f-head);font-weight:700;font-size:22px;line-height:1.1;text-transform:uppercase;margin-top:6px;transition:color .2s}

/* ---------- Footer (Elementor: Theme Builder > Footer) ---------- */
.site-footer{background:var(--navy-deep);color:#fff;padding:72px 0 32px}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.15)}
.site-footer h4{font-size:18px;letter-spacing:.12em;color:var(--gold-bright);margin-bottom:18px}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.site-footer a{color:#fff;text-decoration:none;font-size:15px;opacity:.9}
.site-footer a:hover{opacity:1;color:var(--gold-bright)}
.initiative{display:flex;flex-direction:column;gap:12px;font-size:14px;opacity:.9}
.rai-logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;padding:12px 16px;width:200px;height:72px}
.rai-logo img{max-height:48px;width:auto}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:28px;font-size:14px;opacity:.75;flex-wrap:wrap}

/* ---------- Page hero (subpagina's) ---------- */
.page-hero{background:var(--hero);color:#fff;position:relative;overflow:hidden}
.page-hero .wrap{position:relative;z-index:1;padding-top:72px;padding-bottom:72px}
.page-hero .wheel{position:absolute;right:-120px;top:50%;width:520px;transform:translateY(-50%);opacity:.12}
.page-hero h1{margin:14px 0 20px}
.page-hero p{max-width:720px;font-size:18px;color:rgba(255,255,255,.9)}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--f-head);font-weight:600;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.crumbs a{color:rgba(255,255,255,.8);text-decoration:none}
.crumbs a:hover{color:#fff}
.crumbs span[aria-hidden]{opacity:.5}
.crumbs--dark a{color:var(--muted)}
.crumbs--dark a:hover{color:var(--navy)}

/* ---------- Inzendingen-overzicht ---------- */
.filterbar{position:sticky;top:72px;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.filterbar .wrap{display:flex;gap:24px;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.award-tabs{display:flex;gap:0;border:1px solid var(--navy)}
.award-tab{font-family:var(--f-head);font-weight:700;font-size:17px;letter-spacing:.08em;text-transform:uppercase;padding:12px 22px;border:0;background:#fff;color:var(--navy);cursor:pointer;display:flex;align-items:center;gap:8px;line-height:1.1}
.award-tab + .award-tab{border-left:1px solid var(--navy)}
.award-tab[aria-selected="true"]{background:var(--navy);color:#fff}
.award-tab .count{font-size:13px;background:rgba(41,60,91,.1);padding:2px 7px;border-radius:20px}
.award-tab[aria-selected="true"] .count{background:var(--gold)}
.select{position:relative}
.select select{appearance:none;font-family:var(--f-head);font-weight:700;font-size:16px;letter-spacing:.08em;text-transform:uppercase;padding:11px 44px 11px 16px;border:1px solid var(--navy);border-radius:var(--radius);background:#fff;color:var(--navy);cursor:pointer}
.select::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.result-line{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;flex-wrap:wrap}
.award-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.award-intro .h2{font-size:clamp(34px,4vw,52px)}
[hidden]{display:none!important}

/* ---------- Detailpagina ---------- */
.detail-top{padding:40px 0 96px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:64px;align-items:start;margin-top:28px}
.stage{position:relative;background:var(--grey);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in}
.stage img{width:90%;height:86%;object-fit:contain;transition:opacity .25s}
.stage::after{content:"";position:absolute;left:12%;right:12%;bottom:9%;height:18px;border-radius:50%;background:radial-gradient(closest-side,rgba(31,47,73,.18),transparent);z-index:0}
.stage img{position:relative;z-index:1}
.stage .zoom{position:absolute;right:14px;bottom:14px;z-index:2;width:44px;height:44px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px -6px rgba(0,0,0,.4);color:var(--navy)}
.stage .zoom svg{width:20px;height:20px}
.thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:12px}
.thumb{aspect-ratio:1;background:var(--grey);border:2px solid transparent;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden}
.thumb img{width:84%;height:84%;object-fit:contain}
.thumb[aria-current="true"]{border-color:var(--gold)}
.thumb:hover{border-color:var(--line)}
.thumb[aria-current="true"]:hover{border-color:var(--gold)}
.detail-info{position:sticky;top:112px;display:flex;flex-direction:column;gap:22px}
.detail-info h1{font-size:clamp(44px,4.6vw,68px)}
.detail-brand{font-family:var(--f-head);font-weight:700;font-size:20px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:-10px}
.tagline{display:flex;gap:8px;flex-wrap:wrap}
.tag{font-family:var(--f-head);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;background:var(--grey);color:var(--navy);line-height:1.2}
.tag--blue{background:var(--blue);color:#fff}
.tag--gold{background:var(--gold);color:#fff;display:inline-flex;gap:6px;align-items:center}
.tag--gold svg{width:14px;height:14px}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.spec{padding:16px 0;border-bottom:1px solid var(--line)}
.spec:nth-child(odd){padding-right:16px}
.spec:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
.spec dt{font-family:var(--f-head);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.spec dd{margin:4px 0 0;font-family:var(--f-head);font-weight:700;font-size:26px;line-height:1.1;text-transform:uppercase}
.spec--wide{grid-column:1/-1;padding-right:0!important;padding-left:0!important;border-left:0!important}
.spec--wide dd{font-family:var(--f-body);font-weight:400;font-size:17px;text-transform:none;line-height:1.5}
.share{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--muted)}
.share a{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--navy)}
.share a:hover{border-color:var(--navy)}
.share svg{width:16px;height:16px}
.prose{max-width:760px}
.prose h3{font-size:26px;margin:36px 0 12px}
.prose h3:first-child{margin-top:0}
.prose ul{padding-left:20px;margin:0 0 1em}
.prose li{margin-bottom:6px}
.detail-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:80px;align-items:start}
.aside-card{background:var(--navy);color:#fff;padding:32px;display:flex;flex-direction:column;gap:16px;position:sticky;top:112px}
.aside-card p{font-size:15px;color:rgba(255,255,255,.85)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gallery-grid button{aspect-ratio:4/3;background:#fff;border:0;padding:0;cursor:zoom-in;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gallery-grid img{width:86%;height:86%;object-fit:contain;transition:transform .35s}
.gallery-grid button:hover img{transform:scale(1.05)}
.pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.pager a{display:flex;flex-direction:column;gap:6px;padding:32px 0;text-decoration:none;color:var(--navy)}
.pager a:last-child{text-align:right;align-items:flex-end;border-left:1px solid var(--line)}
.pager a:hover .pager-title{color:var(--blue)}
.pager-title{font-family:var(--f-head);font-weight:700;font-size:26px;text-transform:uppercase;line-height:1.05}

/* Lightbox (Elementor: Lightbox van Gallery-widget) */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(15,24,40,.94);display:flex;align-items:center;justify-content:center;padding:40px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(1100px,100%);max-height:84vh;object-fit:contain;background:#fff;padding:24px}
.lb-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-btn:hover{background:#fff;color:var(--navy)}
.lb-btn svg{width:22px;height:22px}
.lb-close{top:24px;right:24px}
.lb-prev{left:24px;top:50%;transform:translateY(-50%)}
.lb-next{right:24px;top:50%;transform:translateY(-50%)}
.lb-count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:#fff;font-family:var(--f-head);font-weight:700;letter-spacing:.14em}

/* ---------- Inschrijven keuze ---------- */
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.choice{display:flex;flex-direction:column;background:#fff;border-top:8px solid var(--navy);box-shadow:var(--shadow)}
.choice.is-innovatie{border-top-color:var(--blue)}
.choice-body{padding:40px;display:flex;flex-direction:column;gap:20px;flex:1}
.choice-body .h2{font-size:clamp(34px,3.6vw,48px)}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5}
.checks svg{width:20px;height:20px;color:var(--blue);flex:none;margin-top:3px}
.choice-foot{padding:24px 40px;background:var(--grey);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.choice-foot small{font-size:14px;color:var(--muted)}
.steps-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:s}
.steps-strip li{list-style:none;counter-increment:s;padding-top:20px;border-top:4px solid var(--blue);display:flex;flex-direction:column;gap:8px}
.steps-strip li::before{content:"0" counter(s);font-family:var(--f-head);font-weight:800;font-size:40px;line-height:1;color:var(--gold)}
.steps-strip b{font-family:var(--f-head);font-weight:700;font-size:22px;text-transform:uppercase;line-height:1.05}
.steps-strip span{font-size:15px;color:var(--muted);line-height:1.55}
.steps-strip{padding:0;margin:0}

.award-title small{display:block;font-family:var(--f-head);font-weight:700;font-size:18px;letter-spacing:.16em;color:var(--muted);margin-bottom:10px;line-height:1.2}
.page-hero .award-title small{color:rgba(255,255,255,.75);margin-top:18px}
/* 'Innovatie' als schuin gouden label met eenmalige glans (witte tekst op goud) */
.award-title em{position:relative;display:inline-block;font-style:normal;color:#fff;background:var(--gold);padding:.03em .2em .13em;margin:0 .06em;transform:skewX(-10deg) rotate(-2deg);overflow:hidden;line-height:.8;vertical-align:baseline}
.award-title em::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:sheen 1.4s .6s ease-out 1 both}
.award-title:hover em::after{animation:sheen 1s ease-out 1}
@keyframes sheen{from{left:-60%}to{left:130%}}
@media (prefers-reduced-motion:reduce){.award-title em::after{display:none}}
.choice-body .h2.award-title{font-size:clamp(40px,4.4vw,60px)}

/* ---------- Formulieren (Elementor Pro: Form-widget, multi-step) ---------- */
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:start}
.form-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}
.stepper li{list-style:none;padding:20px 22px;display:flex;gap:12px;align-items:center;font-family:var(--f-head);font-weight:700;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);position:relative}
.stepper li::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:transparent}
.stepper li.is-active{color:var(--navy)}
.stepper li.is-active::after{background:var(--gold)}
.stepper li.is-done{color:var(--navy)}
.stepper li.is-done::after{background:var(--blue)}
.stepper .n{width:30px;height:30px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:15px;flex:none}
.stepper li.is-active .n{background:var(--navy);border-color:var(--navy);color:#fff}
.stepper li.is-done .n{background:var(--blue);border-color:var(--blue);color:#fff}
.stepper ol{margin:0;padding:0;display:contents}
.form-step{padding:40px}
.form-step-head{margin-bottom:28px}
.form-step-head .h3{font-size:34px}
.form-step-head p{color:var(--muted);margin-top:8px;font-size:16px}
.fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 20px}
.field{grid-column:span 6;display:flex;flex-direction:column;gap:8px}
.field--half{grid-column:span 3}
.field--third{grid-column:span 2}
.field--twothird{grid-column:span 4}
.field label,.field legend{font-family:var(--f-head);font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);padding:0}
.field label .req,.field legend .req{color:var(--gold)}
.field .hint{font-size:14px;color:var(--muted);line-height:1.5;margin-top:-2px}
.input,.textarea,.field select{width:100%;font-family:var(--f-body);font-size:16px;color:var(--navy);background:#fff;border:1.5px solid #CBD3DE;border-radius:var(--radius);padding:13px 15px;transition:border-color .2s,box-shadow .2s;min-height:52px}
.textarea{min-height:170px;resize:vertical;line-height:1.6}
.input::placeholder,.textarea::placeholder{color:#97A3B5}
.input:focus,.textarea:focus,.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(16,119,156,.14)}
.input-affix{position:relative}
.input-affix .input{padding-left:40px}
.input-affix .affix{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-weight:600;color:var(--muted)}
.input-affix--suffix .input{padding-left:15px;padding-right:48px}
.input-affix--suffix .affix{left:auto;right:15px}
.field.is-invalid .input,.field.is-invalid .textarea,.field.is-invalid select,.field.is-invalid .dropzone{border-color:var(--danger)}
.err{display:none;font-size:14px;color:var(--danger);gap:6px;align-items:center}
.field.is-invalid .err{display:flex}
fieldset.field{border:0;margin:0;padding:0;min-width:0}
.radio-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.radio-card{position:relative}
.radio-card input{position:absolute;opacity:0;pointer-events:none}
.radio-card span{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1.5px solid #CBD3DE;border-radius:var(--radius);cursor:pointer;font-family:var(--f-head);font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.04em;line-height:1.1;transition:border-color .2s,background .2s}
.radio-card span svg{width:34px;height:34px;color:var(--blue);flex:none}
.radio-card span::after{content:"";margin-left:auto;width:20px;height:20px;border-radius:50%;border:2px solid #CBD3DE;flex:none;transition:all .2s}
.radio-card input:checked + span{border-color:var(--navy);background:rgba(41,60,91,.04)}
.radio-card input:checked + span::after{border:6px solid var(--navy)}
.radio-card input:focus-visible + span{outline:3px solid var(--gold-bright);outline-offset:2px}
.check-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.check-cards .radio-card span{font-size:17px;padding:14px}
.check-cards .radio-card span::after{border-radius:3px}
.check-cards .radio-card input:checked + span::after{border:2px solid var(--navy);background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat}
.counter-hint{font-size:13px;color:var(--muted);text-align:right;margin-top:-4px}

/* Upload (Elementor Form: veld 'Upload', type png, meerdere bestanden) */
.dropzone{position:relative;border:2px dashed #B7C2D1;border-radius:var(--radius);background:#FAFBFC;padding:36px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;transition:border-color .2s,background .2s;cursor:pointer}
.dropzone:hover,.dropzone.is-over{border-color:var(--blue);background:rgba(16,119,156,.05)}
.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.dropzone svg{width:44px;height:44px;color:var(--blue)}
.dropzone b{font-family:var(--f-head);font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.04em}
.dropzone small{font-size:14px;color:var(--muted)}
.dropzone .fake-link{color:var(--blue);text-decoration:underline}
.png-badge{display:inline-flex;gap:8px;align-items:center;font-family:var(--f-head);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;background:var(--navy);color:#fff;padding:4px 10px;margin-top:4px}
.previews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.preview{position:relative;aspect-ratio:1;border:1px solid var(--line);background:repeating-conic-gradient(#EEF1F5 0 25%,#fff 0 50%) 0 0/16px 16px;display:flex;align-items:center;justify-content:center}
.preview img{max-width:86%;max-height:86%;object-fit:contain}
.preview .rm{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:0;background:#fff;color:var(--navy);cursor:pointer;box-shadow:0 2px 8px -2px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}
.preview .rm svg{width:14px;height:14px}
.preview .nm{position:absolute;left:0;right:0;bottom:0;font-size:11px;background:rgba(255,255,255,.92);padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.upload-msg{font-size:14px;color:var(--danger);display:flex;gap:6px;align-items:center}
.upload-msg[hidden]{display:none}
.consent{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:var(--grey);cursor:pointer}
.consent input{width:22px;height:22px;accent-color:var(--navy);flex:none;margin-top:2px}
.consent span{font-size:15px;line-height:1.55}
.summary{border:1px solid var(--line)}
.summary-row{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:15px;align-items:start}
.summary-row:last-child{border-bottom:0}
.summary-row dt{font-family:var(--f-head);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.summary-row dd{margin:0;word-break:break-word}
.summary-row button{background:none;border:0;color:var(--blue);font-family:var(--f-head);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:0}
.form-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 40px;border-top:1px solid var(--line);background:#FAFBFC}
.form-nav .btn[disabled]{opacity:.5;pointer-events:none}
.form-success{padding:64px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.form-success .tick{width:84px;height:84px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center}
.form-success .tick svg{width:40px;height:40px}
.form-aside{display:flex;flex-direction:column;gap:20px;position:sticky;top:112px}
.info-card{background:var(--grey);padding:28px;display:flex;flex-direction:column;gap:14px}
.info-card .h4{font-size:22px}
.info-card p,.info-card li{font-size:15px;line-height:1.55}
.info-card ul{margin:0;padding-left:18px}
.info-card--navy{background:var(--navy);color:#fff}
.info-card--navy a{color:var(--gold-bright)}
.closed-note{display:flex;gap:12px;align-items:center;padding:14px 18px;background:rgba(16,119,156,.08);border-left:4px solid var(--blue);font-size:15px;margin-bottom:28px}

.jury-faces .img-fallback{width:84px;height:84px;border-radius:50%;border:3px solid #fff;margin-right:-14px;background:#E7EBF0;flex:none}
.quote-photo .img-fallback{background:transparent;color:#fff}
.rai-logo .img-fallback svg{display:none}
.rai-logo .img-fallback::after{content:"RAI Vereniging";font-family:var(--f-head);font-weight:800;font-size:20px;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}

/* ---------- Reveal on scroll (Elementor: Motion Effects > Entrance animation) ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- Responsive (Elementor: tablet 1024 / mobiel 767) ---------- */
@media (max-width:1200px){
  :root{--gutter:48px}
  .main-nav ul{gap:22px}
  .cd-unit{width:96px}.cd-unit b{font-size:48px}
  .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1024px){
  :root{--gutter:32px}
  .section{padding:80px 0}
  .nav-toggle{display:flex;align-items:center;justify-content:center}
  .main-nav{position:fixed;inset:72px 0 auto 0;background:var(--navy);padding:16px var(--gutter) 32px;transform:translateY(-110%);transition:transform .3s;z-index:-1;box-shadow:0 20px 30px -20px rgba(0,0,0,.5)}
  .main-nav.is-open{transform:none}
  .main-nav ul{flex-direction:column;gap:0}
  .main-nav a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:20px}
  .main-nav a::after{display:none}
  .header-cta{display:none}
  .site-header .wrap{height:72px}
  .hero-grid{grid-template-columns:1fr;padding:64px 0 40px}
  .hero-mark{order:-1}
  .hero-mark .num{font-size:220px}
  .countbar{flex-wrap:wrap}
  .countbar-cta{margin-left:0;align-items:flex-start}
  .timeline{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:44px}
  .signup-grid{grid-template-columns:1fr;gap:48px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .car-track .win{flex:0 0 calc((100% - 24px)/2)}
  .split{grid-template-columns:1fr;gap:64px}
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-grid,.detail-body,.form-layout{grid-template-columns:1fr;gap:40px}
  .detail-info,.aside-card,.form-aside{position:static}
  .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filterbar{top:72px}
}
@media (max-width:767px){
  :root{--gutter:20px}
  body{font-size:16px}
  .section{padding:64px 0}
  .logo-mark{width:44px;height:44px;font-size:20px}
  .logo-text b{font-size:22px}
  .hero-mark .num{font-size:170px}
  .hero-mark .num-sub{font-size:24px}
  .hero-copy p{font-size:17px}
  .btn{width:100%}
  .btn-row{flex-direction:column}
  .countdown{gap:8px;width:100%}
  .cd-unit{flex:1;width:auto}.cd-unit b{font-size:38px}
  .cd-unit span{font-size:11px}
  .countbar-cta{width:100%}
  .ticker-track span{font-size:17px}
  .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cat-tile{padding:20px 16px}
  .cat-tile p{display:none}
  .cat-cta{grid-column:1/-1}
  .card-grid,.card-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .card-title{font-size:19px}
  .card-cat{font-size:12px}
  .head-row{margin-bottom:32px}
  .counter{align-items:flex-start}
  .stats{gap:32px 20px}
  .quote{flex-direction:column;align-items:flex-start;gap:20px}
  .car-btn{display:none}
  .car-track .win{flex:0 0 82%}
  .car-viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .car-track{transform:none!important}
  .car-track .win{scroll-snap-align:start}
  .year-tabs{flex-wrap:wrap}
  .news-item{grid-template-columns:110px minmax(0,1fr);gap:16px}
  .news-title{font-size:18px}
  .footer-top{grid-template-columns:1fr}
  .filterbar .wrap{gap:12px}
  .award-tabs{width:100%}
  .award-tab{flex:1;justify-content:center;padding:12px 10px;font-size:15px}
  .select{width:100%}.select select{width:100%}
  .award-intro{grid-template-columns:1fr;gap:16px}
  .specs{grid-template-columns:1fr}
  .spec:nth-child(n){padding-left:0;padding-right:0;border-left:0}
  .thumbs{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pager{grid-template-columns:1fr}
  .pager a:last-child{border-left:0;border-top:1px solid var(--line);text-align:left;align-items:flex-start}
  .choice-grid{grid-template-columns:1fr}
  .choice-body,.choice-foot{padding:28px 22px}
  .steps-strip{grid-template-columns:1fr}
  .stepper li{padding:14px 8px;justify-content:center}
  .stepper li .t{display:none}
  .form-step{padding:28px 20px}
  .form-nav{padding:20px}
  .form-nav .btn{width:auto;flex:1}
  .field--half,.field--third,.field--twothird{grid-column:span 6}
  .radio-cards,.check-cards{grid-template-columns:1fr}
  .previews{grid-template-columns:repeat(3,minmax(0,1fr))}
  .summary-row{grid-template-columns:1fr auto}
  .summary-row dd{grid-column:1/2}
  .summary-row button{grid-row:1;grid-column:2}
  .lightbox{padding:16px}
  .lb-prev,.lb-next{top:auto;bottom:16px;transform:none}
  .lb-close{top:12px;right:12px}
  .hero-mark{padding:8px 0 4px}
  .hero-mark .wheel{width:100%;max-width:330px}
  .card-join .h3{font-size:24px}
  .card-join .link-arrow{font-size:14px;white-space:nowrap}
  .jury-faces img,.jury-faces .more,.jury-faces .img-fallback{width:58px;height:58px;margin-right:-10px}
  .jury-faces .more{font-size:17px}
}

/* =========================================================
   Overige pagina's (Over ons, Jury, Winnaars, Nieuws, Kosten, Juridisch)
   ========================================================= */
.intro-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}
.intro-split .lead{font-size:21px;line-height:1.6;font-weight:600;max-width:none}
.aspects{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:a}
.aspect{background:#fff;border-top:6px solid var(--navy);padding:26px 24px;display:flex;flex-direction:column;gap:10px;counter-increment:a;min-height:170px}
.aspect::before{content:"0" counter(a);font-family:var(--f-head);font-weight:800;font-size:44px;line-height:1;color:var(--gold)}
.aspect b{font-family:var(--f-head);font-weight:700;font-size:24px;text-transform:uppercase;line-height:1.05}
.aspect span{font-size:15px;color:var(--muted);line-height:1.5}
.aspect--x{background:var(--navy);color:#fff;border-top-color:var(--gold)}
.aspect--x span{color:rgba(255,255,255,.8)}
.contact-card{background:var(--navy);color:#fff;padding:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.contact-card h4{font-size:16px;letter-spacing:.14em;color:var(--gold-bright);margin-bottom:12px}
.contact-card p{font-size:16px;line-height:1.7;margin:0}
.contact-card a{color:#fff}
.org-row{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;align-items:center}
.org-logo{background:#fff;border:1px solid var(--line);height:140px;display:flex;align-items:center;justify-content:center;padding:24px}
.org-logo img{max-height:80px}
.org-logo .img-fallback svg{display:none}
.org-logo .img-fallback::after{content:"RAI Vereniging";font-family:var(--f-head);font-weight:800;font-size:24px;text-transform:uppercase;color:var(--navy)}

/* Jury */
.jury-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}
.member{display:flex;flex-direction:column;gap:6px}
.member-photo{position:relative;aspect-ratio:1;background:var(--grey);overflow:hidden;margin-bottom:12px}
.member-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.member:hover .member-photo img{transform:scale(1.04)}
.member-photo .badge{top:auto;bottom:12px}
.member b{font-family:var(--f-head);font-weight:700;font-size:26px;text-transform:uppercase;line-height:1.05}
.member span{font-size:15px;color:var(--muted)}
.member .roles{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.member .roles i{font-style:normal;font-family:var(--f-head);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;background:var(--grey)}
.member .roles i.inno{background:rgba(16,119,156,.12);color:var(--blue)}
.jury-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}

/* Winnaars */
.year-nav{position:sticky;top:72px;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.year-nav .wrap{display:flex;gap:10px;align-items:center;padding-top:16px;padding-bottom:16px;overflow-x:auto}
.year-nav .label{margin-right:12px;color:var(--muted)}
.year-block{padding:88px 0;border-bottom:1px solid var(--line);scroll-margin-top:150px}
.year-block:nth-of-type(even){background:var(--grey)}
.year-head{display:flex;align-items:baseline;gap:28px;margin-bottom:44px;flex-wrap:wrap}
.year-head .yr{font-family:var(--f-head);font-weight:800;font-size:clamp(80px,9vw,140px);line-height:.8;color:var(--navy)}
.year-head .yr.is-latest{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.year-head .meta{display:flex;flex-direction:column;gap:6px}
.win-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.wcard{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--navy)}
.wcard:hover{color:var(--navy)}
.wcard-media{position:relative;aspect-ratio:4/3;background:#fff;overflow:hidden;border:1px solid var(--line)}
.wcard-media img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .45s}
.wcard:hover .wcard-media img{transform:scale(1.04)}
.wcard-award{font-family:var(--f-head);font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);display:flex;align-items:center;gap:8px}
.wcard-award svg{width:16px;height:16px;color:var(--gold)}
.wcard-title{font-family:var(--f-head);font-weight:700;font-size:28px;line-height:1.02;text-transform:uppercase}

/* Nieuws */
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}
.ncard{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--navy)}
.ncard:hover{color:var(--navy)}
.ncard:hover .ncard-title{color:var(--blue)}
.ncard-media{aspect-ratio:3/2;background:var(--grey);overflow:hidden}
.ncard-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.ncard:hover .ncard-media img{transform:scale(1.04)}
.ncard-title{font-family:var(--f-head);font-weight:700;font-size:26px;line-height:1.05;text-transform:uppercase;transition:color .2s}
.ncard p{font-size:15px;color:var(--muted);margin:0}
.ncard--featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:center;padding-bottom:48px;border-bottom:1px solid var(--line)}
.ncard--featured .ncard-title{font-size:clamp(34px,3.6vw,52px)}
.ncard--featured .ncard-media{aspect-ratio:16/10}
.ncard--featured .stack{gap:18px}
.article-hero{position:relative;aspect-ratio:21/9;max-height:560px;background:var(--grey);overflow:hidden}
.article-hero img{width:100%;height:100%;object-fit:cover}
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:80px;align-items:start}
.article .prose{max-width:720px;font-size:18px}
.article .prose p:first-child{font-size:21px;line-height:1.6;font-weight:600}
.article .prose h2{font-size:36px;margin:48px 0 18px}
.meta-line{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:15px;color:var(--muted)}
.meta-line b{color:var(--navy);font-weight:600}
.prize-list{list-style:none;padding:0;margin:0 0 1em;border-top:1px solid var(--line)}
.prize-list li{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.prize-list li span{font-family:var(--f-head);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);flex:none}
.prize-list li b{font-family:var(--f-head);font-weight:700;font-size:22px;text-transform:uppercase;text-align:right}
.prize-list a{color:var(--navy);text-decoration:none}
.prize-list a:hover{color:var(--blue)}
.article-aside{position:sticky;top:112px;display:flex;flex-direction:column;gap:20px}

/* Deelnamekosten */
.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.price-card{background:#fff;box-shadow:var(--shadow);border-top:8px solid var(--navy);display:flex;flex-direction:column}
.price-card.is-innovatie{border-top-color:var(--blue)}
.price-card-head{padding:36px 36px 24px;display:flex;flex-direction:column;gap:12px}
.price-rows{padding:0 36px}
.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line)}
.price-row span{font-size:16px}
.price-row s{font-family:var(--f-head);font-weight:600;font-size:20px;color:var(--muted);text-decoration-thickness:2px}
.price-row b{font-family:var(--f-head);font-weight:800;font-size:34px;line-height:1}
.price-row small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.price-head-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;padding:0 0 10px;font-family:var(--f-head);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.price-head-row span:nth-child(2){min-width:60px;text-align:right}
.price-head-row span:nth-child(3){color:var(--gold)}
.price-foot{margin-top:auto;padding:24px 36px;background:var(--grey);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.price-foot small{font-size:14px;color:var(--muted)}
.extra-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:32px;align-items:center;padding:32px 36px;background:var(--navy);color:#fff}
.extra-strip .pct{font-family:var(--f-head);font-weight:800;font-size:72px;line-height:.85;color:var(--gold-bright)}
.extra-strip p{margin:0;color:rgba(255,255,255,.9)}
.notice{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;background:rgba(168,132,44,.1);border-left:4px solid var(--gold);font-size:15px}
.notice svg{width:20px;height:20px;flex:none;color:var(--gold);margin-top:2px}

/* Juridische pagina's */
.legal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:80px;align-items:start}
.toc{position:sticky;top:112px;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--line)}
.toc span{font-family:var(--f-head);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 0 12px 18px}
.toc a{display:block;padding:8px 0 8px 18px;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;color:var(--navy);font-size:15px}
.toc a:hover{border-left-color:var(--gold);color:var(--navy)}
.legal .prose{max-width:760px}
.legal .prose h2{font-size:34px;margin:56px 0 16px;scroll-margin-top:110px}
.legal .prose h2:first-child{margin-top:0}
.pdf-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.cookie-table{width:100%;border-collapse:collapse;font-size:15px;margin:20px 0}
.cookie-table th{text-align:left;font-family:var(--f-head);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:2px solid var(--navy)}
.cookie-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
.cookie-table tr td:first-child{font-weight:600}

@media (max-width:1024px){
  .intro-split,.article,.legal,.org-row{grid-template-columns:minmax(0,1fr);gap:40px}
  .aspects,.jury-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .win-grid,.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ncard--featured{grid-template-columns:1fr;gap:24px}
  .contact-card{grid-template-columns:1fr 1fr}
  .price-grid{grid-template-columns:1fr}
  .toc,.article-aside{position:static}
  .toc{display:none}
}
@media (max-width:767px){
  .aspects,.jury-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .aspect{padding:20px 16px;min-height:0}
  .aspect b{font-size:20px}
  .aspect span{display:none}
  .member b{font-size:20px}
  .member span{font-size:14px}
  .win-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .wcard-title{font-size:20px}
  .wcard-award{font-size:12px}
  .news-grid{grid-template-columns:1fr}
  .contact-card{grid-template-columns:1fr;padding:28px 22px;gap:28px}
  .price-card-head,.price-rows,.price-foot{padding-left:22px;padding-right:22px}
  .price-row,.price-head-row{gap:12px}
  .price-row b{font-size:26px}
  .price-row s{font-size:16px}
  .extra-strip{grid-template-columns:1fr;gap:16px;padding:28px 22px}
  .pdf-cards{grid-template-columns:1fr}
  .year-block{padding:56px 0}
  .article-hero{aspect-ratio:4/3}
  .prize-list li{flex-direction:column;gap:4px}
  .prize-list li b{text-align:left}
  .cookie-table{display:block;overflow-x:auto}
}

/* =========================================================
   Activatie: early bird-balk, CTA-vlag, waarom meedoen, slot-CTA, sticky mobiel
   ========================================================= */
.promo-bar{background:var(--blue);color:#fff;font-size:15px;position:relative;z-index:51}
.promo-bar .wrap{display:flex;align-items:center;justify-content:center;gap:16px;min-height:42px;padding-top:6px;padding-bottom:6px;text-align:center}
.promo-bar b{font-weight:700}
.promo-dot{width:8px;height:8px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 0 0 rgba(212,175,55,.7);animation:pulse 2s infinite;flex:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(212,175,55,.7)}70%{box-shadow:0 0 0 10px rgba(212,175,55,0)}100%{box-shadow:0 0 0 0 rgba(212,175,55,0)}}
.promo-link{color:#fff!important;font-family:var(--f-head);font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-bottom:1.5px solid var(--gold-bright);padding-bottom:1px}
.promo-link svg{width:14px;height:14px}
.promo-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;opacity:.7;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center}
.promo-close:hover{opacity:1}.promo-close svg{width:16px;height:16px}
.header-cta{position:relative}
.cta-flag{position:absolute;top:-9px;right:-9px;background:var(--blue);color:#fff;font-size:12px;letter-spacing:.06em;padding:3px 7px;border-radius:20px;line-height:1.1;box-shadow:0 2px 8px -2px rgba(0,0,0,.4)}
.header-cta:hover{transform:translateY(-1px)}

.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.why{background:#fff;padding:30px 26px;display:flex;flex-direction:column;gap:12px;border-top:4px solid var(--blue)}
.why svg{width:36px;height:36px;color:var(--gold)}
.why-40{font-family:var(--f-head);font-weight:800;font-size:40px;line-height:.9;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:2px}
.why b{font-family:var(--f-head);font-weight:700;font-size:24px;line-height:1.05;text-transform:uppercase}
.why span:last-child{font-size:15px;color:var(--muted);line-height:1.55}
.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.quotes figure{margin:0;padding:32px;background:var(--navy);color:#fff;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}
.quotes figure::before{content:"“";position:absolute;right:20px;top:-30px;font-family:var(--f-head);font-weight:800;font-size:200px;color:var(--gold-bright);opacity:.18;line-height:1}
.quotes blockquote{margin:0;font-family:var(--f-head);font-weight:600;font-size:clamp(22px,2vw,28px);line-height:1.2;position:relative}
.quotes figcaption{font-size:14px;color:rgba(255,255,255,.8)}
.quotes figcaption a{color:var(--gold-bright)}

.final-cta{position:relative;overflow:hidden;background:var(--hero);color:#fff;padding:104px 0}
.final-cta .wheel{position:absolute;left:-140px;bottom:-200px;width:560px;opacity:.1}
.final-cta .wrap{position:relative;z-index:1}
.final-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px;align-items:center}
.final-cta h2{font-size:clamp(44px,5.4vw,76px)}
.final-cta p{font-size:18px;color:rgba(255,255,255,.9);max-width:560px;margin:0}
.final-count{justify-self:end;width:280px;aspect-ratio:1;border-radius:50%;border:3px solid transparent;background:linear-gradient(#1E4F72,#1E4F72) padding-box,var(--gold-grad) border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;box-shadow:0 0 0 12px rgba(255,255,255,.04)}
.final-count b{font-family:var(--f-head);font-weight:800;font-size:110px;line-height:.9;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding:0 .05em}
.final-count span{font-family:var(--f-head);font-weight:700;font-size:18px;letter-spacing:.14em;text-transform:uppercase}
.final-count small{font-size:13px;opacity:.75}

.sticky-cta{display:none}
@media (max-width:1024px){
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .final-grid{grid-template-columns:minmax(0,1fr)}
  .final-count{justify-self:start;width:200px}
  .final-count b{font-size:76px}
  .final-count span{font-size:14px}
}
@media (max-width:767px){
  .promo-bar{font-size:13px}
  .promo-bar .wrap{justify-content:flex-start;text-align:left;padding-right:48px;gap:10px;flex-wrap:wrap}
  .promo-link{display:none}
  .promo-bar .wrap>span:nth-child(2){flex:1}
  .why-grid,.quotes{grid-template-columns:minmax(0,1fr)}
  .why{padding:24px 20px}
  .final-cta{padding:72px 0 120px}
  .cta-flag{display:none}
  .sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--navy);color:#fff;box-shadow:0 -10px 30px -10px rgba(0,0,0,.45);transform:translateY(110%);transition:transform .35s}
  .sticky-cta.is-on{transform:none}
  .sticky-cta b{display:block;font-family:var(--f-head);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.04em;line-height:1.1}
  .sticky-cta span{font-size:13px;color:var(--gold-bright)}
  .sticky-cta .btn{width:auto;flex:none}
  body{padding-bottom:0}
}

/* =========================================================
   Verfijningen · discreet, zonder het design te wijzigen
   ========================================================= */

/* Scherpere, rustigere tekstweergave */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}

/* Nette regelafbreking: geen losse woordjes in koppen/alinea's */
h1,h2,h3,h4,.h1,.h2,.h3,.h4{text-wrap:balance}
p,.lead,li{text-wrap:pretty;hyphens:manual}

/* Grote koppen optisch iets strakker */
h1,.h1{letter-spacing:-.01em}
.hero-mark .num{letter-spacing:-.02em}

/* Eén tussenmaat voor de 'kleinere' h2's (vervangt inline font-size) */
.h2--sm{font-size:clamp(34px,4vw,48px)}

/* Ankers niet onder de sticky header laten verdwijnen */
[id]{scroll-margin-top:104px}

/* Cijfers die niet verspringen */
[data-days-until],[data-cd],.cta-flag{font-variant-numeric:tabular-nums}

/* Rustig laden: afbeeldingen faden zacht in op de grijze vlakken */
img[loading="lazy"]{opacity:0;transition:opacity .4s ease}
img[loading="lazy"].is-loaded{opacity:1}

/* Iets mooiere tekstselectie in huisstijl */
::selection{background:var(--gold-bright);color:var(--navy)}

/* Focusring alleen voor toetsenbord, ook op donkere vlakken goed zichtbaar */
.btn:focus-visible{outline-offset:4px}
.section--gold :focus-visible{outline-color:var(--navy)}

/* Respecteer 'minder beweging' overal */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  img[loading="lazy"]{opacity:1}
}

/* =========================================================
   Spaken-motief: logo-ring en early bird-teller als fietswiel
   (Elementor: custom CSS op de container / afbeelding)
   ========================================================= */
.logo-mark,.final-count{position:relative;overflow:hidden;isolation:isolate}
.logo-mark::before,.final-count::before{content:"";position:absolute;inset:0;border-radius:50%;z-index:-1;pointer-events:none;
  background:
    repeating-conic-gradient(from 4deg,rgba(212,175,55,.42) 0 1.4deg,transparent 1.4deg 22.5deg);
  -webkit-mask:radial-gradient(circle,transparent 0 30%,#000 34% 92%,transparent 93%);
          mask:radial-gradient(circle,transparent 0 30%,#000 34% 92%,transparent 93%);
  transition:transform 1.2s cubic-bezier(.3,.6,.2,1)}
.logo:hover .logo-mark::before{transform:rotate(135deg)}
.logo-mark span{position:relative;z-index:1}
.final-count::before{opacity:.5;
  background:
    repeating-conic-gradient(from 3deg,rgba(212,175,55,.35) 0 .7deg,transparent .7deg 11.25deg);
  -webkit-mask:radial-gradient(circle,transparent 0 44%,#000 50% 94%,transparent 95%);
          mask:radial-gradient(circle,transparent 0 44%,#000 50% 94%,transparent 95%);
  animation:spin 90s linear infinite}
.final-count>*{position:relative;z-index:1}
.final-count small{max-width:74%;line-height:1.35;text-wrap:balance}
@media (max-width:1024px){
  .final-count{width:240px}
  .final-count b{font-size:84px}
  .final-count small{font-size:12px;max-width:66%}
}
@media (max-width:767px){
  .final-count{width:220px}
  .final-count b{font-size:76px}
}
.prose .prize-list{padding-left:0}
.wcard-award{align-items:flex-start}
.wcard-award svg{margin-top:1px;flex:none}
.news-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.news-bar .select{display:flex;align-items:center}
.news-bar .select::after{right:16px}
.ncard .ncard-more{display:none}
.ncard--featured .ncard-more{display:inline-flex}
.ncard--featured p{font-size:17px}
.ph{display:inline-block}
@media (max-width:1024px){
  .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .card-grid--rel{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-bar .select{width:100%}
  .news-bar .select select{flex:1}
}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:64px;padding-top:28px;border-top:1px solid var(--line)}
.pagination:empty{display:none}
.pg-nums{display:flex;gap:8px}
.pg-btn{min-width:46px;height:46px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--navy);font-family:var(--f-head);font-weight:700;font-size:17px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius);transition:border-color .2s,background .2s,color .2s}
.pg-btn:hover:not(:disabled){border-color:var(--navy)}
.pg-btn[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff}
.pg-btn:disabled{opacity:.35;cursor:default}
@media (max-width:767px){.pg-nav span{display:none}.pg-nav{padding:0;width:46px}}
/* Fietsje in de titel 'Fiets Awards' (tegenhanger van het Innovatie-label) */
.title-bike{display:inline-block;vertical-align:baseline;margin:0 .04em 0 .08em;line-height:0}
.title-bike svg{height:.92em;width:auto;display:block;transform:translateY(.04em);overflow:visible}
.title-bike .wh{transform-box:fill-box;transform-origin:center}
.choice:hover .title-bike .wh,.price-card:hover .title-bike .wh,.award-title:hover .title-bike .wh{animation:spin .9s linear infinite}
.page-hero .title-bike .wh circle,.page-hero .title-bike .wh path{stroke:#fff}
.award-title em{margin-top:-.16em;margin-bottom:-.16em}
.title-bike{margin-top:-.2em;margin-bottom:-.2em}

/* Fietsenrij (knipoog naar het oude logo): staat op de bovenrand van de footer */
.site-footer{position:relative}
.bike-parade-wrap{position:absolute;left:0;right:0;top:0;transform:translateY(-100%);pointer-events:none}
.bike-parade{display:flex;justify-content:flex-end;gap:14px;color:var(--gold);padding-right:8px}
.bike-parade .lb{width:72px;height:auto;display:block;overflow:visible}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--gold)}
@media (max-width:767px){.bike-parade{justify-content:center;gap:8px}.bike-parade .lb{width:52px}}
/* Logo-tekst blijft wit bij hover (globale a:hover maakte hem navy = onzichtbaar) */
.logo:hover,.site-footer .logo:hover{color:#fff;opacity:1}
/* Fietsenrij: wit op de blauwe afsluiter, donkerblauw boven een lichte sectie */
.bike-parade{color:var(--navy)}
main:has(> .final-cta:last-child) + .site-footer .bike-parade{color:#fff}
.logo-text span{white-space:nowrap;align-self:flex-start}
.logo-text b{align-self:flex-start}
/* Beeldmerk als wiel: buitenring (band) + binnenring (velg), spaken tot de velg */
.logo-mark::after{content:"";position:absolute;inset:4px;border-radius:50%;padding:1.5px;background:var(--gold-grad);z-index:0;pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
          mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.logo-mark::before{-webkit-mask:radial-gradient(circle,transparent 0 30%,#000 34% 80%,transparent 81%);mask:radial-gradient(circle,transparent 0 30%,#000 34% 80%,transparent 81%)}
/* Fietsenrij discreter */
.bike-parade{opacity:.35}
main:has(> .final-cta:last-child) + .site-footer .bike-parade{opacity:.45}
/* Navigatie gecentreerd tussen logo en knop */
@media (min-width:1025px){.main-nav ul{justify-content:center}}


/* =========================================================
   Titels in Korolev Condensed Heavy (Adobe Fonts, huisstijlfont).
   Breedte en gewicht zijn vrijwel gelijk aan Barlow Condensed 800,
   dus de maten uit het design blijven ongewijzigd.
   Elementor: Global Fonts > Primary = "korolev-condensed" 900,
   kit-link via Elementor > Custom Code (of Adobe Fonts-integratie).
   ========================================================= */
h1,h2,h3,h4,.h1,.h2,.h3,.h4,
.card-title,.win-title,.wcard-title,.ncard-title,.news-title,.pager-title,
.member b,.aspect b,.why b,.steps-strip b,.download b,.tl-item b,
.quotes blockquote,.quote blockquote,.cat-tile .h3,.card-join .h3,.extra-strip .h4{
  font-family:var(--f-title);font-weight:900;font-synthesis:none}
.quotes blockquote,.quote blockquote,.download b{font-weight:700}
/* Logo als SVG (Elementor: Site Logo-widget met dit bestand) */
.logo--svg img{height:52px;width:auto;display:block}
.site-header.is-scrolled .logo--svg img{height:46px}
.logo--svg{transition:opacity .2s}.logo--svg:hover{opacity:.9}
@media (max-width:767px){.logo--svg img{height:44px}}

/* =========================================================
   Responsive-ronde 20-10
   ========================================================= */
/* Hero op tablet/mobiel: wiel netjes binnen het beeldmerk, geen overlap met de eyebrow */
@media (max-width:1024px){
  .hero-mark{aspect-ratio:1;width:min(100%,420px);margin:0 auto 8px}
  .hero-mark .wheel{width:100%;max-width:none}
  .hero-mark .num{font-size:min(170px,40vw)}
  .hero-mark .num-sub{font-size:min(30px,6vw)}
  .hero-copy{gap:22px}
}
/* Tijdlijn op tablet/mobiel: één doorlopende baan met het fietsje erboven */
@media (max-width:1024px){
  .timeline{padding-top:72px}
  .timeline::before{content:"";position:absolute;left:0;right:0;top:44px;height:4px;background:var(--line);border-radius:2px}
  .tl-bike,.tl-progress{display:block}
  .tl-progress{top:44px}
  .tl-bike{top:-2px}
  .tl-item .tl-badge{top:-15px}
}
/* Winnaars-carousel mobiel: geen systeem-scrollbalk, wel een strakke voortgangsbalk + dots */
.car-progress{display:none}
@media (max-width:767px){
  .car-viewport{scrollbar-width:none}
  .car-viewport::-webkit-scrollbar{display:none}
  .car-progress{display:block;position:relative;height:3px;background:rgba(255,255,255,.15);margin-top:28px;border-radius:2px;overflow:hidden}
  .car-progress span{position:absolute;left:0;top:0;bottom:0;background:var(--gold-bright);border-radius:2px;transition:left .2s,width .2s}
  .car-dots{margin-top:20px}
  .car-dots button{width:22px}
}
/* Early bird-cirkel gecentreerd zodra de kolommen onder elkaar staan */
@media (max-width:1024px){
  .final-grid{justify-items:center;text-align:center}
  .final-grid .stack{align-items:center}
  .final-grid .btn-row{justify-content:center}
  .final-cta p{margin:0 auto}
  .final-count{justify-self:center}
}
/* Mobiel menu: dunne gouden underline bij hover en op de actieve pagina */
@media (max-width:1024px){
  .main-nav a{transition:color .2s}
  .main-nav a:hover,.main-nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold-bright);text-decoration-thickness:1.5px;text-underline-offset:8px;color:#fff}
}
/* Early bird-cirkel groter */
.final-count{width:330px}
.final-count b{font-size:130px}
.final-count span{font-size:20px}
.final-count small{font-size:14px}
@media (max-width:1024px){.final-count{width:300px}.final-count b{font-size:112px}.final-count span{font-size:18px}.final-count small{font-size:14px;max-width:70%}}
@media (max-width:767px){.final-count{width:min(300px,82vw)}.final-count b{font-size:min(108px,29vw)}.final-count span{font-size:17px}}
/* Sticky balk mobiel: aantal dagen als schuin gouden label (zoals 'Innovatie') */
.sticky-cta [data-days-until]{display:inline-block;color:#fff;background:var(--gold);font-family:var(--f-head);font-weight:800;font-size:1.25em;line-height:1;padding:.08em .32em .1em;margin:0 .15em;transform:skewX(-10deg) rotate(-3deg);font-variant-numeric:tabular-nums;box-shadow:0 2px 8px -3px rgba(0,0,0,.5)}
.sticky-cta span[data-until]{display:inline-flex;align-items:center;gap:0;margin-top:4px}
.sticky-cta [data-days-until]{margin:0 .4em 0 .45em}
/* Juryfoto's: per foto iets vergroten bij hover/tik, komt naar voren */
.jury-faces img,.jury-faces .img-fallback,.jury-faces .more{position:relative;transition:transform .25s cubic-bezier(.3,.6,.2,1),box-shadow .25s,opacity .4s}
.jury-faces img:hover,.jury-faces img:active,.jury-faces .img-fallback:hover,.jury-faces .more:hover,.jury-faces .more:active{transform:scale(1.14);z-index:2;box-shadow:0 10px 22px -8px rgba(31,47,73,.55)}
@media (prefers-reduced-motion:reduce){.jury-faces img,.jury-faces .more{transition:none!important}}
/* Logo 2027 + fietsjes uit het aangeleverde logo */
.logo--svg img{height:56px}
.site-header.is-scrolled .logo--svg img{height:48px}
.logo--footer img{height:78px}
@media (max-width:767px){.logo--svg img{height:42px}.logo--footer img{height:64px}}
.title-bike svg{height:.86em;width:auto;color:var(--gold);transform:translateY(.04em)}
.page-hero .title-bike svg{color:var(--gold-bright)}
.tl-bike{width:84px}
.tl-bike svg{width:84px;height:auto;color:var(--gold);animation:bob 2.4s ease-in-out infinite}
.tl-bike.is-riding svg{animation:none}
.bike-parade .lb{width:78px;height:auto}
@media (max-width:767px){.bike-parade .lb{width:54px}}
/* Inline logo-SVG: wiel draait bij hover (Elementor: logo als HTML-widget/inline SVG, niet als <img>) */
.logo--svg .logo-svg{height:56px;width:auto;display:block;overflow:visible}
.site-header.is-scrolled .logo--svg .logo-svg{height:48px}
.logo--footer .logo-svg{height:78px}
.logo-svg .fa-spokes{transition:transform 1.2s cubic-bezier(.3,.6,.2,1)}
.logo:hover .logo-svg .fa-spokes{transform:rotate(135deg)}
@media (max-width:767px){.logo--svg .logo-svg{height:42px}.logo--footer .logo-svg{height:64px}}
@media (prefers-reduced-motion:reduce){.logo-svg .fa-spokes{transition:none}}
.logo--svg:hover{opacity:1}
.logo:hover .logo-svg .fa-spokes{transform:none;animation:spin 1.6s linear infinite}
/* 'Innovatie'-label: gelijke ruimte boven/onder de letters, berekend op Korolev Condensed Heavy
   (ascent .97, descent .24, inktboven .715 boven basislijn) bij line-height .8 */
.award-title em{padding:.07em .2em .094em;line-height:.8}
/* 'Innovatie'-label mag niet op 'Awards' staan: iets meer regelafstand, geen negatieve marges */
.award-title{line-height:1.04}
.award-title em{margin:0 .06em}
.award-title em{margin:-.2em .06em}  /* label telt niet mee in de regelhoogte: titels blijven even hoog */
/* 40e — handgeschreven e (Kaushan Script, lokaal) */

/* ===== Klantfeedback 22-10 ===== */
/* onepager: menu-ankers onder de vaste header */
section[id],div[id].stack{scroll-margin-top:110px}
/* inzendingen: fietsen en innovaties gelijkwaardig */
.counter--duo{display:grid;grid-template-columns:auto auto;column-gap:28px;row-gap:6px;align-items:end;justify-items:end}
.counter--duo>div{display:flex;flex-direction:column;align-items:flex-end}
.counter--duo .is-inno b{color:var(--gold)}
.counter--duo small{grid-column:1/-1;font-family:var(--f-head);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.chip--inno{border-color:var(--gold);color:var(--navy)}
.chip--inno::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);display:inline-block;margin-right:8px}
@media (max-width:820px){.counter--duo{justify-items:start}.counter--duo>div{align-items:flex-start}}
/* over ons in de gouden band */
.about-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:32px;align-items:start}
.about-row p{margin:0;font-size:17px;line-height:1.6;max-width:640px}
.about-row .link-arrow{color:var(--navy);white-space:nowrap}
@media (max-width:1024px){.about-row{grid-template-columns:minmax(0,1fr);gap:14px}}
/* testimonialvideo */
.quote-video{position:relative;padding:0;cursor:pointer;display:block}
.quote-video .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(31,47,73,.45);color:#fff;transition:background .2s}
.quote-video .play svg{width:34px;height:34px}
.quote-video:hover .play,.quote-video:focus-visible .play{background:rgba(31,47,73,.7)}
.video-btn{margin-top:20px;display:inline-flex;gap:10px;align-items:center}
.video-btn svg{width:16px;height:16px}
.video-modal{position:fixed;inset:0;z-index:200;background:rgba(15,24,40,.88);display:flex;align-items:center;justify-content:center;padding:24px}
.video-modal[hidden]{display:none}
.video-box{position:relative;width:min(1100px,100%);aspect-ratio:16/9;background:var(--navy-deep)}
.video-box iframe,.video-box video{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-close{position:absolute;top:-56px;right:0}
.video-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;text-align:center;padding:24px}
.video-ph svg{width:64px;height:64px;color:var(--gold-bright)}
.video-ph b{font-family:var(--f-head);font-weight:800;font-size:28px;text-transform:uppercase;letter-spacing:.06em}
.video-ph span{opacity:.75;max-width:420px}
/* quotes: merknaam */
.q-brand{color:#fff;font-weight:700}
/* RAI-logo diapositief, zonder kader */
.rai-logo--diap{background:none;padding:0;width:auto;height:auto;opacity:.95;transition:opacity .2s}
.rai-logo--diap:hover{opacity:1}
.rai-logo--diap img{max-height:none;height:104px;width:auto;display:block}
/* formulier: expliciet akkoord */
.agree-box{margin-top:28px;padding:28px;border:2px solid var(--gold);background:#FBF7EC;display:flex;flex-direction:column;gap:14px}
.agree-box .h4{font-size:24px}
.agree-box p{margin:0;font-size:15px}
.agree-box .field{margin:0}
.download--sm{padding:14px 16px;background:#fff}
/* tarieven: nog aan te leveren */
.price-row .ph{background:rgba(168,132,44,.14);color:var(--navy);padding:2px 6px;text-decoration:none;font-style:normal;white-space:nowrap}
.field label.consent{font-family:var(--f-body);font-weight:400;letter-spacing:0;text-transform:none;font-size:15px;padding:16px 18px;background:#fff;border:1px solid var(--line)}
.field label.consent b{font-weight:700}
.agree-box .field.is-invalid label.consent{border-color:#C0392B}
/* Tekstlinks met pijl: duidelijker als knop (onderstreping die bij hover goud kleurt) */
.link-arrow{align-self:flex-start;padding-bottom:6px;border-bottom:2px solid currentColor;transition:border-color .2s,color .2s}
.link-arrow:hover,.link-arrow:focus-visible{border-bottom-color:var(--gold)}
.section--gold .link-arrow:hover,.section--gold .link-arrow:focus-visible{border-bottom-color:#fff}
.section--navy .link-arrow:hover,.final-cta .link-arrow:hover{border-bottom-color:var(--gold-bright)}
/* Jubileumlogo 2027 (staander met badge): iets hoger dan het oude woordmerk */
.logo--svg .logo-svg{height:64px}
.site-header.is-scrolled .logo--svg .logo-svg{height:54px}
.logo--footer .logo-svg{height:104px}
@media (max-width:767px){.logo--svg .logo-svg{height:48px}.logo--footer .logo-svg{height:84px}}
/* Hero zonder 40-merk: tekst over volle breedte, prettige regellengte */
.hero-grid{grid-template-columns:minmax(0,1fr)}
.hero-copy{max-width:860px}
/* Jubileumlogo groter */
.logo--svg .logo-svg{height:84px}
.site-header.is-scrolled .logo--svg .logo-svg{height:66px}
.logo--footer .logo-svg{height:120px}
@media (max-width:767px){.logo--svg .logo-svg{height:58px}.site-header.is-scrolled .logo--svg .logo-svg{height:52px}.logo--footer .logo-svg{height:96px}}
.logo--svg .logo-svg{height:80px}
@media (max-width:1024px){.logo--svg .logo-svg{height:66px}.site-header.is-scrolled .logo--svg .logo-svg{height:58px}}
@media (max-width:767px){.logo--svg .logo-svg{height:56px}.site-header.is-scrolled .logo--svg .logo-svg{height:50px}}
/* Jubileumlogo nog groter zodat de 40e-badge leesbaar is; headerbalk groeit mee */
.site-header .wrap{height:118px}
.site-header.is-scrolled .wrap{height:90px}
.logo--svg .logo-svg{height:102px}
.site-header.is-scrolled .logo--svg .logo-svg{height:78px}
[id]{scroll-margin-top:130px}
@media (max-width:1024px){.site-header .wrap{height:96px}.site-header.is-scrolled .wrap{height:80px}.logo--svg .logo-svg{height:84px}.site-header.is-scrolled .logo--svg .logo-svg{height:68px}}
@media (max-width:767px){.site-header .wrap{height:86px}.site-header.is-scrolled .wrap{height:74px}.logo--svg .logo-svg{height:72px}.site-header.is-scrolled .logo--svg .logo-svg{height:60px}[id]{scroll-margin-top:96px}}
@media (max-width:1024px){.main-nav{position:absolute;inset:100% 0 auto 0}}
/* Logo-viewBox strak bijgesneden (links uitlijnen): hoogtes omgerekend naar dezelfde visuele grootte */
.logo--svg .logo-svg{height:76px}
.site-header.is-scrolled .logo--svg .logo-svg{height:58px}
.logo--footer .logo-svg{height:90px}
@media (max-width:1024px){.logo--svg .logo-svg{height:63px}.site-header.is-scrolled .logo--svg .logo-svg{height:51px}}
@media (max-width:767px){.logo--svg .logo-svg{height:54px}.site-header.is-scrolled .logo--svg .logo-svg{height:45px}.logo--footer .logo-svg{height:72px}}
