  /* =============== PAGE SPLASH (reload overlay) =============== */
  .page-splash{position:fixed;inset:0;background:#00394d;z-index:9999;opacity:1;pointer-events:none;transition:opacity 420ms cubic-bezier(.2,.7,.2,1)}
  .page-splash.is-hidden{opacity:0}
  body.theme-dark .page-splash{background:#f4f1ec}
  @media (prefers-reduced-motion: reduce){
    .page-splash{transition:none;opacity:0}
  }

  :root{
    /* Grupo palette */
    --ink:         #00394d;
    --ink-2:       #00567b;
    --ink-3:       #1b88a7;
    --ink-4:       #1da5de;
    /* sub-brand accents */
    --gestao:      #c4b388;
    --gestao-2:    #a47e56;
    --tech:        #1bdbad;
    --tech-2:      #3192d0;
    --formacao:    #d66d31;
    --formacao-2:  #ecc625;
    --eng:         #878787;
    --eng-2:       #585857;

    --paper:       #f4f1ec;
    --paper-2:     #ebe7df;
    --line:        rgba(0,57,77,.14);
    --line-on-dark:rgba(255,255,255,.14);

    --helv: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --ubu:  "Ubuntu", var(--helv);
    --mono: "Ubuntu Mono", ui-monospace, Menlo, monospace;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
  html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--helv);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  section[id]{scroll-margin-top:88px}
  body{overflow-x:hidden}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  button{font:inherit;cursor:pointer}

  /* -------- tokens -------- */
  .wrap{max-width:1360px;margin:0 auto;padding:0 40px}
  .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2)}
  .rule{height:1px;background:var(--line);width:100%}
  .rule-on-dark{height:1px;background:var(--line-on-dark);width:100%}
  .kbd{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}

  /* -------- nav -------- */
  .nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .25s ease,backdrop-filter .25s ease,border-color .25s ease;border-bottom:1px solid transparent}
  .nav.scrolled{background:rgba(244,241,236,.86);backdrop-filter:saturate(1.2) blur(10px);border-bottom-color:var(--line)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
  .brand{display:flex;align-items:center;gap:14px}
  .brand-logo{height:50px;width:auto;display:block;filter:brightness(0) invert(1);transition:filter .25s ease}
  .menu{display:flex;gap:30px;align-items:center}
  .menu > a, .menu-item > a{font-family:var(--ubu);font-size:14px;font-weight:400;color:#fff;position:relative;padding:6px 0;transition:color .25s ease;display:inline-block}
  .menu > a:hover::after, .menu-item > a:hover::after{width:100%}
  .menu > a::after, .menu-item > a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:#fff;transition:width .25s ease,background .25s ease}
  .menu-item{position:relative}
  .menu-item.has-sub > a::before{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-right:8px;vertical-align:middle;opacity:.7}
  .submenu{position:absolute;top:calc(100% + 14px);left:-16px;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px -8px rgba(0,57,77,.18);padding:10px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
  .menu-item:hover .submenu, .menu-item:focus-within .submenu{opacity:1;visibility:visible;transform:translateY(0)}
  .submenu a{font-family:var(--ubu);font-size:14px;color:var(--ink);padding:10px 14px;border-radius:6px;transition:background .15s ease}
  .submenu a:hover{background:var(--paper-2)}
  .submenu a.is-active,
  .submenu a[aria-current="page"]{background:var(--bu-tint,var(--paper-2));color:var(--bu,var(--ink));font-weight:500}
  .submenu a::after{display:none}
  .nav-ctas{display:flex;gap:10px;align-items:center}
  .cta-sm{font-family:var(--ubu);font-size:13px;font-weight:500;padding:11px 20px;border:1px solid #fff;border-radius:999px;display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--ink);transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap}
  .cta-sm:hover{transform:translateY(-1px);background:var(--ink-4);border-color:var(--ink-4);color:var(--ink)}
  .cta-sm svg{width:12px;height:12px}
  .cta-sm-ghost{background:transparent;color:#fff}
  .cta-sm-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
  .hamburger{display:none}

  /* =============== MOBILE PANEL =============== */
  .mobile-panel{position:fixed;inset:0;z-index:90;background:var(--ink);color:#fff;padding:88px 28px 32px;display:none;flex-direction:column;gap:8px;overflow-y:auto}
  .mobile-panel[data-open="true"]{display:flex;animation:mp-fade .25s ease both}
  @keyframes mp-fade{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
  .mp-close{position:absolute;top:22px;right:22px;width:42px;height:42px;display:grid;place-items:center;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:999px}
  .mobile-panel a{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;font-family:var(--ubu);font-size:18px;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
  .mobile-panel a span{font-size:14px;color:rgba(255,255,255,.5)}
  .mp-group-title{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-4);margin-top:24px;margin-bottom:8px}
  .mp-group-title:first-of-type{margin-top:0}
  .mp-cta-row{display:flex;flex-direction:column;gap:10px;margin-top:32px}
  .mp-cta-row .cta-sm{justify-content:center;width:100%}
  body.mp-open{overflow:hidden}
  /* Nav flip: paper bg + ink text quando rolar sobre conteúdo claro */
  .nav.scrolled .brand-logo{filter:none}
  .nav.scrolled .menu > a, .nav.scrolled .menu-item > a{color:var(--ink)}
  .nav.scrolled .menu > a::after, .nav.scrolled .menu-item > a::after{background:var(--ink)}
  .nav.scrolled .cta-sm{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .nav.scrolled .cta-sm:hover{background:#00283a;border-color:#00283a;color:var(--paper)}
  .nav.scrolled .cta-sm-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
  .nav.scrolled .cta-sm-ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

  /* =================== HERO =================== */
  .hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;min-height:100vh;display:flex;flex-direction:column}
  .hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(1200px 700px at 85% 10%, rgba(29,165,222,.18), transparent 60%),
    radial-gradient(900px 500px at 5% 90%, rgba(27,136,167,.22), transparent 60%);
    pointer-events:none}
  .hero-sym{position:absolute;right:-180px;top:50%;transform:translateY(-50%);width:min(85vh,1100px);opacity:.13;pointer-events:none;mix-blend-mode:screen;filter:brightness(2.2) contrast(1.1)}
  .hero-sym.float{animation:floatY 9s ease-in-out infinite}
  @keyframes floatY{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 18px))}}

  /* grid background */
  .hero-grid{position:absolute;inset:0;background-image:
    linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:80px 80px;mask-image:radial-gradient(ellipse at center, black 50%, transparent 90%)}

  .hero-body{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding-top:110px;padding-bottom:60px}
  .hero-eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-4);margin-bottom:36px}
  .hero-eyebrow .dot{width:7px;height:7px;background:var(--ink-4);border-radius:50%;box-shadow:0 0 0 4px rgba(29,165,222,.18);animation:pulse 2s ease-in-out infinite}
  @keyframes pulse{50%{box-shadow:0 0 0 10px rgba(29,165,222,0)}}
  .hero h1{font-family:var(--ubu);font-weight:300;font-size:clamp(40px,5.5vw + .5rem,84px);line-height:1;letter-spacing:-.025em;margin:0 0 28px;color:#fff}
  .hero h1 em{font-style:normal;font-weight:500;color:var(--ink-4);background-image:linear-gradient(var(--ink-4),var(--ink-4));background-repeat:no-repeat;background-position:0 100%;background-size:0% 3px;padding-bottom:4px;animation:underl 1.2s .8s cubic-bezier(.2,.8,.2,1) forwards}
  .hero-tail{display:inline-block;font-size:.55em;font-weight:300;color:rgba(255,255,255,.78);letter-spacing:-.01em;margin-top:8px}
  @keyframes underl{to{background-size:100% 3px}}
  /* Morphing word (ciclo gestão → tecnologia → pessoas → obras → tudo isso) */
  .morph-wrap{position:relative;display:inline-block;vertical-align:top}
  .morph-spacer{visibility:hidden;white-space:pre}
  .morph-word{position:absolute;left:0;top:0;white-space:pre;color:var(--ink-4);font-weight:500;animation:morph-in .42s cubic-bezier(.2,.7,.3,1) both}
  @keyframes morph-in{0%{opacity:0;transform:translateY(.22em);filter:blur(8px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
  @media (prefers-reduced-motion: reduce){.morph-word{animation:none !important;filter:none !important}}
  .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}
  .hero p.lead{font-family:var(--helv);font-size:20px;line-height:1.55;max-width:580px;color:rgba(255,255,255,.95);margin:0 0 48px;font-weight:400}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .btn-primary{display:inline-flex;align-items:center;gap:12px;padding:18px 28px;background:var(--ink-4);color:var(--ink);border-radius:999px;font-family:var(--ubu);font-weight:500;font-size:15px;letter-spacing:.01em;transition:transform .2s,background .2s}
  .btn-primary:hover{transform:translateY(-2px);background:#3fb8eb}
  .btn-ghost{display:inline-flex;align-items:center;gap:12px;padding:18px 28px;color:#fff;border-radius:999px;font-family:var(--ubu);font-weight:400;font-size:15px;border:1px solid rgba(255,255,255,.28);transition:background .2s}
  .btn-ghost:hover{background:rgba(255,255,255,.08)}
  .arr{width:14px;height:14px;transition:transform .2s}
  .btn-primary:hover .arr,.btn-ghost:hover .arr{transform:translate(3px,-3px)}

  /* hero right panel — live metric stack */
  .hero-side{position:relative;z-index:2;display:flex;justify-content:center;align-items:center}

  /* ------ Card Stack (koik-inspired) ------ */
  .card-stack{position:relative;width:min(340px,100%);aspect-ratio:3/4;user-select:none;-webkit-tap-highlight-color:transparent;perspective:1400px}
  .stack-shadow{position:absolute;inset:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:14px;transform:translate(-14px,-14px);z-index:1;pointer-events:none}
  .card-item{position:absolute;inset:0;z-index:2;transform-style:preserve-3d;will-change:transform,opacity;transition:transform 520ms cubic-bezier(.4,0,.2,1),opacity 320ms ease;transform:translate(var(--tx,0px),var(--ty,0px)) rotate(var(--rot,0deg)) translateY(var(--lift,0px)) scale(var(--sc,1)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
  .card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 600ms cubic-bezier(.4,0,.2,1);will-change:transform}
  .card-item.is-top{cursor:pointer}
  .card-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:42px 36px;color:#fff;overflow:hidden;border-radius:14px}
  .card-front{background-color:var(--c2);background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.1)}
  .card-item[data-idx="0"] .card-front{background-image:url('cards-hero/gestao.png')}
  .card-item[data-idx="1"] .card-front{background-image:url('cards-hero/tech.png')}
  .card-item[data-idx="2"] .card-front{background-image:url('cards-hero/formacao.png')}
  .card-item[data-idx="3"] .card-front{background-image:url('cards-hero/engenharia.png')}
  .card-front .card-head, .card-front .card-lema, .card-front .card-foot{display:none}
  .card-front::before, .card-front::after{display:none}
  .card-item.card-light .card-front{border-color:rgba(0,57,77,.1)}
  .card-item.card-light .card-num{color:rgba(0,57,77,.65)}
  .card-item.card-light .card-wm-main{color:var(--ink)}
  .card-item.card-light .card-wm-sub{color:rgba(0,57,77,.78)}
  .card-item.card-light .card-lema{color:var(--ink)}
  .card-item.card-light .card-foot{color:rgba(0,57,77,.55)}
  .card-item.card-light .card-front::after{filter:none;opacity:.18}
  .card-front::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 110% 80% at 20% 0%,rgba(255,255,255,.16),transparent 55%);pointer-events:none}
  .card-front::after{content:"";position:absolute;right:-30%;bottom:-30%;width:80%;height:80%;background-image:url('assets/logos/infinito.png');background-size:contain;background-repeat:no-repeat;background-position:bottom right;opacity:.12;filter:brightness(0) invert(1);pointer-events:none}
  .card-back{transform:rotateY(180deg);background:transparent;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center}
  .card-back::before{content:"";position:absolute;inset:0;background-image:url('assets/logos/infinito.png');background-size:62%;background-position:center;background-repeat:no-repeat;background-color:rgba(0,0,0,.04);opacity:.28;filter:brightness(0) invert(1)}
  .card-back::after{content:"GRUPO PORTFOLIO";position:absolute;bottom:28px;left:30px;font-family:var(--mono);font-size:10px;letter-spacing:.28em;color:rgba(255,255,255,.4)}
  .card-head{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px}
  .card-num{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:rgba(255,255,255,.65)}
  .card-wordmark{display:flex;flex-direction:column;align-items:flex-end;line-height:1;align-self:flex-start;margin-top:2px}
  .card-bu-logo{height:44px;width:auto;max-width:180px;object-fit:contain;display:block}
  .card-item .card-bu-logo{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
  .card-wm-main{font-family:var(--ubu);font-weight:700;font-size:22px;letter-spacing:.04em;color:#fff;line-height:1}
  .card-wm-sub{font-family:var(--ubu);font-weight:400;font-size:12px;letter-spacing:.22em;color:rgba(255,255,255,.82);margin-top:5px;line-height:1}
  .card-lema{position:relative;z-index:1;font-family:var(--ubu);font-weight:400;font-size:clamp(36px,4.2vw + .5rem,58px);line-height:.95;letter-spacing:-.02em;color:#fff}
  .card-foot{position:relative;z-index:1;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.55)}
  .flip-hint{position:absolute;bottom:-46px;left:50%;transform:translateX(-50%);z-index:320;font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:#fff;text-transform:uppercase;pointer-events:none;transition:opacity .3s ease;white-space:nowrap;background:rgba(0,0,0,.55);padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.25);animation:hintPulse 2.4s ease-in-out infinite}
  .card-stack.is-interacted .flip-hint{opacity:.9}
  @keyframes hintPulse{0%,100%{transform:translateX(-50%) scale(1);opacity:.85}50%{transform:translateX(-50%) scale(1.05);opacity:1}}
  @media (prefers-reduced-motion: reduce){.flip-hint{animation:none}}
  body.theme-light .flip-hint{background:rgba(0,57,77,.85);border-color:rgba(255,255,255,.5);color:#fff}

  .hero-footer{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.1);padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:40px}
  .hf-loc{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55)}
  .hf-loc b{color:#fff;font-weight:500}
  .hf-scroll{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55)}
  .hf-scroll .line{width:60px;height:1px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}
  .hf-scroll .line::after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:scrollIndi 2.2s ease-in-out infinite}
  @keyframes scrollIndi{50%{transform:translateX(0)}100%{transform:translateX(100%)}}

  /* ================ FRENTES ================ */
  /* Compensar header fixo ao navegar via âncora */
  section[id]{scroll-margin-top:88px}
  .frentes{padding:90px 0 80px;background:var(--paper);position:relative}
  .sec-head{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;margin-bottom:80px;align-items:end}
  .sec-head .num{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--ink-2)}
  .sec-head h2{font-family:var(--ubu);font-weight:300;font-size:clamp(40px,4.6vw,64px);line-height:1;letter-spacing:-.02em;color:var(--ink);margin:16px 0 0}
  .sec-head h2 em{font-style:normal;font-weight:500}
  .sec-head .desc{font-size:16px;line-height:1.6;color:rgba(0,57,77,.72);max-width:520px;font-weight:300}

  .frentes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .frente{padding:40px 30px 32px;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;position:relative;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:18px;min-height:480px;isolation:isolate;transition:transform .4s cubic-bezier(.2,.65,.2,1),box-shadow .4s,background .35s ease,border-color .35s;text-decoration:none;color:inherit}
  .frente::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--c);transform:translateY(101%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
  .frente:hover{transform:translateY(-6px);border-color:var(--c);box-shadow:0 30px 60px -22px rgba(0,57,77,.4);color:#fff}
  .frente:hover::before{transform:translateY(0)}
  /* Top accent bar */
  .frente::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.65,.2,1);z-index:1}
  .frente:hover::after{transform:scaleX(1)}
  .frente > *{position:relative;z-index:1;transition:color .3s}
  .frente-num{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--c);margin-bottom:24px;display:block}
  .frente:hover .frente-num{color:rgba(255,255,255,.75)}
  .frente-logo{height:56px;margin-bottom:32px;display:flex;align-items:center}
  .frente-logo img{height:52px;width:auto;transition:filter .3s}
  .frente:hover .frente-logo img{filter:brightness(0) invert(1)}
  .frente h3{font-family:var(--ubu);font-weight:500;font-size:22px;margin:0 0 10px;letter-spacing:-.01em;color:var(--ink)}
  .frente:hover h3{color:#fff}
  .frente p{font-size:14px;line-height:1.55;color:rgba(0,57,77,.72);margin:0 0 32px;min-height:88px}
  .frente:hover p{color:rgba(255,255,255,.82)}
  .frente ul{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;flex:1}
  .frente li{font-size:14px;color:rgba(0,57,77,.78);display:flex;align-items:center;gap:12px;font-family:var(--ubu);padding:11px 0;border-bottom:1px solid var(--line);transition:color .35s ease,padding-left .2s ease,border-color .35s ease;font-weight:300}
  .frente li:last-child{border-bottom:0}
  .frente li::before{content:"";width:5px;height:5px;background:var(--c);border-radius:50%;flex-shrink:0;transition:width .2s ease,background .35s,border-radius .2s ease}
  .frente:hover li{color:rgba(255,255,255,.92);border-bottom-color:rgba(255,255,255,.18)}
  .frente:hover li::before{background:#fff}
  .frente:hover li:hover{padding-left:8px}
  .frente:hover li:hover::before{width:14px;border-radius:2px}
  /* Cards com bg claro no hover (Tech, Engenharia Consultiva): texto vira navy */
  /* Variante .frente-light: cards com --c claro (mint, gold) — texto fica navy ao invés de branco no hover pra manter legibilidade */
  .frente.frente-light .frente-num{color:var(--ink)}
  .frente.frente-light li::before{background:var(--ink)}
  .frente.frente-light:hover li{color:rgba(0,57,77,.82);border-bottom-color:rgba(0,57,77,.18)}
  .frente.frente-light:hover li::before{background:var(--ink)}
  .frente.frente-light:hover li:hover::before{background:var(--ink)}
  .frente.frente-light:hover .frente-cta{color:var(--ink);border-color:var(--ink)}
  .frente.frente-light:hover{color:var(--ink)}
  .frente.frente-light:hover .frente-num{color:rgba(0,57,77,.65)}
  .frente.frente-light:hover h3{color:var(--ink)}
  .frente.frente-light:hover p{color:rgba(0,57,77,.78)}
  .frente.frente-light:hover li{color:rgba(0,57,77,.82)}
  .frente.frente-light:hover li::before{background:var(--ink)}
  .frente.frente-light:hover .frente-logo img{filter:none}
  .frente.frente-light:hover .frente-cta{color:var(--ink)}
  .frente-cta{font-family:var(--ubu);font-size:13px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:8px;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px;align-self:flex-start;transition:gap .2s}
  .frente:hover .frente-cta{color:#fff;border-color:#fff;gap:14px}

  /* =============== NÚMEROS =============== */
  .numeros{background:var(--ink);color:#fff;padding:90px 0;position:relative;overflow:hidden;border-radius:24px}
  @media(max-width:640px){.numeros{border-radius:16px}}
  .numeros-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}
  .numeros-col-left{min-width:0;order:2}
  .numeros-col-right{display:flex;justify-content:center;align-items:center;min-width:0;order:1}
  .numeros-map{position:relative;width:100%;max-width:560px;aspect-ratio:220000/194010}
  .num-lead{font-family:var(--ubu);font-weight:300;font-size:16px;line-height:1.6;color:rgba(255,255,255,.7);margin:24px 0 0;max-width:46ch}
  .numeros-map-svg{width:100%;height:100%;display:block}
  .numeros-map-svg svg .uf{fill:#c7c7c0;stroke:rgba(255,255,255,.95);stroke-width:500;transition:fill .35s ease}
  .numeros-map-svg svg .uf-active{fill:#1d8db4}
  .numeros-map-svg svg .uf-home{fill:#1da5de}
  .map-pins{position:absolute;inset:0;pointer-events:none}
  .map-pin{position:absolute;transform:translate(-50%,-121%);opacity:0;--pin-color:#fff;--pin-shadow:#00567b;pointer-events:auto;cursor:default}
  .map-pin:hover{z-index:5}
  .map-pin-head{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,background .3s,color .3s,border-color .3s}
  .map-pin:hover .map-pin-head{transform:scale(1.2) translateY(-3px);background:var(--ink-4);color:#fff;border-color:var(--ink);box-shadow:0 12px 28px -6px rgba(29,165,222,.6),0 0 0 6px rgba(29,165,222,.18)}
  .map-pin::before{content:"";position:absolute;top:100%;left:50%;width:160%;height:120%;transform:translate(-50%,-48%);background:radial-gradient(ellipse,rgba(29,165,222,.32) 0%,rgba(29,165,222,.08) 50%,transparent 75%);mix-blend-mode:screen;pointer-events:none;z-index:0;opacity:0;transition:opacity .7s ease}
  .map-pin.drop::before{opacity:1;transition-delay:calc(var(--pin-delay,0ms) + 200ms)}
  .map-pin[data-state="CE"]::before{background:radial-gradient(ellipse,rgba(29,165,222,.5) 0%,rgba(29,165,222,.15) 45%,transparent 72%)}
  .map-pin-head,.map-pin-point{position:relative;z-index:1}
  .map-pin.drop{animation:pin-drop .72s cubic-bezier(.3,1.5,.5,1) both;animation-delay:var(--pin-delay,0ms)}
  .map-pin[data-state="CE"]{--pin-color:#1da5de;--pin-shadow:#00394d}
  .map-pin-head{min-width:32px;height:32px;padding:0;border-radius:999px;background:var(--pin-color);border:2px solid var(--pin-shadow);display:grid;place-items:center;box-shadow:0 6px 16px -4px rgba(0,0,0,.45);font-family:var(--ubu);font-weight:600;font-size:11px;letter-spacing:.04em;color:var(--pin-shadow);transition:min-width .35s cubic-bezier(.2,.8,.2,1),padding .35s,font-size .25s,background .3s,color .3s,border-color .3s,box-shadow .3s,transform .3s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;overflow:hidden}
  .map-pin.expanded{z-index:10}
  .map-pin.expanded .map-pin-head{padding:0 14px;font-size:12px;letter-spacing:.02em}
  .map-pin[data-state="CE"] .map-pin-head{color:#fff}
  .map-pin-point{width:0;height:0;margin:-1px auto 0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:11px solid var(--pin-shadow)}
  .map-pin-head::after{content:"";position:absolute;top:100%;left:50%;width:10px;height:10px;border-radius:50%;background:rgba(0,0,0,.25);transform:translate(-50%,20px) scale(0);filter:blur(3px);animation:pin-shadow-drop .72s cubic-bezier(.3,1.5,.5,1) both;animation-delay:var(--pin-delay,0ms);opacity:0}
  .map-pin.drop .map-pin-head::after{animation-play-state:running}
  @keyframes pin-drop{
    0%{opacity:0;transform:translate(-50%,-281%) scale(.7)}
    60%{opacity:1;transform:translate(-50%,-117%) scale(1.08)}
    80%{transform:translate(-50%,-123%) scale(.96)}
    100%{opacity:1;transform:translate(-50%,-121%) scale(1)}
  }
  @keyframes pin-shadow-drop{
    0%,40%{opacity:0;transform:translate(-50%,20px) scale(.3)}
    70%{opacity:.5;transform:translate(-50%,20px) scale(1.2)}
    100%{opacity:.4;transform:translate(-50%,20px) scale(1)}
  }
  @media (prefers-reduced-motion: reduce){
    .map-pin{opacity:1;transform:translate(-50%,-100%);animation:none}
    .map-pin.drop{animation:none}
  }
  @media (max-width:1100px){
    .numeros-layout{grid-template-columns:1fr;gap:60px}
    .numeros-map{max-width:420px;margin:0 auto}
  }
  @media (max-width:640px){
    .map-pin-head{width:26px;height:26px;border-width:1.5px}
    .map-pin-point{border-left-width:6px;border-right-width:6px;border-top-width:9px}
  }
  .numeros::before{content:"";position:absolute;inset:0;background:
    radial-gradient(600px 400px at 20% 50%, rgba(27,136,167,.25), transparent 60%)}
  .num-sym{position:absolute;left:-180px;bottom:-180px;width:680px;opacity:.06;pointer-events:none;filter:brightness(2.5)}
  .num-head{position:relative;z-index:1;margin-bottom:0;max-width:720px}
  .num-head .eyebrow{color:var(--ink-4)}
  .num-head h2{font-family:var(--ubu);font-weight:300;font-size:clamp(32px,3.4vw,48px);line-height:1.05;letter-spacing:-.02em;margin:16px 0 0;color:#fff}
  .num-head h2 em{font-style:normal;font-weight:500;color:var(--ink-4)}
  .nums-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:40px}
  .nbox{padding:26px 24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;transition:background .25s ease,border-color .25s ease,transform .25s ease}
  .nbox:hover{background:rgba(255,255,255,.08);border-color:rgba(29,165,222,.4);transform:translateY(-2px)}
  .nbox-val{font-family:var(--ubu);font-weight:400;font-size:clamp(34px,3.4vw,46px);line-height:.95;letter-spacing:-.03em;color:#fff;margin-bottom:10px}
  .nbox-val sup{font-size:.45em;font-weight:500;color:var(--ink-4);vertical-align:super;margin-left:4px}
  .nbox-val .nbox-plus{font-size:1em;font-weight:600;color:var(--ink-4);margin-left:6px;vertical-align:baseline;display:inline-block}
  .nbox-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6)}

  /* =============== CASES + DEPOIMENTOS =============== */
  .cases{padding:90px 0;background:var(--paper-2);position:relative;overflow:hidden;border-radius:24px}
  @media(max-width:640px){.cases{border-radius:16px}}
  .cases-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:70px;flex-wrap:wrap}
  .cases-head h2{font-family:var(--ubu);font-weight:300;font-size:clamp(40px,4.6vw,64px);line-height:1;letter-spacing:-.02em;color:var(--ink);margin:16px 0 0}
  .cases-head h2 em{font-style:normal;font-weight:500}
  .case-tabs{display:flex;gap:10px;flex-wrap:wrap}
  .tab{font-family:var(--ubu);font-size:13px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);transition:all .25s ease}
  .tab:hover{border-color:var(--ink)}
  .tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
  .tab[data-tab="1"].active{background:#00567b;border-color:#00567b;color:#fff}
  .tab[data-tab="2"].active{background:#1bdbad;border-color:#1bdbad;color:var(--ink)}
  .tab[data-tab="3"].active{background:#d66d31;border-color:#d66d31;color:#fff}

  /* Stage = horizontal scroll container */
  .case-stage{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px;cursor:grab;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
  .case-stage::-webkit-scrollbar{display:none}
  .case-stage.is-dragging{cursor:grabbing;scroll-behavior:auto;user-select:none}
  .case-stage.is-dragging .case-card{pointer-events:none}
  .case-stage{transition:opacity 240ms ease}
  .case-stage.is-fading{opacity:0}
  .case-stage.is-entering .case-card{animation:case-enter 560ms cubic-bezier(.2,.7,.3,1) both}
  .case-stage.is-entering .case-card:nth-child(1){animation-delay:0ms}
  .case-stage.is-entering .case-card:nth-child(2){animation-delay:90ms}
  .case-stage.is-entering .case-card:nth-child(3){animation-delay:180ms}
  .case-stage.is-entering .case-card:nth-child(4){animation-delay:270ms}
  .case-stage.is-entering .case-card:nth-child(n+5){animation-delay:360ms}
  @keyframes case-enter{from{opacity:0;transform:translateY(18px) scale(.98)} to{opacity:1;transform:translateY(0) scale(1)}}
  @media (prefers-reduced-motion: reduce){.case-stage.is-entering .case-card{animation:none}}
  .case-card{flex:0 0 95%;scroll-snap-align:start;display:grid;grid-template-columns:1.15fr 1fr;gap:56px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:48px;min-height:auto;align-items:center;position:relative}
  @media (min-width:1100px){ .case-card{flex-basis:calc(100% - 60px);padding:56px} }

  /* Video side (com moldura offset) */
  .case-video-col{position:relative;width:100%}
  .case-video-frame{position:absolute;top:-18px;right:-18px;width:42%;height:65%;z-index:0;border-radius:4px}
  .case-video{position:relative;z-index:1;aspect-ratio:16/9;background:var(--ink);border-radius:6px;overflow:hidden;cursor:pointer;display:block}
  .case-video-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1)}
  .case-video:hover .case-video-thumb{transform:scale(1.03)}
  .case-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,57,77,.05) 0%,rgba(0,57,77,.32) 100%);pointer-events:none;transition:opacity .3s}
  .case-video:hover::after{opacity:.7}
  .case-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;border:none;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,background .2s;z-index:2}
  .case-video-play svg{width:28px;height:28px;fill:var(--ink);margin-left:4px}
  .case-video:hover .case-video-play{transform:translate(-50%,-50%) scale(1.08);background:#fff}
  .case-video.is-playing .case-video-thumb,
  .case-video.is-playing .case-video-play,
  .case-video.is-playing::after{display:none}
  .case-video-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:none}
  .case-video.is-playing .case-video-iframe{display:block}

  /* Fallback (sem vídeo) */
  .case-video--noplayer{background:var(--ink);cursor:default;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center}
  .case-video--noplayer::after{display:none}
  .case-video-fallback{position:relative;z-index:1;color:#fff;display:flex;flex-direction:column;gap:12px}
  .case-fallback-label{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6)}
  .case-fallback-name{font-family:var(--ubu);font-weight:300;font-size:clamp(28px,3vw,44px);line-height:1.05;letter-spacing:-.02em;color:#fff}
  .case-video--noplayer .cv-sym{position:absolute;right:-60px;bottom:-60px;width:220px;opacity:.18;filter:brightness(3);pointer-events:none;z-index:0}
  .case-client-logo{max-width:100%;max-height:88%;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.95;position:relative;z-index:1}
  .case-video--photo{padding:0;overflow:hidden}
  .case-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;will-change:transform;animation:case-ken-burns 14s ease-in-out infinite alternate}
  .case-video--photo::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,57,77,0) 55%,rgba(0,57,77,.35) 100%),radial-gradient(circle at 70% 30%,rgba(29,165,222,.15),transparent 50%);pointer-events:none;mix-blend-mode:multiply;opacity:.7;transition:opacity .4s ease}
  .case-video--photo:hover::after{opacity:.5}
  .case-video--photo:hover .case-photo{animation-duration:9s}
  @keyframes case-ken-burns{
    0%{transform:scale(1.06) translate(-1.2%,-.8%)}
    100%{transform:scale(1.12) translate(1.5%,1%)}
  }
  @media (prefers-reduced-motion: reduce){.case-photo{animation:none;transform:scale(1.02)}}

  /* Quote side */
  .case-quote-col{display:flex;flex-direction:column;justify-content:center;gap:24px}
  .case-meta-tag{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);font-weight:500;padding-top:10px;border-top:2px solid var(--ink-2);display:inline-block;width:fit-content}
  .case-quote-text{font-family:var(--font-serif,var(--ubu));font-weight:400;font-style:italic;font-size:clamp(20px,1.6vw + .5rem,28px);line-height:1.35;color:var(--ink);margin:0;letter-spacing:-.015em;position:relative;padding-left:28px;max-width:32ch}
  .case-quote-text::before{content:"“";position:absolute;left:-4px;top:-12px;font-size:62px;line-height:1;color:var(--ink-4);font-style:normal;font-family:var(--ubu);font-weight:400}
  .case-cite{padding:20px 24px;background:var(--paper-2);border-radius:12px;display:flex;align-items:center;gap:20px;min-height:96px}
  .case-cite-logo-wrap{flex:0 0 180px;height:80px;padding-right:20px;border-right:1px solid rgba(0,57,77,.12);overflow:hidden;display:flex;align-items:center;justify-content:center}
  .case-cite-logo{width:160px;height:80px;object-fit:contain;object-position:center;display:block}
  .case-cite-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
  .case-cite-line{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
  .case-cite-name{font-family:var(--ubu);font-size:19px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
  .case-cite-sep{display:none}
  .case-cite-role{font-family:var(--ubu);font-size:13px;color:rgba(0,57,77,.7)}
  .case-cite-sector{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(0,57,77,.5);margin-top:6px}

  /* Featured case standalone (depoimento em destaque fora do carousel) */
  .featured-case-wrap{margin-top:64px}
  .featured-case-wrap .case-card{flex:none;width:100%;scroll-snap-align:none}
  body.theme-dark .featured-case-wrap .case-card{background:#fff;border-color:var(--line)}
  body.theme-dark .featured-case-wrap .case-cite{background:var(--paper-2)}
  body.theme-dark .featured-case-wrap .case-cite-name{color:var(--ink)}
  body.theme-dark .featured-case-wrap .case-meta-tag,
  body.theme-dark .featured-case-wrap .case-cite-role,
  body.theme-dark .featured-case-wrap .case-cite-sector{color:rgba(0,57,77,.7)}
  body.theme-dark .featured-case-wrap .case-quote-text{color:var(--ink)}

  .case-nav{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}
  .case-dots{display:flex;gap:10px}
  .case-dots button{width:34px;height:4px;background:rgba(0,57,77,.15);border:none;border-radius:0;padding:0;transition:background .2s}
  .case-dots button.active{background:var(--ink)}
  .case-arrows{display:flex;gap:10px}
  .case-arrows button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;display:grid;place-items:center;color:var(--ink);transition:all .2s}
  .case-arrows button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
  .case-arrows svg{width:14px;height:14px}
  #casePlayPause .icon-play{display:none}
  #casePlayPause[data-playing="false"] .icon-pause{display:none}
  #casePlayPause[data-playing="false"] .icon-play{display:block}

  /* =============== CERTIFICAÇÕES =============== */
  .certs{padding:80px 0;background:var(--paper)}
  .certs-inner{display:grid;grid-template-columns:.9fr 2fr;gap:80px;align-items:start}
  .certs-head .eyebrow{margin-bottom:16px}
  .certs-inner h2{font-family:var(--ubu);font-weight:300;font-size:clamp(40px,3.4vw,52px);line-height:1.05;letter-spacing:-.02em;margin:16px 0 24px;color:var(--ink)}
  .certs-inner h2 em{font-style:normal;font-weight:500}
  .certs-lead{font-family:var(--ubu);font-size:17px;line-height:1.6;color:rgba(0,57,77,.7);margin:0;max-width:380px;font-weight:300}
  .certs-stack{display:flex;flex-direction:column;gap:36px}
  .certs-group-title{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:rgba(0,57,77,.65);margin-bottom:14px}
  .certs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}
  .certs-grid-2{grid-template-columns:repeat(2,1fr)}
  .cert-thumb{width:auto;height:48px;max-width:120px;object-fit:contain;flex:0 0 auto;border-radius:0;background:transparent;padding:0;margin-right:6px}
  .partners-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}
  @media(max-width:900px){
    .partners-grid{grid-template-columns:repeat(2,1fr)}
    .partner:last-child:nth-child(odd){grid-column:1/-1}
  }
  .partner{background:var(--paper);padding:32px 24px;display:flex;align-items:center;justify-content:center;min-height:120px;transition:background .2s}
  .partner:hover{background:#fff}
  .partner img{max-width:100%;max-height:60px;width:auto;height:auto;object-fit:contain;display:block;filter:grayscale(.2);transition:filter .2s,transform .2s}
  .partner:hover img{filter:none;transform:scale(1.04)}
  .certs-badges{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
  .cert-badge{display:flex;align-items:center;gap:18px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px 24px;transition:background .2s,transform .2s;position:relative;overflow:hidden}
  .cert-badge:hover{background:#fff;transform:translateY(-2px)}
  /* Progress bar fina na parte inferior — preenche da esquerda pra direita ao passar o mouse */
  .cert-badge::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--ink-2),var(--ink-4));transform:scaleX(0);transform-origin:left center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  .cert-badge:hover::after{transform:scaleX(1)}
  .cert{position:relative;overflow:hidden}
  .cert::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--ink-2),var(--ink-4));transform:scaleX(0);transform-origin:left center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  .cert:hover::after{transform:scaleX(1)}
  .partner{position:relative;overflow:hidden}
  .partner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--ink-4),var(--ink-2));transform:scaleX(0);transform-origin:left center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  .partner:hover::after{transform:scaleX(1)}
  @media (prefers-reduced-motion: reduce){
    .cert-badge::after,.cert::after,.partner::after{transition:none}
  }
  .cert-badge img{width:80px;height:80px;object-fit:contain;flex:0 0 80px}
  .cert-badge-text{display:flex;flex-direction:column;gap:4px;min-width:0}
  .cert-badge-text strong{font-family:var(--ubu);font-weight:500;font-size:15px;color:var(--ink);letter-spacing:-.01em}
  .cert-badge-text span{font-family:var(--ubu);font-weight:300;font-size:12px;color:rgba(0,57,77,.62);line-height:1.4}
  /* =============== CLIENTES =============== */
  .clients{padding:70px 0 60px;background:var(--paper)}
  .clients-head{text-align:center;max-width:780px;margin:0 auto 56px}
  .clients-head h2{font-family:var(--ubu);font-weight:300;font-size:clamp(30px,3.4vw,42px);line-height:1.1;letter-spacing:-.01em;margin:0 0 16px;color:var(--ink)}
  .clients-head h2 em{font-style:normal;font-weight:500}
  .clients-sub{font-family:var(--ubu);font-size:15px;line-height:1.6;color:rgba(0,57,77,.68);margin:0;font-weight:300}
  .clients-marquee{overflow:hidden;position:relative;padding:24px 0}
  .clients-marquee::before, .clients-marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
  .clients-marquee::before{left:0;background:linear-gradient(to right,var(--paper-2),transparent)}
  .clients-marquee::after{right:0;background:linear-gradient(to left,var(--paper-2),transparent)}
  .clients-track{display:flex;gap:64px;align-items:center;animation:marquee 60s linear infinite;width:max-content}
  .clients-track img{height:48px;width:auto;flex:0 0 auto;filter:grayscale(1) opacity(.62);transition:filter .25s ease,transform .25s ease}
  .clients-track img[src*="MDIAS"]{height:44px}
  .clients-track img[src*="GEQ"]{height:60px}
  .clients-track img[src*="3CORACOES"]{height:60px}
  .clients-track img[src*="BEACH"]{height:60px}
  .clients-track img[src*="TJCE"]{height:60px}
  .clients-track img:hover{filter:grayscale(0) opacity(1);transform:scale(1.06)}
  .clients-marquee:hover .clients-track{animation-play-state:paused}

  .partners-marquee{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:18px 0;position:relative}
  .partners-marquee::before, .partners-marquee::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none}
  .partners-marquee::before{left:0;background:linear-gradient(to right,var(--paper),transparent)}
  .partners-marquee::after{right:0;background:linear-gradient(to left,var(--paper),transparent)}
  .partners-track{display:flex;gap:60px;align-items:center;animation:marquee 28s linear infinite;width:max-content}
  .partners-track img{height:80px;width:auto;flex:0 0 auto;filter:saturate(.95)}
  .partners-marquee:hover .partners-track{animation-play-state:paused}
  @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .cert{background:var(--paper);padding:32px 24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;min-height:140px;justify-content:space-between;transition:background .2s}
  .cert:hover{background:#fff}
  .cert-logo{font-family:var(--ubu);font-weight:500;font-size:15px;color:var(--ink);letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
  .cert-logo .sq{width:10px;height:10px;background:var(--ink);border-radius:2px}
  .cert-kind{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(0,57,77,.55)}
  .cert-note{font-size:12px;color:rgba(0,57,77,.7);font-weight:300;line-height:1.4}

  /* =============== BLOG MOSAICO =============== */
  .blog{padding:48px 0 80px;background:var(--paper-2)}
  .blog-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:60px;margin-bottom:60px}
  @media(max-width:900px){.blog-head{grid-template-columns:1fr;gap:18px;align-items:start}}
  .blog-head h2{font-family:var(--ubu);font-weight:300;font-size:clamp(40px,4.6vw,64px);line-height:1.04;letter-spacing:-.02em;color:var(--ink);margin:0;max-width:18ch}
  .blog-head h2 em{font-style:normal;font-weight:500}
  .blog-all{font-family:var(--ubu);font-size:14px;display:inline-flex;align-items:center;gap:10px;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px;transition:gap .2s}
  .blog-all:hover{gap:16px}

  .mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:84px;grid-auto-flow:dense;gap:14px}
  .post{position:relative;overflow:hidden;border-radius:14px;background:var(--ink);color:#fff;isolation:isolate;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .3s}
  .post:hover{transform:translateY(-4px)}
  .post .post-bg{position:absolute;inset:0;z-index:0;background:var(--bg);transition:transform .8s cubic-bezier(.2,.6,.2,1)}
  .post:hover .post-bg{transform:scale(1.04)}
  .post .post-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(60,60,60,.45) 0%,rgba(40,40,40,.78) 55%,rgba(28,28,28,.92) 100%);transition:background .45s ease}
  /* Hover: foto visivel no topo, gradient escuro so na base pra manter o texto legivel */
  .post:hover .post-overlay{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.88) 100%)}
  .post:hover .post-bg{filter:saturate(1.05)}
  .post::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--tech);z-index:3;transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.6,.2,1)}
  .post:hover::before{transform:scaleX(1)}
  .post-inner{position:relative;z-index:2;padding:22px 22px 20px}
  .post .pcat{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.78);margin-bottom:10px}
  .post h3{font-family:var(--ubu);font-weight:500;font-size:clamp(15px,1.1vw + .25rem,19px);line-height:1.2;margin:0;color:#fff;letter-spacing:-.01em;text-wrap:balance}
  /* Bento spans (posição livre via grid-auto-flow:dense) */
  .post:nth-child(1){grid-column:span 5;grid-row:span 4}
  .post:nth-child(2){grid-column:span 4;grid-row:span 3}
  .post:nth-child(3){grid-column:span 3;grid-row:span 3}
  .post:nth-child(4){grid-column:span 7;grid-row:span 3}
  .post:nth-child(5){grid-column:span 5;grid-row:span 2}
  .post:nth-child(1) h3{font-size:clamp(20px,1.6vw + .35rem,28px)}

  /* Filter chips no head do blog (inspirado no v1 insights) */
  .blog-filters-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:14px}
  .blog-filters{display:flex;flex-wrap:wrap;gap:8px}
  .blog-filters .chip{font-family:var(--ubu);font-size:13px;font-weight:400;letter-spacing:.01em;color:var(--ink-2);padding:8px 14px;border:1px solid var(--line);background:transparent;border-radius:999px;cursor:pointer;transition:all .2s ease}
  .blog-filters .chip:hover{color:var(--ink);border-color:var(--ink)}
  .blog-filters .chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}

  /* Campo de busca estilo Google — pill grande, focus ring suave, X pra limpar */
  .blog-search{margin-bottom:18px;display:flex;justify-content:center}
  .blog-search__form{display:flex;align-items:center;gap:14px;width:100%;max-width:640px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 8px 6px 22px;transition:border-color .2s ease,box-shadow .25s ease}
  .blog-search__form:hover{border-color:var(--ink-3)}
  .blog-search__form:focus-within{border-color:var(--ink-2);box-shadow:0 0 0 4px rgba(27,136,167,.12)}
  .blog-search__icon{color:var(--ink-2);flex-shrink:0;display:inline-flex}
  .blog-search__input{flex:1;border:0;outline:0;background:transparent;font-family:var(--ubu);font-size:16px;padding:14px 0;color:var(--ink);min-width:0}
  .blog-search__input::placeholder{color:var(--ink-3);font-weight:400}
  .blog-search__clear{background:transparent;border:0;cursor:pointer;padding:8px;border-radius:50%;color:var(--ink-2);display:none;align-items:center;justify-content:center}
  .blog-search.has-query .blog-search__clear{display:inline-flex}
  .blog-search__clear:hover{background:var(--paper)}

  /* Empty state quando filtros + busca não encontram nada */
  .blog-empty{display:none;padding:60px 20px;text-align:center;color:var(--ink-2);font-family:var(--ubu);font-size:15px}
  .mosaic.is-empty + .blog-empty{display:block}
  .mosaic.is-empty{display:none}

  /* Post — quando tem imagem real, sobrepõe o --bg color */
  .post[href]{text-decoration:none;color:inherit}
  .post .post-meta{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.6);margin-top:8px}

  /* Placeholder posts — área "em breve" enquanto a curadoria não enche */
  .post-placeholder{cursor:default;opacity:.55}
  .post-placeholder:hover{transform:none}
  .post-placeholder .post-bg{background:repeating-linear-gradient(45deg,var(--ink),var(--ink) 10px,var(--ink-2) 10px,var(--ink-2) 22px) !important}

  /* =============== CONTATO (card grande de destaque) =============== */
  .contact{background:var(--paper-2);color:var(--ink);padding:90px 60px;position:relative;overflow:hidden;border-radius:28px;margin:60px 24px 80px;max-width:calc(100% - 48px)}
  @media(max-width:760px){.contact{padding:60px 24px;margin:32px 12px 40px;border-radius:20px;max-width:calc(100% - 24px)}}
  .contact::before{content:"";position:absolute;inset:0;background:
    radial-gradient(800px 500px at 90% 90%, rgba(27,136,167,.06), transparent 60%)}
  .contact-sym{position:absolute;right:-200px;top:-200px;width:720px;opacity:.05;pointer-events:none}
  .contact-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:100px;align-items:start}
  .contact h2{font-family:var(--ubu);font-weight:300;font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.02em;color:var(--ink);margin:16px 0 0}
  .contact h2 em{font-style:normal;font-weight:500;color:var(--ink-2)}
  .contact .lead{font-size:16px;line-height:1.6;color:rgba(0,57,77,.72);margin-top:28px;font-weight:300;max-width:440px}
  .contact-info{margin-top:56px;display:flex;flex-direction:column;gap:22px}
  .ci-row{display:flex;align-items:center;gap:18px}
  .ci-lbl{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(0,57,77,.55);width:120px;flex-shrink:0}
  .ci-val{font-family:var(--ubu);font-size:15px;color:var(--ink);font-weight:400}

  .form{background:#f4f6f8;border:1px solid rgba(0,57,77,.08);padding:40px;border-radius:6px}
  .form h3{font-family:var(--ubu);font-weight:500;font-size:18px;margin:0 0 28px;color:var(--ink);letter-spacing:.01em}
  .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .fgrid .full{grid-column:1/-1}
  .field{display:flex;flex-direction:column;gap:8px}
  .field label{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(0,57,77,.55)}
  .field input,.field select,.field textarea{
    background:transparent;border:none;border-bottom:1px solid rgba(0,57,77,.18);color:var(--ink);font-family:var(--ubu);font-size:15px;padding:10px 0;outline:none;transition:border-color .2s;font-weight:300
  }
  .field input::placeholder,.field textarea::placeholder{color:rgba(0,57,77,.4)}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}
  .field textarea{resize:vertical;min-height:90px;font-family:var(--ubu)}
  .field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%, rgba(0,57,77,.5) 50%),linear-gradient(-45deg,transparent 50%, rgba(0,57,77,.5) 50%);background-position:calc(100% - 12px) 55%, calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:24px}
  .field select option{background:#fff;color:var(--ink)}
  .consent{grid-column:1/-1;display:flex;align-items:center;gap:12px;font-family:var(--ubu);font-size:12px;color:rgba(0,57,77,.65);margin-top:6px;font-weight:300}
  .consent input{width:14px;height:14px;accent-color:var(--ink-4)}
  .submit{grid-column:1/-1;margin-top:14px;padding:18px 28px;background:var(--ink-4);color:var(--ink);border:none;border-radius:999px;font-family:var(--ubu);font-weight:500;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:background .2s,transform .2s;width:100%}
  .submit:hover{background:#3fb8eb;transform:translateY(-2px)}

  /* =============== FOOTER (paper-2 cinza no light, vira navy no dark) =============== */
  footer{background:var(--paper-2);color:rgba(0,57,77,.7);padding:80px 0 40px;font-family:var(--ubu);font-weight:300;font-size:13px}
  .fcols{display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:36px;padding-bottom:48px;border-bottom:1px solid rgba(0,57,77,.12)}
  .fcol h4{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin:0 0 18px;font-weight:600}
  .fcol ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
  .fcol a,.fcol li{color:rgba(0,57,77,.72);font-size:14.5px;line-height:1.45}
  .fcol a:hover{color:var(--ink)}
  .fbrand{display:flex;flex-direction:column;gap:16px;max-width:280px}
  .fbrand img{width:auto;height:56px;max-width:220px;object-fit:contain;filter:none}
  .fbrand p{margin:0;line-height:1.5;color:rgba(0,57,77,.6);font-size:13px}
  .fbot{padding-top:32px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(0,57,77,.5)}

  /* Theme toggle (lâmpada). Default = dark mode selecionado → fundo no azul da home (--ink). theme-light selecionado → cremo. */
  .theme-lamp{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
  .theme-lamp:hover{transform:translateY(-1px);background:#00283a;border-color:#00283a}
  .theme-lamp svg{width:20px;height:20px;transition:transform .35s ease}
  body.theme-light .theme-lamp{background:var(--paper);color:var(--ink);border-color:rgba(0,57,77,.18)}
  body.theme-light .theme-lamp:hover{background:var(--paper-2);border-color:rgba(0,57,77,.32)}
  body.theme-light .theme-lamp svg{transform:rotate(180deg)}

  /* ===== THEME LIGHT — só inverte o hero, resto do site fica como está ===== */
  body.theme-light .hero{background:var(--paper-2);color:var(--ink)}
  body.theme-light .hero::before{background:radial-gradient(1200px 700px at 85% 10%,rgba(29,165,222,.1),transparent 60%),radial-gradient(900px 500px at 5% 90%,rgba(27,136,167,.08),transparent 60%)}
  body.theme-light .hero-sym{opacity:.08;filter:none;mix-blend-mode:multiply}
  body.theme-light .hero-grid{background-image:linear-gradient(to right, rgba(0,57,77,.05) 1px, transparent 1px),linear-gradient(to bottom, rgba(0,57,77,.05) 1px, transparent 1px)}
  body.theme-light .hero h1{color:var(--ink)}
  body.theme-light .hero h1 em{color:var(--ink-2);background-image:linear-gradient(var(--ink-2),var(--ink-2))}
  body.theme-light .morph-word{color:var(--ink-2)}
  body.theme-light .hero-tail{color:rgba(0,57,77,.7)}
  body.theme-light .hero-eyebrow{color:var(--ink-2)}
  body.theme-light .hero-eyebrow .dot{background:var(--ink-2);box-shadow:0 0 0 4px rgba(0,57,77,.12)}
  body.theme-light .hero p.lead{color:rgba(0,57,77,.72)}
  body.theme-light .btn-primary{background:var(--ink);color:var(--paper)}
  body.theme-light .btn-primary:hover{background:var(--ink-2)}
  body.theme-light .btn-ghost{color:var(--ink);border-color:rgba(0,57,77,.3)}
  body.theme-light .btn-ghost:hover{background:rgba(0,57,77,.06)}
  body.theme-light .hero-footer{border-color:var(--line)}
  body.theme-light .hero-footer .hf-loc{color:rgba(0,57,77,.55)}
  body.theme-light .hero-footer .hf-loc b{color:var(--ink)}
  body.theme-light .hero-footer .hf-scroll{color:rgba(0,57,77,.55)}
  body.theme-light .hero-footer .hf-scroll .line{background:rgba(0,57,77,.25)}
  body.theme-light .hero-footer .hf-scroll .line::after{background:var(--ink)}
  body.theme-light .nav:not(.scrolled) .brand-logo{filter:none}
  body.theme-light .nav:not(.scrolled) .menu > a, body.theme-light .nav:not(.scrolled) .menu-item > a{color:var(--ink)}
  body.theme-light .nav:not(.scrolled) .menu > a::after, body.theme-light .nav:not(.scrolled) .menu-item > a::after{background:var(--ink)}
  body.theme-light .nav:not(.scrolled) .cta-sm{background:var(--ink);color:var(--paper);border-color:var(--ink)}

  /* reveal on scroll */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
  .reveal.in{opacity:1;transform:none}
  /* Stagger — itens dentro do container aparecem em cascata */
  .reveal-stagger > *{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
  .reveal-stagger.in > *{opacity:1;transform:none}
  .reveal-stagger.in > *:nth-child(1){transition-delay:0ms}
  .reveal-stagger.in > *:nth-child(2){transition-delay:90ms}
  .reveal-stagger.in > *:nth-child(3){transition-delay:180ms}
  .reveal-stagger.in > *:nth-child(4){transition-delay:270ms}
  .reveal-stagger.in > *:nth-child(5){transition-delay:360ms}
  .reveal-stagger.in > *:nth-child(6){transition-delay:450ms}
  .reveal-stagger.in > *:nth-child(7){transition-delay:540ms}
  .reveal-stagger.in > *:nth-child(n+8){transition-delay:620ms}
  @media (prefers-reduced-motion: reduce){.reveal-stagger > *{opacity:1;transform:none;transition:none}}
  /* Stagger pro bento de conteúdos */
  .mosaic .post.reveal{transform:translateY(36px)}
  .mosaic .post.reveal:nth-child(1){transition-delay:0ms}
  .mosaic .post.reveal:nth-child(2){transition-delay:120ms}
  .mosaic .post.reveal:nth-child(3){transition-delay:240ms}
  .mosaic .post.reveal:nth-child(4){transition-delay:360ms}
  .mosaic .post.reveal:nth-child(5){transition-delay:480ms}
  @media (prefers-reduced-motion: reduce){
    .mosaic .post.reveal{transform:none}
    .mosaic .post.reveal[class]{transition-delay:0ms !important}
  }

  /* responsive */
  @media (max-width:1100px){
    .hero{min-height:auto}
    .hero-body{grid-template-columns:1fr;gap:56px;padding-top:110px;padding-bottom:56px}
    .frentes-grid{grid-template-columns:repeat(2,1fr)}
    .nums-grid{grid-template-columns:repeat(2,1fr)}
    .case-stage{grid-template-columns:1fr}
    .certs-inner{grid-template-columns:1fr;gap:40px}
    .certs-grid{grid-template-columns:repeat(2,1fr)}
    .contact-inner{grid-template-columns:1fr;gap:60px}
    .mosaic{grid-template-columns:repeat(6,1fr);grid-auto-rows:120px;gap:12px}
    .post:nth-child(1){grid-column:span 6;grid-row:span 3}
    .post:nth-child(2){grid-column:span 3;grid-row:span 2}
    .post:nth-child(3){grid-column:span 3;grid-row:span 2}
    .post:nth-child(4){grid-column:span 6;grid-row:span 2}
    .post:nth-child(5){grid-column:span 6;grid-row:span 2}
    .fcols{grid-template-columns:1fr 1fr 1fr;gap:36px}
    .menu{display:none}
    .nav-ctas{display:none}
    .hamburger{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.18);transition:background .2s,border-color .2s}
    .nav.scrolled .hamburger{color:var(--ink);border-color:var(--ink)}
    .hamburger:hover{background:rgba(255,255,255,.08)}
    .nav.scrolled .hamburger:hover{background:var(--ink);color:#fff}
  }
  @media (max-width:640px){
    .wrap{padding:0 24px}
    .hero{min-height:auto}
    .hero::before{background:radial-gradient(1000px 600px at 50% 0%,rgba(29,165,222,.18),transparent 60%)}
    .hero-sym{opacity:.08;width:min(130vw,800px);right:-30%}
    .hero-body{grid-template-columns:1fr;gap:44px;padding-top:96px;padding-bottom:44px}
    .hero h1{font-size:clamp(34px,10vw,52px);margin-bottom:22px}
    .hero-tail{font-size:.5em;margin-top:4px}
    .hero p.lead{font-size:16px;margin-bottom:32px}
    .hero-eyebrow{font-size:10px;margin-bottom:22px;letter-spacing:.2em}
    .hero-ctas{gap:10px}
    .btn-primary,.btn-ghost{padding:14px 22px;font-size:14px;width:auto}
    .hero-side{margin-top:8px}
    .card-stack{width:min(280px,80vw);aspect-ratio:4/5}
    .stack-shadow{transform:translate(-10px,-10px)}
    .card-face{padding:32px 26px;border-radius:12px}
    .card-lema{font-size:clamp(28px,7vw,38px)}
    .card-wm-main{font-size:18px}
    .card-wm-sub{font-size:10px}
    .hero-footer{flex-direction:column;gap:14px;padding:20px 0;text-align:center}
    .hero-footer .hf-scroll{display:none}
    .hero-footer .hf-loc{font-size:10px;letter-spacing:.22em}
    .flip-hint{bottom:-40px;font-size:9px;padding:6px 10px}
    .sec-head{grid-template-columns:1fr}
    .frentes-grid{grid-template-columns:1fr;gap:16px}
    .frente{border-radius:16px;padding:36px 26px 30px}
    .nums-grid{grid-template-columns:1fr}
    .nbox{border-right:none}
    .fgrid{grid-template-columns:1fr}
    .fcols{grid-template-columns:1fr}
    .case-stage{border-radius:16px}
    .case-card{grid-template-columns:1fr;gap:36px;padding:28px;border-radius:16px}
    .case-video-frame{top:-10px;right:-10px;width:50%;height:40%}
    .case-video-play{width:60px;height:60px}
    .case-video-play svg{width:22px;height:22px}
    .case-video-fallback{gap:10px}
    .case-fallback-name{font-size:26px}
    .case-video--noplayer{padding:24px}
    .case-quote-col{gap:20px}
    .case-quote-text{font-size:18px;padding-left:22px;max-width:100%}
    .case-quote-text::before{font-size:52px;left:-2px;top:-8px}
    .case-cite-line{flex-direction:column;gap:4px}
    .case-cite-sep{display:none}
    .mosaic{grid-template-columns:1fr;grid-auto-rows:200px;gap:10px}
    .post:nth-child(1),.post:nth-child(2),.post:nth-child(3),.post:nth-child(4),.post:nth-child(5){grid-column:span 1;grid-row:span 1}
    .post:nth-child(1){grid-row:span 2}
    .post-inner{padding:24px 22px 22px}
    .post h3{font-size:22px}
    .post:nth-child(1) h3{font-size:26px}
    .nav-inner{height:62px}
    .brand-logo{height:40px}
    .case-cite{gap:12px}
    .case-cite-logo-wrap{flex:0 0 110px;height:70px;padding-right:12px}
    .case-cite-logo{width:100px;height:64px}
  }

  @media (max-width:520px){
    .certs-grid,.certs-grid-2{grid-template-columns:1fr}
    .partners-grid{grid-template-columns:repeat(2,1fr)}
    .partner{min-height:72px}
    .partner img{max-height:48px}
  }

  /* ============================================================
     LIGHT MODE — .numeros vira paper-2 (mesma cor do hero light)
     ============================================================ */
  body.theme-light .numeros{background:var(--paper-2);color:var(--ink)}
  body.theme-light .numeros::before{background:radial-gradient(600px 400px at 20% 50%, rgba(27,136,167,.12), transparent 60%)}
  body.theme-light .num-sym{opacity:.08;filter:none;mix-blend-mode:multiply}
  body.theme-light .num-head .eyebrow{color:var(--ink-2)}
  body.theme-light .num-head h2{color:var(--ink)}
  body.theme-light .num-head h2 em{color:var(--ink-2)}
  body.theme-light .num-lead{color:rgba(0,57,77,.72)}
  body.theme-light .nbox{background:rgba(255,255,255,.55);border-color:var(--line)}
  body.theme-light .nbox:hover{background:#fff;border-color:rgba(0,57,77,.32)}
  body.theme-light .nbox-val{color:var(--ink)}
  body.theme-light .nbox-val sup{color:var(--ink-2)}
  body.theme-light .nbox-label{color:rgba(0,57,77,.55)}
  body.theme-light .numeros-map-svg svg .uf{fill:#c7c7c0;stroke:rgba(255,255,255,.95);stroke-width:500}
  body.theme-light .numeros-map-svg svg .uf-active{fill:var(--ink-2)}
  body.theme-light .numeros-map-svg svg .uf-home{fill:var(--ink-3)}
  body.theme-light .map-pin-head{box-shadow:0 6px 16px -4px rgba(0,57,77,.25)}

  /* ============================================================
     DARK MODE — REGRA SIMPLES: só as divs paper-2 (cremo-cinza) viram navy. Paper (creme) fica creme.
     ============================================================ */
  /* Sections que eram paper-2 no light viram --ink no dark */
  body.theme-dark .cases,
  body.theme-dark .blog,
  body.theme-dark .contact,
  body.theme-dark footer{background:var(--ink);color:var(--paper)}
  /* Contact em dark */
  body.theme-dark .contact h2{color:var(--paper)}
  body.theme-dark .contact h2 em{color:var(--ink-4)}
  body.theme-dark .contact .lead{color:rgba(255,255,255,.7)}
  body.theme-dark .contact .ci-lbl{color:rgba(255,255,255,.5)}
  body.theme-dark .contact .ci-val{color:var(--paper)}
  /* Footer em dark */
  body.theme-dark footer{color:rgba(255,255,255,.6)}
  body.theme-dark .fcols{border-bottom-color:rgba(255,255,255,.1)}
  body.theme-dark .fcol h4{color:rgba(255,255,255,.9)}
  body.theme-dark .fcol a,
  body.theme-dark .fcol li{color:rgba(255,255,255,.55)}
  body.theme-dark .fcol a:hover{color:#fff}
  body.theme-dark .fbrand img{filter:brightness(0) invert(1)}
  body.theme-dark .fbrand p{color:rgba(255,255,255,.55)}
  body.theme-dark .fbot{color:rgba(255,255,255,.4)}
  /* Headings/textos dentro das sections que viraram navy */
  body.theme-dark .cases h2,
  body.theme-dark .cases h3,
  body.theme-dark .blog h2,
  body.theme-dark .blog h3{color:var(--paper)}
  body.theme-dark .cases p,
  body.theme-dark .cases .lead,
  body.theme-dark .cases .lead-md,
  body.theme-dark .blog p,
  body.theme-dark .blog .lead,
  body.theme-dark .blog .lead-md{color:rgba(244,241,236,.78)}
  body.theme-dark .cases em,
  body.theme-dark .blog em{color:#1da5de}
  /* Mosaic posts em dark mode: borda sutil + sombra suave pra destacar do bg navy */
  body.theme-dark .blog .post{border:1px solid rgba(255,255,255,.12);box-shadow:0 6px 20px -8px rgba(0,0,0,.5)}
  body.theme-dark .blog .post:hover{border-color:rgba(255,255,255,.22);box-shadow:0 14px 36px -10px rgba(0,0,0,.6)}
  /* Cases — depoimentos */
  /* Cases — card permanece branco (paper) em ambos os modos; só o bg da seção muda. */
  body.theme-dark .cases .case-card{background:#fff;border-color:var(--line)}
  body.theme-dark .cases .case-cite{background:var(--paper-2);border-color:var(--line)}
  body.theme-dark .cases .case-quote-text,
  body.theme-dark .cases blockquote,
  body.theme-dark .cases cite,
  body.theme-dark .cases .case-name,
  body.theme-dark .cases .case-cite-name{color:var(--ink)}
  body.theme-dark .cases .case-role,
  body.theme-dark .cases .case-company,
  body.theme-dark .cases .case-meta-tag,
  body.theme-dark .cases .case-cite-role,
  body.theme-dark .cases .case-cite-sector{color:rgba(0,57,77,.7)}
  /* Cases — botoes/tabs */
  body.theme-dark .cases .case-arrows button{border-color:rgba(255,255,255,.3);color:var(--paper);background:transparent}
  body.theme-dark .cases .case-arrows button:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
  body.theme-dark .cases .case-dots button{background:rgba(255,255,255,.18)}
  body.theme-dark .cases .case-dots button.active{background:var(--paper)}
  body.theme-dark .cases .tab{color:var(--paper);border-color:rgba(255,255,255,.25);background:transparent}
  body.theme-dark .cases .tab:hover{border-color:var(--paper)}
  body.theme-dark .cases .tab.active{background:var(--paper);color:var(--ink);border-color:var(--paper)}
  /* Blog — chips, search, link, cards */
  body.theme-dark .blog .blog-filters .chip{color:rgba(244,241,236,.7);border-color:rgba(255,255,255,.18);background:transparent}
  body.theme-dark .blog .blog-filters .chip:hover{color:var(--paper);border-color:var(--paper)}
  body.theme-dark .blog .blog-filters .chip.is-active{background:var(--paper);color:var(--ink);border-color:var(--paper)}
  body.theme-dark .blog .blog-all{color:var(--paper);border-bottom-color:var(--paper)}
  /* Page hero do /conteudo (paper-2 → ink) */
  body.theme-dark .ct-page-hero{background:var(--ink)}
  body.theme-dark .ct-page-hero h1{color:var(--paper)}
  body.theme-dark .ct-page-hero h1 em{color:#1da5de}
  body.theme-dark .ct-page-hero .lead{color:rgba(244,241,236,.78)}
  body.theme-dark .ct-page-hero .eyebrow{color:rgba(244,241,236,.6)}

  /* Nav em dark mode */
  body.theme-dark .nav.scrolled{background:rgba(0,57,77,.86);backdrop-filter:saturate(1.2) blur(10px);border-bottom-color:rgba(255,255,255,.08)}
  body.theme-dark .nav .brand-logo,
  body.theme-dark .nav.scrolled .brand-logo{filter:brightness(0) invert(1)}
  body.theme-dark .nav .menu > a,
  body.theme-dark .nav.scrolled .menu > a,
  body.theme-dark .nav .menu-item > a,
  body.theme-dark .nav.scrolled .menu-item > a{color:var(--paper)}
  body.theme-dark .nav .menu > a::after,
  body.theme-dark .nav.scrolled .menu > a::after,
  body.theme-dark .nav .menu-item > a::after,
  body.theme-dark .nav.scrolled .menu-item > a::after{background:var(--paper)}
  body.theme-dark .nav .cta-sm,
  body.theme-dark .nav.scrolled .cta-sm{background:var(--paper);color:var(--ink);border-color:var(--paper)}
  body.theme-dark .nav .cta-sm:hover,
  body.theme-dark .nav.scrolled .cta-sm:hover{background:#fff;border-color:#fff}
  body.theme-dark .nav .cta-sm-ghost,
  body.theme-dark .nav.scrolled .cta-sm-ghost{background:transparent;color:var(--paper);border-color:rgba(255,255,255,.4)}
  body.theme-dark .nav .cta-sm-ghost:hover,
  body.theme-dark .nav.scrolled .cta-sm-ghost:hover{background:rgba(255,255,255,.1);border-color:var(--paper);color:var(--paper)}
  /* Submenu dropdown em dark */
  body.theme-dark .submenu{background:var(--bu,var(--ink));border-color:rgba(255,255,255,.12)}
  body.theme-dark .submenu a{color:var(--paper)}
  body.theme-dark .submenu a:hover{background:rgba(255,255,255,.12)}
  body.theme-dark .submenu a.is-active,
  body.theme-dark .submenu a[aria-current="page"]{background:rgba(255,255,255,.92);color:var(--bu,var(--ink));font-weight:500}
  /* Lampada em dark */
  body.theme-dark .theme-lamp{background:transparent;color:var(--paper);border-color:rgba(255,255,255,.4)}
  body.theme-dark .theme-lamp:hover{background:rgba(255,255,255,.1);border-color:var(--paper)}

  /* === Ajustes 11/05 — home === */
  .blog-sub{font-family:var(--ubu);font-size:16px;line-height:1.6;color:rgba(0,57,77,.72);font-weight:300;max-width:54ch;margin:0}
  body.theme-dark .blog .blog-sub{color:rgba(244,241,236,.75)}

  .ci-link{text-decoration:none;color:inherit;border-bottom:1px solid transparent;transition:border-color .2s}
  .ci-link:hover{border-bottom-color:currentColor}

  .partner img[alt*="ABSC"]{filter:saturate(.85) brightness(.98)}
  .partner:hover img[alt*="ABSC"]{filter:none}

  .phone-wrap{display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(0,57,77,.18);transition:border-color .2s}
  .phone-wrap:focus-within{border-bottom-color:var(--ink)}
  .phone-wrap .phone-ddi{font-family:var(--ubu);font-size:15px;color:rgba(0,57,77,.6);padding-bottom:8px;flex-shrink:0}
  .phone-wrap input[type=tel]{flex:1;border:0!important;border-bottom:0!important;padding-left:0;background:transparent}
  body.theme-dark .phone-wrap{border-bottom-color:rgba(255,255,255,.18)}
  body.theme-dark .phone-wrap:focus-within{border-bottom-color:var(--paper)}
  body.theme-dark .phone-wrap .phone-ddi{color:rgba(255,255,255,.6)}

/* === Floating WhatsApp FAB === */
.wa-fab{
  position:fixed;right:24px;bottom:24px;z-index:60;
  width:60px;height:60px;border-radius:50%;
  background:#25d366;color:#fff;
  display:grid;place-items:center;
  box-shadow:0 12px 28px -6px rgba(0,0,0,.32),0 4px 12px -2px rgba(37,211,102,.45);
  transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .2s;
}
.wa-fab svg{width:32px;height:32px}
.wa-fab:hover{transform:translateY(-2px) scale(1.04);background:#1ebe5d;box-shadow:0 18px 36px -8px rgba(0,0,0,.36),0 6px 16px -2px rgba(37,211,102,.6)}
.wa-fab:active{transform:scale(.96)}
@media(max-width:600px){
  .wa-fab{right:16px;bottom:16px;width:54px;height:54px}
  .wa-fab svg{width:28px;height:28px}
}
/* ABSC logo */
.partner img[src*="ABSC"]{max-height:88px}

/* AMCHAM e NEPEN — logos menores visualmente, aumentar tamanho exibido */
.partner img[src*="AMCHAM"]{max-height:110px}
.partner img[src*="NEPEN"]{max-height:110px}

/* === Footer social row (estilo G4 — sem círculo, ícones inline com bot) === */
.fsocial{display:none}
footer .fbot{
  padding-top:24px;margin-top:32px;
  border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(0,57,77,.5);
}
body.theme-dark footer .fbot{border-top-color:rgba(255,255,255,.12);color:rgba(255,255,255,.5)}
footer .fbot__left{display:flex;flex-direction:column;gap:6px;font-weight:500}
footer .fbot__right{display:flex;align-items:center;gap:18px}
footer .fbot__social{display:flex;gap:18px;align-items:center}
footer .fbot__social a{
  display:inline-flex;align-items:center;justify-content:center;
  color:rgba(0,57,77,.6);
  transition:color .25s,transform .25s;
}
footer .fbot__social a:hover{color:var(--ink);transform:translateY(-2px)}
footer .fbot__social a svg{width:28px;height:28px}
body.theme-dark footer .fbot__social a{color:rgba(255,255,255,.5)}
body.theme-dark footer .fbot__social a:hover{color:#fff}
@media(max-width:680px){
  footer .fbot{flex-direction:column;align-items:flex-start;gap:18px}
}

/* Cases — filters bar (área + estado lado a lado) */
.ct-filters-bar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:28px 40px}
.ct-filter-block{display:flex;flex-direction:column;gap:14px;min-width:0}
.ct-filter-block--estado{flex:0 0 auto;min-width:240px}
@media(max-width:780px){
  .ct-filters-bar{flex-direction:column;gap:20px}
  .ct-filter-block--estado{width:100%}
}

/* Cases — combobox (estado com busca) */
.ct-combobox{position:relative;width:100%;max-width:280px;font-family:var(--ubu)}
.ct-combobox__trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-family:inherit;font-weight:500;font-size:13px;color:rgba(0,57,77,.85);background:transparent;border:1px solid var(--line);padding:9px 16px;border-radius:999px;cursor:pointer;line-height:1.2;transition:border-color .2s,color .2s;outline:none;text-align:left}
.ct-combobox__trigger:hover{color:var(--ink);border-color:var(--ink)}
.ct-combobox__trigger:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px rgba(0,57,77,.08)}
.ct-combobox__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-combobox__caret{color:rgba(0,57,77,.6);flex-shrink:0;transition:transform .2s}
.ct-combobox__trigger[aria-expanded="true"] .ct-combobox__caret{transform:rotate(180deg)}
.ct-combobox__panel{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px -16px rgba(0,57,77,.18);z-index:30;overflow:hidden;display:flex;flex-direction:column;max-height:320px}
.ct-combobox__panel[hidden]{display:none}
.ct-combobox__search{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);color:rgba(0,57,77,.55)}
.ct-combobox__input{flex:1;border:0;outline:0;background:transparent;font-family:inherit;font-size:13px;color:var(--ink);padding:2px 0}
.ct-combobox__input::placeholder{color:rgba(0,57,77,.45)}
.ct-combobox__list{list-style:none;margin:0;padding:6px;overflow-y:auto;max-height:240px}
.ct-combobox__option{padding:8px 12px;border-radius:8px;font-size:13px;color:rgba(0,57,77,.85);cursor:pointer;transition:background .15s,color .15s}
.ct-combobox__option:hover{background:rgba(0,57,77,.06);color:var(--ink)}
.ct-combobox__option.is-active{background:var(--ink);color:#fff;font-weight:500}
.ct-combobox__empty{padding:18px 16px;font-size:13px;color:rgba(0,57,77,.55);text-align:center}
body.theme-dark .ct-combobox__trigger{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
body.theme-dark .ct-combobox__trigger:hover{color:#fff;border-color:rgba(255,255,255,.4)}
body.theme-dark .ct-combobox__caret{color:rgba(255,255,255,.6)}
body.theme-dark .ct-combobox__panel{background:#0d2530;border-color:rgba(255,255,255,.12);box-shadow:0 20px 40px -16px rgba(0,0,0,.5)}
body.theme-dark .ct-combobox__search{border-bottom-color:rgba(255,255,255,.1);color:rgba(255,255,255,.55)}
body.theme-dark .ct-combobox__input{color:#fff}
body.theme-dark .ct-combobox__input::placeholder{color:rgba(255,255,255,.4)}
body.theme-dark .ct-combobox__option{color:rgba(255,255,255,.85)}
body.theme-dark .ct-combobox__option:hover{background:rgba(255,255,255,.08);color:#fff}
body.theme-dark .ct-combobox__option.is-active{background:var(--ink-4);color:var(--ink)}
body.theme-dark .ct-combobox__empty{color:rgba(255,255,255,.5)}

/* Home — "Ver todos os cases" link discreto */
.cases-foot{margin-top:28px;display:flex;justify-content:center}
.cases-all-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--ubu);font-weight:500;font-size:13.5px;color:rgba(0,57,77,.7);text-decoration:none;padding:8px 4px;border-bottom:1px solid transparent;transition:color .2s,gap .2s,border-color .2s}
.cases-all-link:hover{color:var(--ink);gap:12px;border-bottom-color:rgba(0,57,77,.3)}
body.theme-dark .cases-all-link{color:rgba(255,255,255,.65)}
body.theme-dark .cases-all-link:hover{color:#fff;border-bottom-color:rgba(255,255,255,.3)}

/* Sprint 5 — endereco e links do footer em branco (estavam aparecendo azul/escondido no fundo dark) */
body.theme-dark footer .fcols .fcol li,
body.theme-dark footer .fcols .fcol li a{color:rgba(255,255,255,.85);opacity:1}
body.theme-dark footer .fcols .fcol li a:hover{opacity:1;color:#fff;text-decoration:underline}

/* Sprint 5 — subtitulo padrao para secoes (Dores, Resultados, Servicos, Cases, etc.) */
.h-section-sub {
  font-size: clamp(18px, .8vw + 14px, 22px);
  line-height: 1.5;
  font-weight: 400;
  color: rgba(0, 57, 77, .78);
  max-width: 60ch;
  margin: 14px 0 0;
}
body.theme-dark .h-section-sub {
  color: rgba(255, 255, 255, .78);
}

/* Sprint 5 — esconder faixa cinza Fortaleza/CE + scroll nas paginas internas (BU pages + sobre) */
.hero-sub .hero-footer,
.hero.hero-sub .hero-footer {
  display: none !important;
}

/* Sprint 5 — seletor DDI no form de contato */
.phone-input { display: flex; gap: 8px; }
.phone-input .ddi-select {
  flex: 0 0 110px;
  padding: 10px 8px;
  border-radius: 8px;
  border: 1px solid rgba(0, 57, 77, .18);
  background: #fff;
  font: inherit;
  color: var(--ink, #00394d);
}
.phone-input input[type="tel"] {
  flex: 1;
  min-width: 0;
}
@media (max-width: 480px) {
  .phone-input .ddi-select { flex: 0 0 96px; }
}

/* Sprint 5 — icones do designer dentro dos circulos de pain/approach */
.pain-icon img,
.approach-icon img {
  width: 48px;
  height: 48px;
  display: block;
  object-fit: contain;
}

/* Sprint 5 - Conteudo thumbnails/banners: keep focal area higher in cropped frames */
.ct-card__img,
.ct-featured-card__img,
.post img,
.post-thumb img,
.featured-post img {
  object-fit: cover;
  object-position: center 30%;
}

/* Sprint 5 - Conteudo designer images: match delivered capa/thumb ratios */
body .ct-card__media,
body .ct-featured-card__media,
body .article-hero-img,
body .r-card__media {
  background: #fff;
}
body .r-card__media {
  aspect-ratio: 16 / 10;
}
body .article-hero-img img,
body .r-card__media img {
  object-fit: contain;
  object-position: center center;
  background: #fff;
}
/* Thumbnails dos cards de conteudo: preencher todo o card (com zoom), sem margens brancas */
body .ct-card__img,
body .ct-featured-card__img {
  object-fit: cover;
  object-position: center center;
  background: #fff;
}
body.theme-dark .ct-card__media,
body.theme-dark .ct-featured-card__media,
body.theme-dark .article-hero-img,
body.theme-dark .r-card__media,
body.theme-dark .ct-card__img,
body.theme-dark .ct-featured-card__img,
body.theme-dark .article-hero-img img,
body.theme-dark .r-card__media img {
  background: rgba(255,255,255,.94);
}

/* Workload 3 - keep section icons and support copy readable in both themes */
body.theme-light .pain-item h3,
body.theme-light .approach-item h3,
body.theme-light .frente-bu h3,
body.theme-light .sol-title {
  color: var(--ink) !important;
}
body.theme-light .pain-head .lead-md,
body.theme-light .approach .lead-md,
body.theme-light .frentes-bu .desc,
body.theme-light .frente-bu .desc,
body.theme-light .sol-lead,
body.theme-light .sol-col ul li {
  color: rgba(0,57,77,.78) !important;
  opacity: 1 !important;
}
body.theme-light .pain-icon img,
body.theme-light .approach-icon img {
  filter: none !important;
  opacity: 1 !important;
}
body.theme-dark .approach-icon img {
  filter: brightness(0) invert(1) opacity(.94) !important;
}

/* ===== CTA-BU + Lead Form (padronizado nas seções e Home) ===== */
.cta-bu{margin:60px 24px 80px;border-radius:28px;max-width:calc(100% - 48px);padding-inline:60px;
  background:var(--paper-2);color:var(--ink);
  padding-block:clamp(80px,9vw,128px);
  position:relative;overflow:hidden;
}
.cta-bu::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(60% 50% at 80% 0%,rgba(27,219,173,.08),transparent 60%),
    radial-gradient(50% 60% at 0% 100%,rgba(27,219,173,.06),transparent 60%);
  pointer-events:none;
}
.cta-bu-sym{position:absolute;right:-220px;bottom:-160px;width:min(60vh,720px);opacity:.05;pointer-events:none}
.cta-bu-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:start}
@media(max-width:1024px){.cta-bu-grid{grid-template-columns:1fr;gap:48px}}
@media(max-width:760px){
  .cta-bu{margin:32px 12px 40px;border-radius:20px;max-width:calc(100% - 24px);padding-inline:24px}
  .cta-bu .h-section{font-size:clamp(26px,7.5vw,38px)}
  .cta-bu-row{font-size:15px}
  .cta-bu-row strong{overflow-wrap:break-word;word-break:break-word}
  .cta-bu-row small{font-size:12px;letter-spacing:.06em}
}
.cta-bu .h-section{margin-top:14px}
.cta-bu-contacts{margin-top:40px;padding-top:24px;border-top:1px solid rgba(0,57,77,.14);display:flex;flex-direction:column;gap:14px}
.cta-bu-row{display:flex;align-items:flex-start;gap:14px;font-size:18px;color:rgba(0,57,77,.78);font-weight:300}
.cta-bu-row svg{width:20px;height:20px;color:var(--ink-3);flex-shrink:0;margin-top:3px}
.cta-bu-row strong{color:var(--ink);font-weight:500;display:block}
.cta-bu-row small{color:rgba(0,57,77,.55);font-family:var(--mono);font-size:14px;letter-spacing:.1em;display:block;margin-top:3px}
.cta-bu .h-section.on-dark{color:var(--ink)}
.cta-bu .h-section.on-dark em{color:var(--ink-3)}
.cta-bu .lead-md.on-dark{color:rgba(0,57,77,.72)}

.lead-form-bu{
  background:var(--paper);color:var(--ink);
  padding:40px 36px;border-radius:14px;
  display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;
  border:1px solid rgba(255,255,255,.1);
}
@media(max-width:560px){.lead-form-bu{grid-template-columns:1fr;padding:28px 22px}}
.lead-form-bu .span-2{grid-column:1/-1}
.lead-form-bu .form-header{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:4px}
.lead-form-bu h3{font-family:var(--ubu);font-weight:500;font-size:20px;line-height:1.2;color:var(--ink);margin:0}
.field-bu{display:flex;flex-direction:column;gap:6px}
.field-bu label{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:rgba(0,57,77,.6)}
.field-bu input,.field-bu textarea{
  background:transparent;border:0;border-bottom:1px solid rgba(0,57,77,.22);
  padding:12px 0;width:100%;font-size:16px;color:var(--ink);font-family:var(--ubu);
  transition:border-color .2s;
}
.field-bu input:focus,.field-bu textarea:focus{outline:0;border-bottom-color:var(--bu)}
.field-bu textarea{resize:vertical;min-height:64px}
.lead-form-bu .actions{margin-top:8px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;grid-column:1/-1}
.lead-form-bu .submit-bu{
  display:inline-flex;align-items:center;gap:10px;padding:14px 26px;
  background:var(--ink);color:#fff;border:0;border-radius:999px;
  font-family:var(--ubu);font-weight:500;font-size:14px;cursor:pointer;
  transition:transform .2s,background .2s;
}
.lead-form-bu .submit-bu:hover{background:#001f2c;transform:translateY(-2px)}
.lead-form-bu .submit-bu svg{width:14px;height:14px}
.lead-form-bu .disclaimer{font-size:13px;color:rgba(0,57,77,.6);max-width:32ch;line-height:1.4;font-weight:300}

/* ===== Theme toggle (alterna dark/light no hero) ===== */
.theme-lamp{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.38);
  color:#fff;
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:999px;cursor:pointer;
  transition:background .2s,border-color .2s,transform .15s;
}
.theme-lamp:hover{background:rgba(255,255,255,.24);border-color:#fff;transform:scale(1.05)}
.theme-lamp:focus-visible{outline:2px solid var(--bu-3,#1da5de);outline-offset:2px}
body.theme-light .theme-lamp{
  background:rgba(0,57,77,.08);
  border:1px solid rgba(0,57,77,.4);
  color:var(--ink,#00394d);
}
body.theme-light .theme-lamp:hover{background:rgba(0,57,77,.16);border-color:var(--ink,#00394d)}

/* ===== intl-tel-input overrides (DDI com bandeiras) ===== */
.phone-input .iti{width:100%}
.phone-input .iti__tel-input{
  background:transparent;border:0;border-bottom:1px solid rgba(0,57,77,.22);
  padding:12px 0 12px 8px;width:100%;font-size:16px;color:var(--ink);font-family:var(--ubu);
  transition:border-color .2s;
}
.phone-input .iti__tel-input:focus{outline:0;border-bottom-color:var(--bu)}
.phone-input .iti__country-list{font-family:var(--ubu);font-size:14px;max-height:240px}
.phone-input .iti--separate-dial-code .iti__selected-flag{
  background:transparent;border-bottom:1px solid rgba(0,57,77,.22);
  padding:0 8px 0 12px;
}
.field-bu .phone-input,.field .phone-input{display:block}
