/* ============================================
   3HTS · Service page extras
   Animated cross-sell grid + process diagram
   ============================================ */

/* ===== Animated metric/stat row ===== */
.svc-stats{padding:60px var(--pad-x);background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-stats-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
@media(max-width:900px){.svc-stats-inner{grid-template-columns:repeat(2,1fr);gap:30px}}
@media(max-width:560px){.svc-stats-inner{grid-template-columns:1fr}}
.svc-stat{position:relative;display:flex;flex-direction:column;gap:8px;padding-left:20px;border-left:2px solid var(--orange)}
.svc-stat-num{font-family:var(--f-display);font-weight:700;font-size:clamp(30px,3.2vw,48px);line-height:.95;color:var(--ink);letter-spacing:-.02em}
.svc-stat-num em{font-family:var(--f-italic);font-style:italic;font-weight:400;color:var(--orange);text-transform:none}
.svc-stat-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;color:var(--ink-2);text-transform:uppercase;line-height:1.4}
.svc-stat-sub{font-size:15px;color:var(--mute);line-height:1.5;margin-top:6px}

/* ===== Process flow diagram ===== */
.svc-flow{padding:var(--pad-y-md) 0;background:var(--paper);position:relative;overflow:hidden}
.svc-flow::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 0%, rgba(232,100,26,.06) 0%, transparent 60%);pointer-events:none}
.svc-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;z-index:1;margin-top:40px;border:1px solid var(--line);background:var(--paper-2)}
@media(max-width:900px){.svc-flow-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.svc-flow-grid{grid-template-columns:1fr}}
.svc-flow-step{padding:36px 28px;border-right:1px solid var(--line);position:relative;display:flex;flex-direction:column;gap:14px;transition:background .3s var(--ease-out)}
.svc-flow-step:last-child{border-right:0}
@media(max-width:900px){.svc-flow-step:nth-child(2){border-right:0}.svc-flow-step:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.svc-flow-step{border-right:0;border-bottom:1px solid var(--line)}.svc-flow-step:last-child{border-bottom:0}}
.svc-flow-step:hover{background:rgba(232,100,26,.03)}
.svc-flow-step::before{
  content:"";position:absolute;top:0;left:0;height:2px;width:0;
  background:linear-gradient(90deg,var(--orange) 0%,#B53F00 100%);
  transition:width .8s var(--ease-out);
}
.svc-flow-step.is-visible::before{width:100%}
.svc-flow-num{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;color:var(--orange);text-transform:uppercase;font-weight:600}
.svc-flow-icon{
  width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  background:rgba(232,100,26,.08);border:1px solid rgba(232,100,26,.18);
  color:var(--orange);
  transform:rotate(45deg);transition:transform .5s var(--ease-out);
}
.svc-flow-step:hover .svc-flow-icon{transform:rotate(225deg)}
.svc-flow-icon svg{transform:rotate(-45deg);width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease-out)}
.svc-flow-step:hover .svc-flow-icon svg{transform:rotate(-225deg)}
.svc-flow-step h4{font-family:var(--f-display);font-weight:600;font-size:22px;line-height:1.15;color:var(--ink);margin:6px 0 0}
.svc-flow-step h4 em{font-family:var(--f-italic);font-style:italic;font-weight:400;color:var(--orange)}
.svc-flow-step p{font-size:15px;line-height:1.55;color:var(--ink-2);margin:0}

/* ===== Cross-sell other services ===== */
.svc-cross{padding:var(--pad-y-md) 0;background:linear-gradient(180deg,var(--paper-2) 0%,var(--paper) 100%);border-top:1px solid var(--line)}
.svc-cross-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
@media(max-width:960px){.svc-cross-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.svc-cross-grid{grid-template-columns:1fr}}
.svc-cross-card{
  position:relative;display:block;text-decoration:none;
  background:#0D1117;overflow:hidden;min-height:340px;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
  transition:transform .5s var(--ease-out),filter .4s var(--ease-out);
}
.svc-cross-card:hover{transform:translateY(-6px);filter:drop-shadow(0 24px 48px rgba(10,11,14,.4))}
.svc-cross-card-media{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.6s var(--ease-out),filter .5s var(--ease-out);filter:grayscale(.3)}
.svc-cross-card:hover .svc-cross-card-media{transform:scale(1.08);filter:grayscale(0)}
.svc-cross-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,11,14,.94) 0%,rgba(10,11,14,.5) 50%,rgba(10,11,14,.08) 100%)}
.svc-cross-card-inner{position:relative;z-index:1;height:100%;padding:24px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.svc-cross-card-no{font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;color:rgba(255,255,255,.5);text-transform:uppercase;font-weight:600}
.svc-cross-card-bot{display:flex;flex-direction:column;gap:10px}
.svc-cross-card-bot h3{font-family:var(--f-display);font-weight:700;font-size:28px;line-height:1.05;color:#fff;text-transform:uppercase;letter-spacing:-.015em;margin:0}
.svc-cross-card-bot h3 em{font-family:var(--f-italic);font-style:italic;font-weight:400;color:var(--orange);text-transform:none;letter-spacing:.005em}
.svc-cross-card-bot p{font-size:15px;color:rgba(255,255,255,.78);line-height:1.5;margin:0}
.svc-cross-card-arrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;
  color:var(--orange);text-transform:uppercase;font-weight:600;
  margin-top:10px;
}
.svc-cross-card-arrow span{transition:transform .3s var(--ease-out)}
.svc-cross-card:hover .svc-cross-card-arrow span{transform:translateX(6px)}

/* ===== Hero parallax + animation polish ===== */
.svc-hero-img{transition:transform 1.2s var(--ease-out)}
.svc-hero-img.is-revealed{animation:svcHeroIn 1.6s var(--ease-out) both}
@keyframes svcHeroIn{
  0%{transform:translateY(40px) scale(.96);opacity:0}
  100%{transform:translateY(0) scale(1);opacity:1}
}

/* Animated counter visibility helpers */
.svc-counter[data-target]{display:inline-block}

/* ============================================
   FEAT GRID V2 — cinematic feature cards
   Replaces feat-list with card-based grid
   ============================================ */
.feat-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:50px;
}
@media(max-width:1024px){.feat-grid{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:640px){.feat-grid{grid-template-columns:1fr;gap:16px}}

.feat-card{
  position:relative;
  background:var(--paper);
  border:1px solid var(--line);
  padding:38px 30px 28px;
  display:flex;flex-direction:column;gap:18px;
  overflow:hidden;
  transition:transform .55s var(--ease-out),border-color .35s var(--ease-out),box-shadow .55s var(--ease-out);
  cursor:default;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
}
.feat-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;width:0;
  background:linear-gradient(90deg,var(--orange) 0%,#B53F00 100%);
  transition:width .65s var(--ease-out);
}
.feat-card:hover{
  transform:translateY(-6px);
  border-color:rgba(232,100,26,.3);
  box-shadow:0 28px 60px rgba(10,11,14,.12),0 0 0 1px rgba(232,100,26,.08);
}
.feat-card:hover::before{width:100%}

/* Big watermark number in background */
.feat-card-num{
  position:absolute;top:-12px;right:14px;
  font-family:var(--f-display);font-weight:700;
  font-size:130px;line-height:1;letter-spacing:-.04em;
  color:rgba(232,100,26,.06);
  pointer-events:none;user-select:none;
  transition:color .5s var(--ease-out),transform .6s var(--ease-out);
}
.feat-card:hover .feat-card-num{color:rgba(232,100,26,.12);transform:translateY(-4px)}

/* Tag pill — orange dot + label */
.feat-card-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;
  color:var(--orange);text-transform:uppercase;font-weight:600;
  position:relative;z-index:1;
}
.feat-card-tag::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);
  box-shadow:0 0 10px rgba(232,100,26,.5);
}

.feat-card h4{
  font-family:var(--f-display);font-weight:600;
  font-size:clamp(22px,1.8vw,28px);line-height:1.1;
  color:var(--ink);letter-spacing:-.005em;
  margin:0;position:relative;z-index:1;
}
.feat-card h4 em{font-family:var(--f-italic);font-style:italic;font-weight:400;color:var(--orange);text-transform:none}

.feat-card p{
  font-size:15px;line-height:1.65;color:var(--ink-2);margin:0;
  position:relative;z-index:1;flex:1;
}

/* Bottom meta row */
.feat-card-meta{
  display:flex;align-items:center;gap:14px;
  padding-top:18px;margin-top:auto;
  border-top:1px solid var(--line);
  position:relative;z-index:1;
}
.feat-card-meta-key{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;
  color:var(--mute);text-transform:uppercase;
}
.feat-card-meta-val{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.02em;
  color:var(--ink);font-weight:600;
  padding:5px 10px;background:rgba(232,100,26,.08);border:1px solid rgba(232,100,26,.15);
  margin-left:auto;text-align:right;white-space:normal;line-height:1.35;
  max-width:60%;
}

/* ============================================
   FAQ V2 — spacious accordion
   ============================================ */
.faq-v2{display:flex;flex-direction:column;gap:0;margin-top:40px;border-top:1px solid var(--line)}
.faq-v2-item{border-bottom:1px solid var(--line);transition:background .25s var(--ease-out)}
.faq-v2-item:hover{background:rgba(232,100,26,.015)}
.faq-v2-item.is-open{background:rgba(232,100,26,.025)}
.faq-v2-q{
  width:100%;text-align:left;
  display:grid;grid-template-columns:60px 1fr 50px;gap:20px;align-items:center;
  padding:28px 16px 28px 0;
  background:transparent;border:0;cursor:pointer;outline:none;
  transition:padding .3s var(--ease-out);
}
@media(max-width:640px){.faq-v2-q{grid-template-columns:40px 1fr 40px;gap:14px;padding:22px 8px 22px 0}}
.faq-v2-item.is-open .faq-v2-q{padding-bottom:12px}
.faq-v2-q-no{
  font-family:var(--f-mono);font-size:13px;letter-spacing:.16em;
  color:var(--orange);text-transform:uppercase;font-weight:600;
}
.faq-v2-q-text{
  font-family:var(--f-display);font-weight:600;
  font-size:clamp(18px,1.6vw,24px);line-height:1.25;
  color:var(--ink);letter-spacing:-.005em;
}
.faq-v2-q-toggle{
  width:44px;height:44px;border-radius:50%;
  background:rgba(232,100,26,.08);border:1px solid rgba(232,100,26,.15);
  display:flex;align-items:center;justify-content:center;
  color:var(--orange);font-size:22px;line-height:1;
  transition:transform .35s var(--ease-out),background .25s var(--ease-out);
  justify-self:end;
}
.faq-v2-item.is-open .faq-v2-q-toggle{
  transform:rotate(45deg);
  background:var(--orange);color:#fff;
}
.faq-v2-q-toggle::before{content:"+"}

.faq-v2-a{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .45s var(--ease-out);
}
.faq-v2-item.is-open .faq-v2-a{grid-template-rows:1fr}
.faq-v2-a-inner{
  overflow:hidden;
  padding:0 70px 0 80px;
}
@media(max-width:640px){.faq-v2-a-inner{padding:0 8px 0 54px}}
.faq-v2-a-inner p{
  margin:0 0 24px;
  font-size:16px;line-height:1.65;color:var(--ink-2);
  max-width:62ch;
}

/* ============================================
   SVC HERO UPGRADE — Wauw banner
   Cinematic radial glow + accent corners + breadcrumb polish
   ============================================ */
.svc-hero{
  background:linear-gradient(180deg,var(--paper) 0%,#f3f0e8 100%) !important;
  position:relative;
}
.svc-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 85% 30%, rgba(232,100,26,.13) 0%, transparent 65%),
    radial-gradient(ellipse 60% 45% at 10% 85%, rgba(28,79,168,.06) 0%, transparent 60%);
  pointer-events:none;
}
.svc-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(232,100,26,.5) 50%,transparent 100%);
  z-index:1;
}

/* Accent corners — small geometric markers */
.svc-hero-inner{position:relative}
.svc-hero-inner::before{
  content:"";position:absolute;top:-30px;left:-10px;width:24px;height:24px;
  border-top:2px solid var(--orange);border-left:2px solid var(--orange);
  opacity:.6;
}
.svc-hero-inner::after{
  content:"";position:absolute;bottom:-20px;right:-10px;width:24px;height:24px;
  border-bottom:2px solid var(--orange);border-right:2px solid var(--orange);
  opacity:.4;
}
@media(max-width:960px){.svc-hero-inner::before,.svc-hero-inner::after{display:none}}

/* Breadcrumb polish */
.svc-hero-breadcrumb{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px;
  background:rgba(232,100,26,.06);border:1px solid rgba(232,100,26,.15);
  border-radius:99px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-2);font-weight:600;
}
.svc-hero-breadcrumb a{color:var(--ink-2);text-decoration:none;transition:color .2s var(--ease-out)}
.svc-hero-breadcrumb a:hover{color:var(--orange)}
.svc-hero-breadcrumb span{color:rgba(232,100,26,.4)}
.svc-hero-breadcrumb > span:last-child{color:var(--orange) !important;font-weight:700}

/* Animated scroll indicator at bottom of hero */
.svc-hero-scroll{
  position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;
  color:rgba(28,29,33,.5);text-transform:uppercase;font-weight:600;
  pointer-events:none;
}
.svc-hero-scroll-line{
  width:1px;height:32px;background:linear-gradient(180deg,rgba(232,100,26,.6) 0%,transparent 100%);
  animation:svcScrollPulse 2.4s ease-in-out infinite;
}
@keyframes svcScrollPulse{
  0%,100%{opacity:.4;height:32px}
  50%{opacity:1;height:48px}
}
@media(max-width:960px){.svc-hero-scroll{display:none}}

/* Hero image polish */
.svc-hero-img{
  position:relative;overflow:hidden;
  box-shadow:0 32px 80px rgba(10,11,14,.18) !important;
}
.svc-hero-img::after{
  content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;
  background:linear-gradient(135deg,rgba(232,100,26,.5) 0%,transparent 30%,transparent 70%,rgba(232,100,26,.3) 100%);
  z-index:-1;border-radius:inherit;
  filter:blur(20px);opacity:.6;
}
.svc-hero-img:hover{transform:translateY(-4px)}

/* Variant for other light heroes */
.cases-hero,.sec-hero,.about-hero,.faq-hero{
  position:relative;background:linear-gradient(180deg,var(--paper) 0%,#f3f0e8 100%) !important;
}
.cases-hero::before,.sec-hero::before,.about-hero::before,.faq-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 75% 25%, rgba(232,100,26,.12) 0%, transparent 60%);
  pointer-events:none;
}
.cases-hero::after,.sec-hero::after,.about-hero::after,.faq-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(232,100,26,.5) 50%,transparent 100%);
}


/* ------------------------------------------------------------------
   Referentieprojecten op de casespagina. Drie tegels met daaronder
   dezelfde template, foto links en de gegevens rechts, precies zoals
   Tim het in Excel tekende. Toegevoegd 17-09-2026.
   ------------------------------------------------------------------ */
.ref-melding{
  max-width:760px;margin:0 0 30px;padding:11px 16px;border-radius:10px;
  font-family:var(--f-mono,monospace);font-size:12px;letter-spacing:.06em;
  color:#8a6d00;background:rgba(255,196,0,.12);border:1px solid rgba(255,196,0,.4);
}
.ref-groep{margin:0 0 54px}
.ref-groep-kop{display:flex;align-items:baseline;gap:14px;margin:0 0 22px;
  padding-bottom:14px;border-bottom:1px solid var(--line,rgba(20,17,13,.12))}
.ref-groep-nr{font-family:var(--f-mono,monospace);font-size:12px;letter-spacing:.18em;color:var(--orange,#E8641A)}
.ref-groep-kop h3{font-family:var(--f-display,'Barlow Condensed',sans-serif);font-weight:800;
  font-size:clamp(20px,1.9vw,27px);text-transform:uppercase;letter-spacing:.01em;color:var(--ink,#14110d);margin:0}
.ref-lijst{display:grid;gap:18px}
.ref-kaart{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:0;
  background:#fff;border:1px solid var(--line,rgba(20,17,13,.12));border-radius:10px;overflow:hidden}
.ref-foto{min-height:240px;background-size:cover;background-position:center}
.ref-foto-leeg{background:linear-gradient(135deg,#efece7,#e3ded6)}
.ref-info{padding:26px 28px}
.ref-voorbeeld{display:inline-block;margin-bottom:14px;padding:3px 10px;border-radius:99px;
  font-family:var(--f-mono,monospace);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:#8a6d00;background:rgba(255,196,0,.16);border:1px solid rgba(255,196,0,.45)}
.ref-velden{margin:0}
.ref-regel{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:7px 0;
  border-bottom:1px solid rgba(20,17,13,.07)}
.ref-regel dt{font-family:var(--f-mono,monospace);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mute,#6B7280);margin:0}
.ref-regel dd{margin:0;font-size:15.5px;line-height:1.5;color:var(--ink,#14110d);font-weight:500}
.ref-omschrijving{margin:16px 0 0;font-size:15px;line-height:1.65;color:var(--ink-2,#5c554c)}
.ref-leeg{margin:0;font-size:15px;color:var(--mute,#6B7280)}
@media(max-width:820px){
  .ref-kaart{grid-template-columns:1fr}
  .ref-foto{min-height:200px}
  .ref-regel{grid-template-columns:84px minmax(0,1fr)}
}
