/* bewaarplicht.be — shared brand stylesheet
   Tokens mirror capsyra-web-new/src/assets/styles/global.css (Tailwind theme)
   so this standalone site matches capsyra.com without depending on its build. */

/* Fonts (DM Sans + Work Sans) are loaded from Google Fonts via <link> in the
   page <head>, with preconnect, instead of render-blocking @import here. */

:root{
  --black:#000;
  --white:#fff;
  --off-white:#fefefe;
  --page-bg: oklch(0.93 0.006 200);

  --slate-50: oklch(0.975 0.015 200);
  --slate-100: oklch(0.950 0.025 200);
  --slate-200: oklch(0.900 0.035 200);
  --slate-300: oklch(0.820 0.050 200);
  --slate-400: oklch(0.720 0.070 200);
  --slate-500: oklch(0.610 0.080 200);
  --slate-600: oklch(0.490 0.060 200);
  --slate-700: oklch(0.400 0.055 200);
  --slate-800: oklch(0.310 0.050 200);
  --slate-900: oklch(0.230 0.045 200);
  --slate-950: oklch(0.150 0.040 200);

  --teal-50: oklch(0.975 0.015 200);
  --teal-100: oklch(0.950 0.025 200);
  --teal-200: oklch(0.900 0.035 200);
  --teal-300: oklch(0.820 0.050 200);
  --teal-400: oklch(0.720 0.070 200);
  --teal-500: oklch(0.610 0.080 200);
  --teal-600: oklch(0.490 0.060 200);
  --teal-700: oklch(0.400 0.055 200);
  --teal-800: oklch(0.310 0.050 200);
  --teal-900: oklch(0.230 0.045 200);
  --teal-950: oklch(0.150 0.040 200);

  /* Secondary brand accents (per Capsyra brand book) used for pillars/icon cards */
  --stamp:#FF1053;
  --brass:#FFAE00;
  --green:#189B6E;
  --blue:#4C63B6;

  --font-display: "DM Sans", sans-serif;
  --font-body: "Work Sans", sans-serif;

  --max: 1180px;
  --card-radius: 20px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

body{
  margin:0;
  background:var(--page-bg);
  color:var(--slate-900);
  font-family:var(--font-body);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;}
img{max-width:100%; display:block;}

.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}

h1,h2,h3{
  font-family:var(--font-display);
  font-weight:800;
  margin:0;
  letter-spacing:-0.01em;
  color:var(--slate-900);
}

.eyebrow{
  font-family:var(--font-body);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:12px;
  font-weight:700;
  color:var(--teal-600);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:18px; height:1px;
  background:var(--teal-600);
  display:inline-block;
}

/* ============ BUTTONS ============ */
.btn{
  font-family:var(--font-body);
  font-weight:600;
  font-size:15px;
  padding:13px 26px;
  border-radius:8px;
  border:1px solid transparent;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.btn:focus-visible{outline:3px solid var(--brass); outline-offset:2px;}
.btn-primary{
  background:var(--teal-800);
  color:var(--white);
}
.btn-primary:hover{background:oklch(from var(--teal-800) l c h / 0.8); transform:translateY(-1px);}
.btn-ghost{
  background:transparent;
  color:var(--slate-900);
  border-color:oklch(0.4 0.02 250 / 0.3);
}
.btn-ghost:hover{border-color:var(--slate-900); transform:translateY(-1px);}
.btn-white{background:var(--white); color:var(--teal-700);}
.btn-white:hover{background:var(--slate-50); transform:translateY(-1px);}
.btn-outline{background:transparent; color:var(--white); border-color:oklch(1 0 0 / 0.6);}
.btn-outline:hover{border-color:var(--white); transform:translateY(-1px);}

/* ============ SHARED SECTION CARD ============ */
.wrap-outer{max-width:calc(var(--max) + 60px); margin:0 auto; padding:0 30px;}
.card-section{
  background:var(--white); border-radius:var(--card-radius);
  margin:12px 30px; overflow:hidden; position:relative;
  max-width:var(--max);
}
@media (min-width:1240px){ .card-section{margin-left:auto; margin-right:auto;} }
.card-pad{padding:44px 34px;}
.bgwash{position:absolute; left:0; width:100%; pointer-events:none; z-index:1; object-fit:cover;}

/* ============ HEADER / NAV ============ */
header{position:sticky; top:0; z-index:50; padding-top:14px; background:var(--page-bg);}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  background:var(--white); border-radius:var(--card-radius);
  padding:16px 30px; gap:14px; flex-wrap:wrap;
  max-width:var(--max); margin:0 30px;
}
@media (min-width:1240px){ .nav{margin-left:auto; margin-right:auto;} }
.logo-link{display:inline-flex; align-items:center;}
.logo-link img{height:30px; width:auto;}
.nav-links{display:flex; gap:6px; list-style:none; margin:0; padding:0; font-size:15px; font-weight:500; align-items:center;}
.navdrop{position:relative;}
.navdrop > a, .nav-links > li > a{
  display:inline-flex; align-items:center; gap:5px; padding:10px 12px; border-radius:8px;
  text-decoration:none; color:var(--slate-800); opacity:0.85; transition:opacity .15s, background .15s;
}
.navdrop > a:hover, .nav-links > li > a:hover{opacity:1; background:var(--slate-50);}
.navdrop > a.caret::after{content:"\25BE"; font-size:10px; color:var(--slate-500); margin-left:2px;}
.dropdown-menu{display:none; position:absolute; top:100%; left:0; padding-top:8px; z-index:50;}
.navdrop:hover .dropdown-menu, .navdrop:focus-within .dropdown-menu{display:block;}
.dropdown-menu-inner{
  background:var(--white); border-radius:12px; box-shadow:0 16px 36px oklch(0.4 0.02 250 / 0.18);
  border:1px solid var(--slate-100); padding:8px; min-width:190px;
}
.dropdown-menu a{display:block; padding:10px 14px; border-radius:8px; font-size:14.5px; color:var(--slate-800); text-decoration:none; white-space:nowrap;}
.dropdown-menu a:hover{background:var(--slate-50); color:var(--teal-700);}
.nav-cta{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
.login-link{color:var(--teal-700); font-weight:700; font-size:14.5px; text-decoration:none;}
.lang-switch{display:inline-flex; gap:2px; padding:3px; border:1px solid var(--slate-200); border-radius:999px; font-size:13px; font-weight:700; letter-spacing:.02em;}
.lang-switch a{padding:5px 10px; border-radius:999px; color:var(--slate-600); text-decoration:none; line-height:1;}
.lang-switch a:hover{background:var(--slate-50); color:var(--teal-700);}
.lang-switch a[aria-current]{background:var(--teal-800); color:var(--white); pointer-events:none;}

/* Desktop: the menu wrapper is layout-transparent, links sit in the bar. */
.nav-menu{display:contents;}
.nav-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:44px; height:44px; padding:0 11px; margin-right:-8px;
  background:none; border:0; border-radius:8px; cursor:pointer;
}
.nav-toggle span{display:block; height:2px; border-radius:2px; background:var(--slate-900); transition:transform .2s ease, opacity .2s ease;}
.nav-toggle:hover{background:var(--slate-50);}
.nav-toggle:focus-visible{outline:3px solid var(--brass); outline-offset:2px;}
.nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav.open .nav-toggle span:nth-child(2){opacity:0;}
.nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile / tablet: burger toggles a full-width panel below the bar. */
@media (max-width:980px){
  .nav{padding:12px 20px;}
  .nav-toggle{display:flex;}
  .nav-menu{display:none;}
  .nav.open .nav-menu{
    display:flex; flex-direction:column; gap:14px; width:100%;
    max-height:calc(100vh - 110px); overflow-y:auto;
    border-top:1px solid var(--slate-100); padding-top:12px;
  }
  .nav-links{flex-direction:column; align-items:stretch; gap:0; font-size:16px;}
  .navdrop > a, .nav-links > li > a{display:flex; padding:12px 8px;}
  .navdrop > a.caret::after{display:none;}
  /* No hover on touch: show dropdown items inline, indented. */
  .dropdown-menu, .navdrop:hover .dropdown-menu{display:block; position:static; padding:0 0 6px;}
  .dropdown-menu-inner{box-shadow:none; border:0; padding:0 0 0 12px; min-width:0;}
  .dropdown-menu a{font-size:15px; padding:9px 8px; color:var(--slate-600);}
  .nav-cta{flex-direction:column; align-items:stretch; gap:12px; padding-bottom:6px;}
  .nav-cta .lang-switch{align-self:flex-start;}
  .nav-cta .login-link{padding:4px 8px;}
  .nav-cta .btn{justify-content:center;}
}

/* ============ HERO ============ */
.hero{
  border-top:4px solid var(--teal-600); text-align:center; padding:56px 34px 48px;
  background:linear-gradient(155deg, #fff 55%, var(--teal-100) 100%);
}
.hero .bgwash{top:0; height:200px; transform:scaleY(-1);}
.hero h1{font-size:clamp(30px,4.4vw,46px); line-height:1.1; max-width:20ch; margin:0 auto 14px;}
.hero p.lead{color:oklch(0.4 0.02 250 / 0.78); font-size:16.5px; max-width:560px; margin:0 auto 30px;}

.hero-shot{
  background:var(--white); border-radius:12px; box-shadow:0 24px 48px oklch(0.4 0.02 250 / 0.16);
  max-width:640px; margin:0 auto 30px; border:1px solid var(--slate-100);
  overflow:hidden; position:relative; z-index:2; text-align:left;
}
.doclist-head{
  display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap;
  font-size:12px; font-weight:600; color:oklch(0.4 0.02 250 / 0.55);
  border-bottom:1px solid var(--slate-100); padding:14px 20px;
}
.doc-row{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:13px 20px; border-bottom:1px solid var(--slate-50); font-size:13.5px;}
.doc-row:last-child{border-bottom:none;}
.doc-row .dname{font-weight:600; color:var(--slate-900);}
.doc-row .dtype{display:block; font-size:11px; color:oklch(0.4 0.02 250 / 0.5); margin-top:1px; font-weight:400;}
.doc-row .dstatus{font-size:11px; font-weight:700; color:var(--teal-700); background:var(--teal-50); padding:4px 10px; border-radius:20px; white-space:nowrap;}

.hero h1, .hero p, .hero .hero-shot, .hero .btn{position:relative; z-index:2;}

/* ============ POSITIONING (probleem pillars) ============ */
.positioning{border-top:4px solid var(--brass); text-align:center; padding:52px 34px;}
.positioning h2, .positioning p, .positioning .pillars, .positioning .btn{position:relative; z-index:2;}
.positioning .bgwash{top:0; height:150px;}
.positioning h2{font-size:clamp(24px,3vw,32px); margin:0 0 14px; max-width:34ch; margin-left:auto; margin-right:auto;}
.positioning p.lead{color:oklch(0.4 0.02 250 / 0.75); font-size:15.5px; max-width:680px; margin:0 auto 30px;}
.pillars{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-bottom:28px;}
@media(max-width:720px){ .pillars{grid-template-columns:1fr;} }
.pillar{border:1px solid var(--slate-100); border-top:none; border-radius:12px; overflow:hidden; padding:20px; text-align:left; background:var(--white); position:relative; z-index:2;}
.pillar.p1{border-top:3px solid var(--teal-600);}
.pillar.p2{border-top:3px solid var(--brass);}
.pillar.p3{border-top:3px solid var(--stamp);}
.pillar.p4{border-top:3px solid var(--green);}
.pillar h3{font-size:15.5px; margin:0 0 8px; font-family:var(--font-display); font-weight:700;}
.pillar p{font-size:13.5px; color:oklch(0.4 0.02 250 / 0.75); margin:0;}
.patent-note{position:relative; z-index:2; font-size:12px; color:oklch(0.4 0.02 250 / 0.5); margin:20px 0 0; text-align:center;}

/* ============ EMPOWER (doelgroep tabs) ============ */
.empower{border-top:4px solid var(--stamp); padding:52px 34px; text-align:center;}
.empower h2, .empower p, .empower .tabbar, .empower .cardgrid{position:relative; z-index:2;}
.empower .bgwash{left:auto; right:0; bottom:0; top:auto; width:420px; height:340px;}
.empower h2{font-size:clamp(24px,3vw,32px); margin:0 0 14px;}
.empower p.lead{color:oklch(0.4 0.02 250 / 0.75); font-size:15.5px; max-width:600px; margin:0 auto 28px;}

.tabbar{display:inline-flex; gap:6px; background:var(--slate-50); border-radius:10px; padding:4px; margin-bottom:32px;}
.tabbar button{font-family:var(--font-body); font-weight:700; font-size:14px; padding:10px 22px; border-radius:8px; border:none; background:transparent; color:oklch(0.4 0.02 250 / 0.6); cursor:pointer; transition:all .2s ease;}
.tabbar button.active{background:var(--teal-700); color:var(--white);}
.tabbar button:focus-visible{outline:2px solid var(--brass); outline-offset:2px;}

.cardgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; text-align:left;}
@media(max-width:820px){ .cardgrid{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .cardgrid{grid-template-columns:1fr;} }
.icard{border-radius:12px; padding:22px 20px 20px;}
.icard .icon{height:34px; display:flex; align-items:center; margin-bottom:12px;}
.icard .icon svg{width:26px; height:26px;}
.icard h3{font-size:15px; margin:0 0 8px; line-height:1.3; font-family:var(--font-display); font-weight:700;}
.icard p{font-size:12.5px; margin:0; line-height:1.55;}
.icard.gray{background:var(--slate-50);} .icard.gray h4,.icard.gray p{color:var(--slate-800);} .icard.gray .icon{color:var(--slate-700);}
.icard.teal{background:var(--teal-50);} .icard.teal h4,.icard.teal p{color:var(--teal-800);} .icard.teal .icon{color:var(--teal-700);}
.icard.gold{background:oklch(from var(--brass) l c h / 0.14);} .icard.gold h4,.icard.gold p{color:#7a5b0a;} .icard.gold .icon{color:#8a6400;}
.icard.green{background:oklch(from var(--green) l c h / 0.12);} .icard.green h4,.icard.green p{color:#0f5c40;} .icard.green .icon{color:var(--green);}
.icard.blue{background:oklch(from var(--blue) l c h / 0.10);} .icard.blue h4,.icard.blue p{color:#2c3c7a;} .icard.blue .icon{color:var(--blue);}
.icard.pink{background:oklch(from var(--stamp) l c h / 0.08);} .icard.pink h4,.icard.pink p{color:#a30f4d;} .icard.pink .icon{color:var(--stamp);}

.panel{display:none;}
.panel.active{display:block; animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0;} to{opacity:1;}}

/* ============ PLAIN (wetgeving / werking / integraties) ============ */
.plain{padding:46px 34px;}
.plain h2{font-size:clamp(22px,2.6vw,28px); text-align:center; margin:0 0 12px;}
.plain p.lead{text-align:center; color:oklch(0.4 0.02 250 / 0.75); font-size:15.5px; max-width:680px; margin:0 auto 26px;}

.plain.wetgeving-hl{border-top:4px solid var(--teal-600); position:relative;}
.plain.wetgeving-hl .bgwash{top:0; height:160px; transform:scaleY(-1); opacity:0.9;}
.plain.wetgeving-hl .inner{position:relative; z-index:2;}
.table-label{display:block; text-align:center; font-size:12px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--teal-700); margin:30px 0 14px;}

.updated-badge{display:inline-block; font-size:12px; color:oklch(0.4 0.02 250 / 0.6); background:var(--slate-50); padding:6px 14px; border-radius:20px; margin-bottom:10px;}

table{width:100%; border-collapse:collapse; margin:20px 0; font-size:13.5px; background:var(--white); border:1px solid var(--slate-200); text-align:left;}
th,td{padding:13px 15px; border-bottom:1px solid var(--slate-200); vertical-align:top;}
th{font-family:var(--font-display); font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:var(--white); background:var(--teal-700);}
tr:last-child td{border-bottom:none;}
td.term{font-weight:700;}
td.basis{font-size:12px; color:oklch(0.4 0.02 250 / 0.55);}
@media(max-width:680px){
  table,thead,tbody,th,td,tr{display:block;}
  thead{display:none;}
  tr{border-bottom:2px solid var(--slate-200); padding:12px 0;}
  td{border:none; padding:4px 0;}
  td::before{content:attr(data-label); display:block; font-size:10.5px; text-transform:uppercase; color:oklch(0.4 0.02 250 / 0.5);}
}
.legislation-footnote{font-size:12.5px; color:oklch(0.4 0.02 250 / 0.55);}
.disclaimer{font-size:12.5px; color:oklch(0.4 0.02 250 / 0.55); margin-top:18px; text-align:left;}

/* ---- steps (werking) ---- */
.steps3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; text-align:left; margin-top:26px;}
@media(max-width:820px){ .steps3{grid-template-columns:1fr;} }
.step{border:1px solid var(--slate-100); border-top:3px solid var(--teal-600); border-radius:12px; padding:20px;}
.step:nth-child(2){border-top-color:var(--brass);}
.step:nth-child(3){border-top-color:var(--stamp);}
.step .step-no{font-size:12px; font-weight:700; color:oklch(0.4 0.02 250 / 0.5); display:block; margin-bottom:12px;}
.step h3{font-size:16px; margin:0 0 8px;}
.step p{font-size:14px; color:oklch(0.4 0.02 250 / 0.75); margin:0;}

/* ---- integraties status grid ---- */
.status-grid{display:grid; grid-template-columns:1fr; max-width:640px; margin:0 auto; gap:12px;}
.statuscard{background:var(--slate-50); border-radius:10px; padding:14px 20px; display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; text-align:left;}
.logobox-sm{font-size:14px; font-weight:700; color:var(--slate-800);}
.logobox-sm.ghost{color:oklch(0.4 0.02 250 / 0.55); font-weight:600;}
.pill{font-size:10.5px; font-weight:800; padding:5px 12px; border-radius:20px; letter-spacing:0.3px; white-space:nowrap;}
.pill.live{background:var(--teal-700); color:var(--white);}
.pill.progress{background:var(--brass); color:#1c1c1c;}
.integ-note{font-size:12.5px; color:oklch(0.4 0.02 250 / 0.55); margin-top:18px; text-align:center;}

/* ============ CTA ============ */
.cta-band{
  background:linear-gradient(120deg, var(--teal-600) 0%, var(--teal-800) 60%, var(--green) 100%);
  border-radius:var(--card-radius); margin:12px 30px; padding:52px 34px; text-align:center; color:var(--white);
  max-width:var(--max);
}
@media (min-width:1240px){ .cta-band{margin-left:auto; margin-right:auto;} }
.cta-band h2{font-size:clamp(24px,3.4vw,34px); margin:0 0 12px; color:var(--white); max-width:20ch; margin-left:auto; margin-right:auto;}
.cta-band p{font-size:15.5px; opacity:0.92; max-width:480px; margin:0 auto 26px;}
.ctabtns{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}

/* ============ FOOTER ============ */
footer.site-footer{
  background:linear-gradient(160deg, var(--slate-900) 0%, var(--teal-950) 70%);
  border-radius:var(--card-radius); margin:12px 30px 30px; padding:40px 34px 22px;
  color:var(--teal-100); overflow:hidden; max-width:var(--max);
}
@media (min-width:1240px){ footer.site-footer{margin-left:auto; margin-right:auto;} }
.footgrid{display:grid; grid-template-columns:repeat(5,1fr); gap:22px;}
@media(max-width:820px){ .footgrid{grid-template-columns:repeat(2,1fr);} }
.footgrid .foothead{font-size:13px; color:var(--white); margin:0 0 12px; padding-bottom:8px; border-bottom:2px solid var(--teal-500); display:inline-block; font-family:var(--font-display);}
.footcol a, .footcol div{display:block; color:oklch(0.85 0.04 200 / 0.75); font-size:12.5px; text-decoration:none; margin-bottom:9px; line-height:1.4;}
.footcol a:hover{color:var(--white);}
.contact-item{display:flex; gap:9px; align-items:flex-start; margin-bottom:13px; font-size:12.5px; color:oklch(0.85 0.04 200 / 0.75);}
.contact-item .ci{width:15px; height:15px; flex:0 0 15px; margin-top:1px;}
.social{display:flex; gap:12px; margin-top:13px;}
.social a{width:28px; height:28px; background:oklch(1 0 0 / 0.08); border-radius:6px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; color:var(--white);}
.footer-note{text-align:center; font-size:12.5px; color:oklch(0.85 0.04 200 / 0.65); margin:0 0 18px;}
.footer-note a{color:var(--teal-100); text-decoration:underline;}
.legalbar{
  border-top:1px solid oklch(1 0 0 / 0.12); margin-top:24px; padding-top:16px;
  display:flex; gap:20px; flex-wrap:wrap; justify-content:center; text-align:center;
  font-size:11.5px; color:oklch(0.85 0.04 200 / 0.55);
}
.legalbar a{color:oklch(0.85 0.04 200 / 0.55); text-decoration:none;}
.legalbar a:hover{color:var(--white);}

/* ============ SEO / GEO ADDITIONS ============ */

.hero-eyebrow{justify-content:center; margin:0 0 14px; position:relative; z-index:2;}
.hero-eyebrow::after{content:""; width:18px; height:1px; background:var(--teal-600); display:inline-block;}

.social a:hover{background:oklch(1 0 0 / 0.16);}

caption.table-label{caption-side:top;}
@media(max-width:680px){ caption.table-label{display:block;} }

.answer-box{
  max-width:760px; margin:22px auto 8px; padding:18px 22px; text-align:left;
  background:var(--white); border:1px solid var(--slate-100); border-left:4px solid var(--teal-600); border-radius:12px;
}
.answer-box .answer-label{display:block; font-size:12px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--teal-700); margin-bottom:6px;}
.answer-box p{margin:0; font-size:15px; line-height:1.6; color:var(--slate-900);}

#faq h2{text-align:center; font-size:clamp(24px,3vw,32px); margin:0 0 24px;}
.faq-list{max-width:760px; margin:0 auto; text-align:left;}
.faq-item{border:1px solid var(--slate-100); border-radius:12px; background:var(--white); margin-bottom:10px;}
.faq-item summary{list-style:none; cursor:pointer; padding:16px 48px 16px 20px; position:relative;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; position:absolute; right:20px; top:50%; transform:translateY(-50%); font-size:20px; color:var(--teal-600); font-weight:500;}
.faq-item[open] summary::after{content:"\2212";}
.faq-item summary:focus-visible{outline:3px solid var(--brass); outline-offset:2px; border-radius:12px;}
.faq-item summary h3{display:inline; font-size:15.5px; font-weight:700; line-height:1.35;}
.faq-item p{margin:0; padding:0 20px 18px; font-size:14.5px; line-height:1.6; color:oklch(0.4 0.02 250 / 0.85);}

/* ============ COOKIE CONSENT ============ */

.cc-banner[hidden], .cc-modal[hidden]{display:none;}
.cc-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:100;
  max-width:var(--max); margin:0 auto;
  background:var(--white); border:1px solid var(--slate-100); border-radius:var(--card-radius);
  box-shadow:0 18px 50px oklch(0.23 0.045 200 / 0.18);
}
.cc-banner-inner{display:flex; gap:20px; align-items:center; justify-content:space-between; padding:20px 24px;}
.cc-title{font-size:17px; margin:0 0 4px;}
.cc-text p{margin:0; font-size:13.5px; color:oklch(0.4 0.02 250 / 0.8); max-width:620px;}
.cc-actions{display:flex; gap:8px; flex-wrap:wrap; flex-shrink:0;}
.cc-actions .btn, .cc-dialog-foot .btn{font-size:13.5px;}
@media(max-width:820px){
  .cc-banner-inner{flex-direction:column; align-items:stretch;}
  .cc-actions .btn{flex:1 1 auto; justify-content:center;}
}
@media(max-width:560px){
  .cc-banner-inner{padding:16px 18px;}
  .hero-eyebrow::before, .hero-eyebrow::after{display:none;}
}

.cc-modal{position:fixed; inset:0; z-index:110; display:flex; align-items:center; justify-content:center; padding:16px; background:oklch(0 0 0 / 0.45);}
.cc-dialog{width:100%; max-width:620px; max-height:calc(100vh - 32px); overflow:auto; background:var(--white); border-radius:var(--card-radius); padding:24px;}
.cc-dialog-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.cc-dialog-head h2{font-size:22px;}
.cc-close{background:none; border:0; padding:6px; border-radius:8px; cursor:pointer; color:var(--slate-500);}
.cc-close:hover{background:var(--slate-50); color:var(--slate-900);}
.cc-close svg{width:22px; height:22px; display:block;}
.cc-option{display:flex; gap:16px; align-items:center; justify-content:space-between; border:1px solid var(--slate-100); border-radius:12px; padding:14px 16px; margin-bottom:10px;}
.cc-option h3{font-size:15px; font-weight:700; margin:0 0 3px;}
.cc-option p{margin:0; font-size:13px; color:oklch(0.4 0.02 250 / 0.75);}
.cc-always{font-size:12.5px; font-weight:600; color:var(--slate-500); white-space:nowrap;}
.cc-switch{position:relative; display:inline-block; width:44px; height:24px; flex-shrink:0; cursor:pointer;}
.cc-switch input{position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer;}
.cc-switch span{position:absolute; inset:0; background:var(--slate-300); border-radius:24px; transition:background .2s; pointer-events:none;}
.cc-switch span::after{content:""; position:absolute; top:2px; left:2px; width:20px; height:20px; background:var(--white); border-radius:50%; transition:transform .2s;}
.cc-switch input:checked + span{background:var(--teal-600);}
.cc-switch input:checked + span::after{transform:translateX(20px);}
.cc-switch input:focus-visible + span{outline:3px solid var(--brass); outline-offset:2px;}
.cc-dialog-foot{display:flex; justify-content:flex-end; margin-top:16px;}

/* ============ PHONE SPACING ============ */
/* Phones: drop the stacked page/card gutters so content uses the width. */
@media (max-width:720px){
  header{padding-top:8px;}
  .wrap-outer{padding:0 8px;}
  .nav{margin:0;}
  .card-section, .cta-band{margin:8px 0;}
  footer.site-footer{margin:8px 0 8px; padding:32px 20px 20px;}
  .hero{padding:40px 20px 36px;}
  .positioning, .empower, .plain, .cta-band{padding:40px 20px;}
}