/* ==========================================================================
   askunclejifu.com — MONOCHROME system
   ink #000 / paper #FFF / grey #6B6B6B. No accent hue anywhere.
   Oversized type, oversized surfaces, zero radius, hairline rules.
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#000000;
  --paper:#ffffff;
  --grey:#6b6b6b;        /* 5.74:1 on paper */
  --grey-light:#a8a8a8;
  --rule:#000000;
  --rule-soft:#dcdcdc;
  --ink-soft:#111111;

  --step-h1:clamp(2.75rem,7.2vw,6.25rem);   /* 44 -> 100px */
  --step-h2:clamp(2rem,4.4vw,3.75rem);      /* 32 -> 60px  */
  --step-lead:clamp(1.25rem,2.1vw,1.75rem); /* 20 -> 28px  */
  --step-body:clamp(1.125rem,1.35vw,1.3125rem); /* 18 -> 21px */
  --step-small:1rem;
  --step-stat:clamp(3.5rem,9vw,8rem);       /* 56 -> 128px */

  --pad-x:clamp(1.25rem,5vw,4.5rem);
  --gap:clamp(1.5rem,3vw,2.5rem);
  --section-y:clamp(4rem,9vw,9rem);
  --max:1320px;

  --font:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;
}

html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  font-size:var(--step-body);
  line-height:1.5;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad-x)}
.rule{border:0;border-top:2px solid var(--rule)}

/* ---------- TYPE ---------- */
h1,h2,h3{font-weight:800;letter-spacing:-0.035em;line-height:0.95;text-wrap:balance}
h1{font-size:var(--step-h1)}
h2{font-size:var(--step-h2);line-height:1.02}
h3{font-size:clamp(1.35rem,2.1vw,1.75rem);font-weight:700;letter-spacing:-0.02em;line-height:1.15}
.lead{font-size:var(--step-lead);line-height:1.35;font-weight:500;letter-spacing:-0.015em}
.muted{color:var(--grey)}
.eyebrow{
  font-size:var(--step-small);font-weight:700;letter-spacing:0.14em;
  text-transform:uppercase;
}
.section-head{max-width:38ch;margin-bottom:clamp(2.5rem,5vw,4.5rem)}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--font);font-size:clamp(1.0625rem,1.35vw,1.25rem);font-weight:700;
  letter-spacing:-0.01em;
  padding:1.15em 2.4em;min-height:64px;
  border:2px solid var(--ink);border-radius:0;
  background:var(--ink);color:var(--paper);
  cursor:pointer;text-align:center;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.btn:hover{background:var(--paper);color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn--ghost{background:var(--paper);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btn--block{width:100%}
.btn--onink{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn--onink:hover{background:transparent;color:var(--paper)}
.btn--ghost-onink{background:transparent;color:var(--paper);border-color:var(--paper)}
.btn--ghost-onink:hover{background:var(--paper);color:var(--ink)}

.link{
  display:inline-flex;align-items:center;gap:.4em;
  font-weight:700;font-size:1.0625rem;
  border-bottom:2px solid var(--ink);padding-bottom:2px;
}
.link:hover{opacity:.6}
.link,main a:not(.btn),.ftr a{min-height:44px}
@media (min-width:821px){.link,main a:not(.btn),.ftr a{min-height:44px}}

/* ---------- HEADER ---------- */
.hdr{
  position:sticky;top:0;z-index:60;
  background:var(--paper);
  border-bottom:2px solid var(--ink);
}
.hdr__in{
  max-width:var(--max);margin:0 auto;padding:0 var(--pad-x);
  height:clamp(68px,7vw,92px);
  display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.5rem);
}
.brand{
  font-size:clamp(1.25rem,1.8vw,1.5rem);font-weight:800;letter-spacing:-0.045em;
  white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;min-height:44px;
}
.brand span{color:var(--grey)}
.hdr__nav{display:flex;align-items:center;gap:clamp(.9rem,1.8vw,2rem);margin-left:auto}
.hdr__nav a{
  font-size:1.0625rem;font-weight:600;letter-spacing:-0.01em;
  white-space:nowrap;padding:.35em 0;border-bottom:2px solid transparent;
  display:inline-flex;align-items:center;min-height:44px;
}
.hdr__nav a:hover{border-bottom-color:var(--ink)}
.hdr__cta{flex-shrink:0;min-height:56px;padding:.85em 1.7em;font-size:1.0625rem}
.hdr__toggle{display:none;background:none;border:2px solid var(--ink);border-radius:0;
  width:56px;height:56px;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.hdr__toggle span,.hdr__toggle span::before,.hdr__toggle span::after{
  display:block;width:22px;height:2px;background:var(--ink);position:relative}
.hdr__toggle span::before,.hdr__toggle span::after{content:"";position:absolute;left:0}
.hdr__toggle span::before{top:-7px}
.hdr__toggle span::after{top:7px}

/* mobile drawer */
.drawer{
  display:none;position:fixed;inset:0;z-index:70;background:var(--paper);
  padding:clamp(1rem,4vw,2rem) var(--pad-x);
  flex-direction:column;
}
.drawer[data-open="true"]{display:flex}
.drawer__top{display:flex;align-items:center;justify-content:space-between;
  height:clamp(68px,7vw,92px);border-bottom:2px solid var(--ink);margin-bottom:1rem}
.drawer__close{background:none;border:2px solid var(--ink);width:56px;height:56px;
  font-size:1.5rem;font-weight:700;cursor:pointer;line-height:1}
.drawer nav{display:flex;flex-direction:column;flex:1;overflow-y:auto}
.drawer nav a{
  font-size:clamp(1.75rem,6vw,2.25rem);font-weight:800;letter-spacing:-0.035em;
  padding:.55em 0;border-bottom:1px solid var(--rule-soft);
}
.drawer .btn{margin-top:1.25rem}

/* ---------- HERO ---------- */
.hero{padding:clamp(3rem,7vw,7rem) 0 clamp(2.5rem,5vw,4rem)}
.hero__eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.hero__eyebrow::after{content:"";flex:1;height:2px;background:var(--ink);max-width:120px}
.hero h1{margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.hero h1 em{font-style:normal;display:block}
/* HERO H1 SCALE — measured 2026-10-24.
   The two-sentence solution-led H1 at --step-h1 (up to 100px) wrapped to SIX lines
   at 1440px and pushed both CTAs below the fold (verified by screenshot). A
   sentence-length hero needs a smaller step than a 3-word slogan. Scoped to
   .hero2 so the rest of the type system is untouched. */
.hero2__left h1{font-size:clamp(1.9rem,3.5vw,3.15rem);line-height:1.06;letter-spacing:-.03em;max-width:20ch}
@media(max-width:560px){.hero2__left h1{font-size:clamp(1.7rem,8vw,2.4rem)}}
.hero__lead{max-width:34ch;margin-bottom:clamp(2rem,4vw,3rem)}
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:clamp(2rem,4vw,3rem)}
.hero__proof{
  display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;
  border-top:2px solid var(--ink);padding-top:1.25rem;
  font-weight:600;font-size:var(--step-small);
}
.hero__proof span{color:var(--grey)}
.hero__proof b{font-weight:800}

/* ---------- STATS BAND (ink) ---------- */
.band-ink{background:var(--ink);color:var(--paper);padding:var(--section-y) 0}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
/* Security band carries FIVE badges; a 4-col track ragged-sizes them and the
   last cell overflows the grid (measured: NL right=1363, DE right=1471 @1440). */
.stats--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.stat{padding:0 clamp(.5rem,2vw,2rem);border-left:1px solid #2a2a2a;min-width:0}
.stat__label{overflow-wrap:break-word}
.stat:first-child{border-left:0;padding-left:0}
/* MEASURED 2026-10-23 (de locale): .stat__num 'DSGVO' at 52px needs ~155px inside a 119px
   track and, being one unbreakable token, painted 36px past the viewport (docSW 356 @320).
   NL 'AVG' and EN 'GDPR' fit; the German 5-letter acronym did not. Numerals are tabular and
   must stay on one line, so only the NON-numeric case may shrink/breathe. */
.stat__num{
  font-size:var(--step-stat);font-weight:800;line-height:.85;letter-spacing:-0.05em;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
  max-width:100%;
  min-width:0;
}
.stat__label{margin-top:.75rem;font-size:clamp(1rem,1.2vw,1.125rem);color:#c9c9c9;line-height:1.3;font-weight:500}

/* ---------- SERVICES ---------- */
.services{padding:var(--section-y) 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.card{
  display:flex;flex-direction:column;
  padding:clamp(1.75rem,3vw,2.75rem) clamp(1.25rem,2.5vw,2.25rem) clamp(1.75rem,3vw,2.5rem);
  border-bottom:2px solid var(--ink);
  border-right:2px solid var(--ink);
  min-height:clamp(300px,26vw,400px);
  transition:background .16s ease,color .16s ease;
}
.card:nth-child(3n){border-right:0}
.card:hover,.card:focus-within{background:#f4f4f4;color:var(--ink)}
.card__num{font-size:1rem;font-weight:700;letter-spacing:.12em;color:var(--grey);margin-bottom:auto}
.card:hover .card__num{color:var(--ink)}
.card h3{margin:clamp(1.5rem,3vw,2.5rem) 0 .75rem}
.card p{font-size:clamp(1.0625rem,1.15vw,1.125rem);line-height:1.45;color:var(--grey);margin-bottom:1.75rem}
.card:hover p{color:#3a3a3a}
.card .link{font-size:1rem;margin-top:auto;border-bottom-width:2px;min-height:44px}

/* ---------- PROCESS ---------- */
.process{padding:var(--section-y) 0;background:var(--ink);color:var(--paper)}
.process .section-head{max-width:26ch}
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--paper)}
.step{
  padding:clamp(2rem,4vw,3.5rem) clamp(1.5rem,3vw,3rem) clamp(2rem,4vw,3rem) 0;
  border-bottom:2px solid var(--paper);
}
.step:nth-child(even){border-left:2px solid var(--paper);padding-left:clamp(1.5rem,3vw,3rem);padding-right:0}
.step__num{font-size:clamp(3rem,7vw,5.5rem);font-weight:800;line-height:.85;letter-spacing:-0.05em;opacity:.35}
.step h3{margin:.75rem 0 .75rem;font-size:clamp(1.5rem,2.6vw,2.125rem)}
.step p{color:#c9c9c9;max-width:40ch;font-size:clamp(1.0625rem,1.15vw,1.125rem)}

/* ---------- PROOF ---------- */
.proof{padding:var(--section-y) 0}
.proof__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.proof__item{
  padding:clamp(1.75rem,3vw,2.75rem) clamp(1.25rem,2.5vw,2.25rem) clamp(1.75rem,3vw,2.5rem);
  border-bottom:2px solid var(--ink);border-right:2px solid var(--ink);
}
.proof__item:last-child{border-right:0}
.proof__tag{font-size:.9375rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.proof__big{
  font-size:clamp(2.75rem,5.5vw,4.5rem);font-weight:800;letter-spacing:-0.045em;line-height:.9;
  margin:1rem 0 .75rem;
}
.proof__item p{font-size:clamp(1.0625rem,1.15vw,1.125rem);color:var(--grey);line-height:1.45}
.proof__foot{
  display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;
  padding-top:clamp(2rem,4vw,3rem);
}
.rating{font-size:clamp(1.25rem,2vw,1.625rem);font-weight:700;letter-spacing:-0.02em}
.rating b{font-size:1.15em}

/* ---------- CLOSE ---------- */
.close{background:var(--ink);color:var(--paper);padding:var(--section-y) 0}
.close h2{max-width:20ch;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.close__lead{max-width:38ch;color:#c9c9c9;margin-bottom:clamp(2rem,4vw,3rem)}
.close__actions{display:flex;flex-wrap:wrap;gap:1rem}
.close__micro{margin-top:clamp(1.75rem,3vw,2.5rem);color:#a8a8a8;font-size:var(--step-small)}
.close__micro a{border-bottom:1px solid #a8a8a8;display:inline-flex;align-items:center;min-height:44px}

/* ---------- FOOTER ---------- */
.ftr{background:var(--paper);border-top:2px solid var(--ink);padding:clamp(2.5rem,5vw,4rem) 0 clamp(1.5rem,3vw,2rem)}
.ftr__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:clamp(1.5rem,3vw,3rem)}
.ftr__brand{font-size:clamp(1.35rem,2vw,1.75rem);font-weight:800;letter-spacing:-0.045em;margin-bottom:.75rem}
.ftr__desc{color:var(--grey);font-size:1.0625rem;max-width:30ch;line-height:1.45}
.ftr h4{font-size:.9375rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.25rem}
.ftr ul{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.ftr li a{font-size:1.0625rem;font-weight:500;color:var(--grey);display:inline-flex;align-items:center;min-height:44px}
.ftr li a:hover{color:var(--ink)}
.ftr__bottom{
  margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.5rem;border-top:1px solid var(--rule-soft);
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;
  font-size:.9375rem;color:var(--grey);
}
.ftr__bottom a{border-bottom:1px solid var(--rule-soft);display:inline-flex;align-items:center;min-height:44px}

/* ---------- COOKIE ---------- */
.cookie{
  position:fixed;left:0;right:0;bottom:0;z-index:65;
  background:var(--paper);border-top:2px solid var(--ink);
  padding:1rem 0;
  font-size:1rem;
}
/* inner row constrained to the same grid as .wrap so the banner's text and
   button line up with the page content edge */
.cookie__row{
  max-width:var(--max);margin:0 auto;width:100%;padding:0 var(--pad-x);
  display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;justify-content:space-between;
}
.cookie[hidden]{display:none}
.cookie p{max-width:52ch;line-height:1.35}
.cookie a{border-bottom:1px solid var(--ink);font-weight:600;display:inline-flex;align-items:center;min-height:44px}
.cookie button{
  font-family:var(--font);font-size:1rem;font-weight:700;cursor:pointer;
  background:var(--ink);color:var(--paper);border:2px solid var(--ink);
  padding:.7em 1.6em;min-height:52px;border-radius:0;
}
.cookie button:hover{background:var(--paper);color:var(--ink)}

/* =================== RESPONSIVE =================== */

/* tablet */
@media (max-width:1080px){
  .hdr__nav a:not(.hdr__nav a:nth-last-child(-n+2)){display:none}
  .cards{grid-template-columns:repeat(2,1fr)}
  .card:nth-child(3n){border-right:2px solid var(--ink)}
  .card:nth-child(2n){border-right:0}
  .ftr__grid{grid-template-columns:1fr 1fr}
  .ftr__desc{max-width:none}
}

/* mobile — the primary target */
@media (max-width:820px){
  .hdr__nav{display:none}
  .hdr__cta{display:none}
  .hdr__toggle{display:inline-flex;margin-left:auto}

  .hero{padding-top:clamp(2rem,6vw,3rem)}
  .hero__lead{max-width:none}
  .hero__actions{flex-direction:column;align-items:stretch;gap:.85rem}
  .hero__actions .btn{width:100%}
  .hero__proof{flex-direction:column;align-items:flex-start;gap:.4rem}
  .hero__proof .dot{display:none}

  .stats,.stats--5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{
    border-left:0;border-top:1px solid #2a2a2a;padding:1.75rem 0;
  }
  .stat:nth-child(-n+2){border-top:0;padding-top:0}
  .stat:nth-child(even){padding-left:1.25rem;border-left:1px solid #2a2a2a}
  .stat__num{font-size:clamp(2.75rem,13vw,4.5rem);letter-spacing:-0.04em}

  .cards{grid-template-columns:1fr}
  .card{border-right:0;min-height:0;padding:2rem 0 2.25rem}
  .card__num{margin-bottom:0}
  .card h3{margin-top:1.25rem}

  .steps{grid-template-columns:1fr}
  .step,.step:nth-child(even){border-left:0;padding-left:0;padding-right:0}

  .proof__grid{grid-template-columns:1fr}
  .proof__item{border-right:0;padding-left:0;padding-right:0}
  .proof__foot{flex-direction:column;align-items:flex-start;gap:1.25rem}

  .close__actions{flex-direction:column;align-items:stretch}
  .close__actions .btn{width:100%}

  .ftr__grid{grid-template-columns:1fr;gap:2rem}
  .ftr__bottom{flex-direction:column;gap:.6rem}
  .cookie__row{flex-direction:column;align-items:stretch}
  .cookie button{width:100%}
}

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

/* print */
@media print{.hdr,.cookie,.drawer{display:none!important}body{font-size:11pt}}

/* ============ FAQ ============ */
.faq{padding:clamp(4rem,9vw,7rem) 0;border-top:2px solid var(--ink)}
.faq__list{margin-top:clamp(2rem,4vw,3rem);border-top:2px solid var(--ink)}
.faq__item{border-bottom:1px solid var(--rule-soft)}
.faq__item summary{
  list-style:none;cursor:pointer;min-height:64px;display:flex;align-items:center;
  justify-content:space-between;gap:1.5rem;
  font-size:clamp(1.125rem,1.9vw,1.5rem);font-weight:700;letter-spacing:-.02em;
  padding:1.25rem 0;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"+";font-size:1.75rem;font-weight:400;line-height:1;
  flex-shrink:0;transition:transform .18s ease;
}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{
  font-size:clamp(1.0625rem,1.25vw,1.1875rem);line-height:1.6;color:var(--grey);
  max-width:68ch;padding:0 0 1.5rem;
}
@media (max-width:820px){.faq__item summary{font-size:1.1875rem;gap:1rem}}

/* ============ BLOG ============ */
.bloghead{padding:clamp(4rem,8vw,7rem) 0 clamp(2rem,4vw,3rem)}
.bloghead h1{font-size:clamp(2.25rem,5vw,4rem);line-height:1.05;letter-spacing:-.03em;max-width:20ch}
.bloghead .lead{max-width:56ch;margin-top:1.5rem}
.bloglist{padding:0 0 clamp(4rem,9vw,7rem)}
.post{display:block;padding:clamp(1.5rem,3vw,2.25rem) 0;border-top:2px solid var(--ink);text-decoration:none;color:inherit}
.post:last-child{border-bottom:2px solid var(--ink)}
.post__meta{display:block;font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:.75rem}
.post__title{font-size:clamp(1.375rem,2.6vw,2rem);line-height:1.2;letter-spacing:-.02em;font-weight:700;max-width:34ch}
.post:hover .post__title{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
@media (max-width:820px){.post{min-height:44px}.post__title{font-size:1.25rem}}

/* ============ SUB-PAGES ============ */
.pagehead{padding:clamp(3.5rem,7vw,6rem) 0 clamp(2rem,4vw,3rem);border-bottom:2px solid var(--ink)}
.pagehead h1{font-size:clamp(2.25rem,4.6vw,3.75rem);line-height:1.06;letter-spacing:-.03em;max-width:22ch}
.pagehead .eyebrow{margin-bottom:1.25rem}
.pagebody{padding:clamp(3rem,6vw,5rem) 0 clamp(4rem,8vw,7rem)}
.prose{max-width:70ch}
.prose h2{font-size:clamp(1.5rem,2.6vw,2.125rem);line-height:1.15;letter-spacing:-.02em;margin:clamp(2.5rem,5vw,3.5rem) 0 1rem;padding-top:1.5rem;border-top:2px solid var(--ink)}
.prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prose h3{font-size:1.0625rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;margin:2rem 0 .5rem}
.prose p{font-size:1.125rem;line-height:1.65;color:var(--grey);margin:0 0 1.25rem}
.prose ul{margin:0 0 1.5rem;padding-left:1.25rem}
.prose li{font-size:1.125rem;line-height:1.6;color:var(--grey);margin-bottom:.5rem}
.prose blockquote{margin:2rem 0;padding-left:1.5rem;border-left:4px solid var(--ink);font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.4;color:var(--ink);font-weight:600}
.statnum{font-size:clamp(2.5rem,6vw,4rem);line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--ink);margin:2rem 0 .25rem}
@media (max-width:820px){
  .prose h2{font-size:1.5rem}
  .prose p,.prose li{font-size:1.0625rem}
}
.chips{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{font-size:.9375rem;line-height:1.2;padding:.5rem .75rem;border:1.5px solid var(--ink);color:var(--ink);font-weight:600;margin:0}
/* monochrome emoji: render colour glyphs as grayscale so they match the palette */
.ico,.t-ico,.step-ico,.card-ico,.opt-ico,.benefit span:first-child,[class*="-ico"],.pcard .ico{filter:grayscale(1) contrast(1.15)}

/* ---------- SHARE ROW (was unstyled: off-token #1F2937, 30px radius-50% circles) ---------- */
.share-row-ask{margin:0}
.share-row-ask > div{gap:10px !important}
.share-row-ask > div > span{color:var(--grey) !important;font-size:11px !important;letter-spacing:.12em}
.share-row-ask a{
  width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;
  border:1.5px solid var(--ink) !important;border-radius:0 !important;
  color:var(--ink) !important;background:var(--paper) !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  transition:background .15s ease,color .15s ease;
}
.share-row-ask a:hover,.share-row-ask a:focus-visible{background:var(--ink) !important;color:var(--paper) !important}
.share-row-ask a svg{width:16px !important;height:16px !important}

/* ---------- COMPARISON TABLE (nl/index.html) ----------
   MEASURED 2026-10-23: table.cmp 514px inside a 350px wrapper at 390px viewport. .cmp-scroll
   had no CSS (overflow-x computed 'visible'), so the table escaped 144px past the viewport.
   body{overflow-x:hidden} (line 41) did not mask it — the table overflows the wrapper's box,
   not the body's. Fix: let the wrapper scroll. No min-width on the table — tried, made it
   worse (144px). Table keeps natural width; wrapper scrolls.
   CONSOLIDATED: the later `max-width:100%` redeclaration and the duplicate
   `@media (max-width:413px)` .cmp-scroll rule (overflow-x:auto;width:100%;max-width:100%)
   were deleted — all four values were already identical here and inheritable at every width. */
.cmp-scroll{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  /* MEASURED 2026-10-23: nl table 514px -> docSW clean; de table 537px -> +36px @320.
     width:100% alone still let the wrapper's min-content be driven by the table.
     contain:inline-size was tried and did nothing. The working rule is to forbid the
     wrapper from ever exceeding the viewport box. */
  max-width:100vw;
  box-sizing:border-box;
}
.cmp-scroll > table.cmp{
  width:auto;
  min-width:100%;
  margin:0;
}

/* ---------- MOBILE OVERFLOW: .proof__grid (measured 2026-10-23) ----------
   At 390px each .proof__item measured 382px wide, left:20 right:402 — 12px past the edge.
   Cause: grid-template-columns:repeat(3,1fr) never collapses, and plain 1fr cannot shrink
   below its content's min-content width.
   Fix: minmax(0,1fr) on desktop so tracks may shrink, plus an explicit <=760px collapse.
   NOTE: the <=820px block (line ~308) still carries .proof__grid{grid-template-columns:1fr}.
   That declaration is dead — this minmax(0,1fr) rule sits later in the cascade at equal
   specificity and wins at every width the 820 query covers — but it was NOT removed,
   because the same block also carries .proof__foot and .hdr__nav rules that are live.
   Removing a dead declaration is safe; removing the block is not. Left as-is. */
.proof__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){
  .proof__grid{grid-template-columns:minmax(0,1fr)}
  .proof__item{border-right:0;padding-left:0;padding-right:0}
}

/* ---------- table.cmp final containment (measured 2026-10-23) ----------
   At 320/360/390px the table is 514px. With overflow:auto the table SCROLLS visually, but its
   own box still extended to 534px and widened the document (82/42/12px overflow). Clipping does
   not remove it from layout. Fix: .wrap containment + table contributes no intrinsic width out.
   CONSOLIDATED: the redundant `@media (max-width:413px){body{overflow-x:hidden}}` was deleted —
   line 41 sets it unconditionally and always took precedence over the media query. */
.wrap{min-width:0}
table.cmp{max-width:none}

/* ---------- LONG COMPOUND WORDS in .proof__big (measured 2026-10-23) ----------
   Dutch "Oplossingenpartner" is one unbroken 44px compound: box 350px, ink 382px,
   overflow-wrap:normal so it paints outside and inflated root scrollWidth to 12/42/82px at
   390/360/320. English ("Solutions partner") is two words, hence clean. Copy is fixed, so
   allow the word to break instead. */
.proof__big{overflow-wrap:anywhere;word-break:break-word;hyphens:auto}

/* ==== hero proof pane (added 2026-10-23, scoped .hero2- ) ==== */
.hero2{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3.25rem)}
@media(min-width:940px){
  .hero2{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:start}
}
.hero2__left{min-width:0}
.hero2__proof{min-width:0;display:flex;flex-direction:column;padding-top:.35rem}
.hero2__msg{border-left:2px solid var(--ink, #000);padding-left:clamp(.85rem,2vw,1.5rem);min-width:0}
.hero2__who{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--grey,#6B6B6B);margin-bottom:.85rem}
.hero2__body{font-size:clamp(1.15rem,1.9vw,1.7rem);line-height:1.28;letter-spacing:-.014em;font-weight:500;overflow-wrap:break-word}
.hero2__faint{color:var(--grey,#6B6B6B)}
.hero2__ledger{margin-top:clamp(1.25rem,2.6vw,1.9rem);border-left:2px solid #dcdcdc;padding-left:clamp(.85rem,2vw,1.5rem)}
.hero2__row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;padding:.55rem 0;border-bottom:1px solid #ececec;align-items:baseline}
.hero2__row:last-child{border-bottom:0}
.hero2__k{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey,#6B6B6B);white-space:nowrap;padding-top:.15rem;font-family:var(--mono, monospace)}
.hero2__v{font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}
.hero2__out{margin-top:clamp(1.1rem,2.2vw,1.6rem);border-top:2px solid var(--ink,#000);padding-top:.75rem;display:flex;justify-content:space-between;align-items:baseline;gap:.85rem;flex-wrap:wrap;min-width:0}
.hero2__outk{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--grey,#6B6B6B)}
.hero2__outv{font-size:.85rem;font-weight:800;text-align:right}
@media(max-width:560px){
  .hero2__body{font-size:1.15rem}
  .hero2__row{grid-template-columns:3.25rem minmax(0,1fr);gap:.6rem}
  .hero2__outv{text-align:left}
}
/* ==== end hero proof pane ==== */

/* Offer section: the guarantee line is long, so it needs its own scale.
   Scoped to #services - do not widen this to all section headings. */
#services .section-head{max-width:52ch}
#services .section-head h2{font-size:clamp(1.65rem,2.9vw,2.6rem);line-height:1.12;letter-spacing:-.02em}
@media(max-width:820px){#services .section-head h2{font-size:clamp(1.5rem,6vw,2rem)}}

/* Offer cards: titles vary in length per language; reserve two lines so every
   body paragraph starts on the same baseline. Scoped to #services. */
#services .cards .card{display:flex;flex-direction:column}
#services .cards .card h3{min-height:2.5em;margin-bottom:.5rem}


/* === deployment-check call-out band (added 2026-10-25) =====================
   Scoped to .dc-band only. Do not add global selectors to this block. */
.dc-band { margin: 8px auto 56px; }
.dc-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 32px 36px;
  border-radius: 16px;
  border: 1px solid rgba(128, 128, 128, 0.28);
  background: rgba(128, 128, 128, 0.05);
}
.dc-band__copy { max-width: 62ch; }
.dc-band__eyebrow {
  margin: 0 0 8px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.62;
}
.dc-band__h {
  margin: 0 0 10px;
  font-size: clamp(20px, 2.4vw, 27px);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -0.015em;
}
.dc-band__p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.6;
  opacity: 0.82;
}
.dc-band__cta {
  flex: 0 0 auto;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .dc-band__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    padding: 26px 22px;
  }
  .dc-band__cta { width: 100%; }
}
/* === /deployment-check call-out band ==================================== */

/* --- article blocks: horizontal inset (mobile edge fix) --- */
.art,
.art-hero,
.art__body,
.art__meta,
.art__cta,
.share-row-ask{
  padding-left:var(--pad-x,20px);
  padding-right:var(--pad-x,20px);
}
