/* =====================================================================
   STATEO — folha de estilos (layout moderno)
   Paleta retirada do logótipo: índigo da palavra STATEO, verde-água → azul
   do ícone, e o amarelo iBlow como único acento forte.
   ===================================================================== */
:root{
  --ink:#1D1830;          /* texto principal, fundos escuros */
  --indigo:#2B2342;       /* cor da marca */
  --indigo-2:#3A3159;
  --petrol:#1F7486;       /* ligações e acções secundárias */
  --aqua:#63C2B0;         /* decorativo, a partir do ícone */
  --sky:#2F77A3;
  --mist:#F2F5F4;         /* fundo alternado */
  --mist-2:#E7EDEC;
  --line:#DCE3E3;
  --muted:#5D6675;
  --white:#FFFFFF;

  --iblow:#FFD100;
  --iblow-deep:#E6BC00;
  --iblow-soft:#FFF4BF;
  --wa:#25D366;
  --wa-deep:#1EBE5A;
  --ok:#12894A;
  --warn:#B86E00;
  --bad:#C43D3D;

  --font-display:"Saira", "Figtree", system-ui, sans-serif;
  --font-body:"Figtree", "Segoe UI", system-ui, sans-serif;

  --r-lg:28px;   /* painéis */
  --r-md:18px;   /* cartões */
  --r-sm:12px;   /* botões, campos */
  --container:1240px;
  --header-h:76px;
  --gap:clamp(20px, 3vw, 32px);
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 24px); }
body{
  margin:0; font-family:var(--font-body); font-size:16px; line-height:1.6;
  color:var(--ink); background:var(--white);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
p{ margin:0; }
h1,h2,h3,h4{ font-family:var(--font-display); margin:0; color:var(--ink); line-height:1.08; font-weight:700; letter-spacing:-.015em; }
h3{ font-weight:600; letter-spacing:-.005em; line-height:1.2; }
h4{ font-weight:600; letter-spacing:0; line-height:1.25; }
section{ position:relative; }
:focus-visible{ outline:3px solid var(--sky); outline-offset:3px; border-radius:6px; }
[hidden]{ display:none !important; }
main{ display:block; }
code{ font-family:ui-monospace, "Cascadia Code", Consolas, monospace; font-size:.88em; background:var(--mist-2); padding:2px 6px; border-radius:6px; }
.divider{ display:none; }

.wrap{ max-width:var(--container); margin:0 auto; padding:0 28px; }
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link{
  position:absolute; left:16px; top:-60px; z-index:300;
  background:var(--ink); color:var(--white); padding:10px 16px; border-radius:var(--r-sm); font-weight:600;
}
.skip-link:focus{ top:12px; }

/* ---------- etiqueta de secção (discreta, em minúsculas) ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:14px; font-weight:600; color:var(--petrol);
  margin-bottom:14px;
}
.eyebrow::before{ content:""; width:10px; height:10px; border-radius:3px; background:linear-gradient(135deg, var(--aqua), var(--sky)); }
.eyebrow.on-dark{ color:var(--aqua); }

/* ---------- botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:50px; padding:0 24px; border-radius:var(--r-sm);
  font-family:var(--font-body); font-weight:600; font-size:15.5px; line-height:1.2;
  border:1.5px solid transparent; cursor:pointer; white-space:nowrap; text-align:center;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.btn:active{ transform:translateY(1px); }
.btn:disabled, .btn[aria-disabled="true"]{ opacity:.55; cursor:not-allowed; }
.btn-primary{ background:var(--indigo); color:var(--white); }
.btn-primary:hover{ background:var(--ink); box-shadow:0 10px 24px -12px rgba(29,24,48,.7); }
.btn-ghost{ background:var(--white); color:var(--ink); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--ink); }
.btn-invert{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.4); }
.btn-invert:hover{ background:var(--white); color:var(--ink); border-color:var(--white); }
.btn-iblow{ background:var(--iblow); color:var(--ink); }
.btn-iblow:hover{ background:#FFDB33; }
.btn-navy{ background:var(--ink); color:var(--white); }
.btn-navy:hover{ background:var(--indigo-2); }
.btn-outline-navy{ background:transparent; color:var(--ink); border-color:var(--ink); }
.btn-outline-navy:hover{ background:var(--ink); color:var(--white); }
.btn-whatsapp{ background:var(--wa); color:var(--ink); }
.btn-whatsapp:hover{ background:var(--wa-deep); }
.btn-sm{ min-height:42px; padding:0 16px; font-size:14px; }
.btn-block{ width:100%; }
.btn.added{ background:var(--ok); border-color:var(--ok); color:var(--white); }

.inline-link{ color:var(--petrol); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.inline-link:hover{ color:var(--ink); }
.link-btn{
  background:none; border:0; padding:0; cursor:pointer; font:inherit;
  font-size:14px; font-weight:600; color:var(--petrol); text-decoration:underline; text-underline-offset:3px;
}
.link-btn:hover{ color:var(--bad); }
.card-link{
  display:inline-flex; align-items:center; gap:8px; margin-top:18px;
  font-weight:600; font-size:14.5px; color:var(--petrol);
  text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px;
  transition:text-decoration-color .18s ease;
}
a:hover .card-link, a.card-link:hover{ text-decoration-color:currentColor; }

/* =====================================================================
   CABEÇALHO — cápsula flutuante
   ===================================================================== */
header{
  position:fixed; top:12px; left:0; right:0; z-index:100;
  padding:0 16px; pointer-events:none;
}
.nav{
  pointer-events:auto;
  max-width:calc(var(--container) - 24px); height:64px; margin:0 auto; padding:0 10px 0 20px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(16px) saturate(170%); -webkit-backdrop-filter:blur(16px) saturate(170%);
  border:1px solid rgba(220,227,227,.9); border-radius:20px;
  box-shadow:0 12px 32px -20px rgba(29,24,48,.35);
}
.logo-link{ display:flex; align-items:center; flex:none; }
.logo-link img{ height:38px; width:auto; display:block; }
.logo-fallback{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:22px; color:var(--indigo); }
.logo-fallback .mark{ width:34px; height:34px; border-radius:50%; background:linear-gradient(160deg, var(--aqua), var(--sky)); }
.foot-logo{ height:56px; width:auto; }

.nav-links{ display:flex; align-items:center; gap:4px; }
.nav-links a{
  display:block; padding:9px 12px; border-radius:10px;
  font-size:15px; font-weight:500; color:var(--ink); white-space:nowrap;
  transition:background-color .15s ease;
}
.nav-links a:hover{ background:var(--mist); }
.nav-links a.active{ background:var(--mist-2); font-weight:600; }
.nav-links a.nav-iblow{ display:inline-flex; align-items:center; gap:8px; }
.nav-links a.nav-iblow::before{ content:""; width:9px; height:9px; border-radius:50%; background:var(--iblow); box-shadow:0 0 0 3px rgba(255,209,0,.3); }
.nav-links-cta{ display:none; }
.nav-cta{ display:flex; align-items:center; gap:8px; }
.nav-cta .btn{ min-height:44px; padding:0 18px; font-size:14.5px; }
.nav-orcamento{ background:var(--indigo); color:var(--white); border-color:var(--indigo); }
.nav-orcamento:hover{ background:var(--ink); border-color:var(--ink); }

.cart-btn{
  position:relative; width:44px; height:44px; border-radius:var(--r-sm);
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--line); background:var(--white);
}
.cart-btn:hover{ border-color:var(--ink); }
.cart-btn svg{ width:20px; height:20px; stroke:var(--ink); }
.cart-count{
  position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; padding:0 5px;
  border-radius:999px; background:var(--iblow); color:var(--ink);
  font-size:11.5px; font-weight:700; display:flex; align-items:center; justify-content:center;
  border:2px solid var(--white);
}
.cart-count[data-vazio="true"]{ display:none; }
#menu-toggle{ display:none; }
.burger{ display:none; }

@media (max-width:1320px){ .nav-orcamento{ display:none; } }

@media (max-width:1140px){
  .nav-links{
    position:fixed; top:calc(var(--header-h) + 8px); left:16px; right:16px;
    flex-direction:column; align-items:stretch; gap:2px;
    background:var(--white); border:1px solid var(--line); border-radius:20px;
    box-shadow:0 30px 60px -30px rgba(29,24,48,.45);
    padding:10px; max-height:calc(100vh - var(--header-h) - 24px); overflow-y:auto;
    opacity:0; transform:translateY(-8px); visibility:hidden;
    transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  }
  .nav-links a{ padding:13px 14px; font-size:16px; }
  .nav-links li.nav-links-cta{ display:block; padding:8px 4px 4px; }
  .nav-links-cta .btn{ display:flex; width:100%; color:var(--white); }
  .nav-links-cta .btn:hover{ background:var(--ink); }
  #menu-toggle:checked ~ header .nav-links{ opacity:1; transform:none; visibility:visible; transition:opacity .18s ease, transform .18s ease, visibility 0s; }
  .burger{
    display:flex; align-items:center; justify-content:center;
    width:44px; height:44px; border-radius:var(--r-sm); border:1px solid var(--line); background:var(--white); cursor:pointer;
  }
  .burger span, .burger span::before, .burger span::after{
    content:""; display:block; width:18px; height:2px; background:var(--ink); position:relative; transition:transform .18s ease, background .18s ease;
  }
  .burger span::before{ position:absolute; top:-6px; }
  .burger span::after{ position:absolute; top:6px; }
  #menu-toggle:checked ~ header .burger span{ background:transparent; }
  #menu-toggle:checked ~ header .burger span::before{ transform:translateY(6px) rotate(45deg); }
  #menu-toggle:checked ~ header .burger span::after{ transform:translateY(-6px) rotate(-45deg); }
}

/* =====================================================================
   HERO DA HOME — o iBlow10 em destaque
   ===================================================================== */
.hero{ padding:calc(var(--header-h) + 64px) 0 88px; background:var(--white); }
.hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(32px, 5vw, 72px); align-items:stretch; }
.hero-copy{ display:flex; flex-direction:column; justify-content:center; }
.hero-badge{
  align-self:flex-start; display:inline-flex; align-items:center; gap:10px;
  padding:7px 14px 7px 10px; border-radius:999px; background:var(--iblow-soft);
  font-size:14px; font-weight:600; color:var(--ink); margin-bottom:26px;
}
.hero-badge::before{ content:""; width:10px; height:10px; border-radius:50%; background:var(--iblow); box-shadow:0 0 0 3px rgba(29,24,48,.12); }
.hero h1{ font-size:clamp(38px, 4.8vw, 64px); line-height:1.03; letter-spacing:-.03em; max-width:16ch; margin-bottom:24px; }
.hero .lead{ font-size:clamp(17px, 1.4vw, 19px); color:var(--muted); max-width:56ch; margin-bottom:34px; }
.hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.hero-links{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:40px; padding-top:24px; border-top:1px solid var(--line); }
.hero-links a{ font-size:15px; font-weight:600; color:var(--petrol); }
.hero-links a:hover{ color:var(--ink); text-decoration:underline; text-underline-offset:4px; }

.hero-device{
  position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:24px;
  background:var(--iblow); border-radius:var(--r-lg); padding:28px; min-height:520px; overflow:hidden;
  isolation:isolate;
}
.hero-device::before{
  content:""; position:absolute; z-index:-1; right:-18%; bottom:-30%; width:90%; aspect-ratio:1;
  border-radius:50%; background:#FFE366;
}
.hero-device-tag{ font-family:var(--font-display); font-weight:800; font-size:clamp(44px, 5vw, 68px); line-height:.9; color:var(--ink); letter-spacing:-.03em; }
.hero-device img{
  width:100%; border-radius:var(--r-md); background:#EDEDED;
  box-shadow:0 30px 50px -30px rgba(29,24,48,.55);
  transform:rotate(-2.5deg); transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.hero-device:hover img{ transform:rotate(0deg) scale(1.02); }
.hero-device-facts{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.hero-device-facts li{ background:rgba(255,255,255,.55); border-radius:14px; padding:12px 14px; font-size:13.5px; line-height:1.3; color:var(--ink); }
.hero-device-facts strong{ display:block; font-family:var(--font-display); font-size:26px; font-weight:700; line-height:1.05; }

/* =====================================================================
   HERO DAS PÁGINAS INTERIORES
   ===================================================================== */
.page-hero{ padding:calc(var(--header-h) + 60px) 0 64px; background:var(--mist); }
.page-hero h1{ font-size:clamp(34px, 4.6vw, 60px); line-height:1.04; letter-spacing:-.03em; max-width:18ch; }
.page-hero p{ color:var(--muted); font-size:18px; max-width:60ch; margin-top:18px; }
.page-hero .hero-actions{ margin-top:30px; }
.page-hero .btn-invert{ color:var(--ink); border-color:var(--ink); }
.page-hero .btn-invert:hover{ background:var(--ink); color:var(--white); }
.page-hero .eyebrow.on-dark{ color:var(--petrol); }
.breadcrumb{ display:flex; flex-wrap:wrap; gap:6px; font-size:14px; color:var(--muted); margin-bottom:22px; }
.breadcrumb a{ color:var(--petrol); font-weight:500; }
.breadcrumb a:hover{ text-decoration:underline; }

/* =====================================================================
   SECÇÕES
   ===================================================================== */
.section{ padding:clamp(72px, 9vw, 120px) 0; }
.section-head{ max-width:680px; margin-bottom:clamp(36px, 5vw, 56px); }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head.center .eyebrow{ justify-content:center; }
.section-head h2, .section h2{ font-size:clamp(30px, 3.6vw, 46px); letter-spacing:-.025em; }
.section-head p{ color:var(--muted); font-size:17.5px; margin-top:16px; }
.about, .why, .efect-spot, .modes-section, .flow-section, .order-section, .contact{ background:var(--mist); }
.why.alt{ background:var(--white); }
.contact + .section{ background:var(--mist); padding-top:0; }
.trust + .iblow-band{ margin-top:0; }

/* ---------- barra de marcas ---------- */
.trust{ background:var(--white); padding:0 0 64px; }
.trust .wrap{ display:flex; align-items:center; gap:18px 40px; flex-wrap:wrap; padding-top:32px; border-top:1px solid var(--line); }
.trust-label{ font-size:14px; color:var(--muted); font-weight:500; }
.trust-marks{ display:flex; align-items:center; gap:14px 32px; flex-wrap:wrap; }
.trust-marks span{ font-family:var(--font-display); font-weight:700; font-size:20px; color:#9AA3AF; letter-spacing:-.01em; }
.trust-marks span.is-iblow{ color:var(--ink); }

/* ---------- selo de representação ---------- */
.iblow-seal{
  display:inline-flex; align-items:center; gap:10px; margin-bottom:20px;
  font-size:14.5px; font-weight:600; color:var(--ink); line-height:1.35;
}
.iblow-seal::before{
  content:""; flex:none; width:24px; height:24px; border-radius:50%;
  background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD100' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat;
}
.iblow-seal.on-dark{ color:var(--iblow); }
.iblow-seal.on-dark::before{
  background:var(--iblow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1830' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat;
}

/* ---------- faixa iBlow10 na home (índigo) ---------- */
.iblow-band{ background:var(--ink); color:var(--white); padding:clamp(72px, 9vw, 112px) 0; overflow:hidden; }
.iblow-band-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px, 5vw, 72px); align-items:center; }
.iblow-band-media{ border-radius:var(--r-lg); overflow:hidden; background:var(--iblow); padding:18px; }
.iblow-band-media img{ width:100%; border-radius:var(--r-md); }
.iblow-band .iblow-seal{ color:var(--iblow); }
.iblow-band .iblow-seal::before{
  background:var(--iblow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1830' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat;
}
.iblow-band h2{ color:var(--white); font-size:clamp(28px, 3.4vw, 44px); letter-spacing:-.025em; }
.iblow-band p{ color:#C9C4D8; font-size:17px; margin-top:18px; max-width:58ch; }
.iblow-facts{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:34px 0; background:rgba(255,255,255,.14); border-radius:var(--r-md); overflow:hidden; }
.iblow-facts li{ background:var(--ink); padding:18px 16px; }
.iblow-facts strong{ display:block; font-family:var(--font-display); font-size:30px; line-height:1.05; color:var(--iblow); }
.iblow-facts span{ font-size:13.5px; color:#B7B1C8; }
.iblow-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.iblow-band .btn-navy{ background:var(--iblow); color:var(--ink); }
.iblow-band .btn-navy:hover{ background:#FFDB33; }
.iblow-band .btn-outline-navy{ color:var(--white); border-color:rgba(255,255,255,.4); }
.iblow-band .btn-outline-navy:hover{ background:var(--white); color:var(--ink); border-color:var(--white); }

/* ---------- efectividade (home) ---------- */
.efect-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px, 5vw, 72px); align-items:center; }
.efect-lead{ color:var(--muted); font-size:17.5px; margin:18px 0 32px; max-width:60ch; }
.efect-cols{ display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:34px; }
.efect-cols h3{ font-size:17px; margin-bottom:12px; }

.check-list{ display:flex; flex-direction:column; gap:10px; }
.check-list li{ position:relative; padding-left:30px; font-size:15px; color:var(--muted); }
.check-list li::before{
  content:""; position:absolute; left:0; top:2px; width:20px; height:20px; border-radius:6px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F7486' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat,
    #DDF1EC;
}
.check-list.on-dark li{ color:#C9C4D8; }
.check-list.on-dark li::before{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1830' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat,
    var(--aqua);
}

.feed{ background:var(--ink); color:var(--white); border-radius:var(--r-lg); padding:26px; box-shadow:0 40px 80px -40px rgba(29,24,48,.6); }
.feed-head{ display:flex; justify-content:space-between; align-items:center; font-size:14px; font-weight:600; color:#B7B1C8; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.1); }
.feed-live{ display:inline-flex; align-items:center; gap:8px; color:var(--aqua); }
.feed-live::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--aqua); animation:pulse 1.8s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.3; } }
.feed-list li{ display:grid; grid-template-columns:10px 1fr auto; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.feed-list strong{ display:block; font-size:15px; font-weight:600; }
.feed-list small{ font-size:13px; color:#9E98B3; }
.feed-list time{ font-variant-numeric:tabular-nums; font-weight:600; color:#DAD6E6; }
.feed-ok, .feed-warn{ width:10px; height:10px; border-radius:50%; }
.feed-ok{ background:var(--aqua); }
.feed-warn{ background:var(--iblow); }
.feed-foot{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding-top:18px; }
.feed-foot div{ background:rgba(255,255,255,.06); border-radius:14px; padding:12px 14px; }
.feed-foot strong{ display:block; font-family:var(--font-display); font-size:24px; line-height:1.1; }
.feed-foot span{ font-size:13px; color:#9E98B3; }

/* ---------- serviços ---------- */
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card{
  display:block; position:relative; padding:30px 28px; border-radius:var(--r-md);
  background:var(--white); border:1px solid var(--line); color:inherit;
  transition:border-color .18s ease, box-shadow .18s ease;
}
a.service-card:hover{ border-color:var(--ink); box-shadow:0 20px 40px -30px rgba(29,24,48,.5); }
.service-card .icon{
  width:48px; height:48px; border-radius:14px; margin-bottom:22px;
  display:flex; align-items:center; justify-content:center;
  background:var(--mist); border:1px solid var(--line);
}
.service-card .icon svg{ width:22px; height:22px; stroke:var(--petrol); }
.service-card h3{ font-size:20px; margin-bottom:10px; }
.service-card p{ font-size:15px; color:var(--muted); }
.service-card .tagline{ display:inline-block; margin-top:16px; font-size:13.5px; font-weight:600; color:var(--petrol); }
.service-card .includes{ margin-top:18px; display:flex; flex-direction:column; gap:8px; }
.service-card .includes li{ font-size:14px; color:var(--muted); display:flex; gap:10px; align-items:baseline; }
.service-card .includes li::before{ content:""; width:6px; height:6px; border-radius:2px; background:var(--aqua); flex:none; transform:translateY(-2px); }
.service-card.is-iblow{ background:var(--iblow); border-color:var(--iblow); display:flex; flex-direction:column; }
.service-card.is-iblow .icon{ background:var(--ink); border-color:var(--ink); }
.service-card.is-iblow .icon svg{ stroke:var(--iblow); }
.service-card.is-iblow h3{ font-size:22px; }
.service-card.is-iblow p{ color:#3D3517; }
.service-card.is-iblow .card-link{ color:var(--ink); margin-top:auto; padding-top:18px; }
a.service-card.is-iblow:hover{ border-color:var(--ink); }

.featured-pair{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:56px; }
.featured{ display:flex; flex-direction:column; align-items:flex-start; border-radius:var(--r-lg); padding:40px 36px; min-height:300px; transition:box-shadow .2s ease; }
.featured:hover{ box-shadow:0 30px 60px -36px rgba(29,24,48,.6); }
.featured h2{ font-size:clamp(26px, 2.8vw, 36px); margin-bottom:12px; }
.featured p{ font-size:16px; max-width:48ch; }
.featured .card-link{ margin-top:auto; padding-top:26px; }
.featured.is-iblow{ background:var(--iblow); color:var(--ink); }
.featured.is-iblow p{ color:#3D3517; }
.featured.is-iblow .card-link{ color:var(--ink); }
.featured.is-dark{ background:var(--ink); color:var(--white); }
.featured.is-dark h2{ color:var(--white); }
.featured.is-dark p{ color:#C9C4D8; }
.featured.is-dark .card-link{ color:var(--aqua); }
.featured-tag{ font-size:14.5px; font-weight:600; color:var(--aqua); margin-bottom:20px; }

/* ---------- sobre ---------- */
.about-lead{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; margin-bottom:56px; }
.about-lead p{ color:var(--muted); font-size:17.5px; }
.stack{ display:flex; flex-direction:column; gap:16px; }
.stack p{ color:var(--muted); font-size:17px; }
.stack strong{ color:var(--ink); }
.pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.pillar{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); padding:28px 24px; }
.pillar .num{ display:block; font-family:var(--font-display); font-weight:700; font-size:15px; color:var(--petrol); margin-bottom:18px; }
.pillar h3{ font-size:19px; margin-bottom:8px; }
.pillar p{ font-size:15px; color:var(--muted); }
.timeline{ display:flex; flex-direction:column; }
.timeline-item{ display:grid; grid-template-columns:140px 1fr; gap:28px; padding:26px 0; border-top:1px solid var(--line); }
.timeline-item:last-child{ border-bottom:1px solid var(--line); }
.timeline-item .year{ font-family:var(--font-display); font-weight:700; font-size:20px; color:var(--petrol); }
.timeline-item h4{ font-size:18px; margin-bottom:6px; }
.timeline-item p{ font-size:15px; color:var(--muted); }

/* ---------- porquê ---------- */
.why-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px, 5vw, 72px); align-items:center; }
.why-grid h2{ margin-bottom:32px !important; }
.why-list{ display:flex; flex-direction:column; gap:26px; }
.why-item{ display:flex; gap:18px; }
.why-item .ic{ width:44px; height:44px; flex:none; border-radius:14px; display:flex; align-items:center; justify-content:center; background:var(--white); border:1px solid var(--line); }
.why-item .ic svg{ width:20px; height:20px; stroke:var(--petrol); }
.why.alt .why-item .ic{ background:var(--mist); }
.why-item h4{ font-size:18px; margin-bottom:4px; }
.why-item p{ font-size:15px; color:var(--muted); }
.why-visual{ background:var(--ink); border-radius:var(--r-lg); padding:clamp(28px, 4vw, 44px); min-height:400px; display:flex; flex-direction:column; justify-content:center; }
.why-visual-inner{ display:flex; flex-direction:column; gap:12px; }
.why-stat-card{ display:flex; align-items:baseline; justify-content:space-between; gap:18px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.why-stat-card:last-child{ border-bottom:0; }
.why-stat-card strong{ font-family:var(--font-display); font-size:clamp(22px, 2.4vw, 30px); color:var(--white); text-align:right; }
.why-stat-card span{ font-size:14.5px; color:#B7B1C8; }
.why-stat-card:first-child strong{ color:var(--iblow); }

/* ---------- sectores ---------- */
.sectors-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.sector-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); padding:26px 22px; }
.why .sector-card, .flow-section .sector-card{ background:var(--white); }
.sector-card .tag{ display:inline-block; font-size:13.5px; font-weight:600; color:var(--petrol); margin-bottom:12px; }
.sector-card h3{ font-size:18px; margin-bottom:8px; }
.sector-card p{ font-size:14.5px; color:var(--muted); }
.sector-card .list{ margin-top:14px; display:flex; flex-direction:column; gap:6px; }
.sector-card .list li{ font-size:14px; color:var(--muted); display:flex; gap:8px; }
.sector-card .list li::before{ content:"–"; color:var(--aqua); flex:none; }
.sector-detail{ display:grid; grid-template-columns:240px 1fr; gap:32px; padding:34px 0; border-top:1px solid var(--line); align-items:start; }
.sector-detail:last-child{ border-bottom:1px solid var(--line); }
.sector-detail .tag{ font-family:var(--font-display); font-weight:700; font-size:18px; color:var(--petrol); }
.sector-detail h3{ font-size:24px; margin-bottom:10px; }
.sector-detail p{ font-size:16px; color:var(--muted); margin-bottom:16px; max-width:66ch; }
.sector-detail .tags-row{ display:flex; gap:8px; flex-wrap:wrap; }
.sector-detail .tags-row span{ font-size:13.5px; padding:6px 12px; border-radius:999px; background:var(--mist); border:1px solid var(--line); color:var(--ink); font-weight:500; }

/* ---------- faixa de chamada ---------- */
.cta-banner{ background:var(--white); padding:clamp(72px, 9vw, 112px) 0; }
[class="section"] + .cta-banner, .services + .cta-banner, .why.alt + .cta-banner{ padding-top:0; }
.cta-inner{
  display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
  background:var(--ink); border-radius:var(--r-lg); padding:clamp(32px, 5vw, 56px);
  position:relative; overflow:hidden; isolation:isolate;
}
.cta-inner::after{ content:""; position:absolute; z-index:-1; right:-60px; top:-80px; width:260px; height:260px; border-radius:50%; background:linear-gradient(160deg, var(--aqua), var(--sky)); opacity:.35; }
.cta-inner h2{ color:var(--white); font-size:clamp(26px, 3vw, 38px); max-width:22ch; }
.cta-inner p{ color:#C9C4D8; margin-top:12px; font-size:16.5px; max-width:56ch; }
.cta-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.cta-banner .btn-primary{ background:var(--iblow); color:var(--ink); }
.cta-banner .btn-primary:hover{ background:#FFDB33; box-shadow:none; }

/* ---------- contactos e formulários ---------- */
.contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px, 5vw, 64px); }
.contact-info h2{ margin-bottom:16px; }
.contact-info > p{ color:var(--muted); font-size:17px; margin-bottom:32px; max-width:46ch; }
.info-row{ display:flex; gap:16px; padding:18px 0; border-top:1px solid var(--line); }
.info-row:last-child{ border-bottom:1px solid var(--line); }
.info-row .ic{ width:42px; height:42px; flex:none; border-radius:12px; background:var(--white); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; }
.info-row .ic svg{ width:18px; height:18px; stroke:var(--petrol); }
.info-row h4{ font-family:var(--font-body); font-size:14px; color:var(--muted); font-weight:500; margin-bottom:2px; }
.info-row p{ font-size:16.5px; font-weight:600; color:var(--ink); overflow-wrap:anywhere; }
.map-frame{ height:420px; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); background:var(--mist-2); }
.map-frame iframe{ display:block; width:100%; height:100%; }

.contact-form{ position:relative; background:var(--ink); color:var(--white); border-radius:var(--r-lg); padding:clamp(26px, 4vw, 44px); }
.contact-form h3{ color:var(--white); font-size:26px; margin-bottom:6px; }
.contact-form > p{ color:#B7B1C8; font-size:15px; margin-bottom:28px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.form-row.cols-3{ grid-template-columns:repeat(3,1fr); }
.field{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.field.full{ grid-column:1/-1; }
label{ font-size:14px; font-weight:500; color:#C9C4D8; }
input, textarea, select{
  width:100%; font-family:var(--font-body); font-size:15.5px; color:var(--white);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); border-radius:var(--r-sm);
  padding:13px 14px; transition:border-color .15s ease, background-color .15s ease;
}
input::placeholder, textarea::placeholder{ color:#8A84A0; }
input:focus, textarea:focus, select:focus{ outline:none; border-color:var(--aqua); background:rgba(255,255,255,.1); box-shadow:0 0 0 3px rgba(99,194,176,.25); }
textarea{ resize:vertical; min-height:120px; }
select{
  appearance:none; -webkit-appearance:none; padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9C4D8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:16px;
}
select option{ color:var(--ink); background:var(--white); }
.contact-form .btn-primary, .contact-form .btn-whatsapp{ width:100%; margin-top:8px; min-height:54px; }
.contact-form .btn-primary{ background:var(--iblow); color:var(--ink); }
.contact-form .btn-primary:hover{ background:#FFDB33; box-shadow:none; }
.checkline{ display:flex; align-items:flex-start; gap:10px; margin-top:6px; }
.checkline input[type="checkbox"]{ width:18px; height:18px; flex:none; margin-top:3px; padding:0; accent-color:var(--aqua); }
.checkline span{ font-size:14px; color:#C9C4D8; }
.hp-field{ position:absolute !important; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.field-error, .field-validation-error{ font-size:13px; color:#FFB1B1; }
.field-error:empty{ display:none; }
.input-validation-error{ border-color:#FF8A8A !important; }
.form-alert{
  display:flex; flex-direction:column; align-items:flex-start; gap:12px;
  background:rgba(196,61,61,.16); border:1px solid rgba(255,138,138,.45); color:#FFE0E0;
  border-radius:var(--r-sm); padding:14px 16px; font-size:14.5px; margin-bottom:20px;
}
.form-alert ul{ margin:0; padding-left:18px; list-style:disc; }
.form-alert.validation-summary-valid{ display:none; }
.form-alert .btn{ width:auto; margin-top:0; min-height:44px; }
.form-done{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.form-done h3::before{
  content:""; display:block; width:52px; height:52px; border-radius:16px; margin-bottom:18px;
  background:var(--wa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1830' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/24px no-repeat;
}
.form-done .btn{ width:auto !important; margin-top:0 !important; }
.form-foot{ font-size:13px; color:#9E98B3; margin-top:14px; text-align:center; }

/* orçamento */
.quote-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(32px, 5vw, 56px); align-items:start; }
.quote-steps{ display:flex; flex-direction:column; }
.quote-step{ display:flex; gap:16px; padding:20px 0; border-top:1px solid var(--line); }
.quote-step:first-child{ border-top:0; }
.quote-step .n{ width:36px; height:36px; flex:none; border-radius:10px; background:var(--ink); color:var(--white); font-family:var(--font-display); font-weight:700; display:flex; align-items:center; justify-content:center; }
.quote-step h4{ font-size:17px; margin-bottom:4px; }
.quote-step p{ font-size:15px; color:var(--muted); }
.quote-note{ margin-top:24px; padding:18px 20px; border-radius:var(--r-md); background:var(--white); border:1px solid var(--line); font-size:15px; color:var(--muted); }
.quote-note strong{ color:var(--ink); }
.quote-note-iblow{ background:var(--iblow-soft); border-color:#F2DB73; }

/* ---------- rodapé ---------- */
footer{ background:var(--ink); color:#B7B1C8; padding:72px 0 30px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.1); }
.foot-brand p{ margin-top:18px; font-size:15px; line-height:1.7; max-width:36ch; }
.foot-brand .logo-fallback{ color:var(--white); }
.foot-col h4{ color:var(--white); font-family:var(--font-body); font-size:15px; font-weight:600; margin-bottom:16px; }
.foot-col ul li{ margin-bottom:10px; }
.foot-col a{ font-size:15px; color:#B7B1C8; overflow-wrap:anywhere; }
.foot-col a:hover{ color:var(--white); }
.foot-bottom{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding-top:24px; font-size:14px; }
.foot-credit{
  display:inline-flex; align-items:center; gap:10px;
  padding:6px 8px 6px 14px; border-radius:999px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12);
  transition:border-color .18s ease, background-color .18s ease;
}
.foot-credit-label{ font-size:13px; color:#9E98B3; }
.foot-credit-name{ font-family:var(--font-display); font-weight:700; font-size:15px; letter-spacing:.01em; color:var(--white); }
.foot-credit-name span{ font-family:var(--font-body); font-weight:500; font-size:13px; color:#9E98B3; letter-spacing:0; }
.foot-credit svg{
  width:26px; height:26px; padding:6px; border-radius:50%; flex:none;
  background:rgba(255,255,255,.08); stroke:var(--white);
  transition:transform .18s ease, background-color .18s ease, stroke .18s ease;
}
.foot-credit:hover{ border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.07); }
.foot-credit:hover svg{ background:var(--aqua); stroke:var(--ink); transform:translate(1px,-1px); }
.socials{ display:flex; gap:10px; }
.socials a{ width:40px; height:40px; border-radius:12px; border:1px solid rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; }
.socials a:hover{ border-color:var(--white); }
.socials a svg{ width:17px; height:17px; stroke:#B7B1C8; }

/* =====================================================================
   PÁGINA iBLOW10
   ===================================================================== */
.iblow-hero{ background:var(--iblow); padding:calc(var(--header-h) + 56px) 0 72px; overflow:hidden; }
.iblow-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px, 5vw, 64px); align-items:center; }
.iblow-hero .breadcrumb, .iblow-hero .breadcrumb a{ color:#4A4020; }
.iblow-hero h1{ font-size:clamp(36px, 5vw, 66px); line-height:1.02; letter-spacing:-.03em; margin-bottom:22px; max-width:15ch; }
.iblow-hero .lead{ color:#3D3517; font-size:18px; max-width:56ch; margin-bottom:32px; }
.iblow-hero .hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.iblow-hero-media{ margin:0; }
.iblow-hero-media img{ width:100%; border-radius:var(--r-lg); background:#EDEDED; box-shadow:0 40px 70px -40px rgba(29,24,48,.6); }
.iblow-hero-media figcaption{ margin-top:18px; font-size:14px; color:#4A4020; }

.official{ background:var(--ink); color:var(--white); padding:clamp(56px, 7vw, 80px) 0; }
.official-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(28px, 5vw, 64px); align-items:start; }
.official h2{ color:var(--white); font-size:clamp(26px, 3vw, 38px); }
.official-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.official-list li{ padding-top:18px; border-top:3px solid var(--iblow); }
.official-list h3{ color:var(--white); font-size:18px; margin-bottom:8px; }
.official-list p{ font-size:15px; color:#C9C4D8; }

.feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.feature{ padding:24px 22px; border-radius:var(--r-md); background:var(--mist); }
.feature h3{ font-size:18px; margin-bottom:8px; }
.feature p{ font-size:15px; color:var(--muted); }

.modes{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mode{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(26px, 4vw, 40px); }
.mode-tag{ display:inline-block; font-size:14px; font-weight:600; color:var(--petrol); margin-bottom:10px; }
.mode h3{ font-size:22px; margin-bottom:18px; }
.mode-limit{ font-family:var(--font-display); font-weight:800; font-size:clamp(48px, 6vw, 72px); line-height:.95; letter-spacing:-.03em; color:var(--ink); margin-bottom:18px; }
.mode-limit small{ font-family:var(--font-body); font-size:16px; font-weight:600; color:var(--muted); letter-spacing:0; }
.mode p:not(.mode-limit){ font-size:15.5px; color:var(--muted); }

.how-grid{ display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(28px, 5vw, 56px); align-items:start; }
.how-steps{ list-style:none; margin:0; padding:0; counter-reset:passo; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.how-steps li{ counter-increment:passo; border-radius:var(--r-md); border:1px solid var(--line); padding:24px; }
.how-steps li::before{
  content:counter(passo); display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:10px; margin-bottom:16px;
  background:var(--iblow); color:var(--ink); font-family:var(--font-display); font-weight:800;
}
.how-steps h3{ font-size:18px; margin-bottom:6px; }
.how-steps p{ font-size:15px; color:var(--muted); }

.calc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px, 5vw, 64px); align-items:center; }
.calc-intro{ color:var(--muted); font-size:17px; margin-top:16px; max-width:52ch; }
.calc{ background:var(--ink); color:var(--white); border-radius:var(--r-lg); padding:clamp(26px, 4vw, 40px); display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.calc-input{ width:100%; }
.calc-input input{ font-family:var(--font-display); font-size:28px; font-weight:700; padding:12px 16px; }
.calc-out{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin:6px 0 2px; }
.calc-out strong{ font-family:var(--font-display); font-size:clamp(56px, 7vw, 84px); font-weight:800; line-height:.95; color:var(--iblow); }
.calc-out span{ color:#DAD6E6; font-size:16px; }
.calc-note{ font-size:14.5px; color:var(--ink); background:var(--iblow); padding:12px 14px; border-radius:var(--r-sm); }
.calc .btn-navy{ background:var(--white); color:var(--ink); }
.calc .btn-navy:hover{ background:var(--iblow); }

.spec-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(28px, 5vw, 64px); align-items:start; }
.spec-sub{ font-size:18px; margin:28px 0 14px; }
.table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--r-md); border:1px solid var(--line); background:var(--white); }
.spec-table{ width:100%; border-collapse:collapse; font-size:15px; min-width:360px; }
.spec-table th, .spec-table td{ text-align:left; padding:14px 18px; border-bottom:1px solid var(--line); vertical-align:top; }
.spec-table tr:last-child th, .spec-table tr:last-child td{ border-bottom:0; }
.spec-table tbody th{ width:34%; font-weight:600; color:var(--ink); background:var(--mist); }
.spec-table thead th{ background:var(--ink); color:var(--white); font-weight:600; font-size:14px; }
.spec-table td{ color:var(--ink); overflow-wrap:anywhere; }

.packs{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:stretch; }
.pack{ position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); padding:32px 28px 28px; display:flex; flex-direction:column; gap:12px; }
.pack h3{ font-size:21px; }
.pack > p{ font-size:15px; color:var(--muted); }
.pack .add-row{ margin-top:auto; padding-top:8px; }
.pack.is-featured{ border:2px solid var(--ink); }
.pack.is-featured .btn-navy{ background:var(--iblow); color:var(--ink); }
.pack-flag{ position:absolute; top:-14px; left:24px; background:var(--iblow); color:var(--ink); font-size:13px; font-weight:700; padding:5px 12px; border-radius:999px; }
.price-ask{ align-self:flex-start; display:inline-flex; font-size:13.5px; font-weight:600; color:var(--petrol); background:#E1F2EE; padding:4px 10px; border-radius:8px; }
.price-note{ font-size:14px; color:var(--muted); margin-top:12px; }
.add-row{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.add-row .btn{ flex:1 1 auto; }
input.qty, .cart-qty input{
  width:72px; flex:none; text-align:center; font-variant-numeric:tabular-nums;
  background:var(--white); color:var(--ink); border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 6px; font-size:15.5px;
}
input.qty:focus, .cart-qty input:focus{ border-color:var(--petrol); box-shadow:0 0 0 3px rgba(31,116,134,.18); background:var(--white); }

.combo{ background:var(--ink); padding:clamp(52px, 6vw, 72px) 0; border-top:6px solid var(--iblow); }
.combo-inner{ display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.combo h2{ color:var(--white); font-size:clamp(24px, 2.8vw, 34px); max-width:26ch; }
.combo p{ color:#C9C4D8; font-size:16.5px; margin-top:12px; max-width:62ch; }

/* =====================================================================
   CONTROLO DE ACESSO
   ===================================================================== */
.duo{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.duo-card{ border-radius:var(--r-lg); padding:clamp(28px, 4vw, 40px); background:var(--mist); scroll-margin-top:calc(var(--header-h) + 24px); }
.duo-card h2, .duo-card h3{ font-size:clamp(24px, 2.6vw, 32px); margin-bottom:12px; }
.duo-card > p{ color:var(--muted); font-size:16px; margin-bottom:22px; }
.duo-card.is-dark{ background:var(--ink); }
.duo-card.is-dark h2, .duo-card.is-dark h3{ color:var(--white); }
.duo-card.is-dark > p{ color:#C9C4D8; }
.icon-lg{ width:56px; height:56px; border-radius:16px; margin-bottom:22px; display:flex; align-items:center; justify-content:center; background:var(--white); border:1px solid var(--line); }
.icon-lg svg{ width:26px; height:26px; stroke:var(--petrol); }
.duo-card.is-dark .icon-lg{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.14); }
.duo-card.is-dark .icon-lg svg{ stroke:var(--aqua); }

.flow{ list-style:none; margin:0; padding:0; counter-reset:etapa; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.flow li{ counter-increment:etapa; position:relative; background:var(--white); border-radius:var(--r-md); padding:24px 22px; border:1px solid var(--line); }
.flow li::before{ content:counter(etapa); display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; margin-bottom:16px; background:var(--ink); color:var(--white); font-family:var(--font-display); font-weight:700; }
.flow li:not(:last-child)::after{ content:""; position:absolute; top:42px; right:-17px; width:18px; height:2px; background:var(--ink); }
.flow h3{ font-size:18px; margin-bottom:6px; }
.flow p{ font-size:15px; color:var(--muted); }

/* =====================================================================
   LOJA
   ===================================================================== */
.shop{ background:var(--white); padding:40px 0 clamp(72px, 9vw, 112px); min-height:40vh; }
.shop-hero{ padding-bottom:48px; }
.shop-hero-inner{ display:flex; align-items:flex-end; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.shop-cart-link{ display:flex; flex-direction:column; gap:2px; background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); padding:14px 20px; }
.shop-cart-link:hover{ border-color:var(--ink); }
.shop-cart-link span{ font-size:13.5px; color:var(--muted); }
.shop-cart-link strong{ font-family:var(--font-display); font-size:22px; }

.shop-iblow{ display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center; background:var(--iblow); border-radius:var(--r-md); padding:12px 24px 12px 12px; margin-bottom:20px; }
.shop-iblow img{ width:112px; height:76px; object-fit:cover; border-radius:12px; }
.shop-iblow strong{ display:block; font-family:var(--font-display); font-size:19px; color:var(--ink); }
.shop-iblow span{ font-size:14.5px; color:#3D3517; }
.shop-iblow .card-link{ margin-top:0; color:var(--ink); white-space:nowrap; }

.shop-toolbar{
  position:sticky; top:calc(var(--header-h) + 10px); z-index:20;
  display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap;
  background:rgba(255,255,255,.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid var(--line); border-radius:var(--r-md); padding:14px; margin-bottom:22px;
}
.shop-toolbar .field{ min-width:170px; flex:0 1 210px; }
.shop-toolbar .field.grow{ flex:1 1 300px; }
.shop-toolbar label{ font-size:13.5px; font-weight:600; color:var(--muted); }
.shop-toolbar input, .shop-toolbar select{ background-color:var(--mist); color:var(--ink); border-color:transparent; padding:12px 14px; }
.shop-toolbar input::placeholder{ color:#8C94A0; }
.shop-toolbar input:focus, .shop-toolbar select:focus{ background-color:var(--white); border-color:var(--petrol); box-shadow:0 0 0 3px rgba(31,116,134,.18); }
.shop-toolbar select{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6675' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
.toggle{ display:inline-flex; align-items:center; gap:10px; cursor:pointer; padding:12px 6px; font-size:14.5px; font-weight:500; color:var(--ink); }
.toggle input{ appearance:none; -webkit-appearance:none; width:42px; height:24px; padding:0; flex:none; border-radius:999px; background:var(--line); border:0; position:relative; cursor:pointer; transition:background .18s ease; }
.toggle input::after{ content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:var(--white); box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .18s ease; }
.toggle input:checked{ background:var(--petrol); }
.toggle input:checked::after{ transform:translateX(18px); }
.toggle input:focus{ box-shadow:none; }
.toggle input:focus-visible{ outline:3px solid var(--sky); outline-offset:2px; }

.shop-meta{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:18px; font-size:15px; color:var(--muted); }
.shop-meta strong{ color:var(--ink); }
.shop-meta .inline-link{ margin-left:10px; }
.shop-updated{ font-size:13.5px; }

.shop-state, .cart-empty, .cart-done{ background:var(--mist); border-radius:var(--r-lg); padding:clamp(32px, 5vw, 52px) clamp(22px, 4vw, 40px); text-align:center; max-width:760px; margin:16px auto; }
.shop-state h2, .cart-empty h2, .cart-done h2{ font-size:clamp(24px, 2.6vw, 30px); margin-bottom:10px; }
.shop-state p, .cart-empty p, .cart-done p{ color:var(--muted); font-size:16px; max-width:56ch; margin:0 auto; }
.shop-state-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px; }
.cart-done{ background:#E3F8EA; }

.product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.product{ display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; transition:border-color .18s ease, box-shadow .18s ease; }
.product:hover{ border-color:#B9C4C7; box-shadow:0 18px 36px -28px rgba(29,24,48,.55); }
.product-img{ position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; background:var(--mist); overflow:hidden; }
.product-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:16px; background:var(--white); z-index:1; }
.product-ph{ font-family:var(--font-display); font-weight:700; font-size:22px; color:#A7B0B8; text-align:center; padding:0 16px; overflow-wrap:anywhere; }
.product-body{ display:flex; flex-direction:column; gap:6px; padding:16px; flex:1; }
.product-cat{ font-size:13px; font-weight:600; color:var(--petrol); }
.product h3{ font-family:var(--font-body); font-size:15.5px; font-weight:600; line-height:1.35; letter-spacing:0; }
.product h3 a:hover{ text-decoration:underline; text-underline-offset:3px; }
.product h3, .product-name{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.product-name{ font-size:15px; font-weight:600; color:var(--ink); line-height:1.35; }
.product-ref{ font-size:13px; color:var(--muted); overflow-wrap:anywhere; }
.product-meta{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:6px 0 10px; }
.product .add-row{ margin-top:auto; flex-wrap:nowrap; }
.product .add-row .qty{ width:60px; padding:10px 4px; font-size:14.5px; }
.product .add-row .btn{ min-width:0; }
.product-link{ color:inherit; }
.product-grid.is-compact .product-img{ aspect-ratio:16/10; }

.stock{ display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; color:var(--muted); }
.stock::before{ content:""; width:8px; height:8px; border-radius:50%; background:#A7B0B8; flex:none; }
.stock-ok{ color:var(--ok); }
.stock-ok::before{ background:var(--ok); }
.stock-low{ color:var(--warn); }
.stock-low::before{ background:#E89B1A; }
.stock-out::before{ background:transparent; box-shadow:inset 0 0 0 2px #A7B0B8; }
.stock-ask::before{ background:var(--sky); }

.pager{ display:flex; justify-content:center; align-items:center; gap:6px; flex-wrap:wrap; margin-top:40px; }
.pager a, .pager span{ min-width:44px; height:44px; padding:0 14px; border-radius:var(--r-sm); display:inline-flex; align-items:center; justify-content:center; font-size:15px; font-weight:600; }
.pager a{ border:1px solid var(--line); background:var(--white); }
.pager a:hover{ border-color:var(--ink); }
.pager .current{ background:var(--ink); color:var(--white); }
.pager .gap{ min-width:20px; padding:0; color:var(--muted); }

.pdp{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(24px, 4vw, 56px); align-items:start; }
.pdp-media{ position:relative; aspect-ratio:1/1; border-radius:var(--r-lg); overflow:hidden; display:flex; align-items:center; justify-content:center; background:var(--mist); }
.pdp-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:28px; background:var(--white); z-index:1; }
.pdp-media .product-ph{ font-size:36px; }
.pdp-body{ display:flex; flex-direction:column; gap:14px; }
.pdp-body h1{ font-size:clamp(28px, 3.4vw, 42px); letter-spacing:-.025em; }
.pdp-facts{ margin:6px 0 0; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.pdp-facts div{ padding:12px 12px 12px 0; border-bottom:1px solid var(--line); }
.pdp-facts dt{ font-size:13.5px; color:var(--muted); }
.pdp-facts dd{ margin:2px 0 0; font-weight:600; color:var(--ink); overflow-wrap:anywhere; }
.pdp-price{ font-family:var(--font-display); font-weight:700; font-size:24px; color:var(--ink); margin-top:6px; }
.pdp-hint{ font-size:15.5px; color:var(--muted); }
.pdp .add-row .btn{ flex:0 1 auto; }
.pdp-desc{ margin-top:14px; padding-top:20px; border-top:1px solid var(--line); }
.pdp-desc h2{ font-size:19px; margin-bottom:8px; }
.pdp-desc p{ font-size:15.5px; color:var(--muted); white-space:pre-line; }
.related-title{ font-size:24px; margin:56px 0 20px; }

.cart-layout{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px, 4vw, 48px); align-items:start; }
.cart-layout > *, .pdp > *, .spec-grid > *, .calc-grid > *, .efect-grid > *, .iblow-band-grid > *,
.iblow-hero-grid > *, .contact-grid > *, .quote-grid > *, .how-grid > *, .hero-grid > *{ min-width:0; }
.cart-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:16px; }
.cart-head h2{ font-size:24px; }
.cart-list{ display:flex; flex-direction:column; gap:10px; }
.cart-item{ display:grid; grid-template-columns:1fr auto auto; gap:18px; align-items:center; background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); padding:16px 18px; }
.cart-info{ min-width:0; }
.cart-info strong{ display:block; font-size:16px; line-height:1.35; }
.cart-info span{ font-size:13.5px; color:var(--muted); overflow-wrap:anywhere; }
.cart-qty{ display:flex; align-items:center; gap:6px; }
.cart-qty button{ width:38px; height:38px; border-radius:10px; border:1px solid var(--line); background:var(--mist); font-size:18px; line-height:1; color:var(--ink); cursor:pointer; }
.cart-qty button:hover{ border-color:var(--ink); }
.cart-qty input{ width:58px; padding:8px 4px; }
.cart-summary{ margin-top:18px; font-weight:600; }
.cart-form{ position:sticky; top:calc(var(--header-h) + 24px); }

.diag{ display:flex; flex-direction:column; gap:20px; }
.diag-status{ display:flex; flex-direction:column; gap:4px; padding:20px 22px; border-radius:var(--r-md); background:var(--mist); border-left:6px solid var(--bad); }
.diag-status.ok{ border-left-color:var(--ok); }
.diag-status strong{ font-size:18px; }
.diag-status span{ font-size:14.5px; color:var(--muted); }
.diag-status .diag-err{ font-family:ui-monospace, Consolas, monospace; font-size:13px; color:var(--bad); overflow-wrap:anywhere; white-space:pre-wrap; }
.diag .related-title{ margin:12px 0 0; }
.diag form{ margin:0; }

/* ---------- avisos e WhatsApp ---------- */
.toast{
  position:fixed; left:50%; bottom:24px; z-index:300; transform:translate(-50%, 140%); opacity:0;
  background:var(--ink); color:var(--white); padding:14px 20px; border-radius:var(--r-md); font-size:15px; max-width:calc(100% - 32px);
  box-shadow:0 20px 40px -16px rgba(0,0,0,.5); transition:transform .22s ease, opacity .22s ease; pointer-events:none;
}
.toast.show{ transform:translate(-50%, 0); opacity:1; pointer-events:auto; }
.toast a{ color:var(--iblow); font-weight:600; text-decoration:underline; margin-left:8px; }
.wa-float{
  position:fixed; right:20px; bottom:20px; z-index:150; display:inline-flex; align-items:center; gap:10px;
  background:var(--wa); color:var(--ink); padding:12px 18px 12px 14px; border-radius:999px; font-weight:700; font-size:15px;
  box-shadow:0 14px 30px -12px rgba(18,137,74,.7);
}
.wa-float:hover{ background:var(--wa-deep); }
.wa-float svg{ width:26px; height:26px; }

/* =====================================================================
   RESPONSIVO
   ===================================================================== */
@media (max-width:1100px){
  .product-grid{ grid-template-columns:repeat(3,1fr); }
  .feature-grid{ grid-template-columns:repeat(2,1fr); }
  .pillars, .sectors-grid{ grid-template-columns:repeat(2,1fr); }
  .flow{ grid-template-columns:repeat(2,1fr); }
  .flow li::after{ display:none; }
}
@media (max-width:980px){
  .hero-grid, .iblow-band-grid, .efect-grid, .iblow-hero-grid, .official-grid, .how-grid, .calc-grid,
  .spec-grid, .duo, .featured-pair, .pdp, .cart-layout, .about-lead, .why-grid, .contact-grid, .quote-grid{ grid-template-columns:1fr; }
  .hero-device{ min-height:0; }
  .iblow-hero-media{ max-width:560px; }
  .official-list{ grid-template-columns:1fr; gap:20px; }
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .packs{ grid-template-columns:1fr; max-width:560px; margin:0 auto; }
  .modes{ grid-template-columns:1fr; }
  .cart-form{ position:static; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .cta-inner, .combo-inner{ flex-direction:column; align-items:flex-start; }
  .sector-detail{ grid-template-columns:1fr; gap:10px; }
  .why-visual{ min-height:0; }
  .shop-toolbar{ position:static; }
}
@media (max-width:760px){
  .wrap{ padding:0 20px; }
  header{ top:8px; padding:0 10px; }
  .nav{ height:60px; padding:0 8px 0 14px; }
  .logo-link img{ height:32px; }
  .nav-links{ left:10px; right:10px; }
  .product-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .iblow-facts{ grid-template-columns:repeat(2,1fr); }
  .how-steps{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:1fr; }
  .hero-device-facts{ grid-template-columns:repeat(3,1fr); gap:6px; }
  .hero-device-facts li{ padding:10px; font-size:12.5px; }
  .hero-device-facts strong{ font-size:21px; }
  .shop-iblow{ grid-template-columns:auto 1fr; }
  .shop-iblow .card-link{ display:none; }
  .shop-toolbar .field, .shop-toolbar .field.grow{ flex:1 1 100%; }
  .shop-toolbar .btn{ flex:1 1 auto; }
  .cart-item{ grid-template-columns:1fr auto; }
  .cart-item .link-btn{ grid-column:1/-1; justify-self:start; }
  .wa-float span{ display:none; }
  .wa-float{ padding:13px; }
  .timeline-item{ grid-template-columns:1fr; gap:6px; }
}
@media (max-width:600px){
  .efect-cols, .feature-grid, .pillars, .sectors-grid, .flow{ grid-template-columns:1fr; }
  .form-row, .form-row.cols-3{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr; }
  .pdp-facts{ grid-template-columns:1fr; }
  .map-frame{ height:320px; }
  .hero{ padding-top:calc(var(--header-h) + 40px); }
  .hero-actions .btn{ flex:1 1 auto; }
  .feed-foot strong{ font-size:20px; }
}
@media (max-width:420px){
  .product-grid{ grid-template-columns:1fr; }
  .nav-cta .cart-btn, .burger{ width:40px; height:40px; }
}

@media print{
  header, footer, .wa-float, .toast, .cta-banner{ display:none !important; }
  .hero, .page-hero, .iblow-hero{ padding:24px 0; }
}
