/* ==========================================================================
   WUKO Okulski — main.css
   ========================================================================== */

/* ---- Fonts (self-hosted) ------------------------------------------------ */
@font-face { font-family:'Barlow'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/barlow-400-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/barlow-400-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/barlow-500-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/barlow-500-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/barlow-600-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/barlow-600-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/barlow-700-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/barlow-700-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:800; font-display:swap; src:url('../fonts/barlow-800-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:800; font-display:swap; src:url('../fonts/barlow-800-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF; }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/barlow-condensed-600-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/barlow-condensed-600-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF; }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/barlow-condensed-700-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/barlow-condensed-700-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:400 800; font-display:swap; src:url('../fonts/manrope-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:400 800; font-display:swap; src:url('../fonts/manrope-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF; }

/* ---- Design tokens ------------------------------------------------------- */
:root{
  --page-bg:#f0eae3;
  --navy-900:#0e072c;
  --navy-800:#120a35;
  --navy-700:#190f41;
  --navy-600:#484286;
  --navy-500:#9a9ac3;
  --navy-border:#3a385b;
  --orange-600:#b94d00;
  --orange-700:#963f00;
  --gold-400:#ffa659;
  --green-600:#005e37;
  --success-bg:#d4f1d4;
  --success-text:#0e4114;
  --gray-50:#f3f5f8;
  --gray-100:#eff2f6;
  --gray-150:#e8ebef;
  --gray-200:#dadee3;
  --gray-250:#d4d8dd;
  --gray-300:#c9ced4;
  --gray-350:#c0c4cb;
  --gray-400:#b2b8bf;
  --gray-450:#a9aeb6;
  --gray-500:#81878d;
  --gray-550:#6d7279;
  --gray-600:#5e646c;
  --gray-650:#535961;
  --gray-700:#484e55;
  --gray-750:#424850;
  --gray-800:#3d434a;
  --gray-850:#343b45;
  --gray-900:#272e38;
  --hero-overlay:#0c0a1d;
  --map-orange:#f58220;
  --map-navy:#2a2270;
  --font-body:'Manrope',sans-serif;
  --font-head:'Barlow',sans-serif;
  --font-head-cond:'Barlow Condensed',sans-serif;
  --font-mono:ui-monospace,Menlo,Consolas,monospace;
  --container-max:1440px;
}
@supports (color: oklch(0 0 0)){
  :root{
    --page-bg:oklch(0.94 0.012 75);
    --navy-900:oklch(0.17 0.07 285);
    --navy-800:oklch(0.19 0.08 285);
    --navy-700:oklch(0.22 0.09 285);
    --navy-600:oklch(0.42 0.11 285);
    --navy-500:oklch(0.7 0.06 285);
    --navy-border:oklch(0.36 0.06 285);
    --orange-600:oklch(0.52 0.16 50);
    --orange-700:oklch(0.45 0.15 50);
    --gold-400:oklch(0.8 0.14 60);
    --green-600:oklch(0.42 0.11 160);
    --success-bg:oklch(0.93 0.05 145);
    --success-text:oklch(0.33 0.09 145);
    --gray-50:oklch(0.97 0.005 255);
    --gray-100:oklch(0.96 0.006 255);
    --gray-150:oklch(0.94 0.006 255);
    --gray-200:oklch(0.9 0.008 255);
    --gray-250:oklch(0.88 0.008 255);
    --gray-300:oklch(0.85 0.01 255);
    --gray-350:oklch(0.82 0.01 255);
    --gray-400:oklch(0.78 0.012 255);
    --gray-450:oklch(0.75 0.012 255);
    --gray-500:oklch(0.62 0.012 255);
    --gray-550:oklch(0.55 0.012 255);
    --gray-600:oklch(0.5 0.015 255);
    --gray-650:oklch(0.46 0.015 255);
    --gray-700:oklch(0.42 0.015 255);
    --gray-750:oklch(0.4 0.015 255);
    --gray-800:oklch(0.38 0.015 255);
    --gray-850:oklch(0.35 0.02 255);
    --gray-900:oklch(0.3 0.02 255);
    --hero-overlay:oklch(0.16 0.04 285);
  }
}

/* ---- Reset / base --------------------------------------------------------*/
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  background:var(--page-bg);
  font-family:var(--font-body);
  color:var(--gray-900);
  line-height:1.5;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,p,ul,figure{margin:0;}
button{font-family:inherit;}
:focus-visible{outline:3px solid var(--orange-600);outline-offset:2px;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

.container{max-width:var(--container-max);margin:0 auto;padding:0 56px;}

.btn{
  display:inline-block;
  font-weight:700;
  text-decoration:none;
  border-radius:4px;
  border:none;
  cursor:pointer;
  font-family:inherit;
  line-height:1.2;
  transition:background-color .15s ease;
}
.btn-orange{background:var(--orange-600);color:#fff;}
.btn-orange:hover,.btn-orange:focus-visible{background:var(--orange-700);}
.btn-navy{background:var(--navy-700);color:#fff;}
.btn-navy:hover,.btn-navy:focus-visible{background:var(--navy-900);}
.btn-outline{background:#fff;color:var(--gray-750);border:1px solid var(--gray-300);}
.btn-outline:hover,.btn-outline:focus-visible{background:var(--gray-100);}
.btn-block{display:block;width:100%;text-align:center;}
.btn-lg{padding:14px 26px;font-size:15.5px;}
.btn-md{padding:13px 24px;font-size:14.5px;}

.whatsapp-btn{
  border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;text-decoration:none;
}
.whatsapp-btn:hover{background:#20bd5a;}

/* ---- Top info bar --------------------------------------------------------*/
.topbar{
  background:var(--navy-800);color:var(--gray-350);
  font-size:12.5px;
  padding:8px 0;
}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 24px;}
.topbar-company{white-space:nowrap;}
.topbar-right{display:flex;gap:18px;align-items:center;}
.topbar-email{display:none;}
.topbar-phone{color:#fff;text-decoration:none;font-weight:700;}
@media (min-width:1024px){ .topbar-email{display:inline;} }

/* ---- Nav ------------------------------------------------------------------*/
.site-nav{
  background:#fff;border-bottom:1px solid var(--gray-200);
  padding:15px 0;
}
.site-nav .container{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.nav-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;}
.nav-logo{height:46px;width:auto;}
.nav-tagline{font-size:10.5px;letter-spacing:.13em;color:var(--gray-600);font-weight:600;line-height:1.6;}
.nav-links{display:none;list-style:none;margin:0;padding:0;gap:26px;font-size:14px;font-weight:600;color:var(--gray-850);}
.nav-links a{text-decoration:none;color:inherit;}
.nav-links a:hover{color:var(--orange-600);}
.nav-cta{display:none;padding:11px 20px;font-size:14.5px;white-space:nowrap;}
.nav-menu-toggle{display:flex;flex-direction:column;gap:4px;background:none;border:none;padding:6px;cursor:pointer;}
.nav-menu-toggle span{width:20px;height:2px;background:var(--gray-900);display:block;}
.nav-call-round{
  width:38px;height:38px;border-radius:50%;background:var(--orange-600);color:#fff;
  display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:17px;
}
@media (min-width:1024px){
  .site-nav{position:static;}
  .nav-logo{height:46px;}
  .nav-links{display:flex;}
  .nav-cta{display:inline-block;}
  .nav-menu-toggle{display:none;}
  .nav-call-round{display:none;}
}
@media (max-width:1023.98px){
  .site-nav{position:sticky;top:0;z-index:20;}
  .nav-logo{height:32px;}
  .nav-tagline{display:none;}
  .topbar .container{flex-wrap:nowrap;}
  .topbar-company{white-space:normal;}
  .topbar-company,.topbar-email{display:none;}
  .topbar-right{width:100%;justify-content:space-between;}
  .nav-links{
    position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;gap:0;
    background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:0 12px 22px rgba(15,27,45,.12);
  }
  .site-nav.nav-open .nav-links{display:flex;}
  .nav-links a{display:block;padding:14px 18px;border-top:1px solid var(--gray-150);}
}

/* ---- Hero ------------------------------------------------------------------*/
.hero{position:relative;overflow:hidden;padding:32px 0 30px;min-height:460px;}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%;}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, color-mix(in oklab, var(--hero-overlay) 30%, transparent) 0%, color-mix(in oklab, var(--hero-overlay) 55%, transparent) 48%, color-mix(in oklab, var(--hero-overlay) 88%, transparent) 100%);
}
.hero-inner{position:relative;z-index:2;display:grid;gap:32px;align-items:end;min-height:398px;}
.hero-badge{font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--gold-400);margin-bottom:12px;}
.hero-title{font-family:var(--font-head);font-weight:800;color:#fff;letter-spacing:-0.01em;margin:0 0 10px;font-size:27px;line-height:1.16;}
.hero-desc{font-size:14px;line-height:1.5;color:var(--gray-100);margin:0 0 14px;max-width:480px;}
.hero-facts{font-size:12.5px;font-weight:600;color:#fff;margin-bottom:20px;}
.hero-cta-row{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.hero-cta-secondary{color:#fff;text-decoration:underline;font-size:13.5px;font-weight:600;text-align:center;}
.hero-cta-online{display:block;}
.hero-counters{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.counter-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:12px 14px;}
.counter-value{font-family:var(--font-head-cond);font-weight:700;font-size:21px;color:#fff;}
.counter-label{font-size:11px;color:var(--gray-200);}

.quote-card{
  background:#fff;border:1px solid var(--gray-250);border-radius:6px;
  padding:24px;box-shadow:0 12px 36px rgba(15,27,45,.22);
}
.quote-card-title{font-family:var(--font-head);font-weight:800;font-size:19px;color:var(--navy-700);margin-bottom:3px;}
.quote-card-sub{font-size:12.5px;color:var(--gray-600);margin-bottom:16px;}
.quote-form{display:flex;flex-direction:column;gap:11px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--gray-750);}
.form-field{width:100%;box-sizing:border-box;padding:11px 13px;border-radius:4px;border:1px solid var(--gray-300);font-size:14px;font-family:inherit;background:#fff;color:var(--gray-900);}
.form-field:focus-visible{border-color:var(--orange-600);}
textarea.form-field{resize:vertical;}
.form-legal{font-size:10.5px;color:var(--gray-550);line-height:1.4;}
.form-legal a{color:var(--gray-550);}
.form-success{background:var(--success-bg);color:var(--success-text);padding:14px 16px;border-radius:4px;font-weight:600;font-size:13.5px;line-height:1.5;}
.form-error{background:#fbdada;color:#7a1c1c;padding:12px 14px;border-radius:4px;font-weight:600;font-size:13px;line-height:1.5;margin-top:10px;}
.hp-field{position:absolute;left:-9999px;top:-9999px;}

@media (min-width:1024px){
  .hero{padding:64px 0;min-height:540px;}
  .hero-overlay{background:linear-gradient(100deg, color-mix(in oklab, var(--hero-overlay) 82%, transparent) 0%, color-mix(in oklab, var(--hero-overlay) 50%, transparent) 32%, color-mix(in oklab, var(--hero-overlay) 12%, transparent) 55%, transparent 74%);}
  .hero-inner{grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:center;min-height:0;}
  .hero-badge{font-size:12.5px;margin-bottom:14px;}
  .hero-title{font-size:44px;margin:0 0 14px;}
  .hero-desc{font-size:16.5px;line-height:1.55;max-width:480px;margin:0 0 22px;}
  .hero-facts{display:none;}
  .hero-cta-row{flex-direction:row;align-items:center;gap:16px;margin-bottom:0;}
  .hero-cta-secondary{text-align:left;}
  .hero-cta-online{display:none;}
  .hero-counters{display:none;}
  .quote-card{width:409px;justify-self:end;}
}
@media (max-width:1023.98px){
  .quote-card-desktop{display:none;}
}

/* ---- Trust bar ------------------------------------------------------------*/
.trust-bar{
  background:#fff;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);
  padding:16px 0;font-size:12.5px;color:var(--gray-650);
}
.trust-bar .container{display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;}
.trust-bar strong{color:var(--gray-850);}

.chip-row{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px;background:#fff;border-bottom:1px solid var(--gray-200);}
.chip{background:var(--gray-100);color:var(--gray-750);padding:6px 11px;border-radius:999px;font-weight:600;font-size:12px;}
@media (min-width:1024px){ .chip-row{display:none;} }

/* ---- Generic section -------------------------------------------------------*/
.section{padding:32px 0;}
.section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;flex-wrap:wrap;}
.section-num{font-family:var(--font-mono);font-size:11.5px;color:var(--orange-600);font-weight:700;}
.section-title{font-family:var(--font-head);font-weight:800;font-size:21px;color:var(--navy-700);margin:0;}
.section-sub{font-size:12.5px;color:var(--gray-600);margin-bottom:20px;}
.section-bg-light{background:#fff;}
.section-bg-gray{background:var(--gray-50);}
@media (min-width:1024px){
  .section{padding:64px 0;}
  .section-head{margin-bottom:36px;}
  .section-num{font-size:13px;}
  .section-title{font-size:30px;}
}

/* ---- Services --------------------------------------------------------------*/
.services-grid,.services-grid-mobile{display:flex;flex-direction:column;gap:20px;}
.services-grid{display:none;}
.service-card{border-top:2px solid var(--navy-700);padding-top:14px;}
.service-num{font-family:var(--font-mono);font-size:11px;color:var(--orange-600);font-weight:700;margin-bottom:8px;}
.service-title{font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--navy-700);margin-bottom:6px;}
.service-desc{font-size:13.5px;line-height:1.5;color:var(--gray-650);}
.service-aud{margin-top:10px;font-size:10px;font-weight:700;line-height:1.45;letter-spacing:.035em;color:var(--navy-600);text-transform:uppercase;}
.service-card-waste .service-title{max-width:24rem;font-size:15.5px;line-height:1.28;}
.service-card-waste .service-desc{max-width:28rem;}
.service-aud-long{max-width:none;font-size:10.5px;line-height:1.45;letter-spacing:.04em;text-transform:uppercase;}
@media (min-width:1024px){
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
  .services-grid-mobile{display:none;}
  .service-card{padding-top:16px;}
  .service-num{font-size:12px;margin-bottom:10px;}
  .service-title{font-size:17px;margin-bottom:7px;}
  .service-desc{font-size:14px;line-height:1.55;}
  .service-aud{margin-top:12px;font-size:10.5px;line-height:1.45;}
  .service-card-waste .service-title{font-size:16.2px;line-height:1.3;}
  .service-aud-long{font-size:10.5px;letter-spacing:.04em;}
}

/* ---- Equipment carousel -----------------------------------------------------*/
.equip-section{background:#fff;}
.equip-wrap{position:relative;overflow:hidden;}
.equip-track{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:0 0 6px;margin:0;list-style:none;scrollbar-width:none;
  max-width:100%;contain:layout paint;scroll-behavior:auto;
}
.equip-track.is-animating{scroll-snap-type:none;}
.equip-track::-webkit-scrollbar{display:none;}
.equip-item{flex:0 0 194px;scroll-snap-align:start;scroll-snap-stop:always;transition:opacity .32s ease;}
.equip-item.is-muted{opacity:.86;}
.equip-thumb{height:140px;border-radius:6px;overflow:hidden;position:relative;border:1px solid var(--gray-250);}
.equip-thumb img{width:100%;height:100%;object-fit:cover;}
.equip-title{margin-top:9px;font-weight:700;font-size:13.5px;color:var(--navy-700);}
.equip-sub{font-size:11.5px;color:var(--gray-600);margin-top:2px;}
.equip-nav-btn{
  position:absolute;top:50px;width:38px;height:38px;border-radius:50%;background:#fff;
  border:1px solid var(--gray-300);box-shadow:0 2px 8px rgba(15,27,45,.1);
  display:none;align-items:center;justify-content:center;font-size:16px;color:var(--gray-850);cursor:pointer;
}
.equip-nav-btn:hover{background:var(--gray-100);}
.equip-nav-btn:disabled{opacity:.35;cursor:default;pointer-events:none;}
.equip-nav-prev{left:-18px;}
.equip-nav-next{right:-18px;}
.equip-dots{display:flex;gap:4px;justify-content:center;margin-top:18px;}
.equip-dot{width:24px;height:24px;border-radius:50%;background:transparent;cursor:pointer;border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;}
.equip-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gray-300);transition:width .24s ease,background-color .24s ease;}
.equip-dot[aria-current="true"]::before{width:20px;height:7px;border-radius:4px;background:var(--orange-600);}
@media (prefers-reduced-motion:reduce){
  .equip-item,.equip-dot::before{transition:none;}
}
@media (min-width:1024px){
  .equip-item{flex:0 0 280px;}
  .equip-thumb{height:190px;}
  .equip-title{margin-top:10px;font-size:14.5px;}
  .equip-sub{font-size:12.5px;}
  .equip-nav-btn{display:flex;top:80px;}
  .equip-dots{margin-top:20px;}
}

/* ---- B2C / B2B --------------------------------------------------------------*/
.b2b-grid{display:flex;flex-direction:column;gap:14px;}
.b2b-card{background:#fff;border:1px solid var(--gray-250);border-radius:8px;padding:20px;}
.b2b-tag{font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;}
.b2b-tag-individual{color:var(--orange-600);}
.b2b-tag-public{color:var(--navy-600);}
.b2b-tag-business{color:var(--green-600);}
.b2b-title{font-family:var(--font-head);font-weight:800;font-size:17px;color:var(--navy-800);margin-bottom:12px;}
.b2b-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.b2b-list li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--gray-800);list-style:none;}
.b2b-list li::before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:6px;background:currentColor;}
.b2b-card-individual .b2b-list li{color:var(--gray-800);}
.b2b-card-individual .b2b-list li::before{background:var(--orange-600);}
.b2b-card-public .b2b-list li::before{background:var(--navy-600);}
.b2b-card-business .b2b-list li::before{background:var(--green-600);}
@media (min-width:1024px){
  .b2b-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  .b2b-card{padding:28px;border-radius:6px;}
  .b2b-title{font-size:20px;margin-bottom:16px;}
  .b2b-list{gap:11px;margin-bottom:26px;}
  .b2b-list li{font-size:14px;}
}

.mobile-quote-section{background:#fff;padding:32px 0;}
.quote-card-mobile{box-shadow:none;border:none;padding:0;width:auto;}
@media (min-width:1024px){
  .mobile-quote-section{display:none;}
}

/* ---- Method WUKO -------------------------------------------------------------*/
.method-list{display:flex;flex-direction:column;gap:22px;position:relative;padding-left:22px;border-left:2px solid var(--gray-250);margin-bottom:26px;}
.method-step{position:relative;}
.method-step::before{content:"";position:absolute;left:-28px;top:0;width:11px;height:11px;border-radius:50%;background:var(--orange-600);border:2px solid var(--page-bg);}
.method-step-num{display:none;}
.method-step-title{font-weight:700;font-size:14.5px;color:var(--navy-800);margin-bottom:3px;}
.method-step-desc{font-size:13px;line-height:1.5;color:var(--gray-650);}
.method-benefits{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--gray-200);padding-top:22px;font-size:13.5px;color:var(--gray-750);}
.method-benefits strong{color:var(--navy-700);}
.method-contaminants{margin-top:14px;font-size:13px;color:var(--gray-600);}
@media (min-width:1024px){
  .method-list{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;border-left:none;padding-left:0;margin-bottom:34px;}
  .method-step{border-left:2px solid var(--gray-250);padding-left:18px;}
  .method-step::before{display:none;}
  .method-step-num{display:block;font-family:var(--font-head-cond);font-weight:700;font-size:22px;color:var(--navy-500);margin-bottom:8px;}
  .method-step-title{font-size:15px;}
  .method-step-desc{font-size:13.5px;line-height:1.55;}
  .method-benefits{flex-direction:row;gap:36px;flex-wrap:wrap;font-size:14px;}
}

/* ---- Callout ------------------------------------------------------------------*/
.callout{background:var(--navy-700);padding:22px 0;}
.callout .container{display:flex;flex-direction:column;gap:14px;}
.callout-text{color:#fff;font-size:14.5px;font-weight:600;line-height:1.5;}
.callout-text em{color:var(--gold-400);font-style:normal;}
@media (min-width:1024px){
  .callout .container{flex-direction:row;justify-content:space-between;align-items:center;gap:24px;}
  .callout-text{font-size:16px;}
}

/* ---- Area / Map ----------------------------------------------------------------*/
.area-grid{display:flex;flex-direction:column;gap:18px;}
.map-panel{border:1px solid var(--gray-250);border-radius:8px;overflow:hidden;position:relative;height:220px;}
.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--gray-100);padding:16px;text-align:center;}
.map-placeholder p{font-size:12px;color:var(--gray-600);line-height:1.4;max-width:320px;}
#map{position:absolute;inset:0;}
.area-info-row{border-bottom:1px solid var(--gray-200);padding:14px 0;}
.area-info-row:first-child{padding-top:0;}
.area-info-label{font-size:12px;font-weight:600;color:var(--gray-600);margin-bottom:3px;}
.area-info-value{font-weight:700;font-size:14.5px;color:var(--navy-700);}
.area-towns{font-size:13px;line-height:1.7;color:var(--gray-800);}
@media (min-width:1024px){
  .area-grid{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start;}
  .map-panel{height:480px;}
  .area-info-value{font-size:15px;}
}

/* ---- FAQ --------------------------------------------------------------------*/
.faq-section{background:var(--gray-50);}
.faq-list{max-width:960px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--gray-250);}
.faq-q{
  padding:14px 2px;display:flex;justify-content:space-between;align-items:center;gap:12px;
  cursor:pointer;user-select:none;background:none;border:none;width:100%;text-align:left;font-family:inherit;
}
.faq-q-text{font-weight:700;font-size:14px;color:var(--navy-700);}
.faq-sign{font-size:17px;color:var(--orange-600);font-weight:700;flex-shrink:0;}
.faq-a{padding:0 2px 14px;font-size:13px;line-height:1.55;color:var(--gray-650);}
@media (min-width:1024px){
  .faq-q{padding:17px 4px;}
  .faq-q-text{font-size:15.5px;}
  .faq-sign{font-size:19px;}
  .faq-a{padding:0 4px 18px;font-size:14.5px;line-height:1.6;}
}

/* ---- Footer -------------------------------------------------------------------*/
.site-footer{background:var(--navy-800);color:#fff;padding:28px 0 0;}
.footer-top{padding-bottom:24px;}
.footer-logo{width:auto;max-width:180px;height:32px;margin-bottom:16px;}
.footer-title{font-family:var(--font-head);font-weight:800;font-size:20px;margin:0 0 10px;}
.footer-desc{display:none;}
.footer-contact-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.footer-phone{color:#fff;text-decoration:none;font-family:var(--font-head);font-weight:800;font-size:22px;}
.footer-address{font-size:13px;line-height:1.8;color:var(--gray-400);margin-bottom:16px;}
.footer-bottom{border-top:1px solid var(--navy-border);padding:14px 0 100px;font-size:11.5px;color:var(--gray-500);}
.footer-bottom a{color:var(--gray-500);text-decoration:underline;}
@media (min-width:1024px){
  .site-footer{padding:56px 0 0;}
  .footer-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-bottom:44px;}
  .footer-logo{max-width:220px;height:40px;}
  .footer-title{font-size:28px;}
  .footer-desc{display:block;font-size:14.5px;line-height:1.65;color:var(--gray-400);max-width:560px;}
  .footer-col-right{text-align:right;}
  .footer-contact-row{justify-content:flex-end;}
  .footer-phone{font-size:30px;}
  .footer-address{font-size:14px;line-height:1.9;color:var(--gray-400);}
  .footer-bottom{display:flex;justify-content:space-between;padding:16px 0;font-size:12px;}
  .footer-bottom-right{display:flex;gap:18px;align-items:center;}
}

/* ---- Cookie consent -------------------------------------------------------------*/
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:1000;
  background:#fff;border-top:1px solid var(--gray-250);
  box-shadow:0 -10px 30px rgba(15,27,45,.16);overflow:hidden;
}
.cookie-banner[hidden]{display:none;}
.cookie-panel{max-width:var(--container-max);margin:0 auto;padding:16px 18px;}
.cookie-title{font-weight:800;font-family:var(--font-head);font-size:14.5px;color:var(--navy-700);margin-bottom:8px;}
.cookie-text{font-size:12.5px;line-height:1.5;color:var(--gray-750);margin-bottom:12px;}
.cookie-text a{color:var(--navy-700);font-weight:700;}
.cookie-actions{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
.cookie-actions .btn{flex:1;white-space:nowrap;}
.cookie-adjust{width:100%;background:none;color:var(--navy-600);border:none;padding:6px 4px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:underline;font-family:inherit;}
.cookie-settings-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;}
.cookie-setting-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid var(--gray-150);padding-bottom:12px;}
.cookie-setting-row:last-child{border-bottom:none;padding-bottom:0;}
.cookie-setting-name{font-weight:700;font-size:12.5px;color:var(--navy-700);margin-bottom:2px;}
.cookie-setting-desc{font-size:11.5px;color:var(--gray-600);line-height:1.4;}
.cookie-switch{
  width:34px;height:19px;border-radius:999px;background:var(--gray-300);flex-shrink:0;position:relative;
  margin-top:2px;cursor:pointer;border:none;padding:0;
}
.cookie-switch[disabled]{cursor:default;}
.cookie-switch::after{content:"";position:absolute;top:1.5px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:left .15s ease;}
.cookie-switch[aria-checked="true"]{background:var(--orange-600);}
.cookie-switch[aria-checked="true"]::after{left:17px;}
@media (min-width:1024px){
  .cookie-panel{padding:20px 56px;}
  .cookie-title{font-size:16px;}
  .cookie-text{font-size:13.5px;line-height:1.55;margin-bottom:16px;}
  .cookie-actions .btn{flex:none;}
}

/* ---- Section anchor offset for sticky nav --------------------------------------*/
section[id]{scroll-margin-top:76px;}

/* ---- Legal / policy page --------------------------------------------------------*/
.legal-main{padding:32px 0 64px;}
.legal-wrap{max-width:760px;margin:0 auto;padding:0 18px;}
.legal-logo{height:36px;margin-bottom:18px;}
.legal-title{font-family:var(--font-head);font-weight:800;font-size:24px;color:var(--navy-700);margin:0 0 6px;}
.legal-updated{font-size:12.5px;color:var(--gray-600);margin:0 0 28px;}
.legal-content h2{font-family:var(--font-head);font-weight:700;font-size:17px;color:var(--navy-700);margin:26px 0 10px;}
.legal-content h3{font-family:var(--font-head);font-weight:700;font-size:14.5px;color:var(--navy-700);margin:18px 0 8px;}
.legal-content p{font-size:14px;line-height:1.65;margin:0 0 12px;color:var(--gray-900);}
.legal-content ul{font-size:14px;line-height:1.65;margin:0 0 12px;padding-left:22px;color:var(--gray-900);}
.legal-content a{color:var(--navy-600);font-weight:600;}
.legal-back{display:inline-block;margin-top:20px;font-size:13px;color:var(--navy-600);font-weight:700;text-decoration:none;}
@media (min-width:1024px){
  .legal-title{font-size:28px;}
  .legal-content h2{font-size:19px;}
  .legal-content h3{font-size:15.5px;}
  .legal-content p,.legal-content ul{font-size:14.5px;}
}
