/* ================================================================
   Meet Tecnologia — Landing Page (lp.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(64px,7vw,120px);
  --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.5rem;list-style:none;margin:0;padding:0;}
.main-nav__list a{color:#fff;font-size:.95rem;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:991px){
  .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;}
}
