@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-XLight.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-Book.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-Ultra.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-ThinItalic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-BookItalic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-UltraItalic.woff2') format('woff2');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham HTF';
  src: url('../fonts/gotham/GothamHTF-BlackItalic.woff2') format('woff2');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Hanover';
  src: url('../fonts/Hanover-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.vn-logo, .vn-logo *, .f-logo, .f-logo * {
  font-family: 'Hanover', sans-serif;
}


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

/* Vita Center — Navbar + Mega Menu CSS v3 */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'Outfit',sans-serif;color:#0E1C2F}

/* ═══════════════════════════════════════════════════
   NAVBAR SHELL  (base = vita-navbar-v2)
═══════════════════════════════════════════════════ */
.vn{
  background:#0E1C2F;
  position:fixed;top:0;left:0;right:0;z-index:9000;
  font-family:'Outfit',sans-serif;
}

.vn-bar{
  display:flex;align-items:center;
  height:72px;padding:0 36px;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .35s,height .35s,border-color .35s,box-shadow .35s;
  position:relative;
}
.vn.scrolled .vn-bar{
  background:rgba(10,22,42,.96);
  backdrop-filter:blur(18px) saturate(140%);
  height:64px;
  border-bottom-color:rgba(255,255,255,.07);
  box-shadow:0 4px 32px rgba(0,0,0,.3);
}

/* LOGO */
.vn-logo{
  flex:0 0 auto;z-index:1;
  display:flex;align-items:center;
  text-decoration:none;
}
.vn-logo img{height:38px;width:auto;display:block;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.vn-logo:hover img{transform:scale(1.06)}

.vn-logo img.brand-seal--footer {
  height: 90px;
}

/* NAV — absolutamente centrado */
.vn-nav-desktop{
  position:absolute;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:2px;
  list-style:none;margin:0;padding:0;
  overflow:visible;pointer-events:auto;
}

/* CTA dir */
.vn-right{flex:0 0 auto;display:flex;align-items:center;gap:8px;margin-left:auto;z-index:1}

/* ── links ── */
.vn-item{position:static}  /* static p/ mega menu full-width */

.vn-link{
  display:flex;align-items:center;gap:5px;
  padding:8px 14px;border-radius:10px;
  background:transparent;border:none;cursor:pointer;
  font-family:'Outfit',sans-serif;font-size:.88rem;font-weight:600;
  color:rgba(255,255,255,.72);text-decoration:none;white-space:nowrap;
  transition:color .2s,background .2s;
}
.vn-link:hover,
.vn-item.vn-open > .vn-link{color:#fff;background:rgba(255,255,255,.08)}

.vn-arrow{
  width:11px;height:11px;flex-shrink:0;
  transition:transform .22s cubic-bezier(.16,1,.3,1);
}
.vn-item.vn-open > .vn-link .vn-arrow{transform:rotate(180deg)}

/* ── CTA ── */
.vn-cta{
  display:flex;align-items:center;gap:6px;
  padding:10px 20px;border-radius:100px;
  background:linear-gradient(135deg,#FF8142,#F26522);
  color:#fff;font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:700;
  text-decoration:none;white-space:nowrap;
  transition:opacity .2s,transform .2s,box-shadow .2s;
  box-shadow:0 4px 18px rgba(242,101,34,.38);
}
.vn-cta:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 8px 24px rgba(242,101,34,.48)}
.vn-cta svg{width:14px;height:14px;flex-shrink:0}

/* ── hamburger ── */
.vn-hamburger{
  display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  cursor:pointer;padding:0;background:none;border:none;width:38px;height:38px;
}
.vn-hamburger span{
  display:block;width:22px;height:2px;border-radius:2px;
  background:rgba(255,255,255,.8);
  transition:transform .3s,opacity .3s,width .3s;
}
.vn.vn-mob-open .vn-hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.vn.vn-mob-open .vn-hamburger span:nth-child(2){opacity:0;width:0}
.vn.vn-mob-open .vn-hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ═══════════════════════════════════════════════════
   MEGA MENU  (concept = vita_mega_menu_premium)
═══════════════════════════════════════════════════ */

/* ponte invisível link → painel */
.vn-mega-bridge{
  position:absolute;top:100%;left:0;right:0;height:16px;
  background:transparent;display:none;
}
.vn-item.vn-open .vn-mega-bridge{display:block}

/* posicionamento do painel — full-width relativo ao .vn-bar */
.vn-mega{
  width: 1100px;
  position:fixed;
  left:0;right:0;
  top:var(--mega-top, 72px);    /* atualizado via JS */
  opacity:0;pointer-events:none;
  transform:translateY(10px);
  transition:opacity .26s cubic-bezier(.16,1,.3,1), transform .26s cubic-bezier(.16,1,.3,1);
  z-index:8998;
  padding:0 36px;
}
.vn-item.vn-open > .vn-mega{
  opacity:1;pointer-events:auto;transform:translateY(0);
}

/* painel interno */
.vn-mega-panel{
  max-width:1160px;margin:0 auto;
  display:grid;
  grid-template-columns: 260px 1fr 240px;
  gap:0;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  box-shadow:0 32px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.04);
}

/* ── coluna 1: intro escura ── */
.vn-mega-intro{
  background:linear-gradient(160deg,rgba(14,28,47,.99),rgba(20,42,73,.98));
  padding:28px 24px;
  display:flex;flex-direction:column;gap:0;
  position:relative;overflow:hidden;
}
.vn-mega-intro::before{
  content:'';position:absolute;top:-40px;right:-40px;
  width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,101,34,.25),transparent 70%);
  filter:blur(20px);pointer-events:none;
}
.vn-mega-tag{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 11px;border-radius:100px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  font-size:.57rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.75);margin-bottom:16px;width:fit-content;
}
.vn-mega-tag-dot{
  width:6px;height:6px;border-radius:50%;
  background:linear-gradient(135deg,#FF8142,#F26522);
  box-shadow:0 0 0 3px rgba(242,101,34,.18);
}
.vn-mega-title{
  font-family:'Outfit',sans-serif;
  font-size:clamp(1.2rem,1.8vw,1.55rem);font-weight:900;
  color:#fff;line-height:1.05;letter-spacing:-.04em;
  margin-bottom:10px;
}
.vn-mega-desc{
  font-size:.78rem;color:rgba(255,255,255,.52);
  line-height:1.68;font-weight:400;margin-bottom:20px;flex:1;
}
/* mini stats */
.vn-mega-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  margin-top:auto;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.07);
}
.vn-mega-stat{
  padding:12px 12px 10px;border-radius:14px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);
}
.vn-mega-stat strong{
  display:block;font-family:'Outfit',sans-serif;
  font-size:.92rem;font-weight:900;color:#fff;
  letter-spacing:-.03em;margin-bottom:2px;
}
.vn-mega-stat span{font-size:.65rem;color:rgba(255,255,255,.42);line-height:1.4}

/* ── coluna 2: links ── */
.vn-mega-links{
  background:rgba(255,255,255,.96);
  padding:20px;
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  border-left:1px solid rgba(0,0,0,.05);
  border-right:1px solid rgba(0,0,0,.05);
}
.vn-mega-col{display:flex;flex-direction:column;gap:6px}
.vn-mega-col-label{
  font-size:.6rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:#8a98b2;padding:0 6px;margin-bottom:2px;
}

/* cada link de serviço */
.vn-svc{
  display:grid;grid-template-columns:38px 1fr 26px;
  align-items:center;gap:10px;
  padding:10px 10px;border-radius:14px;
  border:1px solid transparent;text-decoration:none;
  transition:background .2s,border-color .2s,transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;
  position:relative;overflow:hidden;
}
.vn-svc::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(242,101,34,.05),rgba(43,190,211,.04));
  opacity:0;transition:opacity .2s;z-index:-1;
}
.vn-svc:hover{
  background:rgba(255,255,255,.95);
  border-color:rgba(17,34,68,.1);
  box-shadow:0 8px 20px rgba(16,28,52,.07);
  transform:translateY(-2px);
}
.vn-svc:hover::before{opacity:1}

.vn-svc-icon{
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(14,28,47,.06),rgba(14,28,47,.03));
  border:1px solid rgba(17,34,68,.08);
  font-size:1rem;line-height:1;
  color:#152d5b;
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),background .2s,color .2s;
  flex-shrink:0;
}
.vn-svc:hover .vn-svc-icon{
  transform:scale(1.06) rotate(-5deg);
  background:linear-gradient(135deg,rgba(242,101,34,.12),rgba(43,190,211,.08));
  color:#F26522;
}
.vn-svc-label{
  display:block;font-size:.82rem;font-weight:800;
  color:#0f1c34;letter-spacing:-.02em;margin-bottom:1px;
}
.vn-svc-sub{
  display:block;font-size:.67rem;color:#6b7a99;line-height:1.4;
}
.vn-svc-arrow{
  width:26px;height:26px;border-radius:8px;
  display:grid;place-items:center;
  color:#8a98b2;font-size:.8rem;
  background:rgba(17,34,68,.04);
  transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .2s,background .2s;
}
.vn-svc:hover .vn-svc-arrow{transform:translateX(3px);color:#F26522;background:rgba(242,101,34,.08)}

/* ── coluna 3: sidebar ── */
.vn-mega-side{
  background:linear-gradient(180deg,rgba(247,248,251,.97),rgba(255,255,255,.99));
  padding:20px;
  display:flex;flex-direction:column;gap:12px;
}
/* card featured (escuro) */
.vn-side-card{
  border-radius:18px;padding:16px;
  border:1px solid rgba(17,34,68,.08);
  background:#fff;
  box-shadow:0 8px 24px rgba(16,28,52,.05);
  position:relative;overflow:hidden;
}
.vn-side-card--dark{
  background:linear-gradient(155deg,rgba(14,28,47,.97),rgba(20,49,82,.96));
  border-color:rgba(255,255,255,.06);
  color:#fff;min-height:160px;
}
.vn-side-card--dark::before{
  content:'';position:absolute;top:-50px;right:-40px;
  width:140px;height:140px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,101,34,.32),transparent 70%);
  filter:blur(14px);pointer-events:none;
}
.vn-side-card-badge{
  display:inline-flex;align-items:center;
  font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:inherit;opacity:.7;margin-bottom:10px;
}
.vn-side-card-title{
  font-family:'Outfit',sans-serif;font-size:1rem;font-weight:900;
  letter-spacing:-.03em;line-height:1.05;color:inherit;margin-bottom:7px;
}
.vn-side-card-text{
  font-size:.7rem;line-height:1.58;color:inherit;opacity:.65;margin-bottom:0;
}
.vn-side-card-cta{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:14px;padding:9px 14px;border-radius:100px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);
  font-size:.7rem;font-weight:700;color:#fff;text-decoration:none;
  transition:background .2s;
}
.vn-side-card-cta:hover{background:rgba(255,255,255,.18)}
/* links rápidos */
.vn-side-links{display:grid;gap:7px}
.vn-side-link{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 12px;border-radius:12px;
  background:rgba(17,34,68,.03);border:1px solid rgba(17,34,68,.05);
  font-size:.72rem;font-weight:700;color:#0f1c34;text-decoration:none;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1),border-color .2s,background .2s;
}
.vn-side-link:hover{transform:translateX(2px);border-color:rgba(242,101,34,.2);background:rgba(242,101,34,.05)}
.vn-side-link span{color:#8a98b2;transition:color .2s}
.vn-side-link:hover span{color:#F26522}

/* ── dropdown simples (A Vita Center) ── */
.vn-dropdown{
  position:absolute;top:calc(100% + 10px);left:0;
  background:rgba(10,22,42,.97);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;padding:8px;
  min-width:230px;
  opacity:0;pointer-events:none;
  transform:translateY(6px);
  transition:opacity .22s,transform .22s cubic-bezier(.16,1,.3,1);
  z-index:8999;
}
.vn-dropdown::after{content:'';position:absolute;top:-10px;left:0;right:0;height:10px;background:transparent}
.vn-item.vn-open > .vn-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}

.vn-dd-item{
  display:flex;align-items:center;padding:10px 12px;border-radius:12px;
  color:rgba(255,255,255,.65);font-size:.85rem;font-weight:500;
  text-decoration:none;transition:background .15s,color .15s;gap:10px;
}
.vn-dd-item:hover{background:rgba(255,255,255,.07);color:#fff}
.vn-dd-name{font-size:.85rem;font-weight:700;display:block}
.vn-dd-sub{font-size:.7rem;color:rgba(255,255,255,.3);display:block;margin-top:1px}
.vn-dd-icon{
  width:32px;height:32px;border-radius:9px;flex-shrink:0;
  display:grid;place-items:center;font-size:.9rem;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);
}

/* ═══════════════════════════════════════════════════
   MOBILE DRAWER — Push Navigation
═══════════════════════════════════════════════════ */

/* Container principal — desliza de cima */
.vn-drawer{
  position:fixed;
  left:0;right:0;top:72px;bottom:0;
  z-index:8999;
  overflow:hidden;
  visibility:hidden;
  pointer-events:none;
}
.vn.vn-mob-open .vn-drawer{
  visibility:visible;
  pointer-events:auto;
}

/* Cada layer ocupa 100% do drawer */
.vn-layer{
  position:absolute;
  inset:0;
  background:#0A1628;
  overflow-y:auto;
  overscroll-behavior:contain;
  transition:transform .34s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}

/* Layer raiz: entra de baixo quando drawer abre */
#vnd-root{
  transform:translateY(100%);
}
.vn.vn-mob-open #vnd-root{
  transform:translateY(0);
}
/* Quando sublayer está ativa, empurra root para esquerda */
#vnd-root.vnd-pushed{
  transform:translateX(-30%);
  pointer-events:none;
}

/* Sublayers (layer 1): chegam da direita */
.vn-layer[data-layer="1"]{
  transform:translateX(100%);
}
.vn-layer[data-layer="1"].vnd-active{
  transform:translateX(0);
}

/* Conteúdo interno */
.vn-layer-body{
  padding:20px 20px 56px;
}

/* Cabeçalho do sublayer */
.vn-layer-head{
  display:flex;align-items:center;gap:12px;
  padding:0 20px;
  height:56px;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:700;color:#fff;
  position:sticky;top:0;
  background:rgba(10,22,40,.96);
  backdrop-filter:blur(12px);
  z-index:2;
}

/* Botão voltar */
.vnd-back{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  cursor:pointer;flex-shrink:0;color:rgba(255,255,255,.8);
  transition:background .15s,color .15s;
}
.vnd-back:hover{background:rgba(255,255,255,.13);color:#fff}
.vnd-back svg{width:16px;height:16px}

/* Search */
.vn-mob-search{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:14px;padding:11px 16px;margin-bottom:20px;
}
.vn-mob-search svg{width:16px;height:16px;color:rgba(255,255,255,.3);flex-shrink:0}
.vn-mob-search input{
  background:none;border:none;outline:none;width:100%;
  font-family:'Outfit',sans-serif;font-size:.82rem;color:#fff;
}
.vn-mob-search input::placeholder{color:rgba(255,255,255,.28)}

/* Nav raiz — lista de rows */
.vnd-nav{display:flex;flex-direction:column;gap:2px}

.vnd-row{
  display:flex;align-items:center;gap:14px;
  padding:14px 12px;border-radius:14px;
  background:none;border:none;cursor:pointer;width:100%;
  font-family:'Outfit',sans-serif;font-size:.9rem;font-weight:600;
  color:rgba(255,255,255,.75);text-decoration:none;
  transition:background .15s,color .15s;
  text-align:left;
}
.vnd-row:hover{background:rgba(255,255,255,.06);color:#fff}
.vnd-row-icon{
  width:38px;height:38px;flex-shrink:0;
  display:grid;place-items:center;border-radius:11px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.55);
  transition:background .15s,color .15s;
}
.vnd-row-icon svg{width:18px;height:18px}
.vnd-row:hover .vnd-row-icon{background:rgba(242,101,34,.15);border-color:rgba(242,101,34,.25);color:#ff8a5c}
.vnd-row-label{flex:1}
.vnd-row-arrow{width:16px;height:16px;flex-shrink:0;color:rgba(255,255,255,.25);margin-left:auto}
.vnd-row:hover .vnd-row-arrow{color:rgba(255,255,255,.5)}

.vnd-divider{height:1px;background:rgba(255,255,255,.07);margin:8px 0}

/* Intro do sublayer */
.vnd-sub-intro{margin-bottom:16px}
.vnd-sub-tag{
  display:inline-flex;align-items:center;
  padding:4px 10px;border-radius:100px;margin-bottom:8px;
  background:rgba(242,101,34,.12);border:1px solid rgba(242,101,34,.22);
  font-size:.62rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:#ff8a5c;
}
.vnd-sub-title{
  font-family:'Outfit',sans-serif;font-size:1.25rem;font-weight:900;
  color:#fff;letter-spacing:-.03em;line-height:1.1;
}

/* Card de destaque */
.vnd-highlight-card{
  background:linear-gradient(140deg,rgba(20,42,73,.95),rgba(14,28,47,.98));
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;padding:16px;margin-bottom:16px;
  position:relative;overflow:hidden;
}
.vnd-highlight-card::before{
  content:'';position:absolute;top:-30px;right:-30px;
  width:100px;height:100px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,101,34,.3),transparent 70%);
  filter:blur(14px);pointer-events:none;
}
.vnd-hc-badge{
  display:inline-flex;padding:3px 9px;border-radius:100px;
  background:rgba(242,101,34,.2);border:1px solid rgba(242,101,34,.3);
  font-size:.58rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;
  color:#ff8a5c;margin-bottom:8px;
}
.vnd-highlight-card strong{
  display:block;font-size:.9rem;font-weight:800;color:#fff;margin-bottom:10px;
}
.vnd-highlight-card a{
  display:inline-flex;align-items:center;
  font-size:.72rem;font-weight:700;color:#ff8a5c;text-decoration:none;
  transition:color .15s;
}
.vnd-highlight-card a:hover{color:#fff}

/* Lista de itens */
.vnd-list{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.vnd-item{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
  text-decoration:none;
  transition:background .15s,border-color .15s;
}
.vnd-item:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}
.vnd-item-icon{
  font-size:1.1rem;width:32px;height:32px;
  display:grid;place-items:center;flex-shrink:0;
  border-radius:9px;background:rgba(255,255,255,.05);
}
.vnd-item-text{display:flex;flex-direction:column;gap:2px}
.vnd-item-text strong{font-size:.8rem;font-weight:800;color:rgba(255,255,255,.88)}
.vnd-item-text span{font-size:.68rem;color:rgba(255,255,255,.38)}

/* Link "ver todas" */
.vnd-see-all{
  display:flex;align-items:center;justify-content:center;
  padding:13px;border-radius:12px;margin-top:4px;
  background:rgba(242,101,34,.1);border:1px solid rgba(242,101,34,.2);
  font-size:.78rem;font-weight:700;color:#ff8a5c;text-decoration:none;
  transition:background .15s;
}
.vnd-see-all:hover{background:rgba(242,101,34,.18)}

/* Footer CTA */
.vnd-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.vnd-cta-primary{
  padding:15px;border-radius:14px;text-align:center;
  background:linear-gradient(135deg,#FF8142,#F26522);
  color:#fff;font-size:.82rem;font-weight:700;text-decoration:none;
  display:flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 4px 18px rgba(242,101,34,.35);
  transition:opacity .2s,transform .2s;
}
.vnd-cta-primary:hover{opacity:.92;transform:translateY(-1px)}
.vnd-cta-primary svg{width:15px;height:15px}
.vnd-cta-secondary{
  padding:15px;border-radius:14px;text-align:center;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.7);font-size:.82rem;font-weight:600;text-decoration:none;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:background .15s,color .15s;
}
.vnd-cta-secondary svg{width:15px;height:15px}
.vnd-cta-secondary:hover{background:rgba(255,255,255,.12);color:#fff}

@media(max-width:480px){
  .vnd-footer{grid-template-columns:1fr}
}



/* ═══════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════ */
@media(max-width:1024px){
  .vn-nav-desktop,.vn-cta{display:none!important}
  .vn-hamburger{display:flex}
  .vn-bar{padding:0 20px}
}
@media(max-width:480px){
  .vn-bar{padding:0 16px}
  .vn-mob-footer{grid-template-columns:1fr}
}


/* ── HERO ── */

    .srv-icon {
      filter: brightness(144%) contrast(77%) saturate(103%) hue-rotate(12deg) sepia(83%);
    }

    .srv-icon {
      width: 60px !important;
      height: 58px !important;
    }

    .srv-icon img {
      height: 40px;
      width: 36px;
    }

    .spec-item img {
      height: 35px;
      filter: brightness(300%) hue-rotate(140deg);
    }


    /* ═══════════════════════════════════════════════
   TOKENS & RESET
═══════════════════════════════════════════════ */
    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    :root {
      --orange: #F26522;
      --orange-light: #FF8142;
      --orange-glow: rgba(242, 101, 34, .35);
      --navy: #0E1C2F;
      --navy-mid: #1A2E4A;
      --teal: #2BBED3;
      --white: #FFFFFF;
      --white-70: rgba(255, 255, 255, .70);
      --white-40: rgba(255, 255, 255, .40);
      --white-15: rgba(255, 255, 255, .15);
      --white-08: rgba(255, 255, 255, .08);
      --dur: 6000ms;

      /* easing tokens */
      --ease-expo: cubic-bezier(.16, 1, .3, 1);
      --ease-back: cubic-bezier(.34, 1.56, .64, 1);
      --ease-smooth: cubic-bezier(.77, 0, .18, 1);
    }

    html {
      -webkit-font-smoothing: antialiased;
    }

    body {
      font-family: 'Outfit', sans-serif;
      background: #000;
    }

    /* ═══════════════════════════════════════════════
   HERO WRAPPER
═══════════════════════════════════════════════ */
    .hero {
      position: relative;
      width: 100%;
      height: 100vh;
      min-height: 620px;
      overflow: hidden;
      background: var(--navy);
    }

    /* ═══════════════════════════════════════════════
   SLIDE TRACK
═══════════════════════════════════════════════ */
    .hero__track {
      display: flex;
      width: 300%;
      height: 100%;
      will-change: transform;
      transition: transform .9s var(--ease-smooth);
    }

    /* ═══════════════════════════════════════════════
   SINGLE SLIDE
═══════════════════════════════════════════════ */
    .slide {
      position: relative;
      width: calc(100% / 3);
      height: 100%;
      flex-shrink: 0;
      display: flex;
      align-items: center;
    }

    /* BG image */
    .slide__bg {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      /* will-change managed dynamically by JS — only set on active slide */
      transition: transform 9s linear;
    }

    .slide.active .slide__bg {
      transform: scale(1.06);
    }

    /* Gradient overlays — each slide has its own personality */
    .slide__overlay {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    /* Slide 1: Strong left fade + bottom vignette */
    .s1 .slide__overlay {
      background:
        linear-gradient(110deg, rgba(14, 28, 47, .96) 0%, rgba(14, 28, 47, .72) 42%, rgba(14, 28, 47, .2) 68%, transparent 80%),
        linear-gradient(to top, rgba(14, 28, 47, .7) 0%, transparent 38%);
    }

    /* Slide 2: Dual tone — navy left, teal accent */
    .s2 .slide__overlay {
      background:
        linear-gradient(115deg, rgba(14, 28, 47, .93) 0%, rgba(26, 46, 74, .65) 44%, transparent 72%),
        linear-gradient(to top, rgba(14, 28, 47, .65) 0%, transparent 40%),
        radial-gradient(ellipse at 100% 60%, rgba(43, 190, 211, .08) 0%, transparent 55%);
    }

    /* Slide 3: Cinematic radial + dark frame */
    .s3 .slide__overlay {
      background:
        radial-gradient(ellipse at 28% 52%, rgba(14, 28, 47, .52) 0%, rgba(8, 14, 26, .94) 100%),
        linear-gradient(to top, rgba(8, 14, 26, .6) 0%, transparent 35%);
    }

    /* decorative grain texture on overlay */
    .slide__overlay::after {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
      opacity: .03;
      pointer-events: none;
    }

    /* horizontal accent line — decorative */
    .slide__accent-line {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, var(--orange) 0%, transparent 60%);
      opacity: 0;
      transition: opacity .6s 1.2s ease;
    }

    .slide.active .slide__accent-line {
      opacity: .5;
    }

    /* ═══════════════════════════════════════════════
   CONTENT AREA
═══════════════════════════════════════════════ */
    .slide__content {
      position: relative;
      z-index: 2;
      width: 100%;
      max-width: 1240px;
      margin: 0 auto;
      padding: 80px 80px 0;
      /* top padding clears brand mark */
    }

    /* ── TAG / EYEBROW ── */
    .tag {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: rgba(242, 101, 34, .12);
      border: 1px solid rgba(242, 101, 34, .3);
      border-radius: 100px;
      padding: 7px 16px 7px 10px;
      font-family: 'Outfit', sans-serif;
      font-size: 10.5px;
      font-weight: 600;
      letter-spacing: 2.8px;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .9);
      margin-bottom: 22px;
      /* animation */
      opacity: 0;
      transform: translateY(12px);
      transition: opacity .5s .05s var(--ease-expo), transform .5s .05s var(--ease-expo);
    }

    .tag__dot {
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: var(--orange);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .tag__dot svg {
      width: 9px;
      height: 9px;
      color: #fff;
    }

    .slide.active .tag {
      opacity: 1;
      transform: translateY(0);
    }

    /* ── HEADING ── */
    .heading {
      font-family: 'Outfit', sans-serif;
      font-weight: 800;
      color: #fff;
      line-height: 1.08;
      letter-spacing: -.03em;
      margin-bottom: 18px;
      /* animation */
      opacity: 0;
      transform: translateY(22px);
      transition: opacity .65s .18s var(--ease-expo), transform .65s .18s var(--ease-expo);
    }

    .slide.active .heading {
      opacity: 1;
      transform: translateY(0);
    }

    /* ── ORANGE HIGHLIGHT WORD ── */
    .heading em {
      font-style: normal;
      /* Outfit italic is weak — use upright bold instead */
      font-weight: 800;
      position: relative;
      display: inline-block;
      /* gradient text */
      background: linear-gradient(135deg, var(--orange-light) 0%, var(--orange) 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    /* brush underline via ::after */
    .heading em::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: -4px;
      width: 100%;
      height: 3px;
      border-radius: 2px;
      background: linear-gradient(90deg,
          var(--orange-light) 0%,
          var(--orange) 55%,
          rgba(242, 101, 34, .3) 78%,
          transparent 100%);
      /* animate in: starts collapsed, expands when slide becomes active */
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform .7s .55s var(--ease-expo);
    }

    .slide.active .heading em::after {
      transform: scaleX(1);
    }

    /* ── SUB ── */
    .sub {
      font-size: 15.5px;
      line-height: 1.72;
      color: var(--white-70);
      font-weight: 400;
      max-width: 490px;
      margin-bottom: 34px;
      /* animation */
      opacity: 0;
      transform: translateY(16px);
      transition: opacity .6s .3s var(--ease-expo), transform .6s .3s var(--ease-expo);
    }

    .slide.active .sub {
      opacity: 1;
      transform: translateY(0);
    }

    /* ── CTA ROW ── */
    .cta {
      display: flex;
      gap: 12px;
      align-items: center;
      opacity: 0;
      transform: translateY(14px);
      transition: opacity .55s .42s var(--ease-expo), transform .55s .42s var(--ease-expo);
    }

    .slide.active .cta {
      opacity: 1;
      transform: translateY(0);
    }

    /* Buttons */
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      font-family: 'Outfit', sans-serif;
      font-weight: 600;
      font-size: 14px;
      padding: 14px 26px;
      border-radius: 100px;
      text-decoration: none;
      cursor: pointer;
      border: none;
      white-space: nowrap;
      /* prevent text from wrapping inside button */
      /* explicit properties only — avoid transition:all conflicting with shimmer ::after */
      transition: transform .28s var(--ease-back), box-shadow .28s var(--ease-back), background .28s, border-color .28s, opacity .28s;
      position: relative;
      overflow: hidden;
    }

    .btn::before {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(255, 255, 255, 0);
      transition: background .25s;
      border-radius: inherit;
    }

    .btn:hover::before {
      background: rgba(255, 255, 255, .08);
    }

    .btn svg {
      width: 15px;
      height: 15px;
      flex-shrink: 0;
    }

    .btn--primary {
      background: linear-gradient(135deg, var(--orange-light) 0%, var(--orange) 100%);
      color: #fff;
      box-shadow: 0 6px 30px var(--orange-glow), 0 1px 0 rgba(255, 255, 255, .15) inset;
    }

    .btn--primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 40px rgba(242, 101, 34, .5), 0 1px 0 rgba(255, 255, 255, .15) inset;
    }

    .btn--ghost {
      background: var(--white-08);
      backdrop-filter: blur(12px) saturate(140%);
      border: 1.5px solid var(--white-15);
      color: var(--white);
    }

    .btn--ghost:hover {
      background: rgba(255, 255, 255, .14);
      border-color: rgba(255, 255, 255, .4);
      transform: translateY(-2px);
    }

    /* ─── Hero entrance (first load) ─── */
    /* NOTE: .hero starts hidden via JS-added class .hero--loading, removed after rAF */
    .hero--loading {
      opacity: 0;
    }

    .hero {
      transition: opacity .5s ease;
    }

    /* ─── Staggered srv-cards entrance ─── */
    .slide.active .srv-card:nth-child(1) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .32s;
    }

    .slide.active .srv-card:nth-child(2) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .40s;
    }

    .slide.active .srv-card:nth-child(3) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .48s;
    }

    .slide.active .srv-card:nth-child(4) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .56s;
    }

    .slide.active .srv-card:nth-child(5) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .64s;
    }

    .slide.active .srv-card:nth-child(6) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .72s;
    }

    /* cards exit */
    .slide.leaving .srv-card {
      opacity: 0 !important;
      transform: translateY(8px) !important;
      transition-delay: 0s !important;
    }

    /* ═══════════════════════════════════════════════
   SLIDE 1 — específico
═══════════════════════════════════════════════ */
    .s1 .heading {
      font-size: clamp(30px, 4vw, 60px);
      max-width: 620px;
    }

    .stats {
      display: flex;
      gap: 0;
      margin-top: 48px;
      padding-top: 30px;
      border-top: 1px solid rgba(255, 255, 255, .1);
      width: fit-content;
      opacity: 0;
      transform: translateY(12px);
      transition: opacity .55s .58s var(--ease-expo), transform .55s .58s var(--ease-expo);
    }

    .slide.active .stats {
      opacity: 1;
      transform: translateY(0);
    }

    .stat {
      padding-right: 36px;
      margin-right: 36px;
      border-right: 1px solid rgba(255, 255, 255, .1);
    }

    .stat:last-child {
      border-right: none;
      margin-right: 0;
      padding-right: 0;
    }

    .stat__n {
      font-family: 'Outfit', sans-serif;
      font-size: 30px;
      font-weight: 800;
      color: #fff;
      line-height: 1;
      margin-bottom: 5px;
      display: flex;
      align-items: baseline;
      gap: 1px;
      letter-spacing: -.02em;
    }

    .stat__n em {
      font-style: normal;
      background: linear-gradient(135deg, var(--orange-light), var(--orange));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      font-size: 22px;
    }

    .stat__l {
      font-size: 11px;
      color: rgba(255, 255, 255, .38);
      letter-spacing: .5px;
      font-weight: 400;
    }

    /* ═══════════════════════════════════════════════
   SLIDE 2 — grid layout
═══════════════════════════════════════════════ */
    .s2 .slide__content {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: 60px;
    }

    .s2 .heading {
      font-size: clamp(26px, 3.6vw, 52px);
      max-width: 545px;
      width: 545px;
    }

    .srv-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      opacity: 0;
      transform: translateX(28px);
      transition: opacity .7s .28s var(--ease-expo), transform .7s .28s var(--ease-expo);
    }

    .slide.active .srv-grid {
      opacity: 1;
      transform: translateX(0);
    }

    .srv-card {
      /* layout & visual */
      background: rgba(255, 255, 255, .07);
      backdrop-filter: blur(20px) saturate(160%);
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 16px;
      padding: 18px;
      position: relative;
      overflow: hidden;
      cursor: default;
      /* stagger entrance state */
      opacity: 0;
      transform: translateY(12px);
      /* transitions: entrance + hover — explicit, no conflict */
      transition:
        opacity .4s var(--ease-expo),
        transform .4s var(--ease-expo),
        background .3s var(--ease-back),
        border-color .3s,
        box-shadow .3s;
    }

    .srv-card::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(242, 101, 34, .06) 0%, transparent 60%);
      opacity: 0;
      transition: opacity .3s;
      border-radius: inherit;
    }

    .srv-card:hover {
      background: rgba(255, 255, 255, .12);
      transform: translateY(-3px) scale(1.01);
      border-color: rgba(255, 255, 255, .2);
    }

    .srv-card:hover::before {
      opacity: 1;
    }

    .srv-icon {
      width: 38px;
      height: 38px;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 11px;
      flex-shrink: 0;
    }

    .srv-icon.teal {
      background: rgba(43, 190, 211, .25);
    }

    .srv-icon.flame {
      background: rgba(242, 101, 34, .28);
    }

    .srv-icon.pearl {
      background: rgba(255, 255, 255, .14);
    }

    .srv-icon svg {
      width: 17px;
      height: 17px;
      color: #fff;
    }

    .srv-name {
      font-size: 13.5px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 3px;
    }

    .srv-desc {
      font-size: 11px;
      color: rgba(255, 255, 255, .42);
      line-height: 1.4;
    }

    /* ═══════════════════════════════════════════════
   SLIDE 3 — centered / cinematic
═══════════════════════════════════════════════ */
    .s3 .slide__content {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      max-width: 860px;
    }

    .s3 .heading {
      font-size: clamp(32px, 5.2vw, 72px);
      max-width: 720px;
    }

    .s3 .sub {
      text-align: center;
      max-width: 540px;
    }

    .s3 .tag {
      align-self: center;
    }

    .spec-icons {
      display: flex;
      gap: 16px;
      justify-content: center;
      margin-bottom: 36px;
      flex-wrap: wrap;
      opacity: 0;
      transform: translateY(14px);
      transition: opacity .55s .4s var(--ease-expo), transform .55s .4s var(--ease-expo);
    }

    .slide.active .spec-icons {
      opacity: 1;
      transform: translateY(0);
    }

    .spec-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 9px;
      cursor: default;
    }

    .spec-circle {
      width: 62px;
      height: 62px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1.5px solid var(--white-15);
      background: var(--white-08);
      backdrop-filter: blur(10px);
      transition: all .3s var(--ease-back);
      position: relative;
      overflow: hidden;
    }

    .spec-circle::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: inherit;
      background: var(--orange);
      opacity: 0;
      transform: scale(.5);
      transition: opacity .3s, transform .3s var(--ease-back);
    }

    .spec-item:hover .spec-circle {
      border-color: var(--orange);
      transform: translateY(-4px) scale(1.08);
    }

    .spec-item:hover .spec-circle::before {
      opacity: .22;
      transform: scale(1);
    }

    .spec-circle.teal {
      border-color: rgba(43, 190, 211, .4);
      background: rgba(43, 190, 211, .14);
    }

    .spec-circle.flame {
      border-color: rgba(242, 101, 34, .4);
      background: rgba(242, 101, 34, .18);
    }

    .spec-circle svg {
      width: 24px;
      height: 24px;
      color: #fff;
      position: relative;
      z-index: 1;
    }

    .spec-name {
      font-size: 11.5px;
      font-weight: 600;
      color: rgba(255, 255, 255, .72);
      letter-spacing: .3px;
    }

    .s3 .cta {
      justify-content: center;
    }

    /* ═══════════════════════════════════════════════
   NAVBAR OVERLAY (slide number + line)
═══════════════════════════════════════════════ */
    .hero__sidebar {
      position: absolute;
      right: 32px;
      top: 50%;
      z-index: 10;
      transform: translateY(-50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
    }

    .sidebar__line {
      width: 1px;
      height: 80px;
      background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, .3), transparent);
    }

    .sidebar__num {
      font-family: 'Outfit', sans-serif;
      font-size: 11px;
      font-weight: 700;
      color: rgba(255, 255, 255, .35);
      writing-mode: vertical-rl;
      letter-spacing: 2px;
    }

    /* ═══════════════════════════════════════════════
   NAVIGATION ARROWS
═══════════════════════════════════════════════ */
    .arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 10;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: rgba(14, 28, 47, .6);
      backdrop-filter: blur(12px) saturate(140%);
      border: 1.5px solid rgba(255, 255, 255, .15);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all .28s var(--ease-back);
    }

    .arrow:hover {
      background: rgba(242, 101, 34, .22);
      border-color: rgba(242, 101, 34, .5);
      transform: translateY(-50%) scale(1.08);
    }

    .arrow svg {
      width: 17px;
      height: 17px;
    }

    .arrow--prev {
      left: 28px;
    }

    .arrow--next {
      right: 28px;
    }

    /* ═══════════════════════════════════════════════
   PROGRESS / DOTS
═══════════════════════════════════════════════ */
    .progress {
      position: absolute;
      bottom: 36px;
      left: 80px;
      z-index: 10;
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .dots {
      display: flex;
      gap: 8px;
    }

    .dot {
      height: 3px;
      width: 24px;
      border-radius: 3px;
      background: rgba(255, 255, 255, .22);
      cursor: pointer;
      position: relative;
      overflow: hidden;
      transition: width .4s var(--ease-expo), background .3s;
    }

    .dot.active {
      width: 54px;
      background: rgba(255, 255, 255, .28);
    }

    .dot__fill {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 0;
      background: linear-gradient(90deg, var(--orange-light), var(--orange));
      border-radius: 3px;
    }

    .dot.active .dot__fill {
      animation: fillDot var(--dur, 6000ms) linear forwards;
    }

    /* Ensure --dur propagates: set on #dots via JS */
    @keyframes fillDot {
      from {
        width: 0
      }

      to {
        width: 100%
      }
    }

    .counter {
      font-family: 'Outfit', sans-serif;
      font-size: 12px;
      font-weight: 500;
      color: rgba(255, 255, 255, .35);
      letter-spacing: 1.5px;
      display: flex;
      align-items: baseline;
      gap: 3px;
    }

    .counter em {
      font-style: normal;
      color: rgba(255, 255, 255, .75);
      font-weight: 700;
      font-size: 14px;
    }

    /* slide label next to dots */
    .slide-label {
      position: absolute;
      bottom: 32px;
      right: 80px;
      z-index: 10;
      font-family: 'Outfit', sans-serif;
      font-size: 11px;
      font-weight: 500;
      color: rgba(255, 255, 255, .3);
      letter-spacing: 2px;
      text-transform: uppercase;
    }

    /* ═══════════════════════════════════════════════
   MEDIA — TABLET (601 – 1024)
═══════════════════════════════════════════════ */
    @media (max-width: 1024px) and (min-width: 601px) {
      .slide__content {
        padding: 60px 44px 0;
      }

      .s1 .heading {
        font-size: clamp(22px, 4vw, 42px);
      }

      .stats {
        margin-top: 28px;
        padding-top: 20px;
      }

      .stat {
        padding-right: 22px;
        margin-right: 22px;
      }

      .stat__n {
        font-size: 22px;
      }

      .s2 .slide__content {
        gap: 28px;
      }

      .s2 .heading {
        font-size: clamp(20px, 3.2vw, 36px);
      }

      .srv-card {
        padding: 14px;
      }

      .srv-name {
        font-size: 12px;
      }

      .s3 .heading {
        font-size: clamp(22px, 4.2vw, 46px);
      }

      .spec-circle {
        width: 52px;
        height: 52px;
      }

      .hero__sidebar {
        display: none;
      }

      .scroll-indicator {
        display: none;
      }

      /* avoids overlap with progress dots on tablet */
      .arrow--prev {
        left: 12px;
      }

      .arrow--next {
        right: 12px;
      }

      .progress {
        left: 44px;
        bottom: 24px;
      }

      .slide-label {
        right: 44px;
      }
    }

    /* ═══════════════════════════════════════════════
   MEDIA — MOBILE (≤ 600)
═══════════════════════════════════════════════ */
    @media (max-width: 600px) {
      .hero {
        height: 100svh;
        min-height: 580px;
      }

      .slide__content {
        padding: 50px 22px 0;
      }

      .tag {
        font-size: 9.5px;
        letter-spacing: 2px;
        padding: 6px 12px 6px 9px;
        margin-bottom: 14px;
      }

      .sub {
        font-size: 14px;
        line-height: 1.65;
        margin-bottom: 22px;
        max-width: 100%;
      }

      /* CTA: stack vertically on mobile, full width */
      .cta {
        flex-direction: column;
        align-items: stretch;
        /* buttons fill full width */
        gap: 10px;
      }

      .btn {
        font-size: 14px;
        padding: 15px 22px;
        width: 100%;
        justify-content: center;
      }

      /* S3 CTA stays centered even when stacked */
      .s3 .cta {
        align-items: center;
      }

      .s3 .btn {
        width: auto;
        min-width: 200px;
      }

      /* Arrows — bottom of screen */
      .arrow {
        top: auto;
        transform: none;
        bottom: 52px;
        width: 38px;
        height: 38px;
      }

      .arrow:hover {
        transform: scale(1.06);
      }

      .arrow svg {
        width: 14px;
        height: 14px;
      }

      .arrow--prev {
        left: 18px;
      }

      .arrow--next {
        right: 18px;
      }

      /* Progress — centered */
      .progress {
        left: 50%;
        transform: translateX(-50%);
        bottom: 14px;
        gap: 10px;
      }

      .dot {
        width: 18px;
      }

      .dot.active {
        width: 42px;
      }

      .slide-label {
        display: none;
      }

      .hero__sidebar {
        display: none;
      }

      /* S1 mobile */
      .s1 .heading {
        font-size: clamp(22px, 7vw, 34px);
        max-width: 100%;
        margin-bottom: 12px;
      }

      .stats {
        margin-top: 22px;
        padding-top: 18px;
      }

      .stat {
        padding-right: 18px;
        margin-right: 18px;
      }

      .stat:last-child {
        display: none;
      }

      .stat__n {
        font-size: 20px;
      }

      .stat__l {
        font-size: 10px;
      }

      /* S2 mobile */
      .s2 .slide__content {
        display: block;
      }

      .s2 .heading {
        font-size: clamp(22px, 7vw, 34px);
        max-width: 100%;
      }

      .srv-grid {
        display: none;
      }

      /* S3 mobile */
      .s3 .heading {
        font-size: clamp(24px, 7vw, 36px);
      }

      .s3 .sub {
        font-size: 14px;
        max-width: 100%;
      }

      .spec-icons {
        gap: 10px 12px;
        margin-bottom: 22px;
      }

      .spec-circle {
        width: 48px;
        height: 48px;
      }

      .spec-circle svg {
        width: 20px;
        height: 20px;
      }

      .spec-name {
        font-size: 10.5px;
      }
    }

    /* ═══════════════════════════════════════════════
   BRAND MARK — top left fixed
═══════════════════════════════════════════════ */

    .brand__text {
      display: flex;
      flex-direction: column;
      line-height: 1;
    }

    .brand__name {
      font-family: 'Outfit', sans-serif;
      font-size: 15px;
      font-weight: 700;
      color: #fff;
      letter-spacing: -.01em;
    }

    .brand__sub {
      font-family: 'Outfit', sans-serif;
      font-size: 9.5px;
      font-weight: 500;
      color: rgba(255, 255, 255, .45);
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-top: 2px;
    }

    /* ═══════════════════════════════════════════════
   SCROLL INDICATOR — slide 1 only
═══════════════════════════════════════════════ */
    .scroll-indicator {
      position: absolute;
      bottom: 38px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 10;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      opacity: 0;
      animation: fadeInScroll 1s 2s ease forwards;
    }

    .scroll-indicator__label {
      font-family: 'Outfit', sans-serif;
      font-size: 9px;
      font-weight: 600;
      color: rgba(255, 255, 255, .3);
      letter-spacing: 3px;
      text-transform: uppercase;
    }

    .scroll-indicator__track {
      width: 1px;
      height: 42px;
      background: rgba(255, 255, 255, .15);
      border-radius: 1px;
      position: relative;
      overflow: hidden;
    }

    .scroll-indicator__fill {
      position: absolute;
      top: -100%;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to bottom, transparent, var(--orange));
      animation: scrollFill 1.8s 2.2s ease-in-out infinite;
    }

    @keyframes fadeInScroll {
      to {
        opacity: 1;
      }
    }

    @keyframes scrollFill {
      0% {
        top: -100%;
        opacity: 1;
      }

      80% {
        top: 100%;
        opacity: 1;
      }

      100% {
        top: 100%;
        opacity: 0;
      }
    }

    /* ═══════════════════════════════════════════════
   HEADING DIVIDER LINE
═══════════════════════════════════════════════ */
    .heading-divider {
      width: 40px;
      height: 2px;
      border-radius: 2px;
      background: linear-gradient(90deg, var(--orange), transparent);
      margin-bottom: 16px;
      opacity: 0;
      transform: scaleX(0);
      transform-origin: left;
      transition: opacity .5s .12s var(--ease-expo), transform .5s .12s var(--ease-expo);
    }

    .slide.active .heading-divider {
      opacity: 1;
      transform: scaleX(1);
    }

    /* slide 3 is centered — divider centered too */
    .s3 .heading-divider {
      transform-origin: center;
      margin-left: auto;
      margin-right: auto;
      /* when not yet active, still collapsed from center */
    }

    .s3 .slide.active .heading-divider,
    .s3.active .heading-divider {
      transform: scaleX(1);
    }

    /* ═══════════════════════════════════════════════
   SHIMMER on primary button
═══════════════════════════════════════════════ */
    .btn--primary {
      position: relative;
      overflow: hidden;
    }

    .btn--primary::after {
      content: '';
      position: absolute;
      top: 0;
      left: -75%;
      width: 50%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), transparent);
      transform: skewX(-20deg);
      transition: left .5s ease;
    }

    .btn--primary:hover::after {
      left: 130%;
    }

    /* ═══════════════════════════════════════════════
   EXIT ANIMATIONS — elements fade out on slide leave
═══════════════════════════════════════════════ */
    .slide.leaving .tag,
    .slide.leaving .heading-divider,
    .slide.leaving .heading,
    .slide.leaving .sub,
    .slide.leaving .cta,
    .slide.leaving .stats,
    .slide.leaving .srv-grid,
    .slide.leaving .spec-icons {
      opacity: 0 !important;
      transform: translateY(-10px) !important;
      transition-duration: .35s !important;
      transition-delay: 0s !important;
    }

    /* underline exit — collapse, don't fade (it's on a gradient text element) */
    .slide.leaving .heading em::after {
      transform: scaleX(0) !important;
      transition-duration: .3s !important;
      transition-delay: 0s !important;
    }

    .slide.leaving .srv-grid {
      transform: translateX(16px) !important;
    }

    /* ═══════════════════════════════════════════════
   FOCUS VISIBLE — accessibility
═══════════════════════════════════════════════ */
    .btn:focus-visible,
    .arrow:focus-visible,
    .dot:focus-visible {
      outline: 2px solid var(--orange);
      outline-offset: 3px;
    }

    /* ═══════════════════════════════════════════════
   GRAIN — mix-blend-mode for better render
═══════════════════════════════════════════════ */
    .slide__overlay::after {
      mix-blend-mode: overlay;
      opacity: .06;
    }

    /* ── BRAND responsive ── */
    @media (max-width: 1024px) and (min-width: 601px) {
    }

    @media (max-width: 600px) {

      .brand__text {
        display: none;
      }

      .scroll-indicator {
        display: none;
      }
    }

    /* ─── reduce motion ─── */
    @media (prefers-reduced-motion: reduce) {
      .hero__track {
        transition: none;
      }

      .slide__bg {
        transition: none;
      }

      .tag,
      .heading-divider,
      .heading,
      .heading em::after,
      .sub,
      .cta,
      .stats,
      .srv-grid,
      .spec-icons {
        transition: none;
      }

      .scroll-indicator {
        animation: none;
        opacity: 1;
      }

      .scroll-indicator__fill {
        animation: none;
      }

      .btn--primary::after {
        display: none;
      }

      [data-r] {
        transition: none;
        opacity: 1;
        transform: none;
      }
    }
  

/* ── FOOTER ── */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Gotham HTF', sans-serif; background: #e8edf3; }

/* ════════════════════════════
   FOOTER
════════════════════════════ */
.footer {
  background: #0b1628;
  position: relative;
  overflow: hidden;
}

/* Subtle dot texture */
.footer::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.028) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none; z-index: 0;
}

/* Ambient glow orbs */
.glow-left {
  position: absolute;
  width: 600px; height: 500px;
  background: radial-gradient(ellipse, rgba(244,120,32,0.07) 0%, transparent 70%);
  bottom: -100px; left: -120px;
  pointer-events: none; z-index: 0;
}
.glow-right {
  position: absolute;
  width: 500px; height: 400px;
  background: radial-gradient(ellipse, rgba(77,174,220,0.06) 0%, transparent 70%);
  top: -60px; right: -80px;
  pointer-events: none; z-index: 0;
}

/* ── INNER WRAP ── */
.footer-inner {
  position: relative; z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 55px 80px 0;
}

/* ══════════════════════
   ROW 1: LOGO · TAGLINE · HOURS
══════════════════════ */
.footer-row1 {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 48px;
  padding-bottom: 35px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  margin-bottom: 44px;
}

/* Logo */
.f-logo { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.f-logo-text {
  font-family: 'Outfit', serif;
  font-size: 20px; color: #fff; letter-spacing: 2px; line-height: 1;
}
.f-logo-text em { color: #F47820; font-style: normal; }
.f-logo-sub {
  font-size: 9px; font-weight: 700; letter-spacing: 3px;
  color: rgba(255,255,255,0.3); text-transform: uppercase;
  margin-top: 5px; display: block;
}

/* Tagline */
.f-tagline {
  font-family: 'Outfit', serif;
  font-size: clamp(15px, 1.8vw, 21px);
  font-style: italic;
  color: rgba(255,255,255,0.22);
  line-height: 1.55;
  text-align: center;
}
.f-tagline em { color: rgba(255,255,255,0.5); font-style: italic; }

/* Hours */
.f-hours {
  display: flex; align-items: center; gap: 12px; flex-shrink: 0;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 14px 18px;
}
.f-hours-icon {
  width: 36px; height: 36px; border-radius: 10px;
  background: rgba(77,174,220,0.12);
  border: 1px solid rgba(77,174,220,0.18);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.f-hours-icon svg { width: 16px; height: 16px; color: #4DAEDC; }
.f-hours-main { font-size: 13px; font-weight: 800; color: #fff; display: block; margin-bottom: 3px; }
.f-hours-sub { font-size: 11px; color: rgba(255,255,255,0.36); display: block; }

/* ══════════════════════
   ROW 2: STATS BAND
══════════════════════ */
.footer-row2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-bottom: 44px;
  background: rgba(255,255,255,0.06);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.06);
}

.stat-cell {
  background: rgba(11,22,40,0.9);
  padding: 30px 20px;
  text-align: center;
  transition: background 0.3s;
  cursor: default;
  position: relative;
}

.stat-cell::after {
  content: '';
  position: absolute; top: 22%; bottom: 22%; right: 0;
  width: 1px; background: rgba(255,255,255,0.06);
}
.stat-cell:last-child::after { display: none; }
.stat-cell:hover { background: rgba(255,255,255,0.04); }
.stat-cell:hover .stat-num { color: #ff9a45; }

.stat-num {
  font-family: 'Outfit', serif;
  font-size: 38px; font-weight: 800; color: #F47820;
  display: block; line-height: 1; margin-bottom: 9px;
  transition: color 0.3s;
}
.stat-label {
  font-size: 10px; color: rgba(255,255,255,0.35);
  letter-spacing: 2.5px; text-transform: uppercase; font-weight: 700;
}

/* ══════════════════════
   DIVIDER
══════════════════════ */
.footer-divider {
  display: flex; align-items: center; gap: 16px; margin-bottom: 36px;
}
.footer-divider::before, .footer-divider::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(to right, transparent, rgba(255,255,255,0.08), transparent);
}
.div-dots { display: flex; gap: 5px; align-items: center; flex-shrink: 0; }
.div-dot { width: 5px; height: 5px; border-radius: 50%; background: rgba(244,120,32,0.4); }
.div-dot.c { width: 7px; height: 7px; background: #F47820; }

/* ══════════════════════
   ROW 3: LOCATION CARDS
══════════════════════ */
.footer-row3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.loc-card {
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 16px;
  padding: 26px 22px;
  background: rgba(255,255,255,0.02);
  position: relative; overflow: hidden;
  transition: all 0.3s;
}

.loc-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, #F47820 40%, transparent);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.35s ease;
}
.loc-card:hover { background: rgba(255,255,255,0.045); transform: translateY(-5px); border-color: rgba(255,255,255,0.11); }
.loc-card:hover::before { transform: scaleX(1); }

.loc-head { display: flex; align-items: baseline; gap: 9px; margin-bottom: 16px; }
.loc-city { font-family: 'Outfit', serif; font-size: 18px; font-weight: 700; color: #fff; }
.loc-state { font-size: 10px; font-weight: 800; color: #F47820; letter-spacing: 2px; text-transform: uppercase; }

.loc-detail {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 12px; color: rgba(255,255,255,0.38);
  line-height: 1.65; margin-bottom: 10px;
}
.loc-detail:last-child { margin-bottom: 0; }
.loc-detail svg { width: 13px; height: 13px; flex-shrink: 0; margin-top: 2px; color: rgba(244,120,32,0.5); }

/* ══════════════════════
   BOTTOM BAR
══════════════════════ */
.footer-bottom {
  max-width: 1200px; margin: 0 auto;
  padding: 22px 80px 24px;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
  border-top: 1px solid rgba(255,255,255,0.05);
  margin-top: 48px;
  position: relative; z-index: 1;
}
.footer-bottom p { font-size: 12px; color: rgba(255,255,255,0.26); }
.footer-bottom p strong { color: rgba(255,255,255,0.52); font-weight: 400; }
.bottom-links { display: flex; gap: 22px; }
.bottom-links a {
  font-size: 11px; color: rgba(255,255,255,0.22); text-decoration: none;
  letter-spacing: 0.5px; transition: color 0.25s;
}
.bottom-links a:hover { color: rgba(244,120,32,0.75); }

/* ── WHATSAPP ── */
@keyframes waPulse {
  0%,100% { box-shadow: 0 6px 24px rgba(37,211,102,0.5); }
  50% { box-shadow: 0 6px 42px rgba(37,211,102,0.78); }
}

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .footer-inner, .footer-bottom { padding-left: 36px; padding-right: 36px; }
  .footer-row1 { grid-template-columns: 1fr; gap: 24px; }
  .f-tagline { text-align: left; }
  .footer-row2 { grid-template-columns: repeat(2, 1fr); }
  .footer-row3 { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .footer-inner, .footer-bottom { padding-left: 22px; padding-right: 22px; }
  .footer-row2 { grid-template-columns: repeat(2, 1fr); }
}

  
/* ── SERVICOS ── */

/* ── DESIGN TOKENS ─────────────────── */
:root{
  --r-sm: 12px;
  --r-md: 18px;
  --r-lg: 22px;

  --navy:     #152d5b;
  --navy-mid: #234a8a;
  --navy-xlt: #edf0f8;
  --orange:   #f26522;
  --white:    #fff;
  --off:      #f8f9fc;
  --gray:     #6b7a99;
  --gray-md:  #8896b3;
  --gray-lt:  #dde4f2;
  --gray-xlt: #f4f6fc;
  --text:     #0f1c34;
  --text2:    #3a4d6b;

  --e:    #1762a3;
  --e-lt: rgba(23,98,163,.07);
  --e-bd: rgba(23,98,163,.22);

  --c:    #8CB5C8;
  --c-lt: rgba(140,181,200,.07);
  --c-bd: rgba(140,181,200,.22);
  --casa: var(--c);
  --casa-lt: var(--c-lt);
  --casa-bd: var(--c-bd);

  --k:    #e55318;
  --k-lt: rgba(229,83,24,.07);
  --k-bd: rgba(229,83,24,.22);

  /* Live context — JS sets these as hex strings, never var() refs */
  --ctx-hex:  #1762a3;
  --ctx-lt:   rgba(23,98,163,.06);
}

/* ── FOCUS — matches parent radius via inherit trick ─ */
:focus-visible{
  outline:2.5px solid var(--orange);
  outline-offset:3px;
  border-radius:inherit;
}
/* cards need explicit override since they use --r-md */
.svc-card:focus-visible{border-radius:var(--r-md)}
.ctx-btn:focus-visible{border-radius:15px}

/* ── REDUCED MOTION ─────────────────── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* ── SECTION ─────────────────────────── */
.sec{
  padding:96px 0 120px;
  position:relative;overflow:hidden;
}
.sec-dots{
  position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle,rgba(21,45,91,.07) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse 85% 85% at 50% 35%,black 25%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 85% 85% at 50% 35%,black 25%,transparent 75%);
}
/* blobs: JS injects inline style.background directly, no double-var indirection */
.sec-blob{
  position:absolute;pointer-events:none;
  border-radius:50%;filter:blur(60px);
}
.sec-blob-l{top:-8%;left:-4%;width:50%;height:60%}
.sec-blob-r{
  top:-8%;right:-4%;width:40%;height:50%;
  background:radial-gradient(ellipse,rgba(242,101,34,.04),transparent 70%);
}
.wrap{
  max-width:1200px;margin:0 auto;
  padding:0 48px;
  position:relative;z-index:1;
}

/* ── HEADER ──────────────────────────── */
.hdr{text-align:center;margin-bottom:60px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.62rem;font-weight:800;letter-spacing:.26em;
  text-transform:uppercase;color:var(--orange);
  margin-bottom:18px;
}
.eyebrow-line{width:26px;height:1.5px;background:currentColor;border-radius:2px;opacity:.4}

.total-pill{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--white);border:1.5px solid var(--gray-lt);
  border-radius:20px;padding:5px 14px 5px 9px;
  font-size:.67rem;font-weight:700;color:var(--text2);
  margin-bottom:22px;
  box-shadow:0 2px 8px rgba(21,45,91,.06);
}
.total-pill-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--orange),#ffb07a);
  animation:dotPulse 2.4s ease-in-out infinite;
}
@keyframes dotPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(242,101,34,.4)}
  50%   {box-shadow:0 0 0 5px rgba(242,101,34,0)}
}

.hdr-title{
  font-size:clamp(2.1rem,4.2vw,3.3rem);
  font-weight:900;line-height:1.07;
  color:var(--navy);margin-bottom:16px;
  letter-spacing:-.025em;
  /* no <br> — browser balances naturally */
  text-wrap:balance;
}
.hdr-title em{
  font-style:normal;color:var(--orange);
  position:relative;display:inline-block;
}
.hdr-title em::after{
  content:'';position:absolute;
  left:0;right:0;bottom:-5px;height:3px;
  background:linear-gradient(90deg,var(--orange),rgba(242,101,34,0));
  border-radius:2px;
}
.hdr-sub{
  font-size:.95rem;color:var(--gray);
  line-height:1.8;max-width:440px;
  margin:0 auto;font-weight:300;
}

/* ── SWITCHER ────────────────────────── */
.ctx-switcher{
  display:flex;
  background:var(--white);border:1.5px solid var(--gray-lt);
  border-radius:var(--r-lg);padding:6px;gap:3px;
  max-width:540px;margin:0 auto 56px;
  box-shadow:0 1px 2px rgba(21,45,91,.04),0 6px 20px rgba(21,45,91,.08);
}
.ctx-btn{
  flex:1;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:26px 10px 22px;
  border-radius:15px;border:none;background:transparent;
  cursor:pointer;position:relative;overflow:hidden;
  transition:background .25s,transform .3s cubic-bezier(.34,1.4,.64,1),box-shadow .3s;
}
.ctx-btn:not(.active):hover{background:var(--gray-xlt)}
.ctx-btn:not(.active):hover .ctx-icon{transform:translateY(-2px)}
.ctx-btn.active{
  background:var(--btn-color,var(--navy));
  box-shadow:0 2px 6px rgba(0,0,0,.08),0 8px 20px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.1);
  transform:translateY(-2px);
}
/* shine — driven by animationend, no lingering timeouts */
.ctx-btn .ctx-shine{
  position:absolute;top:0;left:-70%;width:50%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.1),transparent);
  pointer-events:none;opacity:0;
}
.ctx-btn.shining .ctx-shine{opacity:1;animation:btnShine .5s ease forwards}
@keyframes btnShine{from{left:-70%}to{left:130%}}

.ctx-sep{
  width:1px;background:var(--gray-lt);
  align-self:stretch;margin:10px 0;flex-shrink:0;
  transition:opacity .2s;
}
.ctx-sep.hidden{opacity:0}

.ctx-icon{display:none}
.ctx-btn:not(.active) .ctx-icon{background:var(--navy-xlt)}
.ctx-btn.active .ctx-icon{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18)}
.ctx-icon svg{width:17px;height:17px;transition:color .25s}
.ctx-btn:not(.active) .ctx-icon svg{color:var(--navy)}
.ctx-btn.active .ctx-icon svg{color:#fff}
.ctx-label{
  font-size:.95rem;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;
  transition:color .25s;
}
.ctx-btn:not(.active) .ctx-label{color:var(--text2)}
.ctx-btn.active .ctx-label{color:rgba(255,255,255,.95)}
.ctx-count{
  font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;
  transition:background .25s,color .25s;
}
.ctx-btn:not(.active) .ctx-count{background:var(--gray-lt);color:var(--gray)}
.ctx-btn.active .ctx-count{background:rgba(255,255,255,.18);color:rgba(255,255,255,.85)}

/* ── BODY ───────────────────────────── */
.body{display:block}

/* ── SIDEBAR ─────────────────────────── */
.ctx-info{
  background:var(--white);border-radius:var(--r-lg);
  border:1.5px solid var(--gray-lt);overflow:hidden;
  position:sticky;top:28px;
  box-shadow:0 1px 2px rgba(21,45,91,.04),0 6px 20px rgba(21,45,91,.07),0 20px 48px rgba(21,45,91,.06);
  transition:box-shadow .4s;
}
.ctx-info:hover{
  box-shadow:0 1px 2px rgba(21,45,91,.04),0 12px 32px rgba(21,45,91,.1),0 32px 64px rgba(21,45,91,.09);
}
.ctx-info-header{
  padding:28px 26px 24px;position:relative;overflow:hidden;
  transition:background .5s cubic-bezier(.4,0,.2,1);
}
.ctx-info-header::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 90% 70% at 110% -5%,rgba(255,255,255,.13),transparent);
  pointer-events:none;
}
.ctx-info-header::after{
  content:'';position:absolute;right:-36px;top:-36px;
  width:140px;height:140px;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 0 28px rgba(255,255,255,.04),0 0 0 56px rgba(255,255,255,.02);
  pointer-events:none;
}
.ctx-info-icon{
  width:50px;height:50px;border-radius:14px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;position:relative;z-index:1;
  /* NO !important — allows hover to work during swap */
  transition:opacity .18s,transform .4s cubic-bezier(.34,1.4,.64,1);
}
/* hover only when NOT in swap animation */
.ctx-info:hover .ctx-info-icon:not(.out){transform:rotate(-5deg) scale(1.07)}
.ctx-info-icon svg{width:24px;height:24px;color:#fff}
.ctx-info-icon.out{opacity:0;transform:scale(.82) rotate(6deg)}
.ctx-info-icon.in{animation:iconIn .32s cubic-bezier(.34,1.4,.64,1) forwards}
@keyframes iconIn{
  from{opacity:0;transform:scale(.82) rotate(-6deg)}
  to  {opacity:1;transform:none}
}

.ctx-info-name{
  font-size:1.5rem;font-weight:900;color:#fff;
  line-height:1.1;margin-bottom:8px;
  letter-spacing:-.025em;position:relative;z-index:1;
  text-wrap:balance;
}
.ctx-info-desc{
  font-size:.77rem;color:rgba(255,255,255,.68);
  line-height:1.7;font-weight:300;
  position:relative;z-index:1;
}

/* stats */
.ctx-stats{padding-top:2px}
.ctx-stat{
  display:flex;justify-content:space-between;align-items:center;
  padding:11px 26px;border-bottom:1px solid var(--gray-lt);
}
.ctx-stat:last-child{border-bottom:none}
.stat-lbl{
  display:flex;align-items:center;gap:7px;
  font-size:.74rem;color:var(--gray);font-weight:600;
}
.stat-lbl svg{width:12px;height:12px;color:var(--gray-md);flex-shrink:0}
.stat-val{font-size:.8rem;font-weight:800;color:var(--text)}

/* counter */
.ctx-counter{padding:14px 26px 16px}
.ctx-counter-head{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:12px;
}
.ctx-counter-label{font-size:.68rem;font-weight:700;color:var(--gray)}
.ctx-counter-num{
  font-size:1.5rem;font-weight:900;
  color:var(--ctx-hex);   /* hex directly — no var() indirection */
  line-height:1;
  transition:color .4s cubic-bezier(.4,0,.2,1);
}
.ctx-counter-num .denom{
  font-size:.72rem;font-weight:600;color:var(--gray);margin-left:3px;
}

/* dot groups — active group full-size, others dimmed */
.ctx-dot-groups{display:flex;flex-direction:column;gap:7px}
.ctx-dot-group{display:flex;align-items:center;gap:8px;transition:opacity .35s}
.ctx-dot-group.dim{opacity:.25}
.ctx-dot-group-label{
  font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  width:52px;flex-shrink:0;line-height:1;
  transition:color .35s;
}
.ctx-dot-group-label.g-e{color:var(--e)}
.ctx-dot-group-label.g-c{color:var(--c)}
.ctx-dot-group-label.g-k{color:var(--k)}
.ctx-dot-group.dim .ctx-dot-group-label{color:var(--gray-md)}
.ctx-dot-group-dots{display:flex;gap:4px;flex-wrap:wrap}
.ctx-dot{
  border-radius:50%;background:var(--gray-lt);
  transition:background .35s,width .25s,height .25s;
  flex-shrink:0;
}
.ctx-dot-group:not(.dim) .ctx-dot{width:8px;height:8px}
.ctx-dot-group.dim .ctx-dot{width:6px;height:6px}
.ctx-dot.on-e{background:var(--e)}
.ctx-dot.on-c{background:var(--c)}
.ctx-dot.on-k{background:var(--k)}

/* CTA */
.ctx-cta-wrap{padding:12px 20px 20px}
.ctx-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:var(--navy);color:#fff;
  font-family:'Gotham HTF',sans-serif;
  font-size:.79rem;font-weight:800;
  padding:14px 20px;border-radius:var(--r-sm);
  text-decoration:none;border:none;cursor:pointer;
  transition:background .25s,transform .25s cubic-bezier(.34,1.4,.64,1),box-shadow .25s;
  letter-spacing:.03em;
  box-shadow:0 2px 8px rgba(21,45,91,.15),0 4px 16px rgba(21,45,91,.1);
  position:relative;overflow:hidden;
}
/* context accent strip — uses hex directly from JS, no var() chaining */
.ctx-cta::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--ctx-hex);
  opacity:.45;transition:height .2s,opacity .2s;
}
.ctx-cta:hover{
  background:var(--navy-mid);
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(21,45,91,.15),0 12px 28px rgba(21,45,91,.18);
}
.ctx-cta:hover::after{height:3px;opacity:.65}
.ctx-cta svg{width:13px;height:13px;flex-shrink:0;transition:transform .25s cubic-bezier(.34,1.4,.64,1)}
.ctx-cta:hover svg{transform:translateX(3px)}





/* ── FILTROS DE COR POR CONTEXTO ── */
#panel-empresa .svc-img,[data-specialty-cards][style*="--active-color:var(--e)"] .svc-img{
  width:80px;height:80px;object-fit:contain;display:block;
  filter:brightness(0) saturate(100%) invert(25%) sepia(60%) saturate(800%) hue-rotate(195deg) brightness(90%);
}
#panel-casa .svc-img,[data-specialty-cards][style*="--active-color:var(--c)"] .svc-img{
  width:80px;height:80px;object-fit:contain;display:block;
  filter:brightness(0) saturate(100%) invert(68%) sepia(25%) saturate(350%) hue-rotate(170deg) brightness(95%);
}
#panel-clinica .svc-img,#nc-all .svc-img,[data-specialty-cards][style*="--active-color:var(--k)"] .svc-img,[data-specialty-cards][style*="--active-color:#e55318"] .svc-img{
  width:80px;height:80px;object-fit:contain;display:block;
  filter:brightness(0) saturate(100%) invert(48%) sepia(79%) saturate(600%) hue-rotate(345deg) brightness(98%);
}

/* ── SERVICES GRID ───────────────────── */
.services-wrap{position:relative;width:100%;align-self:stretch}

.services-panel{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  align-content:start;
}
/* inactive panels hidden but not position:absolute (avoids layout collapse) */
.services-panel[hidden]{display:none}
.services-panel.leaving{
  /* briefly visible at opacity 0 while fading out — position:absolute to not affect layout height */
  position:absolute;inset:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;align-content:start;
  opacity:0;pointer-events:none;
  animation:panelOut .25s ease forwards;
}
.services-panel.entering{
  animation:panelIn .38s cubic-bezier(.22,1,.36,1) both;
}
@keyframes panelIn {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes panelOut{from{opacity:1}to{opacity:0}}

/* ── SERVICE CARD ───────────────────── */
.svc-card{
  background:#fff;
  border-radius:20px;
  border:1.5px solid #ebebf0;
  padding:28px 16px 20px;
  cursor:pointer;position:relative;
  display:flex;flex-direction:column;
  align-items:center;
  text-align:center;
  gap:0;
  transition:border-color .25s, transform .3s cubic-bezier(.34,1.4,.64,1), box-shadow .3s;
  box-shadow:0 2px 10px rgba(21,45,91,.05);
}
.svc-card:hover{
  transform:translateY(-5px);
  border-color:#d0d5e8;
  box-shadow:0 12px 32px rgba(21,45,91,.11);
}
.svc-glow{
  display:block;
  position:absolute;
  width:200px;height:200px;
  border-radius:50%;
  filter:blur(55px);
  opacity:0;
  pointer-events:none;
  z-index:0;
  transform:translate(-50%,-50%);
  will-change:left,top,opacity;
  background:#1762a3;
}
/* garante que o conteúdo do card fique acima do glow */
.svc-top,.svc-name,.svc-also-wrap,.svc-foot,.svc-excl{position:relative;z-index:1}
.svc-card::before{display:none}

.svc-top{
  display:flex;align-items:center;justify-content:center;
  width:100%;margin-bottom:20px;
}
.svc-icon-wrap{
  width:100px;height:100px;border-radius:0;
  display:flex;align-items:center;justify-content:center;
  background:transparent;
  transition:transform .3s cubic-bezier(.34,1.4,.64,1);
}
/* tamanho das imgs agora via #panel-X .svc-img */
.svc-card:hover .svc-icon-wrap{
  transform:scale(1.08);
}

.svc-excl{display:none}

.svc-name{
  font-size:.97rem;font-weight:800;color:var(--navy);
  line-height:1.25;letter-spacing:-.01em;
  margin-bottom:6px;
}

.svc-also-wrap{display:none}

/* footer — "Saiba mais" simples */
.svc-foot{
  display:flex;align-items:center;justify-content:center;
  gap:0;border:none;padding:0;margin-top:6px;
}
.svc-foot-lbl{
  font-size:.8rem;font-weight:600;
  color:var(--gray);
  transition:color .2s;
}
.svc-card:hover .svc-foot-lbl{color:var(--active-color,var(--navy))}
.svc-arrow{display:none}

/* stagger — only on entering panels, not on leaving */
.services-panel.entering .svc-card:nth-child(1){animation-delay:.03s}
.services-panel.entering .svc-card:nth-child(2){animation-delay:.07s}
.services-panel.entering .svc-card:nth-child(3){animation-delay:.11s}
.services-panel.entering .svc-card:nth-child(4){animation-delay:.15s}
.services-panel.entering .svc-card:nth-child(5){animation-delay:.19s}
.services-panel.entering .svc-card:nth-child(6){animation-delay:.23s}
.services-panel.entering .svc-card:nth-child(7){animation-delay:.27s}
.services-panel.entering .svc-card:nth-child(8){animation-delay:.31s}
.services-panel.entering .svc-card:nth-child(9){animation-delay:.35s}
.services-panel.entering .svc-card{animation:cardIn .42s cubic-bezier(.22,1,.36,1) both}
@keyframes cardIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}



/* ── RESPONSIVE ──────────────────────── */
@media(max-width:1100px){.services-panel,.services-panel.leaving{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.services-panel,.services-panel.leaving{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .sec{padding:60px 0 80px}
  .wrap{padding:0 20px}
  .ctx-switcher{padding:5px;gap:2px;border-radius:var(--r-md);margin-bottom:36px}
  .ctx-btn{padding:13px 7px 11px}
  .ctx-icon{width:32px;height:32px;border-radius:9px}
  .ctx-icon svg{width:15px;height:15px}
  .ctx-label{font-size:.63rem}
  .ctx-count{display:none}
  .ctx-info{grid-template-columns:1fr}
  .ctx-info-header{border-radius:var(--r-md) var(--r-md) 0 0}
  .services-panel,.services-panel.leaving{grid-template-columns:repeat(2,1fr);gap:10px}
  .svc-card{padding:16px 16px 14px;border-radius:var(--r-sm)}
  
}
@media(max-width:390px){
  .services-panel,.services-panel.leaving{grid-template-columns:1fr}
}


/* ── EQUIPE ── */

/* ═══════════════════════════════════════════
   RESET & TOKENS
═══════════════════════════════════════════ */
:root{
  --navy:#0E1C2F;--orange:#F26522;--orange-lt:#FF8142;
  --white:#FFFFFF;--off:#f6f8fc;
  --text:#0f1c34;--text2:#3a4d6b;
  --gray:#6b7a99;--gray-md:#8896b3;--gray-lt:#dde4f2;--gray-xlt:#edf1f9;
  --ease-expo:cubic-bezier(.16,1,.3,1);
  --ease-back:cubic-bezier(.34,1.56,.64,1);
}
:focus-visible{outline:2.5px solid var(--orange);outline-offset:3px;border-radius:inherit}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ═══════════════════════════════════════════
   SECTION
═══════════════════════════════════════════ */
.sec{padding:96px 0 0;position:relative;overflow:hidden;background:var(--off)}
.sec-dots{
  position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle,rgba(21,45,91,.07) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse 85% 85% at 50% 35%,black 25%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 85% 85% at 50% 35%,black 25%,transparent 75%);
}
.sec-blob-r{position:absolute;top:-8%;right:-4%;width:40%;height:50%;border-radius:50%;filter:blur(60px);pointer-events:none;background:radial-gradient(ellipse,rgba(242,101,34,.04),transparent 70%)}
.wrap{max-width:1240px;margin:0 auto;padding:0 52px;position:relative;z-index:1}

/* ═══════════════════════════════════════════
   HEADER — exato estilo da seção 2
═══════════════════════════════════════════ */
.hdr{
  text-align:center;margin-bottom:56px;
  /* stacking correto: cada filho em linha própria */
  display:flex;flex-direction:column;align-items:center;
}

/* eyebrow com linhas */
.eyebrow{
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:.62rem;font-weight:800;letter-spacing:.26em;
  text-transform:uppercase;color:var(--orange);
  margin-bottom:20px;
}
.eyebrow-line{width:26px;height:1.5px;background:currentColor;border-radius:2px;opacity:.4;flex-shrink:0}

/* pill — idêntico ao "24 serviços em 3 modalidades" da seção 2 */
.hdr-pill{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--white);border:1.5px solid var(--gray-lt);
  border-radius:20px;padding:5px 14px 5px 9px;
  font-size:.67rem;font-weight:700;color:var(--text2);
  margin-bottom:24px;
  box-shadow:0 2px 8px rgba(21,45,91,.06);
}
.hdr-pill-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--orange-lt),var(--orange));
  animation:dotPulse 2.4s ease-in-out infinite;
}
@keyframes dotPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(242,101,34,.4)}
  50%{box-shadow:0 0 0 5px rgba(242,101,34,0)}
}

.hdr-title{
  font-size:clamp(2.1rem,4.2vw,3.3rem);
  font-weight:900;line-height:1.07;
  color:var(--navy);margin-bottom:16px;
  letter-spacing:-.025em;text-wrap:balance;
  max-width:700px;
}
.hdr-title em{font-style:normal;color:var(--orange);position:relative;display:inline-block}
.hdr-title em::after{
  content:'';position:absolute;
  left:0;right:0;bottom:-5px;height:3px;
  background:linear-gradient(90deg,var(--orange),rgba(242,101,34,0));
  border-radius:2px;
}
.hdr-sub{
  font-size:.95rem;color:var(--gray);line-height:1.8;
  max-width:440px;margin:0 auto;font-weight:300;
}

/* ═══════════════════════════════════════════
   FILTER BAR — sempre visível no desktop,
   scroll com indicador visual no mobile
═══════════════════════════════════════════ */
.filter-section{
  margin-bottom:52px;
  position:relative;
  padding:10px 0;
}

/* container que controla o overflow */
.filter-scroll{
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  /* padding vertical para não cortar sombra */
  padding:4px 0 8px;
}
.filter-scroll::-webkit-scrollbar{display:none}

/* a barra em si */
.filter-bar{
  display:flex;
  gap:7px;
  width:100%;
  justify-content:center;
  flex-wrap:nowrap;
  padding:4px 8px;
  background:rgba(246,248,252,.94);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1.5px solid var(--gray-lt);
  border-radius:100px;
  box-shadow:0 2px 12px rgba(14,28,47,.08),0 1px 2px rgba(14,28,47,.04);
}
.pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 18px;border-radius:100px;
  border:none;background:transparent;
  font-family:'Outfit',sans-serif;
  font-size:.72rem;font-weight:700;letter-spacing:.03em;
  color:var(--text2);cursor:pointer;white-space:nowrap;
  transition:background .2s,color .2s,transform .28s var(--ease-back),box-shadow .25s;
}
.pill:hover:not(.active){background:var(--white);box-shadow:0 2px 8px rgba(14,28,47,.08);transform:translateY(-1px)}
.pill.active{
  background:var(--orange);color:var(--white);
  box-shadow:0 4px 16px rgba(242,101,34,.35),inset 0 1px 0 rgba(255,255,255,.15);
  transform:translateY(-1px);
}
.pill.active .pill__dot{
  transform:scale(1.3);
  background:rgba(255,255,255,.9) !important;
}
.pill__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:transform .28s var(--ease-back),background .2s}

/* ── OVERFLOW: fade nas bordas indica visualmente que há mais conteúdo ── */
/* fade direita — some quando chega ao fim */
.filter-section::after{
  content:'';
  position:absolute;
  right:0;top:0;bottom:8px;
  width:64px;
  background:linear-gradient(to left, var(--off) 0%, transparent 100%);
  pointer-events:none;
  opacity:0;
  transition:opacity .3s;
  z-index:1;
}
/* fade esquerda — aparece depois de começar a rolar */
.filter-section::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:8px;
  width:48px;
  background:linear-gradient(to right, var(--off) 0%, transparent 100%);
  pointer-events:none;
  opacity:0;
  transition:opacity .3s;
  z-index:1;
}
.filter-section.has-overflow::after{opacity:1}
.filter-section.scrolled-start::before{opacity:1}
.filter-section.scrolled-end::after{opacity:0}

/* ═══════════════════════════════════════════
   TEAM GRID
═══════════════════════════════════════════ */
.team{display:grid;grid-template-columns:1fr 1fr;gap:13px}

/* ═══════════════════════════════════════════
   MEMBER CARD
═══════════════════════════════════════════ */
.member{
  background:var(--white);
  border:1.5px solid var(--gray-lt);
  border-radius:22px;padding:20px 20px 20px 24px;
  display:grid;grid-template-columns:88px 1fr auto;
  align-items:center;gap:18px;
  cursor:pointer;position:relative;overflow:hidden;
  text-decoration:none;color:inherit;
  box-shadow:0 1px 2px rgba(14,28,47,.04),0 3px 8px rgba(14,28,47,.03),inset 0 1px 0 #fff;
  transition:border-color .3s,transform .38s var(--ease-back),box-shadow .38s;
  opacity:0;transform:translateY(20px);
}
.member.is-visible{animation:cardIn .55s var(--ease-expo) forwards}
@keyframes cardIn{to{opacity:1;transform:translateY(0)}}
.member:hover{
  border-color:transparent;transform:translateY(-5px);
  box-shadow:0 2px 4px rgba(14,28,47,.03),0 16px 40px rgba(14,28,47,.1),0 30px 60px rgba(14,28,47,.06),inset 0 1px 0 #fff;
}

/* barra lateral colorida */
.member::before{
  content:'';position:absolute;left:0;top:18px;bottom:18px;width:3px;
  border-radius:0 3px 3px 0;background:var(--sp,var(--navy));opacity:.3;
  transition:top .3s var(--ease-expo),bottom .3s var(--ease-expo),opacity .3s,width .3s,border-radius .3s;
}
.member:hover::before{top:0;bottom:0;width:4px;opacity:.55;border-radius:20px 0 0 20px}

/* glow */
.member__glow{position:absolute;top:-50px;right:-50px;width:140px;height:140px;border-radius:50%;background:var(--sp,var(--navy));opacity:0;filter:blur(44px);pointer-events:none;transition:opacity .5s}
.member:hover .member__glow{opacity:.065}

/* avatar + foto */
.member__avatar{
  width:88px;height:88px;border-radius:18px;overflow:hidden;flex-shrink:0;
  position:relative;border:2px solid var(--sp-bd,var(--gray-lt));
  background:var(--sp-lt,var(--gray-xlt));
  transition:transform .38s var(--ease-back),box-shadow .38s,border-color .3s;
}
.member:hover .member__avatar{transform:scale(1.06) rotate(-3deg);box-shadow:0 8px 24px rgba(14,28,47,.14);border-color:transparent}
.member__avatar img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .6s var(--ease-expo)}
.member:hover .member__avatar img{transform:scale(1.08)}
.member__initials{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-size:1.2rem;font-weight:900;color:var(--sp,var(--navy));letter-spacing:-.02em}
.member__avatar.img-error .member__initials{display:flex}
.member__avatar.img-error img{display:none}

/* info */
.member__info{min-width:0}
.member__badge{display:inline-flex;align-items:center;gap:5px;font-size:.57rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sp,var(--navy));margin-bottom:6px}
.member__badge::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--sp,var(--navy));flex-shrink:0}
.member__name{font-size:1rem;font-weight:800;color:var(--text);line-height:1.2;letter-spacing:-.022em;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .22s}
.member:hover .member__name{color:var(--navy)}
.member__role{font-size:.67rem;color:var(--gray-md);font-weight:400;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member__tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.member__tag{font-size:.56rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 9px;border-radius:100px;background:var(--sp-lt,var(--gray-xlt));color:var(--sp,var(--text2));border:1px solid var(--sp-bd,var(--gray-lt));transition:transform .22s var(--ease-back),box-shadow .22s}
.member__tag:hover{transform:translateY(-2px);box-shadow:0 3px 8px rgba(14,28,47,.08)}

/* ação */
.member__action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex-shrink:0}
.member__btn{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--gray-lt);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .22s,border-color .22s,transform .3s var(--ease-back),box-shadow .25s}
.member__btn svg{width:14px;height:14px;color:var(--gray);transition:color .22s,transform .28s var(--ease-back)}
.member:hover .member__btn{background:var(--sp,var(--navy));border-color:transparent;transform:translateX(2px);box-shadow:0 4px 14px rgba(14,28,47,.2)}
.member:hover .member__btn svg{color:#fff;transform:translateX(2px)}
.member[aria-hidden="true"]{display:none}

/* empty state */
.empty-state{display:none;grid-column:1/-1;text-align:center;padding:52px 24px}
.empty-state.is-visible{display:block}
.empty-state__icon{width:52px;height:52px;border-radius:14px;background:var(--gray-xlt);display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}
.empty-state__icon svg{width:22px;height:22px;color:var(--gray)}
.empty-state h4{font-size:.95rem;font-weight:700;color:var(--text2);margin-bottom:6px}
.empty-state p{font-size:.82rem;color:var(--gray);font-weight:300}

/* ═══════════════════════════════════════════
   CTA BAND
═══════════════════════════════════════════ */
.cta-band{
  margin-top:20px;padding:28px 40px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  background:var(--navy);position:relative;overflow:hidden;
  border-radius:20px;
  max-width:1160px;margin-left:auto;margin-right:auto;
}
.cta-band::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px}
.cta-band::after{content:'';position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(ellipse,rgba(242,101,34,.12) 0%,transparent 65%);pointer-events:none}
.cta-band__text{position:relative;z-index:1}
.cta-band__text h3{font-size:1.2rem;font-weight:800;color:var(--white);line-height:1.25;letter-spacing:-.025em;margin-bottom:6px}
.cta-band__text p{font-size:.86rem;color:rgba(255,255,255,.5);font-weight:300;line-height:1.6}
.cta-band__btns{display:flex;gap:10px;flex-shrink:0;position:relative;z-index:1}
.btn--primary{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:100px;background:var(--orange);color:var(--white);font-family:'Outfit',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.03em;border:none;cursor:pointer;text-decoration:none;box-shadow:0 4px 20px rgba(242,101,34,.4),inset 0 1px 0 rgba(255,255,255,.15);transition:background .22s,transform .3s var(--ease-back),box-shadow .3s}
.btn--primary:hover{background:var(--orange-lt);transform:translateY(-3px);box-shadow:0 8px 28px rgba(242,101,34,.45)}
.btn--primary svg{width:13px;height:13px;transition:transform .25s var(--ease-back)}
.btn--primary:hover svg{transform:translateX(3px)}
.btn--ghost{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:100px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.75);font-family:'Outfit',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.03em;border:1.5px solid rgba(255,255,255,.14);cursor:pointer;text-decoration:none;transition:background .22s,border-color .22s,color .22s,transform .3s var(--ease-back)}
.btn--ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff;transform:translateY(-3px)}

/* ═══════════════════════════════════════════
   TABLET ≤ 900px
═══════════════════════════════════════════ */
@media(max-width:900px){
  .wrap{padding:0 32px}
  .sec{padding:72px 0 0}
  .team{grid-template-columns:1fr;gap:11px}
  .member{grid-template-columns:80px 1fr auto;padding:18px 18px 18px 22px}
  .member__avatar{width:80px;height:80px}
  .cta-band{padding:32px;flex-direction:column;align-items:flex-start;gap:24px}
  .cta-band__btns{width:100%}
  .btn--primary,.btn--ghost{flex:1;justify-content:center}
}

/* ═══════════════════════════════════════════
   MOBILE ≤ 600px
═══════════════════════════════════════════ */
@media(max-width:600px){
  .wrap{padding:0 18px}
  .sec{padding:60px 0 0}
  .hdr{margin-bottom:40px}
  .hdr-title{font-size:clamp(1.85rem,7vw,2.4rem)}
  .hdr-sub{font-size:.88rem}

  /* filter mobile: pills soltas, sem container, última pill cortada na borda = indica scroll */
  .filter-section{margin:0 -18px 40px;overflow:hidden}
  .filter-scroll{padding:4px 18px 10px;overflow-x:auto}
  .filter-bar{
    width:max-content;min-width:auto;
    justify-content:flex-start;
    background:transparent;backdrop-filter:none;
    border:none;box-shadow:none;
    border-radius:0;padding:0;gap:8px;
  }
  /* cada pill vira chip individual com borda */
  .pill{
    padding:8px 16px;font-size:.7rem;
    background:var(--white);
    border:1.5px solid var(--gray-lt);
    border-radius:100px;
    box-shadow:0 1px 4px rgba(14,28,47,.07);
  }
  .pill:hover:not(.active){transform:none;box-shadow:0 2px 6px rgba(14,28,47,.1)}
  .pill.active{
    background:var(--orange);border-color:var(--orange);color:var(--white);
    box-shadow:0 3px 12px rgba(242,101,34,.3),inset 0 1px 0 rgba(255,255,255,.15);
  }
  .pill.active .pill__dot{background:rgba(255,255,255,.9) !important}
  /* fades nas bordas — contexto do .filter-section */
  .filter-section::after{
    background:linear-gradient(to left,var(--off) 0%,transparent 100%);
    width:52px;bottom:0;
  }
  .filter-section::before{
    background:linear-gradient(to right,var(--off) 0%,transparent 100%);
    width:40px;bottom:0;left:0;
  }

  /* cards mobile */
  .team{grid-template-columns:1fr;gap:10px}
  .member{
    grid-template-columns:68px 1fr;grid-template-rows:auto auto;
    padding:16px 16px 16px 18px;gap:12px;border-radius:18px;
  }
  .member__avatar{grid-row:1;grid-column:1;width:68px;height:68px;border-radius:14px}
  .member__info{grid-column:2;grid-row:1}
  .member__action{
    grid-column:1/-1;grid-row:2;
    flex-direction:row;justify-content:space-between;align-items:center;
    padding-top:12px;border-top:1px solid var(--gray-lt);gap:8px;
  }
  .member__name{font-size:.93rem}

  /* cta band */
  .cta-band{padding:24px 18px}
  .cta-band__text h3{font-size:1.05rem}
  .cta-band__btns{flex-direction:column}
  .btn--primary,.btn--ghost{width:100%;justify-content:center}
}


/* ── DEPOIMENTOS ── */

/* ─── TOKENS ─────────────────────────────────── */
:root{
  --or:#F26522; --or-lt:rgba(242,101,34,.10); --or-bd:rgba(242,101,34,.22); --or-glow:rgba(242,101,34,.30);
  --nv:#152d5b; --nv-mid:#1A2E4A; --nv-xlt:rgba(21,45,91,.05);
  --tl:#2BBED3; --tl-lt:rgba(43,190,211,.10);
  --wh:#fff; --off:#f8f9fc;
  --gy:#6b7a99; --gy-md:#8896b3; --gy-lt:#dde4f2;
  --tx:#0f1c34; --tx2:#3a4d6b;
  --eX:cubic-bezier(.16,1,.3,1);
  --eB:cubic-bezier(.34,1.56,.64,1);
  --rL:22px; --rM:16px; --rS:12px;
}

/* ─── SECTION ────────────────────────────────── */
.sec{padding:96px 0 112px;position:relative;overflow:hidden;background:var(--off)}

.sec-dots{
  position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle,rgba(21,45,91,.07) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse 85% 85% at 50% 35%,#000 25%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 85% 85% at 50% 35%,#000 25%,transparent 75%);
}
.blob{position:absolute;pointer-events:none;border-radius:50%;filter:blur(60px)}
.blob-l{top:-8%;left:-4%;width:50%;height:60%;background:radial-gradient(ellipse,rgba(43,190,211,.05),transparent 70%)}
.blob-r{top:-8%;right:-4%;width:40%;height:50%;background:radial-gradient(ellipse,rgba(242,101,34,.04),transparent 70%)}

.wrap{max-width:1240px;margin:0 auto;padding:0 52px;position:relative;z-index:1}
@media(max-width:768px){.wrap{padding:0 24px}}

/* ─── HEADER ─────────────────────────────────── */
.hdr{text-align:center;margin-bottom:52px;display:flex;flex-direction:column;align-items:center}

.eyebrow{
  display:flex;align-items:center;gap:10px;
  font-family:'Outfit',sans-serif;font-size:.62rem;font-weight:800;
  letter-spacing:.26em;text-transform:uppercase;color:var(--or);margin-bottom:20px;
  transition:opacity .5s .05s var(--eX),transform .5s .05s var(--eX);
}
.ey-line{width:26px;height:1.5px;background:currentColor;border-radius:2px;opacity:.4}

.pill{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--wh);border:1.5px solid var(--gy-lt);border-radius:20px;padding:5px 14px 5px 9px;
  font-family:'Gotham HTF',sans-serif;font-size:.67rem;font-weight:700;color:var(--tx2);
  margin-bottom:24px;box-shadow:0 2px 8px rgba(21,45,91,.06);
  transition:opacity .5s .12s var(--eX),transform .5s .12s var(--eX);
}
.pill-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--or-lt),var(--or));
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(242,101,34,.4)}
  50%{box-shadow:0 0 0 5px rgba(242,101,34,0)}
}

.sec-title{
  font-family:'Outfit',sans-serif;font-size:clamp(2.1rem,4.2vw,3.3rem);font-weight:900;
  line-height:1.07;color:var(--nv);margin-bottom:16px;
  letter-spacing:-.025em;text-wrap:balance;max-width:700px;
  transition:opacity .65s .22s var(--eX),transform .65s .22s var(--eX);
}
.sec-title em{font-style:normal;color:var(--or);position:relative;display:inline-block}
.sec-title em::after{
  content:'';position:absolute;left:0;right:0;bottom:-5px;height:3px;
  background:linear-gradient(90deg,var(--or),rgba(242,101,34,0));
  border-radius:2px;transform:scaleX(0);transform-origin:left center;
  transition:transform .7s .65s var(--eX);
}

.sec-sub{
  font-family:'Gotham HTF',sans-serif;font-size:.95rem;color:var(--gy);
  line-height:1.8;max-width:440px;margin:0 auto;font-weight:300;
  transition:opacity .6s .34s var(--eX),transform .6s .34s var(--eX);
}

/* ─────────────────────────────────────────────────────────────
   REVEAL SYSTEM — CSS-first, idêntico ao padrão do hero
   Uso: data-r="y|x|s"   data-d="0|80|160…" (delay em ms)
   JS: IntersectionObserver global adiciona .revealed
   ───────────────────────────────────────────────────────────── */
[data-r]{
  opacity:0;
  transition:
    opacity .6s var(--d,0ms) var(--eX),
    transform .6s var(--d,0ms) var(--eX);
}
[data-r="y"]{transform:translateY(18px)}
[data-r="x"]{transform:translateX(28px)}
[data-r="s"]{transform:scale(.96)}
[data-r].revealed{opacity:1;transform:none}

/* Underline animado em títulos com <em> */
[data-r] em::after{
  transform:scaleX(0);
  transition:transform .7s calc(var(--d,0ms) + 200ms) var(--eX);
}
[data-r].revealed em::after{transform:scaleX(1)}

/* Aliases de compatibilidade (mantém classes antigas funcionando) */
.will-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--eX),transform .6s var(--eX)}
.will-reveal.in,.will-reveal[data-r].revealed{opacity:1;transform:none}
.will-reveal-x{opacity:0;transform:translateX(28px);transition:opacity .6s var(--eX),transform .6s var(--eX)}
.will-reveal-x.in,.will-reveal-x[data-r].revealed{opacity:1;transform:none}

/* ─── SPLIT ──────────────────────────────────── */
.split{
  display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:center;
  transition:opacity .7s var(--eX),transform .7s var(--eX);
}
@media(max-width:900px){.split{grid-template-columns:1fr}}

/* ─── FEATURED CARD ──────────────────────────── */
.feat{
  background:var(--nv);border-radius:var(--rL);overflow:hidden;position:relative;
  box-shadow:0 1px 2px rgba(21,45,91,.04),0 6px 20px rgba(21,45,91,.18),0 20px 48px rgba(21,45,91,.14);
  transition:box-shadow .4s;
}
.feat:hover{box-shadow:0 1px 2px rgba(21,45,91,.04),0 12px 32px rgba(21,45,91,.22),0 32px 64px rgba(21,45,91,.18)}
.feat::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 90% 70% at 110% -5%,rgba(255,255,255,.1),transparent);
}
.feat::after{
  content:'';position:absolute;right:-36px;top:-36px;width:140px;height:140px;
  border-radius:50%;pointer-events:none;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 0 0 28px rgba(255,255,255,.03),0 0 0 56px rgba(255,255,255,.015);
}
.feat-grain{
  position:absolute;inset:0;pointer-events:none;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.feat-top-line{
  position:absolute;top:0;left:0;right:0;height:2px;opacity:.7;
  background:linear-gradient(90deg,var(--or),var(--tl),transparent);
}
.feat-body{padding:32px 30px;position:relative;z-index:1}

.feat-icon{
  width:50px;height:50px;border-radius:14px;margin-bottom:18px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  transition:transform .4s var(--eB);
}
.feat:hover .feat-icon{transform:rotate(-5deg) scale(1.07)}
.feat-icon svg{width:22px;height:22px;color:#fff}

.feat-tag{
  display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;
  background:rgba(242,101,34,.18);border:1px solid rgba(242,101,34,.32);
  border-radius:100px;padding:5px 14px 5px 10px;
  font-family:'Outfit',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:2.6px;text-transform:uppercase;color:rgba(255,255,255,.9);
}
.feat-tag-dot{
  width:16px;height:16px;border-radius:50%;background:var(--or);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.feat-tag-dot svg{width:8px;height:8px;color:#fff}

.feat-quote{
  font-family:'Outfit',sans-serif;font-size:1rem;font-weight:400;
  color:rgba(255,255,255,.85);line-height:1.72;font-style:italic;margin-bottom:24px;
}
.feat-quote strong{font-weight:800;color:#fff;font-style:normal}

.feat-auth{
  display:flex;align-items:center;gap:12px;
  padding-top:20px;border-top:1px solid rgba(255,255,255,.08);
}
.feat-av{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,#FF8142,var(--or));
  display:flex;align-items:center;justify-content:center;
  font-family:'Outfit',sans-serif;font-size:.9rem;font-weight:900;color:#fff;
  animation:avPulse 3s ease-in-out infinite;
}
@keyframes avPulse{
  0%,100%{box-shadow:0 0 0 3px rgba(242,101,34,.25),0 0 0 6px rgba(242,101,34,.08)}
  50%{box-shadow:0 0 0 5px rgba(242,101,34,.15),0 0 0 9px rgba(242,101,34,.04)}
}
.feat-nm{font-family:'Outfit',sans-serif;font-size:.88rem;font-weight:700;color:#fff;margin-bottom:1px}
.feat-mt{font-size:.7rem;color:rgba(255,255,255,.38)}
.feat-st{color:#F59E0B;font-size:.7rem;letter-spacing:2px;margin-top:2px}

.feat-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);
  color:#fff;font-family:'Gotham HTF',sans-serif;font-size:.79rem;font-weight:800;
  padding:14px 20px;border-radius:var(--rS);text-decoration:none;cursor:pointer;
  margin-top:20px;position:relative;overflow:hidden;
  transition:background .25s,transform .25s var(--eB);
}
.feat-cta::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--or);opacity:.5;transition:height .2s,opacity .2s;
}
.feat-cta:hover{background:rgba(255,255,255,.17);transform:translateY(-2px)}
.feat-cta:hover::after{height:3px;opacity:.85}
.feat-cta svg{width:13px;height:13px;flex-shrink:0;transition:transform .25s var(--eB)}
.feat-cta:hover svg:last-child{transform:translateX(3px)}

/* ─── TICKER ──────────────────────────────────── */
.ticker-col{display:flex;flex-direction:column;gap:14px;overflow:hidden}

.tw{position:relative;overflow:hidden}
.tw::before,.tw::after{
  content:'';position:absolute;top:0;bottom:0;width:72px;z-index:2;pointer-events:none;
}
.tw::before{left:0;background:linear-gradient(90deg,var(--off),transparent)}
.tw::after{right:0;background:linear-gradient(-90deg,var(--off),transparent)}

.tk{display:flex;gap:14px;width:max-content;animation:slide 32s linear infinite}
.tk:hover{animation-play-state:paused}
.tk-rev{animation-direction:reverse;animation-duration:27s}
@keyframes slide{to{transform:translateX(-50%)}}

/* ─── TICKER CARD ─────────────────────────────── */
.tc{
  background:var(--wh);border:1.5px solid var(--gy-lt);border-radius:var(--rM);
  padding:20px 20px 18px;width:252px;flex-shrink:0;position:relative;cursor:default;
  box-shadow:0 1px 2px rgba(21,45,91,.04),inset 0 1px 0 #fff;
  transition:border-color .3s,transform .35s var(--eB),box-shadow .35s;
}
.tc:hover{
  transform:translateY(-5px);border-color:rgba(21,45,91,.09);
  box-shadow:0 2px 4px rgba(21,45,91,.03),0 12px 30px rgba(21,45,91,.09),inset 0 1px 0 #fff;
}
.tc::before{
  content:'';position:absolute;top:-1px;left:14px;right:14px;height:2px;
  background:var(--tc-c,var(--gy-lt));border-radius:0 0 3px 3px;opacity:.35;
  transition:left .32s,right .32s,opacity .32s;
}
.tc:hover::before{left:0;right:0;opacity:1}
.tc-glow{
  position:absolute;top:-40px;right:-40px;width:100px;height:100px;
  border-radius:50%;background:var(--tc-c,transparent);
  opacity:0;filter:blur(30px);transition:opacity .45s;pointer-events:none;
}
.tc:hover .tc-glow{opacity:.06}
.tc-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}
.tc-st{color:#F59E0B;font-size:.75rem;letter-spacing:1px}
.tc-txt{
  font-size:.84rem;line-height:1.65;color:var(--tx2);margin-bottom:14px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.tc-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:10px;border-top:1px solid var(--gy-lt);
}
.tc-user{display:flex;align-items:center;gap:8px}
.tc-av{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:.62rem;font-weight:900;color:#fff;
}
.tc-nm{font-size:.76rem;font-weight:800;color:var(--tx)}
.tc-arr{
  width:28px;height:28px;border-radius:8px;flex-shrink:0;
  background:var(--nv-xlt);border:1px solid var(--gy-lt);
  display:flex;align-items:center;justify-content:center;
  transition:background .25s,transform .25s var(--eB),border-color .25s;
}
.tc:hover .tc-arr{background:var(--nv);border-color:var(--nv);transform:translateX(3px)}
.tc-arr svg{width:11px;height:11px;color:var(--gy-md);transition:color .25s}
.tc:hover .tc-arr svg{color:#fff}

/* ─── CTA ROW ─────────────────────────────────── */
.cta-row{
  display:flex;gap:14px;align-items:center;justify-content:center;
  margin-top:52px;flex-wrap:wrap;
  transition:opacity .55s var(--eX),transform .55s var(--eX);
}

.btn-primary{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--or);color:#fff;border-radius:100px;padding:14px 28px;
  font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;
  text-decoration:none;border:none;cursor:pointer;white-space:nowrap;
  position:relative;overflow:hidden;
  box-shadow:0 6px 30px var(--or-glow),0 1px 0 rgba(255,255,255,.15) inset;
  transition:transform .28s var(--eB),box-shadow .28s var(--eB);
}
.btn-primary::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:rgba(255,255,255,0);transition:background .25s;
}
.btn-primary:hover::before{background:rgba(255,255,255,.12)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(242,101,34,.45),0 1px 0 rgba(255,255,255,.15) inset}
.btn-primary svg{width:15px;height:15px;flex-shrink:0}

.btn-ghost{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--wh);color:var(--nv);border:1.5px solid var(--gy-lt);
  border-radius:100px;padding:13px 26px;
  font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  box-shadow:0 1px 2px rgba(21,45,91,.04),inset 0 1px 0 #fff;
  transition:border-color .25s,transform .28s var(--eB),box-shadow .28s;
}
.btn-ghost:hover{border-color:var(--nv);transform:translateY(-2px);box-shadow:0 4px 12px rgba(21,45,91,.09),inset 0 1px 0 #fff}


/* ── CONTATO ── */

/* ── TOKENS ─────────────────────────────── */
:root{
  --or:#F26522; --or-lt:rgba(242,101,34,.10); --or-bd:rgba(242,101,34,.22); --or-glow:rgba(242,101,34,.35);
  --nv:#0E1C2F; --nv-mid:#1A2E4A;
  --tl:#2BBED3;
  --wh:#fff; --off:#f6f8fc;
  --gy:#6b7a99; --gy-lt:#dde4f2; --gy-xlt:#f0f3f9;
  --tx:#0f1c34; --tx2:#3a4d6b;
  --eX:cubic-bezier(.16,1,.3,1);
  --eB:cubic-bezier(.34,1.56,.64,1);
}

/* ── SECTION ─────────────────────────────── */
.ctt-sec{
  padding:100px 0 112px;
  background:var(--off);
  position:relative;overflow:hidden;
}

/* dot grid */
.ctt-dots{
  position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle,rgba(21,45,91,.07) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 75%);
}

/* blobs */
.ctt-blob{position:absolute;pointer-events:none;border-radius:50%;filter:blur(70px)}
.ctt-blob-tl{top:-10%;left:-5%;width:44%;height:55%;background:radial-gradient(ellipse,rgba(23,98,163,.06),transparent 70%)}
.ctt-blob-br{bottom:-10%;right:-5%;width:40%;height:50%;background:radial-gradient(ellipse,rgba(242,101,34,.06),transparent 70%)}

.ctt-wrap{max-width:1240px;margin:0 auto;padding:0 52px;position:relative;z-index:1}

/* ── HEADER ─────────────────────────────── */
.ctt-hdr{    display: flex;
    flex-direction: column;
    align-items: center;text-align:center;margin-bottom:64px}
.ctt-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.62rem;font-weight:800;letter-spacing:.26em;
  text-transform:uppercase;color:var(--or);margin-bottom:18px;
}
.ctt-eyebrow-line{width:26px;height:1.5px;background:currentColor;border-radius:2px;opacity:.4}
.ctt-pill{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--wh);border:1.5px solid var(--gy-lt);
  border-radius:20px;padding:5px 14px 5px 9px;
  font-size:.67rem;font-weight:700;color:var(--tx2);
  margin-bottom:22px;box-shadow:0 2px 8px rgba(21,45,91,.06);
}
.ctt-pill-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--or),#ffb07a);
  box-shadow:0 0 0 3px rgba(242,101,34,.15);
}
.ctt-title{
  font-size:clamp(2rem,4vw,3.1rem);font-weight:900;line-height:1.08;
  color:var(--nv);margin-bottom:16px;letter-spacing:-.025em;
}
.ctt-title em{
  font-style:normal;
  background:linear-gradient(135deg,#FF8142,#F26522);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  position:relative;display:inline-block;
}
.ctt-title em::after{
  content:'';position:absolute;left:0;bottom:-5px;
  width:100%;height:3px;border-radius:2px;
  background:linear-gradient(90deg,#FF8142,#F26522,rgba(242,101,34,.2),transparent);
}
.ctt-sub{
  font-size:.95rem;color:var(--gy);line-height:1.85;
  max-width:600px;margin:0 auto;font-weight:300;
}
.ctt-sub strong{color:var(--tx);font-weight:700}

/* ── BODY GRID ──────────────────────────── */
.ctt-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  align-items:start;
}

/* ── LEFT COLUMN ────────────────────────── */
.ctt-left{display:flex;flex-direction:column;gap:16px}

/* Image card */
.ctt-img-card{
  position:relative;border-radius:24px;overflow:hidden;
  box-shadow:0 8px 40px rgba(14,28,47,.14),0 2px 8px rgba(14,28,47,.06);
  aspect-ratio:4/3;
}
.ctt-img-card img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s var(--eX);
}
.ctt-img-card:hover img{transform:scale(1.04)}

/* gradient overlay on image */
.ctt-img-overlay{
  position:absolute;inset:0;
  background:linear-gradient(
    180deg,
    transparent 40%,
    rgba(14,28,47,.55) 75%,
    rgba(14,28,47,.82) 100%
  );
  pointer-events:none;
}

/* badge on image */
.ctt-img-badge{
  position:absolute;bottom:20px;left:20px;right:20px;
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:14px;padding:12px 16px;
}
.ctt-img-badge-icon{
  width:38px;height:38px;border-radius:10px;flex-shrink:0;
  background:var(--or);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px var(--or-glow);
}
.ctt-img-badge-icon svg{width:18px;height:18px;color:#fff}
.ctt-img-badge-text{}
.ctt-img-badge-title{
  font-size:.78rem;font-weight:700;color:#fff;line-height:1.2;margin-bottom:1px;
}
.ctt-img-badge-sub{font-size:.65rem;color:rgba(255,255,255,.6);font-weight:300}

/* Benefits list */
.ctt-benefits{
  background:var(--wh);
  border:1.5px solid var(--gy-lt);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(14,28,47,.04),0 4px 16px rgba(14,28,47,.05);
}
.ctt-benefit{
  display:flex;align-items:center;gap:16px;
  padding:18px 24px;
  position:relative;
  transition:background .2s;
  cursor:default;
}
.ctt-benefit:not(:last-child){border-bottom:1px solid var(--gy-lt)}
.ctt-benefit:hover{background:var(--gy-xlt)}

/* left accent bar on hover */
.ctt-benefit::before{
  content:'';
  position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--benefit-color, var(--or));
  border-radius:0 3px 3px 0;
  transform:scaleY(0);transform-origin:center;
  transition:transform .3s var(--eX);
}
.ctt-benefit:hover::before{transform:scaleY(1)}

.ctt-benefit-icon{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--benefit-lt, var(--or-lt));
  border:1.5px solid var(--benefit-bd, var(--or-bd));
  transition:transform .35s var(--eB),background .2s;
}
.ctt-benefit:hover .ctt-benefit-icon{transform:scale(1.08) rotate(-5deg)}
.ctt-benefit-icon svg{width:20px;height:20px;color:var(--benefit-color, var(--or))}

.ctt-benefit-text{}
.ctt-benefit-title{
  font-size:.88rem;font-weight:700;color:var(--tx);
  line-height:1.25;margin-bottom:2px;
}
.ctt-benefit-title strong{color:var(--benefit-color, var(--or))}
.ctt-benefit-desc{font-size:.75rem;color:var(--gy);font-weight:300;line-height:1.5}

/* ── RIGHT COLUMN — FORM ────────────────── */
.ctt-form-card{
  background:var(--wh);
  border:1.5px solid var(--gy-lt);
  border-radius:24px;
  padding:36px;
  box-shadow:0 2px 4px rgba(14,28,47,.04),0 12px 40px rgba(14,28,47,.08);
  position:sticky;top:32px;
}

/* form header */
.ctt-form-hdr{margin-bottom:28px}
.ctt-form-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.62rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--or);margin-bottom:10px;
}
.ctt-form-tag-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--or);
  box-shadow:0 0 0 3px var(--or-lt);
}
.ctt-form-title{
  font-size:1.35rem;font-weight:800;color:var(--nv);
  line-height:1.2;letter-spacing:-.02em;margin-bottom:8px;
}
.ctt-form-title span{
  background:linear-gradient(135deg,#FF8142,#F26522);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.ctt-form-desc{font-size:.8rem;color:var(--gy);font-weight:300;line-height:1.6}

/* fields */
.ctt-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}

.ctt-field{
  position:relative;
}
.ctt-field-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;color:var(--gy);
  pointer-events:none;
  transition:color .2s;
}
.ctt-field textarea ~ .ctt-field-icon,
.ctt-field-textarea .ctt-field-icon{top:16px;transform:none}

.ctt-input{
  width:100%;padding:13px 14px 13px 40px;
  border:1.5px solid var(--gy-lt);border-radius:12px;
  font-family:'Outfit',sans-serif;font-size:.85rem;
  color:var(--tx);background:var(--off);
  outline:none;
  transition:border-color .22s,background .22s,box-shadow .22s;
  -webkit-appearance:none;
}
.ctt-input::placeholder{color:var(--gy);font-weight:300}
.ctt-input:focus{
  border-color:var(--or);background:var(--wh);
  box-shadow:0 0 0 3px var(--or-lt);
}
.ctt-input:focus ~ .ctt-field-icon{color:var(--or)}
/* textarea */
textarea.ctt-input{
  resize:none;min-height:88px;padding-top:14px;
  transition:border-color .22s,background .22s,box-shadow .22s,min-height .3s var(--eX);
}
textarea.ctt-input:focus{min-height:110px}

/* required star */
.ctt-input:required:not(:placeholder-shown):invalid{border-color:#ef4444}

/* submit */
.ctt-submit{
  width:100%;padding:15px 24px;
  border-radius:14px;border:none;cursor:pointer;
  background:linear-gradient(135deg,#FF8142 0%,#F26522 100%);
  color:#fff;font-family:'Outfit',sans-serif;
  font-size:.88rem;font-weight:800;letter-spacing:.02em;
  box-shadow:0 4px 20px var(--or-glow),inset 0 1px 0 rgba(255,255,255,.2);
  position:relative;overflow:hidden;
  transition:transform .3s var(--eB),box-shadow .3s;
  display:flex;align-items:center;justify-content:center;gap:10px;
}
.ctt-submit::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(255,255,255,.18) 0%,transparent 55%);
  border-radius:inherit;pointer-events:none;
}
.ctt-submit:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 28px var(--or-glow),inset 0 1px 0 rgba(255,255,255,.2);
}
.ctt-submit:active{transform:translateY(-1px)}
.ctt-submit svg{width:16px;height:16px;flex-shrink:0}

/* trust row */
.ctt-trust{
  display:flex;align-items:center;justify-content:center;gap:20px;
  margin-top:18px;padding-top:18px;
  border-top:1px solid var(--gy-lt);
  flex-wrap:wrap;
}
.ctt-trust-item{
  display:flex;align-items:center;gap:6px;
  font-size:.65rem;font-weight:600;color:var(--gy);
  letter-spacing:.04em;
}
.ctt-trust-item svg{width:13px;height:13px;color:var(--tl);flex-shrink:0}

/* ── SUCCESS STATE ──────────────────────── */
.ctt-success{
  display:none;flex-direction:column;align-items:center;
  text-align:center;padding:20px 0;gap:14px;
}
.ctt-success-icon{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,rgba(43,190,211,.12),rgba(43,190,211,.06));
  border:2px solid rgba(43,190,211,.3);
  display:flex;align-items:center;justify-content:center;
  animation:successPop .5s var(--eB) both;
}
@keyframes successPop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}
.ctt-success-icon svg{width:28px;height:28px;color:var(--tl)}
.ctt-success-title{font-size:1.1rem;font-weight:800;color:var(--nv)}
.ctt-success-sub{font-size:.82rem;color:var(--gy);font-weight:300;line-height:1.6;max-width:280px}
.ctt-form-card.sent .ctt-form-inner{display:none}
.ctt-form-card.sent .ctt-success{display:flex}

/* ── RESPONSIVE ─────────────────────────── */
@media(max-width:980px){
  .ctt-wrap{padding:0 32px}
  .ctt-body{grid-template-columns:1fr;gap:24px}
  .ctt-left{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
  .ctt-form-card{position:static}
}
@media(max-width:700px){
  .ctt-wrap{padding:0 18px}
  .ctt-sec{padding:64px 0 80px}
  .ctt-title{font-size:clamp(1.8rem,7vw,2.4rem)}
  .ctt-left{grid-template-columns:1fr}
  .ctt-form-card{padding:24px}
  .ctt-trust{gap:12px}
}



/* ===== Brand lockup shared ===== */
.brand-lockup{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-stack{display:flex;flex-direction:column;line-height:1; margin-left: 10px;}
.brand-title{font-family:'Hanover','Outfit',sans-serif;font-size:.95rem;font-weight:500;color: #8CB5C8;letter-spacing:.04em}
.brand-sec-title {font-family:'Hanover'; color: var(--wh);font-size: .95em;}
.brand-subtitle{font-family:'Gotham HTF','Outfit',sans-serif;font-size:.45rem;font-weight:500;color:var(--orange-lt);letter-spacing:.18em;text-transform:uppercase;margin-top:2px}
.f-logo .brand-title{font-size:.95rem}
.f-logo .brand-subtitle{font-size:.45rem}
.f-logo-text{font-family:'Hanover','Outfit',sans-serif;font-size:.95rem;letter-spacing:.04em;line-height:1;color:#fff}
.f-tagline{font-family:serif}
.vn-dd-kicker{padding:0 0 10px 0;color:#8a94a6;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.vn-side-card-badge--muted{color:#6b7a99}
.vn-quick-cta{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:100px;background:rgba(242,101,34,.15);border:1px solid rgba(242,101,34,.3);color:#ff8a5c;font-size:.72rem;font-weight:700;text-decoration:none;margin-bottom:16px;transition:background .2s,border-color .2s,color .2s}
.vn-quick-cta:hover{background:rgba(242,101,34,.22)}
.vn-quick-cta--casa{background:var(--casa-lt);border-color:var(--casa-bd);color:var(--casa)}
.vn-quick-cta--casa:hover{background:rgba(140,181,200,.14)}
.vn-quick-cta--empresa{background:var(--e-lt);border-color:var(--e-bd);color:var(--e)}
.vn-quick-cta--empresa:hover{background:rgba(23,98,163,.14)}
.vnd-row[href]{text-decoration:none}

/* ===== Unified primary button sweep ===== */
.btn--primary,.btn-primary,.a-btn-primary,.btn-cta-primary,.hero-btn-primary,.svc-cta-strip__btn--primary,.booking__cta,.vn-cta,.ctx-btn,.info-cta,.btn-primary-cta{position:relative;overflow:hidden;isolation:isolate}
.btn--primary::after,.btn-primary::after,.a-btn-primary::after,.btn-cta-primary::after,.hero-btn-primary::after,.svc-cta-strip__btn--primary::after,.booking__cta::after,.vn-cta::after,.ctx-btn::after,.info-cta::after,.btn-primary-cta::after{content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-20deg);transition:left .5s ease;pointer-events:none;z-index:0}
.btn--primary:hover::after,.btn-primary:hover::after,.a-btn-primary:hover::after,.btn-cta-primary:hover::after,.hero-btn-primary:hover::after,.svc-cta-strip__btn--primary:hover::after,.booking__cta:hover::after,.vn-cta:hover::after,.ctx-btn:hover::after,.info-cta:hover::after,.btn-primary-cta:hover::after{left:130%}
.btn--primary > *,.btn-primary > *,.a-btn-primary > *,.btn-cta-primary > *,.hero-btn-primary > *,.svc-cta-strip__btn--primary > *,.booking__cta > *,.vn-cta > *,.ctx-btn > *,.info-cta > *,.btn-primary-cta > *{position:relative;z-index:1}

.vn-social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);transition:background .2s;text-decoration:none}.vn-social-icon{width:24px;height:24px;object-fit:contain}.hub-grid--triad{max-width:1240px;margin:0 auto;padding:8px clamp(22px,3vw,48px) 48px;grid-template-columns:repeat(3,minmax(0,1fr))}

/* ===== Runtime build helper ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== Circular seal logo ===== */
.brand-lockup--seal{display:inline-flex;align-items:center;justify-content:center;gap:0;line-height:0;text-decoration:none;flex-shrink:0}
.brand-lockup--seal:hover .brand-seal{transform:translateY(-1px) scale(1.025)}
.brand-seal{display:block;width:118px;max-width:min(22vw,118px);height:auto;filter:drop-shadow(0 12px 24px rgba(0,0,0,.18));transition:transform .28s ease, filter .28s ease}
.brand-lockup--seal-footer .brand-seal--footer{filter:drop-shadow(0 18px 34px rgba(0,0,0,.22))}
.f-logo{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.f-logo .brand-lockup--seal{align-items:center;justify-content:flex-start}
.footer-row1{align-items:center}
@media (max-width: 1200px){
  .brand-seal{max-width:min(24vw,104px)}
  .brand-lockup--seal-footer .brand-seal--footer{width:146px;max-width:min(44vw,146px)}
}
@media (max-width: 768px){
  .brand-seal{width:92px;max-width:min(34vw,92px)}
  .brand-lockup--seal-footer .brand-seal--footer{width:124px;max-width:min(48vw,124px)}
}


/* ===== v80 header social overrides ===== */
.vn-social-link{background:transparent !important;border:none !important;box-shadow:none !important;padding:0}
.vn-social-icon{width:50px !important;height:50px !important}


/* v81 tweaks */
.vn-mega-tag{font-size:.52rem!important}
.vn-svc-icon{overflow:hidden}
.vn-svc-icon img{width:22px;height:22px;object-fit:contain;display:block;filter:none}
.vn-social-link{background:transparent!important;border:none!important;box-shadow:none!important;padding:0}
.vn-social-icon{width:50px!important;height:50px!important;object-fit:contain}
body[data-page="sobre"] .brand-subtitle{color:rgba(242,101,34,.92)!important;opacity:1!important;visibility:visible!important}


/* v82 mega menu icon color sync */
.vn-nav-desktop > .vn-item:nth-child(2) .vn-svc-icon img{
  filter: brightness(0) saturate(100%) invert(48%) sepia(79%) saturate(600%) hue-rotate(345deg) brightness(98%);
}
.vn-nav-desktop > .vn-item:nth-child(3) .vn-svc-icon img{
  filter: brightness(0) saturate(100%) invert(68%) sepia(25%) saturate(350%) hue-rotate(170deg) brightness(95%);
}
.vn-nav-desktop > .vn-item:nth-child(4) .vn-svc-icon img{
  filter: brightness(0) saturate(100%) invert(28%) sepia(74%) saturate(1238%) hue-rotate(179deg) brightness(92%) contrast(88%);
}


/* v85 refreshed social styles */
.vn-social-link{background:transparent !important;border:none !important;box-shadow:none !important;padding:0}
.vn-social-icon{width:50px !important;height:50px !important;object-fit:contain}
