/* KzNet — redesign
   Tokens: paleta em tons de verde (marca original refinada), neutros claros.
   Tipografia: Space Grotesk (display) + Work Sans (texto/UI). */

@font-face-fallback { }

:root{
  --ink: #0B1D14;
  --ink-soft: #3C4A42;
  --forest: #0E5C34;
  --forest-dark: #0A3B22;
  --forest-deep: #082A18;
  --paper: #F5F6F0;
  --sand: #E7EDE2;
  --line: #D6DED1;
  --white: #FFFFFF;

  --brand-green: #008001;
  --brand-green-mid: #4FA750;
  --section-green: #6BB56C;
  --green-deep: #06331D;

  --display: "Space Grotesk", "Work Sans", system-ui, sans-serif;
  --body: "Work Sans", system-ui, -apple-system, sans-serif;

  --max: 1180px;
  --gutter: clamp(20px, 5vw, 40px);
  --radius: 14px;
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *{ animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

body{
  margin:0;
  font-family: var(--body);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; }

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

h1,h2,h3{
  font-family: var(--display);
  color: var(--forest-dark);
  line-height: 1.1;
  margin: 0;
  letter-spacing: -0.01em;
}

h2{ font-size: clamp(1.7rem, 2.6vw, 2.3rem); }
h3{ font-size: 1.15rem; }

p{ margin: 0; }

:focus-visible{
  outline: 2.5px solid var(--forest);
  outline-offset: 3px;
}

/* Buttons */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 24px;
  border-radius: 999px;
  font-family: var(--body);
  font-weight: 600;
  font-size: 0.98rem;
  text-decoration: none;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: transform .15s ease, background .2s ease, border-color .2s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn-primary{ background: var(--forest); color: var(--white); }
.btn-primary:hover{ background: var(--forest-dark); }
.btn-outline{ background: transparent; border-color: var(--forest); color: var(--forest-dark); }
.btn-outline:hover{ background: var(--forest); color: var(--white); }
.btn-outline-light{ background: transparent; border-color: rgba(255,255,255,.5); color: var(--white); }
.btn-outline-light:hover{ background: rgba(255,255,255,.12); border-color: var(--white); }
.btn-block{ width:100%; }

/* Header */
.site-header{
  position: sticky;
  top:0;
  z-index: 50;
  background: rgba(245,246,240,.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 12px;
  padding-bottom: 12px;
}
.logo img{ height: 34px; width:auto; }
.logo{ display:flex; align-items:center; flex-shrink:0; }

.main-nav{ display:flex; align-items:center; gap: 28px; }
.main-nav a{
  text-decoration:none;
  color: var(--ink-soft);
  font-size: .96rem;
  font-weight: 500;
}
.main-nav a:hover{ color: var(--forest-dark); }

.header-actions{ display:flex; align-items:center; gap: 18px; }
.header-phone{
  display:flex;
  flex-direction:column;
  line-height: 1.25;
  font-size: .85rem;
  color: var(--ink-soft);
  text-decoration:none;
}
.header-phone strong{ color: var(--forest-dark); font-size: .98rem; }

.nav-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  padding: 6px;
}
.nav-toggle span{
  display:block;
  width: 24px;
  height: 2px;
  background: var(--forest-dark);
  margin: 5px 0;
  transition: transform .2s ease, opacity .2s ease;
}

/* Product nav (Residencial / Empresas / Celulares / Combos) */
.product-nav{ background: var(--forest-dark); }
.product-nav .container{
  display:flex;
  gap: 6px;
  padding-top: 10px;
  padding-bottom: 10px;
  overflow-x: auto;
}
.product-nav a{
  padding: 7px 18px;
  border-radius: 999px;
  font-size: .88rem;
  font-weight: 500;
  color: rgba(255,255,255,.7);
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}
.product-nav a:hover{ color: #fff; }
.product-nav a.active{ background: var(--brand-green-mid); color: var(--white); font-weight: 600; }

/* Simple page hero (subpages) */
.page-hero{ padding: clamp(40px, 6vw, 64px) 0 clamp(20px, 4vw, 28px); }
.page-hero h1{ font-size: clamp(2rem, 4vw, 2.7rem); max-width: 18ch; }
.page-hero p{ margin-top: 14px; color: var(--ink-soft); max-width: 54ch; font-size: 1.04rem; }

/* Hero */
.hero{
  position: relative;
  overflow: hidden;
  padding: clamp(48px, 8vw, 96px) 0 clamp(56px, 8vw, 104px);
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: repeating-linear-gradient(115deg, rgba(14,92,52,.05) 0 2px, transparent 2px 46px);
  z-index:0;
}
.hero .container{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(32px, 5vw, 64px);
  align-items:center;
  position: relative;
  z-index: 2;
}
.hero-copy h1{
  font-size: clamp(2.3rem, 4.6vw, 3.5rem);
  max-width: 12ch;
}
.hero-copy p{
  margin-top: 20px;
  max-width: 46ch;
  color: var(--ink-soft);
  font-size: 1.08rem;
}
.hero-actions{
  margin-top: 32px;
  display:flex;
  gap: 14px;
  flex-wrap: wrap;
}
.hero-note{
  margin-top: 28px;
  display:flex;
  gap: 22px;
  flex-wrap: wrap;
  font-size: .88rem;
  color: var(--ink-soft);
}
.hero-note span{ display:flex; align-items:center; gap:8px; }
.hero-note svg{ width:16px; height:16px; color: var(--forest); flex-shrink:0; }

.hero-figure{
  position: relative;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  gap: 18px;
  min-height: 320px;
}
.signal-pulse{
  position:absolute;
  right:-30px;
  top:50%;
  transform:translateY(-50%);
  width: min(360px, 90%);
  height: min(360px, 90%);
  color: var(--forest);
  opacity:.14;
}
@media (prefers-reduced-motion: no-preference){
  .signal-pulse circle{ animation: signal-breathe 3.6s ease-in-out infinite; transform-origin:center; }
  .signal-pulse circle:nth-child(2){ animation-delay:.25s; }
  .signal-pulse circle:nth-child(3){ animation-delay:.5s; }
  .signal-pulse circle:nth-child(4){ animation-delay:.75s; }
}
@keyframes signal-breathe{ 0%,100%{ opacity:.4; } 50%{ opacity:1; } }

.speed-gauge{
  position:relative;
  z-index:1;
  width: min(300px, 72vw);
  height: min(300px, 72vw);
  display:flex;
  align-items:center;
  justify-content:center;
}
.gauge-ring{ position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); }
.gauge-track{ fill:none; stroke: rgba(10,59,34,.08); stroke-width:10; }
.gauge-progress{
  fill:none;
  stroke: url(#gaugeGrad);
  stroke-width:10;
  stroke-linecap:round;
  stroke-dasharray: 540.4;
  stroke-dashoffset: 43;
}
@media (prefers-reduced-motion: no-preference){
  .gauge-progress{
    stroke-dashoffset: 540.4;
    animation: gauge-fill 1.6s cubic-bezier(.16,.84,.44,1) .15s forwards;
  }
}
@keyframes gauge-fill{ to{ stroke-dashoffset: 43; } }

.gauge-live{
  position:absolute;
  top:0;
  left:50%;
  transform:translate(-50%,-55%);
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:6px;
  background: var(--white);
  border:1px solid var(--line);
  padding:6px 13px;
  border-radius:999px;
  font-size:.72rem;
  color: var(--ink-soft);
  box-shadow: 0 10px 22px -14px rgba(10,59,34,.35);
  white-space:nowrap;
}
.gauge-live .dot{ width:7px; height:7px; border-radius:50%; background:#2FAE5A; flex-shrink:0; }
@media (prefers-reduced-motion: no-preference){
  .gauge-live .dot{ animation: dot-pulse 1.8s ease-in-out infinite; }
}
@keyframes dot-pulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(47,174,90,.45); }
  50%{ box-shadow:0 0 0 6px rgba(47,174,90,0); }
}

.gauge-center{ position:relative; z-index:1; text-align:center; padding: 0 12px; }
.gauge-value{
  font-family: var(--display);
  font-weight:700;
  font-size: clamp(2.6rem, 7vw, 3.7rem);
  color: var(--forest-dark);
  line-height:1;
  font-variant-numeric: tabular-nums;
}
.gauge-unit{ margin-top:4px; font-size:.85rem; color: var(--ink-soft); font-weight:500; }
.gauge-meta{ margin-top:16px; display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.gauge-meta span{
  display:flex; align-items:center; gap:5px;
  font-size:.68rem; color: var(--ink-soft);
  background: var(--paper); border:1px solid var(--line);
  padding:4px 9px; border-radius:999px;
}
.gauge-meta svg{ width:11px; height:11px; color: var(--forest); flex-shrink:0; }

.gauge-caption{ text-align:center; font-size:.85rem; color: var(--ink-soft); max-width:24ch; }

/* Section spacing */
section{ padding: clamp(56px, 8vw, 88px) 0; }
.section-head{
  max-width: 62ch;
  margin-bottom: clamp(32px, 5vw, 48px);
}
.section-head p{ margin-top: 12px; color: var(--ink-soft); font-size: 1.02rem; }

/* Plans carousel */
.plans{ background: var(--section-green); padding-bottom: clamp(56px, 8vw, 88px); }
.plans-heading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 16px;
  text-align:center;
  margin-bottom: clamp(32px, 5vw, 48px);
  flex-wrap: wrap;
}
.plans-heading h2{ color: var(--forest-dark); font-weight:500; font-size: clamp(1.5rem, 2.6vw, 2rem); }
.plans-heading h2 strong{ color: var(--brand-green); font-weight:700; }
.arrow-badge{
  width: 40px; height:40px;
  border-radius:50%;
  background: var(--forest-dark);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.arrow-badge svg{ width:18px; height:18px; }

.carousel{
  display:flex;
  align-items:center;
  gap: 14px;
}
.carousel-btn{
  flex-shrink:0;
  width: 44px; height:44px;
  border-radius:50%;
  border: none;
  background: rgba(255,255,255,.25);
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition: background .2s ease;
}
.carousel-btn:hover{ background: rgba(255,255,255,.4); }
.carousel-btn svg{ width:20px; height:20px; }
.carousel-viewport{ flex:1; min-width:0; overflow:hidden; }
.carousel-track{
  display:flex;
  will-change: transform;
}
.carousel-slide{
  flex: 0 0 calc(100% / var(--per-view, 3));
  padding: 6px 12px;
  box-sizing: border-box;
}

/* Plan card v2 (carousel) */
.plan2{
  background: var(--white);
  border-radius: 22px;
  padding: 30px 26px;
  height:100%;
  display:flex;
  flex-direction:column;
  box-shadow: 0 18px 40px -28px rgba(10,59,34,.4);
}
.plan2-name{
  font-family: var(--display);
  font-weight:700;
  font-size: 1.4rem;
  color: var(--brand-green);
  text-align:center;
}
.plan2-badge{
  margin: 14px auto 0;
  background: var(--forest-dark);
  color:#fff;
  font-family: var(--display);
  font-weight:700;
  font-size: 1.15rem;
  padding: 9px 22px;
  border-radius: 999px;
  text-align:center;
}
.plan2-badge span{ font-size:.85rem; font-weight:500; margin-left:4px; }
.plan2-services-label{ margin-top:18px; text-align:center; font-size:.82rem; color: var(--brand-green); }
.plan2-services{ display:flex; justify-content:center; gap:8px; margin-top:8px; }
.plan2-services img{ width:38px; height:38px; border-radius:9px; }
.plan2-features{ list-style:none; padding:0; margin: 20px 0 22px; display:flex; flex-direction:column; flex-grow:1; }
.plan2-features li{
  display:flex;
  align-items:center;
  gap: 10px;
  font-size: .92rem;
  color: var(--brand-green);
  padding: 9px 0;
  border-bottom: 1px solid #E4EFE4;
}
.plan2-features li:last-child{ border-bottom:none; }
.plan2-features svg{ width:18px; height:18px; color: var(--forest-dark); flex-shrink:0; }
.plan2-price{ text-align:center; color: var(--brand-green); font-size: 1rem; }
.plan2-price strong{ font-size:1.25rem; color: var(--forest-dark); }
.plan2-cta{
  margin-top: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background: var(--brand-green);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  font-size:.95rem;
  padding: 13px 20px;
  border-radius: 999px;
  transition: transform .15s ease, background .2s ease;
}
.plan2-cta svg{ width:17px; height:17px; }
.plan2-cta:hover{ background: var(--forest-dark); transform: translateY(-1px); }

.plan2.featured{ background: var(--brand-green-mid); border: 2px solid var(--brand-green); }
.plan2.featured .plan2-name{ color:#fff; }
.plan2.featured .plan2-services-label{ color:#fff; }
.plan2.featured .plan2-features li{ color:#fff; border-bottom-color: rgba(255,255,255,.25); }
.plan2.featured .plan2-features svg{ color:#fff; }
.plan2.featured .plan2-price{ color:#fff; }
.plan2.featured .plan2-price strong{ color:#fff; }
.plan2.featured .plan2-cta{ background: var(--forest-dark); }
.plan2.featured .plan2-cta:hover{ background: var(--forest); }

@media (max-width: 640px){
  .carousel{ gap: 8px; }
  .carousel-btn{ width:36px; height:36px; }
  .carousel-btn svg{ width:16px; height:16px; }
}

/* Diferenciais */
.diferenciais-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
}
.diferencial{
  padding: 28px 24px 0;
  border-left: 1px solid var(--line);
}
.diferencial:first-child{ border-left:none; }
.diferencial svg{ width: 30px; height:30px; color: var(--forest); }
.diferencial h3{ margin-top: 18px; }
.diferencial p{ margin-top: 8px; color: var(--ink-soft); font-size: .95rem; }

/* Sobre */
.sobre{ background: var(--sand); }
.sobre .container{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 6vw, 72px);
  align-items:center;
}
.sobre-figure{
  position:relative;
  border-radius: 0 90px 0 24px;
  overflow:hidden;
  aspect-ratio: 4/3.6;
}
.sobre-figure img{ width:100%; height:100%; object-fit:cover; }
.sobre-copy p{ color: var(--ink-soft); font-size: 1.04rem; }
.sobre-copy p + p{ margin-top: 16px; }
.sobre-copy h2{ margin-bottom: 18px; }

/* App CTA band */
.app-cta{ background: var(--forest-dark); color: var(--white); }
.app-cta .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.app-cta h2{ color: var(--white); max-width: 16ch; }
.app-cta p{ margin-top: 10px; color: rgba(255,255,255,.72); max-width: 42ch; }
.app-cta-actions{ display:flex; align-items:center; gap: 16px; flex-wrap: wrap; }
.store-badges{ display:flex; gap: 10px; }
.store-badges img{ height: 42px; width:auto; }

/* App download (Central do Cliente, with phone mockup) */
.app-download{ background: var(--white); overflow:hidden; }
.app-download .container{
  display:grid;
  grid-template-columns: 0.9fr 1fr;
  align-items:center;
  gap: clamp(24px, 5vw, 56px);
}
.app-download-figure{ display:flex; justify-content:center; }
.app-download-figure img{ max-width: 380px; width:100%; height:auto; }
.app-download-copy h2{
  font-weight:500;
  font-size: clamp(2rem, 4vw, 2.7rem);
  color: var(--brand-green);
  line-height:1.05;
}
.app-download-copy h2 strong{ display:block; font-weight:800; }
.app-download-copy p{ margin-top:14px; color: var(--brand-green); font-size:1.1rem; }
.app-download-copy .btn{ margin-top: 22px; }
.app-download-copy .btn-primary{ background: var(--brand-green); color: #fff; }
.app-download-copy .btn-primary:hover{ background: var(--forest-dark); }
.app-download-copy .store-badges{ margin-top: 26px; }

@media (max-width: 900px){
  .app-download .container{ grid-template-columns: 1fr; text-align:center; }
  .app-download-copy p{ margin-left:auto; margin-right:auto; }
  .app-download-copy .store-badges{ justify-content:center; }
  .app-download-figure{ order:-1; }
}

/* Atendimento */
.atendimento-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.atendimento-card{
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap: 12px;
  transition: border-color .2s ease;
}
.atendimento-card:hover{ border-color: var(--forest); }
.atendimento-card svg{ width:24px; height:24px; color: var(--forest); }
.atendimento-card h3{ font-size: 1rem; }
.atendimento-card span{ font-size: .88rem; color: var(--ink-soft); }

/* Footer */
footer{
  background: var(--forest-deep);
  color: rgba(255,255,255,.75);
  padding: 44px 0 28px;
  font-size: .9rem;
}
.footer-top{
  display:flex;
  justify-content:space-between;
  gap: 32px;
  flex-wrap:wrap;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.footer-brand img{ height: 26px; filter: brightness(0) invert(1); opacity:.9; }
.footer-brand p{ margin-top: 12px; max-width: 34ch; color: rgba(255,255,255,.55); }
.footer-cols{ display:flex; gap: 56px; flex-wrap:wrap; }
.footer-col h4{
  font-family: var(--body);
  font-size: .82rem;
  color: rgba(255,255,255,.5);
  margin: 0 0 12px;
  font-weight: 600;
}
.footer-col a, .footer-col span{
  display:block;
  text-decoration:none;
  color: rgba(255,255,255,.78);
  margin-bottom: 8px;
}
.footer-col a:hover{ color: var(--brand-green-mid); }
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap: 16px;
  flex-wrap:wrap;
  padding-top: 20px;
  color: rgba(255,255,255,.45);
  font-size: .82rem;
}
.footer-social{ display:flex; gap: 14px; }
.footer-social svg{ width:18px; height:18px; }

/* Responsive */
@media (max-width: 980px){
  .main-nav{ display:none; }
  .nav-toggle{ display:block; }
  .header-phone{ display:none; }
  .hero .container{ grid-template-columns: 1fr; }
  .hero-figure{ order:-1; min-height: 240px; }
  .diferenciais-grid{ grid-template-columns: repeat(2, 1fr); }
  .diferencial:nth-child(2){ border-left:none; }
  .diferencial:nth-child(3){ border-left:none; border-top: 1px solid var(--line); padding-top:28px; }
  .diferencial:nth-child(4){ border-top: 1px solid var(--line); padding-top:28px; }
  .sobre .container{ grid-template-columns: 1fr; }
  .sobre-figure{ order:-1; max-width: 420px; }
  .atendimento-grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px){
  .diferenciais-grid{ grid-template-columns: 1fr; }
  .diferencial{ border-left:none !important; border-top: 1px solid var(--line); padding-top:28px !important; }
  .diferencial:first-child{ border-top:none; }
  .atendimento-grid{ grid-template-columns: 1fr; }
  .app-cta .container{ flex-direction:column; align-items:flex-start; }
  .footer-top, .footer-bottom{ flex-direction:column; }
}

/* Mobile nav panel */
.mobile-nav{
  display:none;
  flex-direction:column;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  padding: 8px var(--gutter) 20px;
}
.mobile-nav.open{ display:flex; }
.mobile-nav a{
  padding: 12px 0;
  text-decoration:none;
  color: var(--ink);
  font-weight:500;
  border-bottom: 1px solid var(--line);
}
.mobile-nav .btn{ margin-top: 14px; }

/* Floating WhatsApp button */
.whatsapp-float{
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 60;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--brand-green);
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 14px 30px -10px rgba(6,51,29,.55);
  transition: transform .2s ease, background .2s ease;
}
.whatsapp-float:hover{ background: var(--forest-dark); transform: translateY(-2px); }
.whatsapp-float svg{ width:28px; height:28px; }
@media (max-width: 640px){
  .whatsapp-float{ right:16px; bottom:16px; width:52px; height:52px; }
  .whatsapp-float svg{ width:25px; height:25px; }
}

/* FAQ accordion */
.faq{ background: var(--white); }
.faq-list{ max-width: 760px; margin: 0 auto; }
.faq-item{
  border-bottom: 1px solid var(--line);
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding: 20px 32px 20px 0;
  position:relative;
  font-family: var(--display);
  font-weight:600;
  font-size: 1.02rem;
  color: var(--forest-dark);
  display:flex;
  align-items:center;
  gap:14px;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::marker{ content:""; }
.faq-item summary .faq-icon{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:22px; height:22px;
  border-radius:50%;
  border:1.5px solid var(--forest);
  color: var(--forest);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.faq-item summary .faq-icon svg{ width:12px; height:12px; }
.faq-item[open] summary .faq-icon{ background: var(--forest); color:#fff; transform:translateY(-50%) rotate(180deg); }
.faq-item p{
  margin: 0 32px 22px 0;
  color: var(--ink-soft);
  font-size: .95rem;
  max-width: 68ch;
}

/* Cookie / LGPD banner */
.cookie-banner{
  position: fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index: 70;
  max-width: 620px;
  margin: 0 auto;
  background: var(--forest-deep);
  color: rgba(255,255,255,.88);
  padding: 18px 20px;
  border-radius: 16px;
  display:none;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  box-shadow: 0 20px 50px -20px rgba(0,0,0,.5);
}
.cookie-banner.show{ display:flex; }
.cookie-banner p{ margin:0; font-size:.85rem; flex:1; min-width:220px; }
.cookie-banner a{ color:#fff; text-decoration:underline; }
.cookie-banner .btn{ flex-shrink:0; padding: 10px 20px; font-size:.88rem; }
