/* =========================================================
   Raised | Case Getpower — fiel ao Figma (frame 1920 × 5813)
   Coluna de conteúdo do Figma: x 323 → 1603 (1280px)
   Fontes: Mulish + Montserrat | Cores extraídas do design
   ========================================================= */
:root{
  --dark:#171819;
  --white:#ffffff;
  --off-white:#fbfbfb;
  --text-dark:#171819;
  --green:#1a9e4e;
  --green-bright:#0ec434;
  --teal:#12d3a5;
  --red:#ff3642;

  --wrap:1344px;          /* 1280 de conteúdo + 2×32 de padding */
  --pad:32px;
  --sec-y:88px;           /* ritmo vertical padrão das seções */
  --radius:34px;          /* raio dos cards no Figma */
  font-synthesis:none;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;}
body{
  font-family:'Mulish',Arial,sans-serif;
  background:var(--white);
  color:var(--text-dark);
  line-height:1.28;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}

.container{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);width:100%;}

/* ---------- tipografia base do Figma ---------- */
.sec p,.intro p{
  font-size:18px;line-height:23px;letter-spacing:.54px;font-weight:400;
}
.sec--dark p{color:var(--white);}
.sec--light p,.intro p{color:var(--text-dark);}

/* =========================================================
   HERO  (bloco escuro 0 → 827 no Figma)
   ========================================================= */
.hero{
  position:relative;
  background:var(--dark);
  min-height:827px;
}
.hero__blob{
  position:absolute;left:0;right:0;top:269px;height:558px;
  overflow:hidden;z-index:1;pointer-events:none;
}
.hero__blob img{width:100%;height:100%;object-fit:cover;}

.hero__inner{position:relative;z-index:2;padding-top:62px;padding-bottom:212px;}

.hero__topbar{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:217px;
}
.logo__img{height:58px;width:auto;}
.hero__menu{background:none;border:none;cursor:pointer;padding:0;line-height:0;position:relative;z-index:60;}
.hero__menu img{height:50px;width:50px;}

.hero__title{
  font-size:73px;line-height:67px;font-weight:900;letter-spacing:1.46px;
  color:var(--white);
}
.hero__sub{
  margin-top:44px;
  font-size:32px;line-height:1.25;font-weight:400;letter-spacing:.96px;
  color:var(--white);max-width:400px;
}

/* mockup do site: janela mascarada que atravessa hero → faixa branca */
.hero__mockup{
  position:absolute;top:178px;left:50%;transform:translateX(-50%);
  width:100%;max-width:var(--wrap);padding:0 var(--pad);
  z-index:3;pointer-events:none;
}
.shot{position:relative;aspect-ratio:749/1190;overflow:hidden;}
.shot img{
  position:absolute;left:6.16%;top:3.1%;width:91.78%;height:auto;max-width:none;
}
.shot--hero{margin-left:45.7%;width:58.5%;}

/* =========================================================
   INTRO (faixa branca 827 → 1245)
   ========================================================= */
.intro{background:var(--white);padding:64px 0 124px;}
.intro__text{max-width:43.5%;}
.intro__period{margin-top:23px;}
.intro__period strong{font-weight:700;}

/* =========================================================
   SEÇÕES
   ========================================================= */
.sec{position:relative;padding:var(--sec-y) 0;}
.sec--dark{background:var(--dark);color:var(--white);}
.sec--light{background:var(--white);color:var(--text-dark);}

/* paddings verticais reais de cada seção no Figma */
.perf{padding:59px 0 93px;}
.branding{padding:45px 0 62px;}
.tech{padding:58px 0 42px;}
.conteudo{padding:35px 0 70px;}

/* cabeçalho de seção: ícone + título */
.sechead{display:flex;align-items:center;gap:45px;margin-bottom:56px;}
.sechead--inline{gap:45px;}
.sechead--stack{flex-direction:column;align-items:flex-start;gap:28px;}
.sechead__icon{width:128px;height:128px;flex:none;object-fit:contain;}
.sechead__title{
  font-size:32px;line-height:1.2;font-weight:800;letter-spacing:.96px;
}
.sec--dark .sechead__title{color:var(--white);}
.sec--light .sechead__title{color:var(--text-dark);}

.subhead{
  font-size:32px;line-height:1.2;font-weight:800;letter-spacing:.96px;
  color:var(--text-dark);margin:32px 0 35px;
}

/* =========================================================
   PERFORMANCE E GROWTH
   ========================================================= */
.perf__intro{
  display:grid;grid-template-columns:repeat(3,1fr);gap:49px;
  margin-bottom:60px;
}
.perf__intro p{text-align:center;}

.perf__ads{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-bottom:55px;}
.perf__ads figure{margin:0;}
.perf__ads img{width:100%;aspect-ratio:1/1;object-fit:cover;}

.perf__results{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.rescol{text-align:center;}
.rescol__logo{
  height:auto;width:auto;max-height:59px;max-width:80%;
  object-fit:contain;margin:0 auto 32px;
}
.rescol li,.rescol p{
  font-size:16px;line-height:23px;letter-spacing:.48px;color:var(--white);
  margin-bottom:23px;
}
.rescol li:last-child,.rescol p:last-child{margin-bottom:0;}
.rescol p{margin-bottom:23px;}
.rescol p + ul{margin-top:23px;}

/* =========================================================
   BRANDING
   ========================================================= */
.branding__grid{
  display:grid;grid-template-columns:45.2% 45.4%;gap:4.6%;
  align-items:start;margin-bottom:-27px;   /* o card de eventos sobrepõe a foto */
}
.branding__text p + p{margin-top:23px;}
.branding__photo{margin:0;}
.branding__photo img{
  width:100%;aspect-ratio:581/623;object-fit:cover;object-position:bottom;
}

/* card escuro de eventos (full width, radius 34) */
.eventos{
  position:relative;z-index:2;
  background:var(--dark);color:var(--white);border-radius:var(--radius);
  padding:38px 40px 34px;padding-left:9.84%;
  display:grid;grid-template-columns:23.1% 25.5% 1fr;gap:0;
}
.eventos__list{list-style:disc;padding-left:22px;}
.eventos__list li{
  font-size:18px;line-height:23px;letter-spacing:.54px;color:var(--white);
}
.eventos__title{
  font-size:32px;line-height:1.2;font-weight:800;letter-spacing:.96px;
  color:var(--white);margin-bottom:17px;
}
.eventos__mat{margin-top:-17px;}

/* =========================================================
   TECH, ANALYTICS E BI
   ========================================================= */
.tech__grid{
  display:grid;grid-template-columns:46% 45.4%;gap:8.6%;
  align-items:start;margin-bottom:0;
}
.tech__shot{position:relative;z-index:1;}
.shot--tech{width:100%;}
.tech__text{padding-top:29px;}
.tech__text p + p{margin-top:23px;}
.tech__text .sechead{margin-bottom:191px;}

/* card branco de resultados, sobrepondo o mockup */
.techcard{
  position:relative;z-index:3;
  background:var(--white);color:var(--text-dark);border-radius:var(--radius);
  padding:43px 40px 44px;padding-left:4.6%;
  display:grid;grid-template-columns:36% 29.5% 1fr;gap:0;
  margin-top:-217px;
}
.techcard__col h3{
  font-size:32px;line-height:1.2;font-weight:800;letter-spacing:.96px;
  color:var(--text-dark);margin-bottom:21px;padding-right:24px;
}
.techcard__col ul{list-style:disc;padding-left:22px;}
.techcard__col li{
  font-size:18px;line-height:23px;letter-spacing:.54px;color:var(--text-dark);
  padding:2px 0;padding-right:24px;
}
.techcard__col strong{font-weight:700;}
.techcard__bold li{font-weight:700;}

/* =========================================================
   GESTÃO DE CONTEÚDO
   ========================================================= */
.conteudo__grid{
  display:grid;grid-template-columns:28.5% 71.5%;gap:0;
  align-items:start;margin-bottom:35px;
}
.conteudo__text{padding-top:133px;padding-right:32px;}
.conteudo__text .sechead{margin-bottom:28px;}
.conteudo__text .sechead__icon{width:126px;height:126px;}
.conteudo__shot{margin:0;}
.conteudo__shot img{width:100%;height:auto;}

.social{display:grid;grid-template-columns:32% 28% 28%;justify-content:space-between;}
.social__icon{height:80px;width:auto;margin-bottom:44px;}
.social__col p{margin-bottom:23px;}
.social__col ul{list-style:disc;padding-left:22px;}
.social__col li{
  font-size:18px;line-height:23px;letter-spacing:.54px;color:var(--text-dark);
  padding:2px 0;
}

/* =========================================================
   MENU FULLSCREEN (padrão Raised)
   ========================================================= */
.navmenu{
  position:fixed;inset:0;z-index:200;background:var(--dark);
  display:flex;align-items:center;justify-content:flex-end;padding:0 9vw;
  transform:translateX(100%);transition:transform .55s cubic-bezier(.76,0,.24,1);
  visibility:hidden;overflow:hidden;
}
body.nav-open{overflow:hidden;}
body.nav-open .navmenu{transform:none;visibility:visible;}
.navmenu__list{text-align:right;display:flex;flex-direction:column;gap:16px;position:relative;z-index:2;}
.navmenu__list a{
  font-family:'Mulish',sans-serif;font-weight:500;font-size:clamp(34px,5vw,58px);
  color:var(--white);line-height:1.05;display:inline-block;
  opacity:0;transform:translateX(40px);transition:color .2s,transform .2s;
}
body.nav-open .navmenu__list a{
  opacity:1;transform:none;
  transition:color .2s,opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);
}
body.nav-open .navmenu__list li:nth-child(1) a{transition-delay:.12s;}
body.nav-open .navmenu__list li:nth-child(2) a{transition-delay:.18s;}
body.nav-open .navmenu__list li:nth-child(3) a{transition-delay:.24s;}
body.nav-open .navmenu__list li:nth-child(4) a{transition-delay:.30s;}
body.nav-open .navmenu__list li:nth-child(5) a{transition-delay:.36s;}
body.nav-open .navmenu__list li:nth-child(6) a{transition-delay:.42s;}
.navmenu__list a:hover{color:var(--green-bright);transform:translateX(-6px);}
.navmenu__close{
  position:absolute;top:34px;right:9vw;background:none;border:none;cursor:pointer;
  padding:0;line-height:0;z-index:3;
}
.navmenu__close img{height:50px;width:50px;}
.navmenu__deco{position:absolute;left:-4%;top:0;bottom:0;width:60%;pointer-events:none;z-index:1;}
.navmenu__deco span{position:absolute;background:var(--white);display:block;opacity:.9;}
.navmenu__deco span:nth-child(1){width:360px;height:360px;border-radius:0 0 360px 0;left:0;top:6%;}
.navmenu__deco span:nth-child(2){width:230px;height:230px;border-radius:0 230px 0 0;left:16%;top:44%;}
.navmenu__deco span:nth-child(3){width:280px;height:280px;border-radius:0 280px 280px 0;left:0;bottom:6%;}

/* =========================================================
   ANIMAÇÕES DE ENTRADA (scroll reveal)
   ========================================================= */
@media (prefers-reduced-motion: no-preference){
  html.js .reveal{
    opacity:0;transform:translateY(32px);
    transition:opacity .7s ease, transform .8s cubic-bezier(.2,.7,.2,1);
    will-change:opacity,transform;
  }
  html.js .reveal.reveal--in{opacity:1;transform:none;}
}

/* =========================================================
   RESPONSIVO — TABLET / NOTEBOOK
   ========================================================= */
@media (max-width:1200px){
  .hero__title{font-size:58px;line-height:54px;}
  .hero__sub{font-size:26px;}
  .sechead__title,.subhead,.eventos__title,.techcard__col h3{font-size:26px;}
  .sechead{gap:28px;margin-bottom:40px;}
  .sechead__icon{width:96px;height:96px;}
  .conteudo__text .sechead__icon{width:96px;height:96px;}
  .tech__text .sechead{margin-bottom:120px;}
  .tech__text{padding-top:40px;}
  .techcard{margin-top:-140px;}
}

@media (max-width:1024px){
  :root{--sec-y:64px;--pad:24px;}

  /* hero deixa de ter altura fixa; mockup vira bloco normal */
  .hero{min-height:0;}
  .hero__inner{padding-top:40px;padding-bottom:48px;}
  .hero__topbar{margin-bottom:90px;}
  /* blob vira faixa atrás do título (mesmo enquadramento do desktop) */
  .hero__blob{top:96px;bottom:auto;height:240px;}
  .hero__blob img{object-position:28% center;}
  /* position:relative para o z-index continuar valendo sobre o blob */
  .hero__mockup{
    position:relative;transform:none;left:auto;top:auto;padding:0 var(--pad) 0;
    margin:0 auto;max-width:var(--wrap);
  }
  .shot--hero{margin-left:0;width:100%;max-width:520px;margin-inline:auto;}

  .intro{padding-top:48px;}
  .intro__text{max-width:none;}

  .perf__intro{grid-template-columns:1fr;gap:24px;}
  .perf__results{grid-template-columns:1fr 1fr;gap:48px 32px;}

  .branding__grid{grid-template-columns:1fr;gap:40px;}
  .branding__photo img{max-width:440px;margin:0 auto;}
  .eventos{grid-template-columns:1fr 1fr;gap:32px;padding:32px;}
  .eventos__mat{grid-column:1/-1;margin-top:0;}

  .tech__grid{grid-template-columns:1fr;gap:40px;}
  .tech__shot{max-width:520px;margin:0 auto;}
  .tech__text{padding-top:0;}
  .tech__text .sechead{margin-bottom:32px;}
  .techcard{margin-top:48px;grid-template-columns:1fr;gap:32px;padding:36px 32px;}

  .conteudo__grid{grid-template-columns:1fr;gap:32px;}
  .conteudo__text{padding-top:0;padding-right:0;}
  .conteudo__shot img{max-width:640px;margin:0 auto;}
  .social{grid-template-columns:1fr;gap:40px;}
  .social__icon{margin-bottom:24px;}
}

/* =========================================================
   RESPONSIVO — MOBILE
   ========================================================= */
@media (max-width:680px){
  :root{--sec-y:54px;--pad:20px;}

  .hero__inner{padding-top:28px;padding-bottom:36px;}
  .hero__topbar{margin-bottom:56px;}
  .logo__img{height:44px;}
  .hero__menu img{height:42px;width:42px;}
  .hero__title{font-size:44px;line-height:42px;letter-spacing:.9px;}
  .hero__sub{font-size:21px;margin-top:24px;max-width:none;}

  .sec p,.intro p,.eventos__list li,.techcard__col li,.social__col li{
    font-size:16px;line-height:22px;
  }
  .sechead{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:28px;}
  .sechead__icon,.conteudo__text .sechead__icon{width:80px;height:80px;}
  .sechead__title,.subhead,.eventos__title,.techcard__col h3{font-size:22px;letter-spacing:.6px;}

  /* carrossel dos criativos */
  .perf__ads{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
    gap:14px;margin:0 calc(var(--pad) * -1) 40px;padding:0 var(--pad) 4px;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .perf__ads::-webkit-scrollbar{display:none;}
  .perf__ads figure{flex:0 0 auto;width:min(240px,72vw);min-width:0;scroll-snap-align:start;}

  .perf__results{grid-template-columns:1fr;gap:44px;}

  .eventos{grid-template-columns:1fr;gap:24px;padding:28px 24px;}
  .eventos__mat{margin-top:0;}

  .techcard{padding:28px 24px;}
  .techcard__col h3,.techcard__col li{padding-right:0;}

  .social__icon{height:64px;}
}

/* =========================================================
   =========================================================
   PÁGINA ECOFLOW (ecoflow.html)
   Frame Figma 1920 × 4257 — reaproveita todo o sistema acima
   =========================================================
   ========================================================= */

/* ---------- HERO ---------- */
.hero--eco .hero__inner{padding-bottom:207px;}
.hero--eco .hero__sub{font-size:28px;letter-spacing:.84px;max-width:401px;}

/* notebook + estação de energia + logo, atravessando hero → faixa branca.
   height:0 para não interferir no fluxo; filhos posicionados em % do 1280 do Figma */
.eco-hero__mockup{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:calc(100% - var(--pad) * 2);max-width:1280px;height:0;
  z-index:3;pointer-events:none;
}
.eco-hero__mockup img{position:absolute;max-width:none;height:auto;}
.eco-hero__laptop {left:15.39%;top:84px;  width:121.33%;}
.eco-hero__produto{left:51.95%;top:648px; width:54.61%;}
.eco-hero__logo   {left:51.95%;top:1228px;width:30.63%;}

/* ---------- INTRO ---------- */
.intro--eco{padding:107px 0 89px;}
.intro--eco .intro__text{max-width:42.9%;}
.intro--eco .intro__text p + p{margin-top:23px;}
.intro--eco .intro__period{margin-top:46px;}

/* ---------- O DESAFIO DO LANÇAMENTO ---------- */
.desafio{padding:105px 0 0;}
.desafio__grid{
  display:grid;grid-template-columns:47.34% 54.84%;
  align-items:start;
}
.desafio__text{max-width:440px;}
.desafio__text .sechead__title{color:var(--white);margin-bottom:46px;max-width:217px;}

/* colagem de banners de display (4 peças rotacionadas 10,34°, recortadas) */
.desafio__banners{
  position:relative;aspect-ratio:702/601;overflow:hidden;
  margin-top:-105px;   /* a janela ocupa a altura inteira da seção no Figma */
}
.desafio__banners .b{
  position:absolute;transform:translate(-50%,-50%) rotate(10.34deg);
  object-fit:cover;max-width:none;
}
.desafio__banners .b--1{left:67.08%;top:72.09%;width:40.80%;height:95.26%;}
.desafio__banners .b--2{left:74.64%;top:7.08%; width:35.68%;height:27.77%;}
.desafio__banners .b--3{left:21.95%;top:94.70%;width:35.68%;height:27.77%;}
.desafio__banners .b--4{left:31.08%;top:36.14%;width:35.63%;height:83.19%;}

/* ---------- PERFORMANCE E GROWTH (fundo claro no Ecoflow) ---------- */
.perf--eco{padding:81px 0 0;}
.perf--eco .sechead{margin-bottom:75px;}
.eco-perf__intro{
  display:grid;grid-template-columns:22.03% 19.92% 48.83%;
  justify-content:space-between;margin-bottom:109px;
}
.eco-perf__intro p{margin:0;text-align:left;}

/* a fileira de criativos avança sobre a seção escura seguinte.
   larguras e vão reproduzem os 265/264/265/306 px do Figma */
.perf--eco .perf__ads{
  grid-template-columns:265fr 264fr 265fr 306fr;gap:4.635%;
  margin-bottom:-172px;position:relative;z-index:2;
}
.perf--eco .perf__ads figure:nth-child(4) img{aspect-ratio:306/265;}

/* ---------- RESULTADOS ---------- */
.resultados{padding:208px 0 78px;}

/* ---------- GESTÃO DE CONTEÚDO ---------- */
.eco-conteudo{padding:56px 0 146px;}
.eco-conteudo__grid{
  display:grid;grid-template-columns:31.09% 1fr;align-items:start;
}
.eco-conteudo__text{padding-top:140px;max-width:282px;}
.eco-conteudo__text .sechead{margin-bottom:37px;}
.eco-conteudo__text .sechead__icon{width:126px;height:126px;}
.eco-conteudo__ig{height:67px;width:auto;margin-bottom:22px;}
.eco-conteudo__list{list-style:disc;padding-left:22px;}
.eco-conteudo__list li{
  font-size:18px;line-height:23px;letter-spacing:.54px;color:var(--text-dark);
}
/* a colagem sangra 63px para fora da direita da tela, como no Figma */
.eco-conteudo__collage{margin:0;margin-right:calc(72.57% - 50vw - 63px);}
.eco-conteudo__collage img{width:100%;height:auto;}

/* ---------- RESPONSIVO ECOFLOW ---------- */
@media (max-width:1200px){
  .hero--eco .hero__sub{font-size:23px;}
}

@media (max-width:1024px){
  .hero--eco .hero__inner{padding-bottom:48px;}
  .hero--eco .hero__sub{max-width:none;}
  /* mockup sai do absoluto e vira bloco em fluxo */
  .eco-hero__mockup{
    position:relative;left:auto;top:auto;transform:none;
    width:100%;max-width:var(--wrap);height:auto;margin:0 auto;
    padding:0 var(--pad) 8px;display:block;
  }
  .eco-hero__mockup img{position:relative;left:auto;top:auto;}
  .eco-hero__laptop{width:100%;max-width:520px;margin:0 auto;}
  .eco-hero__produto{width:58%;max-width:300px;margin:-18% auto 0;}
  .eco-hero__logo{width:44%;max-width:230px;margin:16px auto 0;}

  .intro--eco{padding-top:48px;padding-bottom:var(--sec-y);}
  .intro--eco .intro__text{max-width:none;}

  .desafio__grid{grid-template-columns:1fr;gap:40px;}
  .desafio__text{max-width:none;}
  .desafio__text .sechead__title{max-width:none;margin-bottom:24px;}
  .desafio__banners{margin-top:0;max-width:520px;margin-inline:auto;width:100%;}

  .perf--eco{padding-bottom:var(--sec-y);}
  .eco-perf__intro{grid-template-columns:1fr;gap:24px;margin-bottom:40px;}
  .perf--eco .perf__ads{margin-bottom:0;}
  .resultados{padding:var(--sec-y) 0;}

  .eco-conteudo{padding:var(--sec-y) 0;}
  .eco-conteudo__grid{grid-template-columns:1fr;gap:32px;}
  .eco-conteudo__text{padding-top:0;max-width:none;}
  .eco-conteudo__collage{margin-right:0;}
  .eco-conteudo__collage img{max-width:640px;margin:0 auto;}
}

@media (max-width:680px){
  .hero--eco .hero__sub{font-size:19px;}
  .eco-conteudo__list li{font-size:16px;line-height:22px;}
  .eco-conteudo__ig{height:56px;}
}

/* =========================================================
   =========================================================
   PÁGINA CONX (conx.html)
   Frame Figma 1920 × 5706 — reaproveita todo o sistema acima
   =========================================================
   ========================================================= */

/* ---------- HERO ---------- */
.hero--conx .hero__inner{padding-bottom:207px;}
.hero--conx .hero__sub{font-size:28px;font-weight:500;letter-spacing:.84px;max-width:399px;}

/* print longo do site com o notebook por cima */
.cx-hero__mockup{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:calc(100% - var(--pad) * 2);max-width:1280px;height:0;
  z-index:3;pointer-events:none;
}
.cx-hero__site{
  position:absolute;left:48.17%;top:253px;width:48.10%;
  aspect-ratio:615.715/1162.802;overflow:hidden;border-radius:23px;
}
.cx-hero__site img{width:100%;height:auto;max-width:none;display:block;}
.cx-hero__macbook{position:absolute;left:41.30%;top:230px;width:61.77%;max-width:none;height:auto;}

/* ---------- INTRO ---------- */
.intro--conx{padding:77px 0 89px;}
.intro--conx .intro__text{max-width:39.2%;}
.intro--conx .intro__period{margin-top:23px;}
.intro--conx .intro__period strong{font-weight:800;}

/* ---------- PERFORMANCE E GROWTH ---------- */
.perf--conx{padding:59px 0 71px;}
.perf--conx .sechead{margin-bottom:58px;}

/* criativos 229×229 e colunas de resultado dividem a mesma grade */
.cx-ads,.cx-results{
  display:grid;grid-template-columns:repeat(4,17.89%);justify-content:space-between;
}
.cx-ads{margin-bottom:46px;}
.cx-ads figure{margin:0;}
.cx-ads img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.cx-results .rescol__logo{max-height:51px;max-width:100%;margin:0 auto 29px;}
.cx-results__seo{
  height:51px;margin:0 auto 29px;display:flex;align-items:center;justify-content:center;
  font-size:25px;font-weight:700;letter-spacing:.75px;color:var(--white);
}

/* ---------- CONX PRODUTOS ---------- */
.cx-produtos{padding:94px 0 46px;}
.cx-produtos__head{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;}
.cx-produtos__title{
  font-size:73px;line-height:67px;font-weight:900;letter-spacing:1.46px;
  color:var(--text-dark);
}
.cx-produtos__rd{width:30.4%;height:auto;margin-top:52px;object-fit:contain;}

.cx-produtos__cols{
  display:grid;grid-template-columns:47.3% 33.1%;justify-content:space-between;
  margin-top:66px;
}
.cx-produtos__text p + p{margin-top:23px;}
.cx-produtos__rd-text p{
  font-size:16px;line-height:23px;letter-spacing:.48px;text-align:center;color:var(--text-dark);
}
.cx-produtos__rd-text p + p{margin-top:23px;}

/* título de bloco centralizado ("Números por empreendimento", "2025") */
.cx-heading{
  font-size:32px;line-height:1.2;font-weight:800;letter-spacing:.96px;
  color:var(--text-dark);text-align:center;margin:105px 0 90px;
}

/* ---------- CARDS DE EMPREENDIMENTO ---------- */
.cx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:64px 0;}
.cx-card{text-align:center;padding:0 12px;}
.cx-card__logo{
  height:110px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:12px;
}
.cx-card__logo img{max-height:62px;max-width:62%;width:auto;object-fit:contain;}
.cx-card__logo img.is-square{max-height:105px;}
.cx-card p{font-size:16px;line-height:23px;letter-spacing:.48px;color:var(--text-dark);margin:0;}
.cx-card .cx-card__name{font-weight:700;}
.cx-card .cx-card__period{font-weight:900;}
.cx-card--dark p{color:var(--white);}
.cx-card--center{grid-column:2;}

/* ---------- EMPREENDIMENTOS ZERADOS (escuro) ---------- */
.cx-zerados{padding:75px 0 197px;}
.cx-zerados__grid{display:grid;grid-template-columns:41.1% 43.6%;column-gap:10.1%;align-items:start;}
.cx-zerados__text .sechead__title{color:var(--white);max-width:338px;margin-bottom:22px;}
.cx-zerados__cards{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.cx-zerados__cards .cx-card__logo img{max-height:125px;}

/* ---------- 2025 ---------- */
.cx-2025{padding:0 0 80px;display:flow-root;}
.cx-2025 .cx-grid{gap:93px 0;}
.cx-foto{margin:-119px 0 0;position:relative;z-index:2;}
.cx-foto img{width:100%;height:286px;object-fit:cover;border-radius:var(--radius);}
.cx-2025 .cx-heading{margin-top:65px;}

/* ---------- RESPONSIVO CONX ---------- */
@media (max-width:1200px){
  .hero--conx .hero__sub{font-size:23px;}
  .cx-produtos__title{font-size:56px;line-height:52px;}
  .cx-heading{font-size:26px;margin:72px 0 56px;}
}

@media (max-width:1024px){
  .hero--conx .hero__inner{padding-bottom:48px;}
  .hero--conx .hero__sub{max-width:none;}
  .cx-hero__mockup{
    position:relative;left:auto;top:auto;transform:none;
    width:100%;max-width:var(--wrap);height:auto;margin:0 auto;
    padding:0 var(--pad) 8px;
  }
  .cx-hero__site{
    position:relative;left:auto;top:auto;width:100%;max-width:400px;
    margin:-6% auto 0;border-radius:16px;
  }
  .cx-hero__macbook{position:relative;left:auto;top:auto;width:100%;max-width:520px;margin:0 auto;}

  .intro--conx{padding:48px 0 var(--sec-y);}
  .intro--conx .intro__text{max-width:none;}

  .perf--conx{padding:var(--sec-y) 0;}
  .cx-results{grid-template-columns:1fr 1fr;gap:48px 32px;justify-content:stretch;}

  .cx-produtos{padding:var(--sec-y) 0;}
  .cx-produtos__head{flex-direction:column;align-items:flex-start;gap:24px;}
  .cx-produtos__rd{width:auto;max-width:280px;margin-top:0;}
  .cx-produtos__cols{grid-template-columns:1fr;gap:32px;margin-top:32px;}
  .cx-produtos__rd-text p{text-align:left;}

  .cx-grid{grid-template-columns:1fr 1fr;gap:48px 24px;}
  .cx-card--center{grid-column:auto;}

  .cx-zerados{padding:var(--sec-y) 0 120px;}
  .cx-zerados__grid{grid-template-columns:1fr;column-gap:0;row-gap:40px;}
  .cx-zerados__text .sechead__title{max-width:none;}

  .cx-2025{padding-bottom:var(--sec-y);}
  .cx-foto{margin-top:-80px;}
  .cx-foto img{height:220px;}
}

@media (max-width:680px){
  .hero--conx .hero__sub{font-size:19px;}

  /* criativos viram carrossel */
  .cx-ads{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
    gap:14px;margin:0 calc(var(--pad) * -1) 40px;padding:0 var(--pad) 4px;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .cx-ads::-webkit-scrollbar{display:none;}
  .cx-ads figure{flex:0 0 auto;width:min(240px,72vw);min-width:0;scroll-snap-align:start;}

  .cx-results{grid-template-columns:1fr;gap:44px;}
  .cx-produtos__title{font-size:42px;line-height:40px;}
  .cx-heading{font-size:22px;margin:48px 0 36px;}

  .cx-grid{grid-template-columns:1fr;gap:44px;}
  .cx-card{padding:0;}
  .cx-card__logo{height:92px;}
  .cx-zerados__cards{grid-template-columns:1fr;gap:44px;}
  .cx-card p,.cx-card__name,.cx-card__period{font-size:15px;line-height:22px;}
  .cx-foto{margin-top:-56px;}
  .cx-foto img{height:170px;}
}

/* =========================================================
   =========================================================
   PÁGINA CAC — Comercial Carvalho (cac.html)
   Frame Figma 1920 × 9061 — reaproveita todo o sistema acima
   =========================================================
   ========================================================= */

/* ---------- HERO ---------- */
.hero--cac .hero__inner{padding-bottom:207px;}
.hero--cac .hero__topbar{margin-bottom:155px;}
.hero--cac .hero__sub{font-size:28px;letter-spacing:.84px;max-width:401px;margin-top:39px;}

.cac-hero__mockup{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:calc(100% - var(--pad) * 2);max-width:1280px;height:0;
  z-index:3;pointer-events:none;
}
.cac-hero__mockup img{position:absolute;max-width:none;height:auto;}
.cac-hero__macbook{left:32.03%;top:264px; width:75.94%;}
.cac-hero__c1    {left:36.80%;top:892px; width:57.19%;}
.cac-hero__c2    {left:62.89%;top:777px; width:43.28%;}
.cac-hero__c3    {left:60.86%;top:1005px;width:19.06%;}

/* ---------- INTRO ---------- */
.intro--cac{padding:69px 0 0;}
.intro--cac .intro__text{max-width:31.72%;}
.intro--cac .intro__period{margin-top:23px;}

/* ---------- BRANDING ---------- */
.cac-branding{position:relative;background:var(--white);padding:56px 0 0;overflow:hidden;}
.cac-branding__shape{
  position:absolute;left:0;top:24px;width:44.5%;height:auto;
  opacity:.06;pointer-events:none;
}
.cac-branding__grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:53.75% 38.5%;justify-content:space-between;
  align-items:start;
}
/* trio escalonado de imagens; transborda para dentro da seção escura seguinte */
.cac-branding__gallery{
  position:relative;aspect-ratio:688/772;margin-bottom:-95px;z-index:2;
}
.cac-branding__gallery .g{position:absolute;max-width:none;border-radius:4px;}
.cac-branding__gallery .g--1{left:0;      top:0;     width:52.6%;}
.cac-branding__gallery .g--2{left:46.5%;  top:23.7%; width:53.5%;}
.cac-branding__gallery .g--3{left:14.7%;  top:58.3%; width:46.5%;}

.cac-branding__text{padding-top:26px;}
.cac-branding__text .sechead{gap:45px;margin-bottom:47px;}
.cac-branding__text .sechead__icon{width:134px;height:134px;}
.cac-campanhas{margin-top:29px;}
.cac-campanhas li{
  font-size:22px;line-height:28px;font-weight:900;color:var(--text-dark);
  padding-left:71px;min-height:28px;
  background:url("assets/cac-arrow.svg") no-repeat left .5em;
  background-size:58px 13px;
}
.cac-campanhas strong{font-weight:600;}

/* ---------- PERFORMANCE E GROWTH ---------- */
.cac-perf{padding:131px 0 27px;}
.cac-perf__grid{
  display:grid;grid-template-columns:41.4% 49.57%;justify-content:space-between;
  align-items:start;
}
.cac-perf__text .sechead{margin-bottom:94px;}
.cac-perf__text p + p{margin-top:23px;}
.cac-perf__media{position:relative;aspect-ratio:634.5/923;margin-top:-88px;}
.cac-perf__media .m{position:absolute;max-width:none;border-radius:6px;}
.cac-perf__media .m--story  {left:49.7%;top:0;    width:50.3%;}
.cac-perf__media .m--anuncio{left:7.5%; top:2.5%; width:45.5%;}
.cac-perf__media .m--phone  {left:10.5%;top:26.2%;width:58.9%;border-radius:0;
  filter:drop-shadow(0 24px 26px rgba(0,0,0,.55));}

/* ---------- E-COMMERCE ---------- */
.cac-ecom{padding:76px 0 55px;}
.cac-ecom__grid{
  display:grid;grid-template-columns:41% 69.92%;align-items:start;
}
.cac-ecom__logo{width:29.5%;min-width:200px;height:auto;margin-bottom:60px;}
.cac-ecom__text h3{
  font-size:24px;line-height:1.25;font-weight:800;letter-spacing:.72px;
  color:var(--text-dark);margin-bottom:22px;
}
.cac-ecom__text p{margin-bottom:56px;}
.cac-ecom__text p:last-child{margin-bottom:0;}
.cac-ecom__shot{margin:-58px 0 -92px;position:relative;z-index:1;}
.cac-ecom__shot img{width:100%;height:auto;}

/* ---------- RESULTADOS POR ANO ---------- */
.cac-anos{padding:50px 0 142px;}
.cac-anos__block + .cac-anos__block{margin-top:78px;}
.cac-anos__logo{height:auto;max-height:84px;width:auto;margin:0 auto 44px;object-fit:contain;}
.cac-anos__grid{display:grid;grid-template-columns:49% 49%;justify-content:space-between;gap:26px 0;}
.cac-anos__grid--3{grid-template-columns:repeat(3,32.5%);}
.ycard{
  border:1px solid var(--white);border-radius:22px;
  padding:34px 44px;
}
.ycard h4{
  font-size:26px;line-height:1.2;font-weight:800;letter-spacing:.78px;
  color:var(--white);margin-bottom:21px;
}
.ycard p{font-size:18px;line-height:23px;letter-spacing:.54px;color:var(--white);}

/* ---------- GESTÃO DE CONTEÚDO ---------- */
.cac-conteudo{padding:93px 0 170px;}
.cac-conteudo__grid{
  display:grid;grid-template-columns:35.3% 1fr;column-gap:3.76%;
  align-items:start;
}
.cac-conteudo__text{padding-top:18px;}
.cac-conteudo__text .sechead{margin-bottom:39px;}
.cac-conteudo__text .sechead__icon{width:126px;height:126px;}
.cac-conteudo__text p + p{margin-top:23px;}
.cac-conteudo__text strong{font-weight:800;}

/* a coluna de mídia sangra 324px para fora da direita, como no Figma */
.cac-conteudo__media{position:relative;display:grid;grid-template-columns:31.5% 1fr;gap:0;align-items:start;margin-right:-41.5%;}
.cac-conteudo__phone{width:100%;height:auto;margin-top:-18px;
  filter:drop-shadow(0 20px 24px rgba(0,0,0,.22));}
.cac-conteudo__posts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:9px;
  margin-left:5%;margin-top:65px;
}
.cac-conteudo__posts img{width:100%;aspect-ratio:247/311;object-fit:cover;border-radius:4px;}

/* faixa de materiais + card escuro */
.cac-materiais{position:relative;margin-top:-83px;}
.cac-materiais__foto{
  position:absolute;left:7.27%;bottom:0;width:25.7%;height:auto;z-index:2;border-radius:4px;
}
.cac-materiais__card{
  background:var(--dark);color:var(--white);border-radius:35px;
  padding:81px 88px 37px;padding-left:43.9%;
  margin-top:96px;min-height:423px;
}
.cac-materiais__card p{color:var(--white);}
.cac-materiais__listas{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:31px;}
.cac-materiais__listas ul{list-style:disc;padding-left:22px;}
.cac-materiais__listas li{
  font-size:18px;line-height:34px;letter-spacing:.54px;color:var(--white);
}

/* redes sociais */
.cac-social{
  display:grid;grid-template-columns:9.6% 15.9% 20.4% 19.1% 21.9%;
  justify-content:space-between;align-items:start;margin-top:133px;
}
.cac-social--bordered{border-top:1px solid rgba(0,0,0,.62);padding-top:45px;margin-top:78px;}
.cac-social__icon{width:100%;max-width:123px;height:auto;}
.cac-social__col h4{
  font-size:22px;line-height:1.2;font-weight:800;letter-spacing:.66px;
  color:var(--text-dark);margin-bottom:22px;
}
.cac-social__col p{font-size:18px;line-height:23px;letter-spacing:.54px;color:var(--text-dark);}

/* ---------- TECH, ANALYTICS E BI ---------- */
.cac-tech{padding:66px 0 208px;}
.cac-tech__grid{
  display:grid;grid-template-columns:60.6% 44.4%;justify-content:space-between;
  align-items:start;
}
.cac-tech__media{position:relative;aspect-ratio:776/761;margin-left:-4.22%;}
.cac-tech__media img{position:absolute;max-width:none;border-radius:6px;}
.cac-tech__dash{left:0;    top:0;    width:100%;}   /* notebook, por cima */
.cac-tech__web {left:9.92%;top:1.58%;width:80.3%;}  /* pagina longa, atras */
.cac-tech__text .sechead{gap:49px;margin-bottom:46px;}
.cac-tech__text .sechead__icon{width:145px;height:146px;}
.cac-tech__text p + p{margin-top:23px;}
.cac-tech__card{
  background:var(--white);border-radius:var(--radius);
  padding:57px 56px;margin-top:22px;
}
.cac-tech__card p{font-size:22px;line-height:28px;letter-spacing:.66px;color:var(--text-dark);}

/* ---------- RESPONSIVO CAC ---------- */
@media (max-width:1200px){
  .hero--cac .hero__sub{font-size:23px;}
  .cac-campanhas li{font-size:19px;padding-left:56px;background-size:46px 10px;}
  .ycard{padding:36px 32px;}
  .ycard h4{font-size:22px;}
  .cac-tech__card{padding:40px 36px;}
  .cac-tech__card p{font-size:19px;line-height:26px;}
}

@media (max-width:1024px){
  .hero--cac .hero__inner{padding-bottom:48px;}
  .hero--cac .hero__topbar{margin-bottom:80px;}
  .hero--cac .hero__sub{max-width:none;}
  .cac-hero__mockup{
    position:relative;left:auto;top:auto;transform:none;
    width:100%;max-width:var(--wrap);height:auto;margin:0 auto;
    padding:0 var(--pad) 8px;display:grid;grid-template-columns:1fr 1fr;gap:16px;
    align-items:center;
  }
  .cac-hero__mockup img{position:relative;left:auto;top:auto;width:100%;}
  .cac-hero__macbook{grid-column:1/-1;max-width:520px;margin:0 auto;}
  .cac-hero__c3{display:none;}

  .intro--cac{padding:48px 0 0;}
  .intro--cac .intro__text{max-width:none;}

  .cac-branding{padding:48px 0 0;}
  .cac-branding__grid{grid-template-columns:1fr;gap:40px;}
  .cac-branding__gallery{max-width:520px;margin:0 auto -40px;}
  .cac-branding__text{padding-top:0;}
  .cac-branding__shape{width:70%;opacity:.05;}

  .cac-perf{padding:var(--sec-y) 0;}
  .cac-perf__grid{grid-template-columns:1fr;gap:40px;}
  .cac-perf__text .sechead{margin-bottom:32px;}
  .cac-perf__media{margin-top:0;max-width:520px;margin-inline:auto;width:100%;}

  .cac-ecom{padding:var(--sec-y) 0;}
  .cac-ecom__grid{grid-template-columns:1fr;gap:40px;}
  .cac-ecom__shot{margin-top:0;max-width:600px;}
  .cac-ecom__text p{margin-bottom:36px;}

  .cac-anos{padding:var(--sec-y) 0;}
  .cac-anos__grid,.cac-anos__grid--3{grid-template-columns:1fr 1fr;gap:20px;}

  .cac-conteudo{padding:var(--sec-y) 0;}
  .cac-conteudo__grid{grid-template-columns:1fr;gap:36px;}
  .cac-conteudo__media{grid-template-columns:34% 1fr;margin-right:0;}
  .cac-materiais{margin-top:56px;}
  .cac-materiais__foto{position:relative;left:auto;bottom:auto;width:100%;max-width:300px;margin:0 auto 24px;}
  .cac-materiais__card{padding:36px 32px;min-height:0;}
  .cac-social{grid-template-columns:1fr 1fr;gap:32px;margin-top:56px;}
  .cac-social__icon{grid-column:1/-1;max-width:88px;}

  .cac-tech{padding:var(--sec-y) 0;}
  .cac-tech__grid{grid-template-columns:1fr;gap:40px;}
  .cac-tech__media{margin-left:0;max-width:560px;}
  .cac-tech__card{padding:32px 28px;}
}

@media (max-width:680px){
  .hero--cac .hero__sub{font-size:19px;}
  .cac-hero__mockup{grid-template-columns:1fr;}
  .cac-hero__c2{display:none;}
  .cac-campanhas li{font-size:17px;padding-left:44px;background-size:34px 8px;}
  .cac-anos__grid,.cac-anos__grid--3{grid-template-columns:1fr;gap:18px;}
  .ycard{padding:28px 24px;}
  .ycard h4{font-size:20px;}
  .ycard p{font-size:16px;line-height:22px;}
  .cac-ecom__text h3{font-size:20px;}
  .cac-conteudo__media{grid-template-columns:1fr;gap:20px;}
  .cac-conteudo__phone{max-width:260px;margin:0 auto;}
  .cac-conteudo__posts{margin-left:0;}
  .cac-materiais__card{padding:28px 24px;}
  .cac-materiais__listas{grid-template-columns:1fr 1fr;}
  .cac-materiais__listas li{font-size:16px;line-height:28px;}
  .cac-social{grid-template-columns:1fr;gap:28px;}
  .cac-social__col p{font-size:16px;line-height:22px;}
  .cac-tech__card p{font-size:17px;line-height:24px;}
}
