/* ================================================================
   Meet Tecnologia: Landing Page (site.meettecnologia.com.br)
   Estilos compartilhados por todas as páginas.
   ================================================================ */

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --deep:#001041;
  --primary:#002695;
  --accent:#0060f3;
  --accent-2:#0098fb;
  --cyan:#00c3fd;
  --ink:#eef3ff;
  --muted:#a9b7d6;
  --card:#0a1a4d;
  --card-2:#08153c;
  --line:rgba(255,255,255,.09);
  --wa:#25d366;
  --pad:clamp(56px,6vw,96px);
  --radius:18px;
  --maxw:1200px;
}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
body{
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--deep);color:var(--ink);
  line-height:1.6;-webkit-font-smoothing:antialiased;
  overflow-x:clip; /* clipa horizontal sem virar contêiner de rolagem (não trava o scroll vertical) */
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--cyan);text-decoration:none;}
button{font-family:inherit;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.destaque{color:var(--cyan);}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:1rem;}
.section{padding:var(--pad) 0;position:relative;}
.section__head{margin-bottom:clamp(2.2rem,4vw,3.4rem);text-align:center;}
.section__sub{color:var(--muted);font-size:1.05rem;max-width:46ch;margin:0 auto;}
h1,h2,h3{line-height:1.1;font-weight:800;letter-spacing:-.5px;}
.h2{font-size:clamp(1.9rem,3.4vw,3rem);margin-bottom:.6em;}
.h3{font-size:clamp(1.4rem,2.4vw,2rem);margin-bottom:.5em;}
.text-center{text-align:center;}

/* ---------- Grid utilitário ---------- */
.grid{display:grid;gap:24px;}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--2{grid-template-columns:repeat(2,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}
@media (max-width:991px){
  .grid--3,.grid--4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:639px){
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr;}
}

/* ---------- Botões ---------- */
.btn{
  --btn-bg:var(--accent);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:15px 30px;border:2px solid var(--btn-bg);border-radius:8px;
  background:var(--btn-bg);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;
  overflow:hidden;transition:transform .2s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
  text-align:center;
}
.btn span{position:relative;z-index:2;}
.btn::after{content:"";position:absolute;inset:0;z-index:1;background:var(--accent-2);transform:translateY(100%);transition:transform .3s ease;}
.btn:hover::after{transform:translateY(0);}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,96,243,.35);color:#fff;}
.btn:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;}
.btn--line{background:transparent;color:#fff;}
.btn--line::after{background:var(--accent);}
.btn--line:hover{color:#fff;}
@media (max-width:575px){.btn{display:flex;width:100%;}}

/* ================================================================
   HEADER / MENU ÂNCORA (design baseado no site original)
   ================================================================ */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:background .3s ease,box-shadow .3s ease,padding .3s ease;padding:18px 0;}
.site-header.is-scrolled{background:rgba(0,16,65,.92);backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,8,32,.45);padding:10px 0;}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.site-header__logo{display:inline-flex;align-items:center;flex:0 0 auto;}
.site-header__logo img{height:38px;width:auto;display:block;transition:height .3s ease;}
.site-header.is-scrolled .site-header__logo img{height:32px;}
.main-nav{display:flex;align-items:center;gap:1.6rem;}
.main-nav__list{display:flex;align-items:center;gap:1.15rem;list-style:none;margin:0;padding:0;}
.main-nav__list a{color:#fff;font-size:.9rem;white-space:nowrap;font-weight:600;text-decoration:none;position:relative;padding:4px 0;transition:color .2s ease;}
.main-nav__list a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--cyan);transition:width .25s ease;}
.main-nav__list a:hover{color:var(--cyan);}
.main-nav__list a:hover::after{width:100%;}
.main-nav .btn{padding:10px 20px;font-size:.9rem;}
.menu-toggle{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;color:#fff;font-size:1.6rem;align-items:center;justify-content:center;}
@media (max-width:1100px){
  .menu-toggle{display:inline-flex;}
  .main-nav{position:absolute;top:100%;left:0;width:100%;flex-direction:column;align-items:stretch;gap:0;
    background:rgba(0,16,65,.98);backdrop-filter:blur(10px);border-top:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .site-header.menu-open .main-nav{max-height:80vh;overflow:auto;}
  .main-nav__list{flex-direction:column;align-items:stretch;gap:0;width:100%;}
  .main-nav__list li{border-bottom:1px solid var(--line);}
  .main-nav__list a{display:block;padding:14px 20px;}
  .main-nav__list a::after{display:none;}
  .main-nav .btn{margin:14px 20px;width:calc(100% - 40px);}
}

/* ================================================================
   HOME
   ================================================================ */

/* 1. Hero */
.hero{position:relative;min-height:clamp(600px,92vh,860px);display:flex;align-items:center;text-align:center;overflow:hidden;background:var(--deep);}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero__overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(120% 90% at 50% 0%,rgba(0,38,149,.35),transparent 60%),linear-gradient(180deg,rgba(0,16,65,.72),rgba(0,16,65,.88));}
.hero .container{position:relative;z-index:2;padding-top:8rem;padding-bottom:8rem;}
.hero__title{font-size:clamp(2.4rem,5.4vw,4.6rem);line-height:1.02;margin-bottom:.2em;color:#fff;}
.hero__lead{font-size:clamp(1.5rem,3vw,2.4rem);font-weight:600;color:#dbe6ff;margin-bottom:1.1rem;}
.hero__support{font-size:clamp(1rem,1.5vw,1.18rem);color:var(--muted);max-width:60ch;margin:0 auto 2rem;}
.scroll-hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;width:26px;height:42px;border:2px solid rgba(255,255,255,.35);border-radius:14px;}
.scroll-hint span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--cyan);animation:scrollhint 1.6s infinite;}
@keyframes scrollhint{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

/* 2. Unidades */
.units{background:linear-gradient(180deg,var(--deep),#04123f);}
.unit{display:flex;flex-direction:column;height:100%;padding:clamp(1.6rem,2.4vw,2.2rem);background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;}
.unit:hover{transform:translateY(-6px);border-color:rgba(0,195,253,.5);box-shadow:0 18px 40px rgba(0,10,40,.55);}
.unit__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;margin-bottom:1.1rem;background:rgba(0,96,243,.16);color:var(--cyan);}
.unit__icon .material-symbols-outlined{font-size:30px;}
.unit__title{font-size:1.35rem;margin-bottom:.5rem;color:#fff;}
.unit__desc{color:var(--muted);font-size:.98rem;margin-bottom:1.3rem;flex:1 1 auto;}
.unit__more{font-weight:700;color:var(--cyan);font-size:.95rem;display:inline-flex;align-items:center;gap:.4rem;}
.unit:hover .unit__more i{transform:translateX(4px);}
.unit__more i{transition:transform .3s ease;}
.units__foot{margin-top:clamp(2.4rem,4vw,3.4rem);text-align:center;}

/* 3. Sobre */
.about{background:#04123f;}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media (max-width:991px){.about__grid{grid-template-columns:1fr;}}
.about__text{color:var(--muted);font-size:1.1rem;line-height:1.7;margin-bottom:1.8rem;}
.about__media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,8,32,.5);}
.about__media img{width:100%;height:100%;object-fit:cover;}

/* 4. Scroll horizontal */
.horizontal{background:var(--deep);}
.horizontal__sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;}
.horizontal__track{display:flex;flex-wrap:nowrap;height:100%;will-change:transform;}
.panel{flex:0 0 100vw;min-width:100vw;height:100%;display:flex;align-items:center;padding:clamp(2rem,6vw,7rem);}
.panel__inner{max-width:720px;margin:0 auto;}
.panel__title{font-size:clamp(2rem,5vw,4rem);line-height:1.04;margin-bottom:1rem;color:#fff;}
.panel__lead{font-size:1.2rem;color:rgba(255,255,255,.85);max-width:50ch;}
.panel__text{font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.6;color:rgba(255,255,255,.9);max-width:52ch;}
.panel__num{display:block;font-size:clamp(3rem,7vw,6rem);font-weight:800;line-height:1;color:rgba(255,255,255,.22);margin-bottom:.4rem;}
.panel--cover{background:radial-gradient(120% 120% at 0% 0%,var(--primary),var(--deep));}
.panel--1{background:linear-gradient(135deg,#002695,#001041);}
.panel--2{background:linear-gradient(135deg,#0060f3,#00256f);}
.panel--3{background:linear-gradient(135deg,#00c3fd,#0050b5);}
.panel--3 .panel__num{color:rgba(0,16,65,.28);}
.panel--3 .panel__title,.panel--3 .panel__text{color:#001041;}
.horizontal__progress{position:absolute;left:0;bottom:0;width:100%;height:4px;background:rgba(255,255,255,.12);}
.horizontal__progress span{display:block;height:100%;width:0;background:var(--cyan);}
@media (max-width:991px){
  .horizontal{height:auto !important;}
  .horizontal__sticky{position:static;height:auto;}
  .horizontal__track{flex-direction:column;transform:none !important;height:auto;}
  .panel{flex:0 0 auto;min-width:100%;min-height:70vh;}
  .horizontal__progress{display:none;}
}

/* 5. Números */
.stats{background:linear-gradient(180deg,#04123f,var(--deep));}
.stat{padding:1rem .5rem;text-align:center;}
.stat__num{display:block;font-size:clamp(2.6rem,5vw,4rem);font-weight:800;line-height:1;color:#fff;}
.stat__label{display:block;margin-top:.6rem;color:var(--muted);font-size:1rem;font-weight:600;}

/* 6. Problema/Solução */
.ps{background:var(--deep);}
.ps__card{height:100%;padding:clamp(1.8rem,3vw,2.6rem);border-radius:var(--radius);border:1px solid var(--line);}
.ps__card p{color:var(--muted);font-size:1.05rem;line-height:1.65;}
.ps__card--problem{background:linear-gradient(160deg,#1a0f2e,#0d0a24);border-color:rgba(255,90,120,.25);}
.ps__card--solution{background:linear-gradient(160deg,#062a5e,#04173f);border-color:rgba(0,195,253,.3);}
.ps__tag{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;}
.ps__card--problem .ps__tag{color:#ff8098;}
.ps__card--solution .ps__tag{color:var(--cyan);}
.ps__foot{margin-top:clamp(2.2rem,4vw,3.2rem);text-align:center;}

/* 7. Case */
.case{position:relative;padding:clamp(4.5rem,9vw,8rem) 0;text-align:center;overflow:hidden;background:var(--primary);}
.case__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.case__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,16,65,.86),rgba(0,38,149,.82));}
.case .container{position:relative;z-index:2;}
.case__sub{color:#cfe0ff;font-size:1.1rem;max-width:60ch;margin:0 auto 2rem;}

/* 8. Depoimentos */
.testi{background:#04123f;}
.quote{height:100%;margin:0;display:flex;flex-direction:column;padding:clamp(1.6rem,2.6vw,2.2rem);background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:var(--radius);position:relative;}
.quote::before{content:"\201C";position:absolute;top:.2rem;right:1.4rem;font-size:5rem;line-height:1;color:rgba(0,195,253,.16);font-family:Georgia,serif;}
.quote__text{margin-bottom:1rem;color:#dfe8ff;font-size:1.02rem;line-height:1.65;position:relative;}
.quote__text.is-clamped{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;}
.quote__toggle{align-self:flex-start;background:none;border:0;padding:0;margin:-.4rem 0 1rem;color:var(--cyan);font-weight:700;font-size:.92rem;cursor:pointer;}
.quote__toggle:hover{text-decoration:underline;}
.quote__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--line);}
.quote__id strong{display:block;font-size:1.02rem;color:#fff;}
.quote__id span{color:var(--muted);font-size:.9rem;}
.quote__logo{width:auto;max-height:40px;object-fit:contain;filter:brightness(0) invert(1);opacity:.85;}

/* 9. Blog */
.blog{background:var(--deep);}
.post{display:flex;flex-direction:column;height:100%;overflow:hidden;background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;}
.post:hover{transform:translateY(-6px);border-color:rgba(0,195,253,.5);box-shadow:0 18px 40px rgba(0,10,40,.55);}
.post__media{display:block;aspect-ratio:16/10;overflow:hidden;}
.post__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.post:hover .post__media img{transform:scale(1.05);}
.post__body{display:flex;flex-direction:column;flex:1 1 auto;padding:clamp(1.3rem,2vw,1.7rem);}
.post__tag{align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--cyan);background:rgba(0,96,243,.15);padding:.3rem .7rem;border-radius:100px;margin-bottom:.9rem;}
.post__title{font-size:1.1rem;font-weight:700;line-height:1.35;color:#fff;flex:1 1 auto;}
.post__more{margin-top:1rem;font-weight:700;color:var(--cyan);font-size:.92rem;display:inline-flex;align-items:center;gap:.4rem;}

/* 10. CTA fechamento */
.closing{background:linear-gradient(135deg,var(--primary),var(--deep));text-align:center;}
.closing__sub{color:#cfe0ff;font-size:1.15rem;max-width:60ch;margin:0 auto 2rem;}

/* 11. FAQ */
.faq{background:var(--deep);}
.faq__grid{display:grid;grid-template-columns:1fr 2fr;gap:48px;}
@media (max-width:991px){.faq__grid{grid-template-columns:1fr;}}
.faq__aside{position:sticky;top:96px;align-self:start;}
@media (max-width:991px){
  /* No mobile o grid vira 1 coluna: o aside não pode ficar sticky (sobrepunha o accordion) */
  .faq__aside{position:static;top:auto;margin-bottom:1.5rem;}
}
.faq__intro{color:var(--muted);font-size:1.05rem;margin:0 0 1.6rem;}
.acc__item{border:1px solid var(--line);border-radius:14px;margin-bottom:1rem;background:linear-gradient(160deg,var(--card),var(--card-2));overflow:hidden;}
.acc__head{margin:0;}
.acc__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem;background:none;border:0;cursor:pointer;text-align:left;color:#fff;font-size:1.05rem;font-weight:700;line-height:1.4;}
.acc__btn i{flex:0 0 auto;transition:transform .3s ease;color:var(--cyan);}
.acc__btn[aria-expanded="true"] i{transform:rotate(45deg);}
.acc__btn:focus-visible{outline:2px solid var(--cyan);outline-offset:-3px;border-radius:8px;}
.acc__panel{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.acc__content{padding:0 1.4rem 1.3rem;color:var(--muted);line-height:1.65;}
.acc__content p{margin:0 0 .8rem;}
.acc__content a{color:var(--cyan);}
.acc__content ul{margin:0 0 .8rem;padding-left:1.2rem;}
.acc__content li{margin-bottom:.4rem;}

/* 12. Botão flutuante WhatsApp (sem fundo neon: só o logo com sombra neutra) */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:9990;width:60px;height:60px;display:block;transition:transform .25s ease;}
.wa-float:hover{transform:scale(1.08);}
.wa-float img{width:60px;height:60px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));}

/* ================================================================
   PÁGINAS INTERNAS (contato, privacidade, mapa, 404)
   ================================================================ */
.page-hero{padding:clamp(70px,9vw,120px) 0 clamp(32px,4vw,52px);background:linear-gradient(135deg,var(--primary),var(--deep));}
.breadcrumb{font-size:.9rem;color:var(--muted);margin-bottom:1.2rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;}
.breadcrumb [aria-current]{color:var(--ink);}
.page-hero__title{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:.5rem;color:#fff;}
.page-hero__sub{font-size:1.1rem;color:#cfe0ff;max-width:70ch;}
.updated{font-size:.9rem;color:var(--muted);margin-top:1rem;}
.page-body{padding:var(--pad) 0;}

/* Site header simples (nav) para páginas internas */
.site-top{position:sticky;top:0;z-index:100;background:rgba(0,16,65,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.site-top .container{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;}
.site-top__brand{font-weight:800;font-size:1.15rem;color:#fff;letter-spacing:-.5px;}
.site-top__brand span{color:var(--cyan);}
.site-top__back{font-size:.95rem;font-weight:600;}

/* Prose (privacidade) */
.prose{max-width:820px;margin:0 auto;}
.prose h2{font-size:clamp(1.3rem,2.2vw,1.7rem);margin:2.2rem 0 .8rem;color:#fff;}
.prose p{color:var(--muted);line-height:1.75;margin:0 0 1rem;}
.prose ul{color:var(--muted);line-height:1.7;margin:0 0 1.2rem;padding-left:1.3rem;}
.prose li{margin-bottom:.5rem;}
.prose strong{color:#dfe8ff;}
.legal-cta{margin-top:3rem;padding:2rem;background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:16px;text-align:center;}
.legal-cta p{color:#fff;font-weight:700;margin-bottom:1rem;font-size:1.1rem;}

/* Sitemap cards */
.ms-card{height:100%;padding:clamp(1.4rem,2.2vw,2rem);background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:16px;transition:border-color .3s ease,transform .3s ease;}
.ms-card:hover{border-color:rgba(0,195,253,.4);transform:translateY(-4px);}
.ms-card__label{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin-bottom:.7rem;}
.ms-card__title{font-size:1.3rem;margin-bottom:1rem;color:#fff;}
.ms-card__title a{color:#fff;}
.ms-card__title a:hover{color:var(--cyan);}
.ms-card__list{list-style:none;}
.ms-card__list li{padding:.4rem 0;border-top:1px solid var(--line);}
.ms-card__list li:first-child{border-top:0;}
.ms-card__list a{color:var(--muted);font-size:.98rem;transition:color .2s ease;}
.ms-card__list a:hover{color:var(--cyan);}
.back-wrap{margin-top:clamp(2.4rem,4vw,3.4rem);text-align:center;}

/* Contato */
.ct-panel{height:100%;padding:clamp(1.6rem,2.6vw,2.4rem);background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:18px;}
.ct-h2{font-size:1.5rem;color:#fff;margin-bottom:1.4rem;}
.ct-list{list-style:none;margin-bottom:1.6rem;}
.ct-list li{display:flex;gap:1rem;align-items:flex-start;padding:.9rem 0;border-top:1px solid var(--line);}
.ct-list li:first-child{border-top:0;}
.ct-ic{flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,96,243,.16);color:var(--cyan);}
.ct-list strong{display:block;color:#fff;font-size:1rem;margin-bottom:.15rem;}
.ct-list a,.ct-list span{color:var(--muted);font-size:.98rem;line-height:1.5;}
.ct-list a:hover{color:var(--cyan);}
.ct-social{display:flex;gap:.8rem;margin-bottom:1.6rem;}
.ct-social a{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid var(--line);color:#fff;font-size:1.1rem;transition:background .25s ease;}
.ct-social a:hover{background:var(--accent);}
.ct-map{height:100%;min-height:420px;border-radius:18px;overflow:hidden;border:1px solid var(--line);}
.ct-map iframe{width:100%;height:100%;min-height:420px;border:0;display:block;filter:grayscale(.2) contrast(1.05);}

/* 404 */
.e4-wrap{min-height:80vh;display:flex;align-items:center;text-align:center;padding:clamp(70px,10vw,140px) 0;background:radial-gradient(120% 90% at 50% 0%,rgba(0,38,149,.5),transparent 60%),linear-gradient(180deg,var(--deep),#04123f);}
.e4-inner{max-width:720px;margin:0 auto;}
.e4-code{display:block;font-size:clamp(5rem,16vw,11rem);font-weight:800;line-height:1;letter-spacing:-4px;background:linear-gradient(120deg,var(--cyan),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.6rem;}
.e4-title{font-size:clamp(1.5rem,3vw,2.3rem);color:#fff;margin-bottom:1rem;}
.e4-sub{font-size:1.1rem;color:var(--muted);max-width:56ch;margin:0 auto 2rem;}
.e4-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.4rem;}
.e4-links{display:flex;gap:.6rem 1.2rem;justify-content:center;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:.95rem;}
@media (max-width:575px){.e4-actions{flex-direction:column;}}

/* Footer */
.site-footer{background:#04123f;border-top:1px solid var(--line);padding:clamp(2.4rem,4vw,3.4rem) 0;}
.site-footer__grid{display:flex;flex-direction:column;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:center;text-align:center;}
.site-footer__brand{font-weight:800;font-size:1.1rem;color:#fff;}
.site-footer__nav{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;justify-content:center;}
.site-footer__nav a{color:var(--muted);font-size:.92rem;}
.site-footer__nav a:hover{color:var(--cyan);}
.site-footer__copy{color:var(--muted);font-size:.85rem;margin-top:1rem;width:100%;text-align:center;}

/* ================================================================
   POPUP / MODAL de contato (nome, e-mail, WhatsApp) -> WhatsApp
   ================================================================ */
.modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,8,32,.72);backdrop-filter:blur(4px);}
.modal.is-open{display:flex;}
.modal__dialog{position:relative;width:100%;max-width:460px;background:linear-gradient(160deg,#0a1a4d,#050f30);border:1px solid var(--line);border-radius:20px;padding:clamp(1.6rem,4vw,2.4rem);box-shadow:0 30px 80px rgba(0,0,0,.55);animation:modalpop .25s ease;}
@keyframes modalpop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;}
.modal__close:hover{background:rgba(255,255,255,.18);}
.modal__title{font-size:1.5rem;color:#fff;margin-bottom:.4rem;}
.modal__sub{color:var(--muted);font-size:.98rem;margin-bottom:1.4rem;}
.field{margin-bottom:1rem;}
.field label{display:block;font-size:.85rem;font-weight:600;color:#cfe0ff;margin-bottom:.4rem;}
.field input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font-size:1rem;font-family:inherit;transition:border-color .2s ease;}
.field input::placeholder{color:#6f7fa6;}
.field input:focus{outline:none;border-color:var(--cyan);}
.field input[aria-invalid="true"]{border-color:#ff6b81;}
.field__error{display:none;color:#ff8fa0;font-size:.82rem;margin-top:.35rem;}
.field input[aria-invalid="true"] ~ .field__error{display:block;}
.modal .btn{width:100%;margin-top:.4rem;background:var(--wa);border-color:var(--wa);}
.modal .btn::after{background:#1fb457;}
.modal__disclaimer{color:#7f8db0;font-size:.78rem;text-align:center;margin-top:.9rem;}
.modal__success{display:none;text-align:center;}
.modal__success.is-visible{display:block;}
.modal__success .material-symbols-outlined{font-size:56px;color:var(--wa);margin-bottom:.6rem;}
.modal__success p{color:var(--ink);margin-bottom:.4rem;}

/* Reveal on scroll: só esconde quando há JS (classe .js no <html>).
   Sem JS, o conteúdo aparece normalmente (progressive enhancement). */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.js [data-reveal].is-visible{opacity:1;transform:none;}

/* Movimento reduzido */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .scroll-hint span{animation:none;}
  .horizontal__track{transition:none;}
  .modal__dialog{animation:none;}
  .js [data-reveal]{opacity:1;transform:none;transition:none;}
}

/* ================================================================
   PÁGINAS MIGRADAS DO SITE INSTITUCIONAL (unidades, sobre, blog…)
   ================================================================ */
.prose-p{color:var(--muted);line-height:1.75;margin:0 0 1rem;max-width:80ch;}
.prose-list{color:var(--muted);line-height:1.7;margin:0 0 1.4rem;padding-left:1.3rem;max-width:80ch;}
.prose-list li{margin-bottom:.5rem;}
.unit__punch{color:var(--cyan);font-weight:600;font-size:1rem;margin:0 0 .6rem;}
.unit .unit__desc{margin-bottom:.6rem;}
.unit .unit__desc:last-child{margin-bottom:0;}
.page-figure{margin:0 0 1.6rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);}
.page-figure img{width:100%;height:auto;display:block;}
/* âncora de página ativa no menu */
.main-nav__list a[aria-current="page"]{color:var(--cyan);}
.main-nav__list a[aria-current="page"]::after{width:100%;}
/* linha do tempo (Sobre) */
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);}
.timeline li{position:relative;padding:0 0 1.6rem 1.6rem;}
.timeline li::before{content:"";position:absolute;left:-7px;top:.45rem;width:12px;height:12px;border-radius:50%;background:var(--cyan);}
.timeline h3{font-size:1.15rem;color:var(--cyan);margin:0 0 .35rem;}
.timeline p{color:var(--muted);line-height:1.7;margin:0;max-width:75ch;}
.logo-grid{display:flex;flex-wrap:wrap;gap:1.6rem 2.4rem;align-items:center;justify-content:center;padding:1rem 0;}
.logo-grid img{height:46px;width:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.8;transition:opacity .2s ease;}
.logo-grid img:hover{opacity:1;}

/* ================================================================
   DESIGN SYSTEM v2: alternância claro/escuro, heros com imagem,
   layouts em duas colunas. (set/2026)
   ================================================================ */
:root{
  --l-bg:#f4f7fc; --l-white:#ffffff; --l-ink:#0b1a44; --l-body:#4b5a78;
  --l-line:#e2e8f3; --l-accent:#0060f3; --l-shadow:0 10px 30px rgba(11,26,68,.08);
}
/* ---------- Seções claras ---------- */
.section--light{background:var(--l-bg);color:var(--l-body);}
.section--white{background:var(--l-white);color:var(--l-body);}
.section--light .h2,.section--white .h2,
.section--light h2,.section--white h2,
.section--light h3,.section--white h3{color:var(--l-ink);}
.section--light .eyebrow,.section--white .eyebrow{color:var(--l-accent);}
.section--light .destaque,.section--white .destaque{color:var(--l-accent);}
.section--light .section__sub,.section--white .section__sub,
.section--light .prose-p,.section--white .prose-p,
.section--light .prose-list,.section--white .prose-list,
.section--light .about__text,.section--white .about__text,
.section--light .faq__intro,.section--white .faq__intro{color:var(--l-body);}
/* cards em fundo claro */
.section--light .unit,.section--white .unit,
.section--light .ms-card,.section--white .ms-card{background:#fff;border:1px solid var(--l-line);box-shadow:var(--l-shadow);color:var(--l-body);}
.section--light .unit:hover,.section--white .unit:hover{border-color:#b9ccf3;box-shadow:0 16px 40px rgba(11,26,68,.12);}
.section--light .unit__title,.section--white .unit__title,.section--light .ms-card__title,.section--light .ms-card__title a{color:var(--l-ink);}
.section--light .unit__desc,.section--white .unit__desc{color:var(--l-body);}
.section--light .unit__punch,.section--white .unit__punch{color:var(--l-accent);}
.section--light .unit__more,.section--white .unit__more,.section--light .ms-card__label{color:var(--l-accent);}
.section--light .unit__icon,.section--white .unit__icon{background:#e8f0ff;color:var(--l-accent);}
.section--light .ms-card__list li{border-color:var(--l-line);}
.section--light .ms-card__list a{color:var(--l-body);}
.section--light .ms-card__list a:hover{color:var(--l-accent);}
.section--light .acc__item,.section--white .acc__item{background:#fff;border:1px solid var(--l-line);box-shadow:0 4px 14px rgba(11,26,68,.05);}
.section--light .acc__btn,.section--white .acc__btn{color:var(--l-ink);}
.section--light .acc__btn i,.section--white .acc__btn i{color:var(--l-accent);}
.section--light .acc__content,.section--white .acc__content{color:var(--l-body);}
.section--light .acc__content a,.section--white .acc__content a{color:var(--l-accent);}
.section--light .quote,.section--white .quote{background:#fff;border:1px solid var(--l-line);box-shadow:var(--l-shadow);}
.section--light .quote__text,.section--white .quote__text{color:#2c3a5a;}
.section--light .quote__id strong,.section--white .quote__id strong{color:var(--l-ink);}
.section--light .quote__id span,.section--white .quote__id span{color:var(--l-body);}
.section--light .quote__foot,.section--white .quote__foot{border-color:var(--l-line);}
.section--light .quote__logo,.section--white .quote__logo{filter:brightness(0);opacity:.55;}
.section--light .quote__toggle,.section--white .quote__toggle{color:var(--l-accent);}
.section--light .quote::before,.section--white .quote::before{color:rgba(0,96,243,.12);}
.section--light .ps__card--problem{background:#fff4f6;border-color:#f6c9d3;}
.section--light .ps__card--solution{background:#eef5ff;border-color:#bfd6fb;}
.section--light .ps__card p{color:var(--l-body);}
.section--light .ps__card--problem .ps__tag{color:#c9304f;}
.section--light .ps__card--solution .ps__tag{color:var(--l-accent);}
.section--light .logo-grid img,.section--white .logo-grid img{filter:brightness(0);opacity:.5;}
.section--light .logo-grid img:hover,.section--white .logo-grid img:hover{opacity:.85;}
.section--light .stat__num,.section--white .stat__num{color:var(--l-ink);}
.section--light .stat__label,.section--white .stat__label{color:var(--l-body);}
.section--light .btn--line,.section--white .btn--line{color:var(--l-accent);}
.section--light .btn--line:hover,.section--white .btn--line:hover{color:#fff;}
.article a,.acc__content a,.prose-p a{text-underline-offset:3px;}
.section--light .article a,.section--white .article a,.section--light .prose-p a,.section--white .prose-p a,.contact2 .map-link,.form-note a{color:var(--l-accent);text-decoration:underline;}
.form-note a{color:#9fc4ff;}
.section--light .ms-card__title a{color:var(--l-ink);}

/* ---------- Seção com imagem de fundo ---------- */
.section--image{position:relative;background:var(--deep) center/cover no-repeat;isolation:isolate;}
.section--image::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,16,65,.94) 0%,rgba(0,16,65,.82) 55%,rgba(0,16,65,.55) 100%);}
.section--image.is-center::before{background:rgba(0,16,65,.82);}

/* ---------- Hero de página com imagem ---------- */
.hero-page{position:relative;isolation:isolate;background:var(--deep) right center/cover no-repeat;padding:clamp(120px,14vw,170px) 0 clamp(56px,7vw,96px);min-height:min(78vh,620px);display:flex;align-items:center;}
.hero-page::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,16,65,.96) 0%,rgba(0,16,65,.86) 42%,rgba(0,16,65,.35) 75%,rgba(0,16,65,.15) 100%);}
.hero-page .container{width:100%;}
.hero-page__inner{max-width:640px;}
.hero-page .breadcrumb{margin-bottom:1.4rem;}
.hero-page .breadcrumb a{color:var(--cyan);}
.hero-page h1{font-size:clamp(2.3rem,5vw,3.9rem);line-height:1.04;color:#fff;margin-bottom:.9rem;}
.hero-page__tag{font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:600;color:#dbe6ff;line-height:1.4;margin-bottom:1rem;}
.hero-page__lead{color:#b8c6e6;font-size:1.05rem;line-height:1.7;margin-bottom:1.8rem;}
.hero-page__ctas{display:flex;gap:.9rem;flex-wrap:wrap;}
.hero-page--compact{min-height:0;padding:clamp(120px,13vw,150px) 0 clamp(48px,6vw,72px);}
.hero-page--compact .hero-page__inner{max-width:760px;}
@media (max-width:760px){.hero-page::before{background:linear-gradient(180deg,rgba(0,16,65,.9),rgba(0,16,65,.82));}}

/* ---------- Cabeçalho de seção ---------- */
.shead{max-width:760px;margin:0 auto clamp(2rem,4vw,3rem);text-align:center;}
.shead .h2{margin-bottom:.5em;}
.shead p{font-size:1.08rem;line-height:1.7;}
.shead--left{margin-left:0;text-align:left;}

/* ---------- Duas colunas ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.split--wide{grid-template-columns:1.15fr .85fr;}
.split__media{border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(0,8,32,.28);}
.split__media img{width:100%;height:100%;max-height:540px;object-fit:cover;display:block;}
.split p{line-height:1.75;margin-bottom:1rem;}
.split .btn{margin-top:.6rem;}
@media (max-width:900px){.split,.split--wide{grid-template-columns:1fr;}.split--reverse .split__media{order:-1;}}

/* ---------- Lista com check ---------- */
.checks{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.75rem;}
.checks li{display:flex;gap:.75rem;align-items:flex-start;line-height:1.55;}
.checks li::before{content:"";flex:0 0 22px;height:22px;margin-top:1px;border-radius:50%;background:var(--cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23001041' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat;}
.section--light .checks li::before,.section--white .checks li::before{background-color:var(--l-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");}
.checks--cols{grid-template-columns:repeat(3,1fr);gap:1.2rem 2rem;}
@media (max-width:900px){.checks--cols{grid-template-columns:1fr;}}

/* ---------- Cards de produto ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:991px){.prod-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:639px){.prod-grid{grid-template-columns:1fr;}}
.prod{position:relative;background:#fff;border:1px solid var(--l-line);border-radius:16px;padding:28px 26px 26px;box-shadow:var(--l-shadow);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;}
.prod:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(11,26,68,.12);}
.prod__num{font-size:.78rem;font-weight:800;letter-spacing:.12em;color:var(--l-accent);background:#e8f0ff;border-radius:100px;padding:.28rem .7rem;align-self:flex-start;margin-bottom:1rem;}
.prod h3{font-size:1.2rem;line-height:1.25;color:var(--l-ink);margin-bottom:.45rem;}
.prod__punch{color:var(--l-accent);font-weight:600;line-height:1.45;margin-bottom:.6rem;}
.prod__desc{color:var(--l-body);line-height:1.65;font-size:.98rem;}

/* ---------- Cards com foto (unidades) ---------- */
.ucards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:991px){.ucards{grid-template-columns:repeat(2,1fr);}}
@media (max-width:639px){.ucards{grid-template-columns:1fr;}}
.ucard{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid var(--line);color:var(--ink);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;}
.ucard:hover{transform:translateY(-6px);border-color:rgba(0,195,253,.5);box-shadow:0 18px 40px rgba(0,10,40,.5);}
.ucard__img{aspect-ratio:16/9;overflow:hidden;}
.ucard__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.ucard:hover .ucard__img img{transform:scale(1.05);}
.ucard__body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}
.ucard__body h3{font-size:1.25rem;color:#fff;margin-bottom:.4rem;}
.ucard__body p{color:var(--muted);font-size:.96rem;line-height:1.6;flex:1;}
.ucard__more{margin-top:1rem;color:var(--cyan);font-weight:700;font-size:.93rem;display:inline-flex;gap:.4rem;align-items:center;}
.ucards--compact .ucard__img{aspect-ratio:16/7;}
.ucards--compact .ucard__body p{font-size:.92rem;}

/* ---------- Linha do tempo em grade ---------- */
.years{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:y;}
@media (max-width:1100px){.years{grid-template-columns:repeat(3,1fr);}}
@media (max-width:760px){.years{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.years{grid-template-columns:1fr;}}
.year{background:#fff;border:1px solid var(--l-line);border-top:4px solid var(--l-accent);border-radius:14px;padding:20px 20px 18px;box-shadow:0 6px 18px rgba(11,26,68,.05);}
.year b{display:block;font-size:1.6rem;font-weight:800;color:var(--l-ink);letter-spacing:-.5px;margin-bottom:.4rem;}
.year p{color:var(--l-body);font-size:.93rem;line-height:1.55;margin:0;}
.year--last{border-top-color:var(--cyan);background:linear-gradient(160deg,#eef6ff,#fff);}

/* ---------- Missão / Visão / Valores e cards de destaque ---------- */
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:900px){.feat{grid-template-columns:1fr;}}
.feat__card{border-radius:18px;padding:30px 28px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(4px);}
.feat__card .material-symbols-outlined{font-size:32px;color:var(--cyan);display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;border-radius:14px;background:rgba(0,195,253,.12);margin-bottom:1rem;}
.feat__card h3{font-size:1.2rem;color:#fff;margin-bottom:.5rem;letter-spacing:.02em;}
.feat__card p{color:#c3cfea;line-height:1.65;margin:0;}
.section--light .feat__card,.section--white .feat__card{background:#fff;border-color:var(--l-line);box-shadow:var(--l-shadow);}
.section--light .feat__card h3,.section--white .feat__card h3{color:var(--l-ink);}
.section--light .feat__card p,.section--white .feat__card p{color:var(--l-body);}
.section--light .feat__card .material-symbols-outlined,.section--white .feat__card .material-symbols-outlined{color:var(--l-accent);background:#e8f0ff;}

/* ---------- Números ---------- */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media (max-width:760px){.stats-row{grid-template-columns:repeat(2,1fr);}}
.stats-row .stat{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:26px 16px;}

/* ---------- Faixa de CTA ---------- */
.cta-band{text-align:center;padding:clamp(64px,8vw,110px) 0;}
.cta-band .h2{color:#fff;max-width:820px;margin-left:auto;margin-right:auto;}
.cta-band p{color:#cfdcf7;font-size:1.1rem;max-width:620px;margin:0 auto 1.8rem;line-height:1.7;}

/* ---------- FAQ agrupado ---------- */
.faq2{display:grid;grid-template-columns:300px 1fr;gap:clamp(28px,4vw,56px);align-items:start;}
@media (max-width:900px){.faq2{grid-template-columns:1fr;}}
.faq2__aside{position:sticky;top:100px;}
@media (max-width:900px){.faq2__aside{position:static;}}
.faq2__nav{display:flex;flex-direction:column;gap:.35rem;margin:1.2rem 0 1.6rem;}
.faq2__nav a{display:block;padding:.55rem .9rem;border-radius:10px;font-weight:600;color:var(--l-body) !important;border:1px solid transparent;}
.faq2__nav a:hover{background:#fff;border-color:var(--l-line);color:var(--l-accent) !important;}
@media (max-width:900px){.faq2__nav{flex-direction:row;flex-wrap:wrap;}.faq2__nav a{background:#fff;border-color:var(--l-line);padding:.4rem .8rem;font-size:.9rem;}}
.faq2__group{scroll-margin-top:100px;margin-bottom:2.2rem;}
.faq2__group h2{font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--l-accent) !important;margin-bottom:1rem;}
.help-card{background:var(--deep);border-radius:16px;padding:24px;color:#cfdcf7;}
.help-card strong{display:block;color:#fff;font-size:1.1rem;margin-bottom:.4rem;}
.help-card p{font-size:.95rem;line-height:1.6;margin-bottom:1rem;}
.help-card .btn{width:100%;}

/* ---------- Blog ---------- */
.post-feat{display:grid;grid-template-columns:1.1fr 1fr;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--l-line);box-shadow:var(--l-shadow);color:var(--l-body);transition:box-shadow .3s ease,transform .3s ease;}
.post-feat:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(11,26,68,.14);}
.post-feat__img{min-height:320px;}
.post-feat__img img{width:100%;height:100%;object-fit:cover;display:block;}
.post-feat__body{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center;}
.post-feat__meta{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;font-size:.85rem;color:#7a87a3;margin-bottom:1rem;}
.post-feat__meta .tag{background:#e8f0ff;color:var(--l-accent);font-weight:700;padding:.28rem .7rem;border-radius:100px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;}
.post-feat h2{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.2;color:var(--l-ink) !important;margin-bottom:.8rem;}
.post-feat p{line-height:1.7;margin-bottom:1.3rem;}
.post-feat .more{color:var(--l-accent);font-weight:700;display:inline-flex;gap:.4rem;align-items:center;}
@media (max-width:860px){.post-feat{grid-template-columns:1fr;}.post-feat__img{min-height:220px;}}

/* ---------- Artigo e páginas legais (leitura em fundo branco) ---------- */
.reading{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,5vw,64px);align-items:start;}
.reading--toc{grid-template-columns:260px minmax(0,1fr);}
@media (max-width:991px){.reading,.reading--toc{grid-template-columns:1fr;}}
.article{max-width:760px;color:#34425f;font-size:1.06rem;line-height:1.8;}
.article h2{font-size:clamp(1.4rem,2.2vw,1.75rem);color:var(--l-ink) !important;margin:2.2rem 0 .9rem;line-height:1.25;scroll-margin-top:100px;}
.article h2:first-child{margin-top:0;}
.article h3{font-size:1.2rem;color:var(--l-ink);margin:1.6rem 0 .6rem;}
.article p{margin:0 0 1.1rem;}
.article ul{margin:0 0 1.3rem;padding-left:1.3rem;}
.article li{margin-bottom:.55rem;}
.article li::marker{color:var(--l-accent);}
.article figure{margin:1.6rem 0;border-radius:16px;overflow:hidden;}
.aside-sticky{position:sticky;top:100px;display:grid;gap:18px;}
@media (max-width:991px){.aside-sticky{position:static;}}
.aside-card{background:#fff;border:1px solid var(--l-line);border-radius:16px;padding:22px;box-shadow:var(--l-shadow);}
.aside-card h3{font-size:1rem;color:var(--l-ink);margin-bottom:.7rem;}
.aside-card ul{list-style:none;margin:0;padding:0;}
.aside-card li{border-top:1px solid var(--l-line);}
.aside-card li:first-child{border-top:0;}
.aside-card li a{display:block;padding:.55rem 0;font-size:.93rem;color:var(--l-body) !important;}
.aside-card li a:hover{color:var(--l-accent) !important;}
.toc{position:sticky;top:100px;}
@media (max-width:991px){.toc{position:static;}}
.toc h3{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#7a87a3;margin-bottom:.8rem;}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--l-line);}
.toc a{display:block;padding:.4rem 0 .4rem 1rem;margin-left:-2px;border-left:2px solid transparent;font-size:.92rem;color:var(--l-body) !important;line-height:1.4;}
.toc a:hover{color:var(--l-accent) !important;border-left-color:var(--l-accent);}
.updated-note{font-size:.9rem;color:#7a87a3;margin-bottom:1.6rem;}

/* ---------- Contato: formulário inline ---------- */
.contact2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,40px);align-items:stretch;}
@media (max-width:900px){.contact2{grid-template-columns:1fr;}}
.contact2 .ct-panel{background:#fff;border:1px solid var(--l-line);box-shadow:var(--l-shadow);}
.contact2 .ct-h2{color:var(--l-ink);}
.contact2 .ct-list li{border-color:var(--l-line);}
.contact2 .ct-list strong{color:var(--l-ink);}
.contact2 .ct-list a,.contact2 .ct-list span{color:var(--l-body) !important;}
.contact2 .ct-list a:hover{color:var(--l-accent) !important;}
.contact2 .ct-ic{background:#e8f0ff;color:var(--l-accent);}
.contact2 .ct-social a{background:#f1f5fc;border-color:var(--l-line);color:var(--l-ink) !important;}
.contact2 .ct-social a:hover{background:var(--l-accent);color:#fff !important;}
.form-card{background:linear-gradient(160deg,#0a1a4d,#050f30);border-radius:18px;padding:clamp(26px,3.5vw,40px);box-shadow:0 24px 60px rgba(0,8,32,.3);color:#cfdcf7;}
.form-card h2{color:#fff !important;font-size:1.6rem;margin-bottom:.4rem;}
.form-card > p{color:#a9b7d6;margin-bottom:1.4rem;line-height:1.6;}
.form-card .btn{width:100%;margin-top:.4rem;background:var(--wa);border-color:var(--wa);}
.form-card .btn::after{background:#1fb457;}
.form-card .form-note{color:#7f8db0;font-size:.8rem;text-align:center;margin-top:.9rem;}
.lead-success{display:none;text-align:center;padding:2rem 0;}
.lead-success.is-visible{display:block;}
.lead-success .material-symbols-outlined{font-size:56px;color:var(--wa);}
.lead-success p{color:#fff;margin-top:.4rem;}
.map-link{display:inline-flex;gap:.4rem;align-items:center;margin-top:.35rem;font-weight:600;font-size:.9rem;}

/* ---------- Mapa do site em fundo claro ---------- */
.section--light .back-wrap .btn--line{color:var(--l-accent);}
/* logos: quebra equilibrada (5 + 4) em vez de 8 + 1 */
.logo-grid{max-width:820px;margin-left:auto;margin-right:auto;}
/* linhas incompletas centralizadas (sem "buraco" à direita) */
.prod-grid,.ucards{display:flex;flex-wrap:wrap;justify-content:center;}
.prod-grid>.prod,.ucards>.ucard{flex:0 1 calc((100% - 44px)/3);}
@media (max-width:991px){.prod-grid>.prod,.ucards>.ucard{flex-basis:calc((100% - 22px)/2);}}
@media (max-width:639px){.prod-grid>.prod,.ucards>.ucard{flex-basis:100%;}}
.form-card{display:flex;flex-direction:column;justify-content:center;}
.article figure img{width:100%;height:auto;display:block;}
/* linha do tempo: carrossel com arrastar no celular (evita 12 cards empilhados) */
@media (max-width:640px){
  .years{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:4px 20px 14px;margin:0 -20px;scrollbar-width:thin;}
  .years .year{flex:0 0 78%;scroll-snap-align:start;}
}
/* logo no rodapé */
.site-footer__brand img{display:block;height:46px;width:auto;}

/* ================================================================
   LINHA DO TEMPO (Sobre), fiel ao site anterior.
   Desktop: faixa de largura total que fica presa na tela e anda para o
   lado conforme a rolagem (medidas do tema antigo: itens de 700px, anos
   alternando em cima e embaixo com 290px de desnível, seta azul de 50px).
   Celular, sem JS ou com movimento reduzido: carrossel de cards azuis.
   ================================================================ */
.tl-section{--tl-bg:#101435;background:var(--tl-bg);padding:var(--pad) 0 var(--pad);font-family:"Montserrat","Inter",system-ui,sans-serif;}
.tl-head{padding:0 20px;text-align:center;}
.tl-title{font-family:inherit;font-weight:700;font-size:clamp(2rem,3.4vw,3rem);line-height:1.2;letter-spacing:-.015em;color:#fff;margin:0 0 25px;}
.tl-hl{color:#0098FB;}
.tl-sub{font-size:clamp(1.05rem,1.7vw,1.5rem);line-height:1.4;color:#fff;margin:0 auto 20px;}
.tl-sub strong{font-weight:700;}

/* desktop: faixa horizontal presa (altura do bloco é definida no JS) */
.tl-h{display:none;position:relative;}
.tl-h__sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;padding-top:80px;box-sizing:border-box;}
.tl-h__track{--tl-item:min(700px,calc(100vw - 170px));--tl-drop:clamp(150px,calc(100vh - 610px),290px);
  display:flex;align-items:flex-start;list-style:none;margin:0;padding:0 85px;width:max-content;will-change:transform;}
.tl-h__item{flex:0 0 var(--tl-item);width:var(--tl-item);margin-right:59px;padding-bottom:var(--tl-drop);color:#f6f2e8;}
.tl-h__item:nth-child(even){margin-right:151px;padding-bottom:0;padding-top:var(--tl-drop);}
.tl-h__item:last-child{margin-right:0;}
.tl-h__item h3{font-family:inherit;font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:-.015em;color:#0098fb;margin:0 0 30px;}
.tl-h__item p{font-size:1rem;line-height:1.8;color:#f6f2e8;margin:0;}
.tl-h__item strong{font-weight:700;}
.tl-h__item .bi{display:table;margin:0 auto;font-size:50px;line-height:1;color:#0098fb;}
@media (min-width:768px) and (prefers-reduced-motion:no-preference){
  html.js .tl-section{padding-bottom:0;}
  html.js .tl-title{text-transform:uppercase;}
  html.js .tl-h{display:block;}
  html.js .tl-mob{display:none;}
}

/* celular (e fallback): carrossel de cards azuis do site anterior */
.tl{position:relative;padding:0 60px;margin-top:1.2rem;}
.tl-track{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;outline:none;}
.tl-track::-webkit-scrollbar{display:none;}
.tl-track:focus-visible{box-shadow:0 0 0 3px rgba(0,152,251,.6);border-radius:22px;}
.tl-list{display:flex;gap:20px;list-style:none;margin:0;padding:6px 2px;}
.tl-slide{flex:0 0 calc((100% - 60px)/4);scroll-snap-align:start;border-radius:20px;padding:30px 24px 28px;color:#fff;text-align:center;
  background:linear-gradient(170deg,#0098FB 0%,#0098FB 35%,#0079e2 100%);box-shadow:0 14px 30px rgba(0,40,140,.35);}
.tl-slide h3{font-family:inherit;font-size:1.65rem;font-weight:700;color:#fff;margin:0 0 .75rem;letter-spacing:-.015em;line-height:1.1;}
.tl-slide p{color:#fff;font-size:1rem;line-height:1.6;margin:0;}
.tl-slide strong{font-weight:700;}
.tl-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.3);transition:opacity .2s ease,transform .2s ease;}
.tl-arrow:hover{transform:translateY(-50%) scale(1.06);}
.tl-arrow svg{fill:#101435;}
.tl-arrow--prev{left:0;}
.tl-arrow--prev svg{transform:scaleX(-1);}
.tl-arrow--next{right:0;}
.tl-arrow[disabled]{opacity:.35;cursor:default;transform:translateY(-50%);}
.tl-dots{display:flex;justify-content:center;gap:9px;margin-top:1.6rem;min-height:10px;}
.tl-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:background .2s ease,transform .2s ease;}
.tl-dots button[aria-current="true"]{background:#0098FB;transform:scale(1.3);}
@media (max-width:1100px){.tl-slide{flex-basis:calc((100% - 40px)/3);}}
@media (max-width:760px){.tl-slide{flex-basis:calc((100% - 20px)/2);}}
@media (max-width:560px){.tl{padding:0;}.tl-arrow{display:none;}.tl-slide{flex-basis:82%;display:flex;flex-direction:column;justify-content:center;}}
