/* =========================================================
   Potencializee — Home
   ========================================================= */

:root{
  --cream: #f6f5f1;
  --orange: #eb6524;
  --orange-dark: #d4551a;
  --ink: #14141a;
  --navy: #0d1c31;
  --muted: #6b6b6b;
  --line: #ddd9d1;
  --dark: #020305;
  --navy-map: #0b1423;
  --navy-footer: #0f1e35;

  --font: 'Manrope', system-ui, -apple-system, "Segoe UI", sans-serif;
  --wrap: 1312px;
  --radius: 20px;
  --radius-lg: 28px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:hidden; }
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--cream);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ margin:0; font-weight:700; letter-spacing:-0.02em; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }

.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:20px;
}
.center{ text-align:center; margin-inline:auto; }
.accent{ color:var(--orange); }

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

/* focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  html{ scroll-behavior:auto; }
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:28px 46px;
  border-radius:100px;
  font-weight:600;
  font-size:22px;
  white-space:nowrap;
  border:1.5px solid transparent;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:var(--orange); color:#fff; }
.btn-primary:hover{ background:var(--orange-dark); }
.btn-outline{ background:transparent; color:#fff; border-color:rgba(255,255,255,.35); }
.btn-outline:hover{ background:#fff; color:var(--dark); }
.btn-arrow{ font-size:15px; transition:transform .18s ease; }
.btn:hover .btn-arrow{ transform:translate(2px,-2px); }

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:sticky; top:0; z-index:100;
  background:var(--cream);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:22px;
}
.logo{
  font-size:22px; font-weight:800; letter-spacing:-0.02em;
  display:inline-flex; align-items:center; gap:3px;
  flex-shrink:0;
}
.logo-dark{ color:var(--navy); }
.logo-accent{ color:var(--orange); }
.bolt{ width:20px; height:20px; fill:var(--orange); flex-shrink:0; }
.bolt-logo{ width:14px; height:14px; margin-left:1px; }
.logo-white .bolt-logo{ fill:var(--orange); }
.logo-white span{ color:#fff; }
.logo-img{ height:22px; width:auto; display:block; }
.site-footer .logo-img{ height:26px; }

.main-nav{ display:flex; align-items:center; gap:38px; }
.main-nav a{
  font-size:18px; font-weight:500; color:var(--ink); opacity:.7;
  transition:opacity .15s;
  padding-bottom:4px; border-bottom:1.5px solid transparent;
}
.main-nav a:hover{ opacity:1; }
.main-nav a.active{ opacity:1; border-bottom-color:var(--ink); }

.header-right{ display:flex; align-items:center; gap:18px; }

.menu-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:34px; height:34px; background:none; border:none; padding:0;
}
.menu-toggle span{ width:100%; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s, opacity .2s; }
.menu-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Language switch — vertical stack, floats beside the hero shards */
.lang-switch{
  display:flex; flex-direction:column; gap:6px;
}
.lang-btn{
  border:1px solid var(--line); background:transparent; color:var(--muted);
  font-size:12px; font-weight:700; padding:6px 10px; border-radius:7px;
  min-width:36px;
}
.lang-btn.active{ background:var(--orange); color:#fff; border-color:var(--orange); }

/* =========================================================
   HERO
   ========================================================= */
.hero{ padding-top:40px; }
.hero-inner{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:start;
  gap:24px;
  position:relative;
}
.hero-copy h1{
  font-size:125px;
  line-height:1;
  letter-spacing:-0.075em;
  font-weight:300;
  display:block;
}
.hero-sub{ font-size:inherit; font-weight:700; color:var(--ink); letter-spacing:inherit; line-height:inherit; margin-top:0; }
.hero-copy .btn{ margin-top:40px; width:313px; height:90px; padding:0; justify-content:center; }

.hero-visual{ position:relative; width:760px; height:706px; }
.hero-carousel{
  position:absolute; left:0; top:0;
  width:424px; height:706px;
  aspect-ratio:424/706;
  border-radius:16px; overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.35);
}
.hero-photo-base{
  position:absolute; inset:0; z-index:1;
  width:100%; height:100%; object-fit:cover;
}

/* =========================================================
   FULL-WIDTH HERO BANNER (non-TODOMODA slides)
   Lives in normal document flow — no page-level overlay, no scroll bugs.
   ========================================================= */
.hero-banner{
  display:none;
  position:relative;
  left:50%; right:50%; margin-left:-50vw; margin-right:-50vw;
  width:100vw; aspect-ratio:1512/909; max-height:820px;
  overflow:hidden;
  background:#161412;
  margin-top:56px;
}
.hero-banner.active{ display:block; }
.hero-banner.overlap-header{ margin-top:calc(-1 * var(--header-h, 88px) - 40px); }

/* When the banner overlaps the header, the header goes transparent
   with white text so the photo shows through behind the nav. */
.site-header.on-banner{ background:transparent; }
.site-header.on-banner .logo-dark{ color:#fff; }
.site-header.on-banner .logo-dark .logo-accent{ color:var(--orange); }
.site-header.on-banner .main-nav a{ color:#fff; }
.site-header.on-banner .main-nav a.active{ border-bottom-color:#fff; }
.site-header.on-banner .menu-toggle span{ background:#fff; }
.site-header.on-banner .logo-dark,
.site-header.on-banner .main-nav a{
  text-shadow:0 1px 8px rgba(0,0,0,.4);
}
.site-header{ transition:none; }
.logo-dark, .logo-dark .logo-accent, .menu-toggle span{
  transition:none;
}
.hb-slide{
  position:absolute; inset:0; z-index:1;
  opacity:0;
}
.hb-slide.active{ opacity:1; z-index:2; }
.hb-img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
}
.hb-logo{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:220px; height:auto;
  fill:none; stroke:#fff; stroke-width:5;
  filter:drop-shadow(0 2px 14px rgba(0,0,0,.5));
}
.hero-inner.is-hidden{ display:none; }

.lang-switch{ position:absolute; left:646px; top:0; display:flex; flex-direction:column; gap:8px; }
.hero-bolt-icon{
  position:absolute; z-index:4;
  left:334px; top:27px; width:354px; height:auto;
}

.hero-note{
  position:absolute; left:493px; top:564px; z-index:1;
  width:264px; font-size:25px; font-weight:300; line-height:1.4;
}
.hero-note strong{ color:var(--orange); font-weight:600; }

.partners{
  margin-top:70px; padding-bottom:44px;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.partners-track{
  display:flex; align-items:center; gap:64px;
  width:max-content;
  animation:partners-scroll 26s linear infinite;
}
.partners img{ height:34px; width:auto; opacity:.85; flex-shrink:0; }
.partners img.p-md{ height:42px; }
.partners img.p-tall{ height:62px; }
@keyframes partners-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .partners-track{ animation:none; flex-wrap:wrap; justify-content:center; }
}

/* =========================================================
   GRADIENT BANNER
   ========================================================= */
.banner{
  background:linear-gradient(100deg,#00747f 0%, #041524 22%, #1f0410 42%, #501400 58%, #a5620a 78%, #8a4300 100%);
  border-radius:var(--radius-lg);
  margin:0 auto 90px;
  max-width:var(--wrap);
  padding:56px 0;
}
.banner-inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:56px;
  align-items:center;
  padding-inline:56px;
  max-width:100%;
}
.banner-headline{
  color:#fff; font-size:45px; font-weight:400; line-height:1.2; letter-spacing:-.5px;
}
.banner-headline strong{ font-weight:700; }
.banner-headline br{ display:inline; }
.banner-text{ color:#f1efe9; font-size:25px; line-height:1.45; opacity:.92; text-align:left; }
.banner-text strong{ font-weight:700; }

/* =========================================================
   RESULTADOS
   ========================================================= */
.results{ padding-bottom:90px; }
.results-top{
  display:flex; align-items:center; justify-content:space-between; gap:40px;
  margin-bottom:36px; flex-wrap:wrap;
}
.results-top h2{ font-size:45px; line-height:1.22; letter-spacing:-1px; max-width:650px; font-weight:300; }
.results-top h2 strong{ font-weight:600; }
.lead{ margin-top:10px; font-size:25px; color:var(--muted); max-width:640px; font-weight:300; }

.stats{
  display:flex; align-items:center; flex-wrap:nowrap;
  margin-bottom:80px;
}
.stat{
  display:flex; align-items:center; gap:14px;
  padding-right:clamp(16px,2.4vw,32px); margin-right:clamp(16px,2.4vw,32px);
  border-right:1px solid var(--line);
}
.stat:last-child{ border-right:none; margin-right:0; padding-right:0; }
.stat-num{ font-size:clamp(40px,4.4vw,60px); font-weight:600; letter-spacing:-1px; line-height:1; white-space:nowrap; }
.stat-num.accent{ color:var(--orange); }
.stat-label{ color:var(--muted); font-size:clamp(15px,1.45vw,20px); max-width:10em; line-height:1.25; align-self:center; }

.team-block{
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
}
.team-photo-wrap{ grid-area:1 / 1; position:relative; width:58%; aspect-ratio:1001/430; }
.team-photo{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  clip-path:polygon(0 0, 88% 0, 68% 100%, 0 100%);
}
/* O selo fica sobre a diagonal da foto (centro da borda = 78% da largura) */
.team-badge{
  position:absolute; left:78%; top:50%; transform:translate(-50%,-50%);
  width:72px; height:72px; border-radius:50%;
  background:var(--dark);
  display:flex; align-items:center; justify-content:center;
}
.team-badge-bolt{ height:40px; width:auto; display:block; }

/* Tópicos acompanham a angulação da foto: a borda vai de 88% (topo) a 68% (base)
   da largura da foto. Cada item recebe --f (posição vertical, 0 a 1) e
   se afasta da diagonal na mesma proporção. */
.team-facts{
  grid-area:1 / 1; width:58%; align-self:stretch;
  display:flex; flex-direction:column; justify-content:space-around;
  list-style:none; margin:0; padding:10px 0;
}
.team-facts li{
  --f:.5;
  width:340px; max-width:none;
  margin-left:calc(88% - 20% * var(--f) + 68px);
  font-size:20px; line-height:1.3; padding-bottom:18px; border-bottom:1px solid var(--line);
  color:var(--ink); font-weight:300;
}
.team-facts li:nth-child(1){ --f:.125; }
.team-facts li:nth-child(2){ --f:.375; }
.team-facts li:nth-child(3){ --f:.625; }
.team-facts li:nth-child(4){ --f:.875; }
.team-facts li:last-child{ border-bottom:none; padding-bottom:0; }
.team-facts strong{ font-weight:600; }

/* =========================================================
   CASES
   ========================================================= */
.cases{ background:var(--dark); color:#fff; padding:100px 0; }
.cases-top{
  display:flex; justify-content:space-between; align-items:center; gap:30px;
  margin-bottom:56px; flex-wrap:wrap;
}
.cases-top h2{ font-size:38px; font-weight:400; line-height:1.2; }
.cases-top h2 strong{ font-weight:700; }
.cases-top .lead{ color:#a9a9ad; flex:0 0 100%; max-width:none; width:100%; margin-top:0; font-size:25px; }

.cases-carousel-wrap{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.cases-grid{
  display:flex; gap:18px;
  width:max-content;
  animation:cases-scroll 40s linear infinite;
}
.case-card{ margin:0; width:280px; flex-shrink:0; border-radius:16px; overflow:hidden; aspect-ratio:424/565; }
.case-card img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.case-card:hover img{ transform:scale(1.05); }
@keyframes cases-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .cases-grid{ animation:none; flex-wrap:wrap; }
}

/* =========================================================
   ECOSSISTEMA
   ========================================================= */
.ecosystem{ background:var(--dark); color:#fff; padding:110px 0 130px; }
.ecosystem h2{ font-size:45px; font-weight:300; line-height:1.22; letter-spacing:-1px; max-width:none; text-wrap:balance; }
.ecosystem h2 strong{ font-weight:700; }

.ecosystem-grid{
  margin-top:70px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  grid-template-rows:auto auto;
  align-items:center;
  gap:20px;
}
.globe-wrap{ position:relative; width:100%; max-width:500px; justify-self:center; grid-column:2; grid-row:1/3; }
.globe-wrap .globe{ width:100%; display:block; }
.eco-item{ display:flex; flex-direction:column; gap:22px; font-size:30px; font-weight:300; line-height:1.23; letter-spacing:-1px; }
.eco-left{ grid-column:1; text-align:right; align-items:flex-end; }
.eco-right{ grid-column:3; text-align:left; align-items:flex-start; }
.eco-top{ grid-row:1; }
.eco-bottom{ grid-row:2; }
.plus-btn{
  width:38px; height:38px; border-radius:50%; border:none;
  background:rgba(255,255,255,.1); color:#fff; font-size:18px;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; line-height:1;
  transition:background .35s ease, transform .5s cubic-bezier(.22,.61,.36,1);
  flex-shrink:0;
}
.plus-btn:hover{ background:var(--orange); transform:rotate(45deg); }
.plus-btn[aria-expanded="true"]{ background:var(--orange); transform:rotate(45deg); }

.eco-panel{
  display:grid; grid-template-rows:0fr;
  opacity:0; transform:translateY(-8px);
  margin-top:0;
  background:rgba(0,0,0,.83); border:1px solid rgba(255,255,255,0);
  border-radius:32px; width:100%; max-width:389px;
  visibility:hidden;
  transition:grid-template-rows .65s cubic-bezier(.22,.61,.36,1),
             opacity .5s ease,
             transform .65s cubic-bezier(.22,.61,.36,1),
             margin-top .65s cubic-bezier(.22,.61,.36,1),
             border-color .5s ease,
             visibility 0s linear .65s;
}
.eco-panel.open{
  grid-template-rows:1fr; opacity:1; transform:translateY(0);
  margin-top:6px; border-color:#fff; visibility:visible;
  transition-delay:0s;
}
.eco-panel-inner{ overflow:hidden; min-height:0; }
.eco-panel-content{ padding:32px 30px; }
.eco-panel h4{
  font-size:25px; font-weight:600; line-height:1.2; letter-spacing:-1px; margin:0 0 16px;
}
.eco-panel ul{ list-style:disc; padding-left:30px; display:flex; flex-direction:column; gap:2px; }
.eco-panel li{ font-size:20px; line-height:1.5; letter-spacing:-1px; }
.eco-left .eco-panel{ margin-left:auto; text-align:left; }
.eco-right .eco-panel{ margin-right:auto; text-align:left; }

/* =========================================================
   POTENCIAL (hands photo)
   ========================================================= */
.potential{
  position:relative;
  background-image:
    linear-gradient(180deg, rgba(5,7,11,.30), rgba(5,7,11,.45)),
    url('assets/potential-bg.webp');
  background-size:cover; background-position:center;
  padding:150px 0;
  color:#fff;
}
.potential-inner{ position:relative; display:grid; place-items:center; gap:34px; text-align:center; }
.potential h2{ font-size:85px; font-weight:600; line-height:.98; letter-spacing:-1.5px; max-width:1150px; }
.potential .lead{ color:#e8e6e0; font-size:25px; font-weight:300; }

.pill{
  position:absolute;
  display:inline-flex; align-items:center; gap:14px;
  background:rgba(152,152,152,.36);
  padding:6px 26px 6px 6px; border-radius:100px;
  font-size:25px; font-weight:500;
}
.pill .ico{
  width:54px; height:54px; border-radius:50%; background:var(--orange);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.pill .ico img{ display:block; width:auto; height:auto; max-width:60%; max-height:60%; }
.pill-branding{ top:6%; left:8%; }
.pill-expansao{ top:6%; right:4%; }
.pill-vendas{ bottom:30%; left:1%; }
.pill-performance{ top:64%; right:1%; }
.pill-conteudo{ bottom:6%; right:14%; }

/* =========================================================
   WORLD MAP
   ========================================================= */
.worldmap{ background:var(--navy-map); color:#fff; padding:110px 0; overflow:hidden; }
.worldmap-inner{
  display:grid; grid-template-columns:560px minmax(0,1fr); align-items:center; gap:30px;
}
.worldmap-copy{ display:flex; align-items:flex-start; gap:14px; }
.worldmap-bolt{ height:46px; width:auto; margin-top:4px; flex-shrink:0; }
.worldmap-copy h2{ font-size:45px; font-weight:600; line-height:1.15; letter-spacing:-1px; max-width:none; text-align:left; }
.worldmap-img{ border-radius:12px; margin-right:-20px; width:calc(100% + 20px); max-width:857px; }

/* =========================================================
   MÉTODO
   ========================================================= */
.method{ padding:120px 0 90px; }
.method-top{
  display:flex; justify-content:space-between; align-items:center; gap:30px;
  margin-bottom:60px; flex-wrap:wrap;
}
.method-top h2{ font-size:45px; line-height:1.2; font-weight:600; letter-spacing:-1px; max-width:none; }

.method-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; padding-bottom:60px; border-bottom:1px solid var(--line); }
.method-card{
  background:#fff; border-radius:16px; padding:26px 22px;
  display:flex; flex-direction:column; gap:14px;
}
.method-num{
  width:52px; height:52px; border-radius:50%; background:var(--orange); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:18px;
}
.method-card h3{ font-size:30px; font-weight:600; letter-spacing:-1px; line-height:1.2; }
.method-card p{ font-size:18px; color:var(--muted); line-height:1.4; font-weight:300; }

/* =========================================================
   DEPOIMENTOS
   ========================================================= */
.testimonials{ padding:110px 0; overflow:hidden; }
.testimonials h2{ font-size:45px; font-weight:400; line-height:1.2; letter-spacing:-1px; max-width:none; }
.testimonials h2 strong{ font-weight:700; }

/* Duas fileiras que deslizam em sentidos opostos conforme a página rola.
   Fileira 1 tem número ímpar de cards (um card no centro); a fileira 2 tem número par
   (um vão no centro) — daí o deslocamento de meio card entre elas. */
.testimonials-rows{
  margin-top:56px; width:100%; overflow:hidden;
  display:flex; flex-direction:column; gap:15px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 24%, #000 76%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 24%, #000 76%, transparent 100%);
}
.testimonials-row{
  display:flex; justify-content:center; gap:15px; flex-wrap:nowrap;
  will-change:transform;
}
.testimonial-card{
  flex:0 0 432px; width:432px; min-height:295px;
  background:var(--cream); border:1px solid #d9d9d9; border-radius:14px;
  padding:25px 32px 28px;
  display:flex; flex-direction:column; gap:20px;
}
.testimonial-head{ display:flex; align-items:center; gap:16px; }
.avatar{ width:54px; height:54px; border-radius:50%; background:#d9d6cd; flex-shrink:0; }
.avatar-photo{ display:flex; align-items:center; justify-content:center; overflow:hidden; }
.avatar-photo img{ width:auto; height:auto; max-width:60%; max-height:60%; object-fit:contain; }
.avatar-medtec, .avatar-beachchopp{ background:none; }
.avatar-medtec img, .avatar-beachchopp img{ width:100%; height:100%; max-width:none; max-height:none; object-fit:cover; }
.avatar-daretofit{ background:linear-gradient(180deg, #94E49E 0%, #2E5243 100%); }
.avatar-baechler{ background:#73081D; }
.testimonial-head strong{ display:block; font-size:17px; font-weight:700; line-height:1.25; color:#1f1f1e; }
.testimonial-head small{ display:block; margin-top:2px; font-size:12.5px; line-height:1.3; color:#1f1f1e; font-weight:400; }
.testimonial-card p{ font-size:15px; color:#1f1f1e; line-height:1.4; font-weight:400; }
/* Logo da marca: sem caixa, sempre no pé do card, num espaço de altura fixa */
.t-logo{ margin-top:auto; height:32px; display:flex; align-items:center; }
.t-logo img{ display:block; width:auto; height:auto; max-width:130px; max-height:32px; }

/* =========================================================
   NEWSLETTER
   ========================================================= */
.newsletter{ padding-bottom:0; text-align:center; }
.newsletter h2{ font-size:42px; font-weight:700; line-height:1.25; }
.newsletter .newsletter-bolt{ display:inline-block; height:38px; width:auto; vertical-align:-5px; margin-left:4px; }
.newsletter .lead{ margin-inline:auto; margin-top:18px; }

.newsletter-form{
  margin:44px auto 70px; max-width:530px;
  display:flex; align-items:center; gap:4px;
  background:#fff; border:1.5px solid var(--line); border-radius:100px;
  padding:6px;
}
.newsletter-form input{
  flex:1; border:none; background:transparent; padding:14px 20px; font-size:15px;
  font-family:inherit; color:var(--ink);
}
.newsletter-form input:focus{ outline:none; }
.newsletter-form .btn{ padding:14px 30px; font-size:15px; }

.phone-cards{ width:100%; max-width:1180px; margin-inline:auto; }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{ background:var(--navy-footer); color:#fff; margin-top:80px; }
.footer-top{
  display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:30px;
  padding-block:70px; align-items:start;
}
.footer-top .logo{ margin-top:-1px; }
.footer-nav{ display:flex; flex-direction:column; gap:7px; font-size:15px; line-height:1.5; }
.footer-social{ display:flex; flex-direction:column; gap:12px; font-size:15px; line-height:1.65; }
.social-icons{ display:flex; align-items:center; gap:17px; }
.social-icons a{
  width:25px; height:25px; display:flex; align-items:center; justify-content:center;
  color:var(--orange); background:none; border-radius:0;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));
  transition:transform .2s ease, filter .2s ease;
}
.social-icons a:hover{ transform:translateY(-2px); filter:drop-shadow(0 4px 5px rgba(0,0,0,.5)) brightness(1.15); }
.social-icons svg{ width:25px; height:25px; display:block; }
.footer-contact{ display:flex; flex-direction:column; gap:3px; font-size:15px; line-height:1.65; text-align:left; }

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  padding:22px 0; text-align:center; font-size:13.5px; color:#9aa4b5;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1080px){
  .hero-inner{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  .hero-copy h1{ align-items:center; }
  .hero-visual{ order:-1; margin-bottom:20px; width:100%; max-width:424px; height:auto; }
  .hero-carousel{ position:relative; left:0; top:0; width:100%; height:auto; }
  .lang-switch{ position:static; flex-direction:row; justify-content:center; margin-top:14px; }
  .hero-bolt-icon{ display:none; }
  .hero-note{ position:static; width:auto; max-width:400px; text-align:center; margin-top:14px; }
  .banner-inner{ grid-template-columns:1fr; gap:28px; padding-inline:32px; }
  .banner-headline br{ display:none; }
  .method-top h2 br, .worldmap-copy h2 br{ display:none; }
  .worldmap-inner{ grid-template-columns:1fr; }
  .worldmap-img{ margin-right:0; width:100%; }
  .team-photo-wrap{ grid-area:auto; width:100%; }
  .team-facts{ grid-area:auto; width:100%; margin-top:28px; gap:18px; justify-content:flex-start; }
  .team-facts li{ width:auto; margin-left:0; }
  .ecosystem-grid{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  .eco-left, .eco-right{ align-items:center; text-align:center; }
  .eco-left .eco-panel, .eco-right .eco-panel{ margin-inline:auto; }
  .ecosystem-grid{ grid-template-rows:none; gap:36px; }
  .eco-left, .eco-right, .globe-wrap{ grid-column:1; grid-row:auto; }
  .eco-top, .eco-bottom{ grid-row:auto; }
  .globe-wrap{ order:-1; max-width:420px; }
  .worldmap-inner{ grid-template-columns:1fr; }
  .cases-grid{ grid-template-columns:repeat(2,1fr); }
  .method-grid{ grid-template-columns:repeat(2,1fr); }
  .stats{ flex-direction:column; align-items:flex-start; gap:20px; }
  .stat{ border-right:none; padding-right:0; margin-right:0; }
  .footer-top{ grid-template-columns:1fr 1fr; }
  .footer-contact{ text-align:left; }
}

@media (max-width:760px){
  .main-nav{
    position:fixed; top:72px; left:0; right:0; bottom:0; height:calc(100vh - 72px);
    background:var(--cream);
    flex-direction:column; align-items:flex-start; gap:0;
    padding:10px 24px 24px; transform:translateY(-8px);
    opacity:0; pointer-events:none; transition:opacity .2s, transform .2s;
    overflow-y:auto;
  }
  .main-nav.open{ opacity:1; pointer-events:auto; transform:translateY(0); }
  .main-nav a{ width:100%; padding:16px 0; border-bottom:1px solid var(--line); opacity:1; }
  .menu-toggle{ display:flex; }
  .lang-switch{ display:none; }

  .hero-copy h1{ font-size:42px; }
  .hero-sub{ font-size:20px; }
  .hero-visual{ max-width:240px; }
  .partners-track{ gap:34px; }
  .partners img{ height:24px; }
  .partners img.p-md{ height:30px; }
  .partners img.p-tall{ height:44px; }

  .banner-headline{ font-size:30px; }
  .banner-text{ font-size:20px; }
  .results-top h2, .cases-top h2{ font-size:28px; }
  .ecosystem h2, .worldmap-copy h2, .method-top h2{ font-size:30px; }
  .worldmap-bolt{ height:34px; }
  .cases-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .method-grid{ grid-template-columns:1fr; }
  .testimonials h2{ font-size:30px; }
  /* mobile: só os cards reais, cada fileira rola por toque */
  .testimonials-rows{ -webkit-mask-image:none; mask-image:none; overflow:visible; }
  .testimonials-row{
    justify-content:flex-start; overflow-x:auto; scroll-snap-type:x mandatory;
    padding-inline:20px; scrollbar-width:none; transform:none !important;
  }
  .testimonials-row::-webkit-scrollbar{ display:none; }
  .t-dup{ display:none; }
  .testimonial-card{ flex-basis:min(340px, 84vw); width:min(340px, 84vw); min-height:0; scroll-snap-align:center; padding:24px 24px 26px; }
  .potential h2{ font-size:30px; }
  .potential{ display:flex; flex-direction:column; align-items:center; gap:14px; padding:60px 16px; }
  .pill{ position:static; }
  .potential-inner{ padding-inline:16px; order:1; }
  .footer-top{ grid-template-columns:1fr; text-align:left; }
  .footer-contact{ text-align:left; }
  .newsletter h2{ font-size:28px; }
  .newsletter-form{ flex-direction:column; border-radius:20px; padding:14px; gap:10px; }
  .newsletter-form input{ width:100%; text-align:center; }
  .newsletter-form .btn{ width:100%; justify-content:center; }
}

/* =========================================================
   QUEM SOMOS — page-specific sections
   ========================================================= */
.qs-hero{
  position:relative;
  background:#041524 url('assets/qs-hero-bg.webp') center / cover no-repeat;
  padding:170px 0 90px;
  margin-top:calc(-1 * var(--header-h, 88px));
  overflow:hidden;
}
/* Película escura por cima do gradiente (Quem somos e Soluções): preto a 21,2% (alfa 54/255 do arquivo Rectangle_175) */
.qs-hero::before{
  content:"";
  position:absolute; inset:0;
  background:rgba(0,0,0,.212);
  pointer-events:none;
}
.qs-hero-lang{
  position:absolute; top:36px; right:calc(50% - var(--wrap)/2);
  z-index:2;
}
.qs-hero-inner{ position:relative; z-index:1; }
.qs-eyebrow{
  color:#fff; font-size:25.76px; font-weight:300; letter-spacing:12.2px;
  margin-bottom:18px;
}
.qs-hero h1{
  color:#fff; font-size:clamp(40px, 9.67vw, 139.2px); font-weight:700; line-height:.92; letter-spacing:-.03em;
  max-width:none;
}

.qs-story{ padding:110px 0 0; overflow:hidden; }
.qs-story-grid{
  display:grid; grid-template-columns:minmax(0,.5fr) minmax(0,1fr); align-items:stretch; gap:40px;
  margin-bottom:70px;
}
.qs-story-deco{ position:relative; width:100%; min-height:240px; }
/* o logo ocupa exatamente a altura do bloco de texto (título + corpo) */
.qs-deco-img{ position:absolute; left:0; top:50%; width:100%; height:130%; transform:translateY(-50%); object-fit:contain; object-position:center; }
.qs-story-lead{ font-size:45px; font-weight:300; line-height:1.22; letter-spacing:-1px; margin-bottom:20px; }
.qs-story-lead strong{ font-weight:600; }
.qs-story-sub{ font-size:25px; font-weight:300; color:var(--muted); line-height:1.4; max-width:100%; text-align:justify; }
.qs-story-statement{
  font-size:45px; font-weight:300; line-height:1.22; letter-spacing:-1px; text-align:center;
  max-width:var(--wrap); margin:0 auto 90px;
}

.qs-cta-wrap{ text-align:center; margin:60px auto 90px; }

.qs-steps-wrap{
  overflow:hidden; margin:90px 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.qs-steps-track{
  display:flex; gap:16px; width:max-content;
  animation:cases-scroll 32s linear infinite;
}
.qs-steps-wrap:hover .qs-steps-track{ animation-play-state:paused; }
.qs-step{
  display:flex; align-items:center; gap:14px; flex-shrink:0;
  background:#e2e2e2; border-radius:100px; padding:8px 32px 8px 8px;
  font-size:25px; font-weight:500; color:var(--ink); white-space:nowrap;
}
.qs-step i{
  font-style:normal; width:54px; height:54px; border-radius:50%;
  background:var(--orange); color:#fff; font-weight:700;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}

.qs-photo{ width:100%; aspect-ratio:1512/850; max-height:700px; overflow:hidden; }
.qs-photo-img{ width:100%; height:100%; object-fit:cover; }

@media (max-width:1080px){
    .qs-story-grid{ grid-template-columns:1fr; }
  .qs-story-lead br, .qs-story-statement br{ display:none; }
  .qs-story-deco{ display:none; }
  .qs-story-statement{ font-size:32px; }
}
@media (max-width:760px){
  .qs-hero{ padding:120px 0 60px; }
  .qs-hero h1{ font-size:clamp(30px, 8.6vw, 56px); }
  .qs-eyebrow{ font-size:18px; letter-spacing:8px; }
  .qs-story-lead{ font-size:28px; }
  .qs-story-sub{ font-size:20px; }
  .qs-story-statement{ font-size:24px; }
  .qs-photo{ aspect-ratio:auto; height:320px; }
}

/* =========================================================
   CASES — page-specific sections (grade de projetos)
   ========================================================= */
.cp-hero{ background:#05070b url('assets/cases-hero-bg.webp') center / cover no-repeat; }
.cp-hero h1{
  font-size:clamp(40px, 9.67vw, 139.2px); font-weight:700; line-height:.92; letter-spacing:-.0384em;
  max-width:none;
}
.cp-intro{ padding:90px 0 0; text-align:center; }
.cp-intro .lead{ margin:0 auto; max-width:1090px; }

.cp-grid-section{ padding:70px 0 60px; }
.cp-grid{ display:flex; gap:20px; max-width:1090px; margin:0 auto; }
.cp-col{ display:flex; flex-direction:column; gap:47px; flex:1; min-width:0; }
.cp-col:last-child{ margin-top:96px; }
.cp-card-photo{ position:relative; width:100%; aspect-ratio:535/356; border-radius:10px; overflow:hidden; background:#e5e2da; }
.cp-card-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:filter .35s ease; }
.cp-card:hover .cp-card-photo img{ filter:blur(4px) brightness(.45); }
.cp-card-desc{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  padding:36px; text-align:center; color:#fff; font-size:17px; font-weight:300; line-height:1.55;
  opacity:0; transition:opacity .35s ease; pointer-events:none;
}
.cp-card:hover .cp-card-desc{ opacity:1; }
.cp-card-caption{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; }
.cp-card-caption p{ margin:0; }
.cp-card-eyebrow{ display:block; font-size:12px; font-weight:300; margin-bottom:6px; }
.cp-card-title{ font-size:30px; font-weight:600; line-height:1.16; }
.cp-card-arrow{
  flex-shrink:0; width:56px; height:56px; border-radius:50%;
  border:1.5px solid var(--ink); display:flex; align-items:center; justify-content:center;
  color:var(--ink); transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.cp-card-arrow svg{ width:18px; height:18px; }
.cp-card:hover .cp-card-arrow{ background:var(--orange); border-color:var(--orange); color:#fff; }

.cp-closing{
  display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;
  max-width:1312px; margin:120px auto 0;
}
.cp-closing p{ font-size:45px; font-weight:300; letter-spacing:-1px; line-height:1.22; max-width:854px; margin:0; }
.cp-closing p strong{ font-weight:600; }

@media (max-width:1080px){
  .cp-hero h1 br{ display:none; }
  .cp-closing{ margin-top:70px; }
  .cp-grid{ flex-direction:column; max-width:535px; }
  .cp-col:last-child{ margin-top:0; }
  .cp-closing p{ font-size:32px; }
}
@media (max-width:600px){
  .cp-hero h1{ font-size:clamp(28px, 7.8vw, 56px); }
  .cp-card-title{ font-size:24px; }
  .cp-closing p{ font-size:26px; }
}



/* =========================================================
   SOLUÇÕES — page-specific sections
   ========================================================= */
.sol-intro{ padding:100px 0 20px; }
.sol-intro-text{
  font-size:45px; font-weight:300; line-height:1.22; letter-spacing:-1px;
  max-width:var(--wrap); text-align:left;
}

.sol-cards{ padding:70px 0 120px; }
.sol-cards-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:60px 40px;
}
.sol-card{
  position:relative;
  background:#fff; border-radius:28px;
  padding:44px 38px 70px;
  box-shadow:0 20px 50px rgba(0,0,0,.06);
  display:flex; flex-direction:column;
}
.sol-card h3{ font-size:30px; font-weight:600; letter-spacing:-1px; margin-bottom:16px; }
.sol-card-lead{ font-size:20px; font-weight:300; line-height:1.3; margin-bottom:20px; }
.sol-card-img{ border-radius:22px; overflow:hidden; aspect-ratio:370/156; margin-bottom:20px; order:2; }
.sol-card-img img{ width:100%; height:100%; object-fit:cover; }
.sol-card-lead{ order:1; }
.sol-card h3{ order:0; }
.sol-card-desc{ font-size:16px; font-weight:300; color:var(--muted); line-height:1.4; order:3; }
.sol-card-cta{
  position:absolute; left:32px; bottom:-24px;
  font-size:22px; padding:20px 32px;
  box-shadow:0 10px 24px rgba(235,101,36,.35);
}

@media (max-width:1080px){
  .sol-cards-grid{ grid-template-columns:repeat(2,1fr); }
  .sol-intro-text{ font-size:32px; }
  .sol-intro-text br{ display:none; }
}
@media (max-width:700px){
  .sol-cards-grid{ grid-template-columns:1fr; }
  .sol-card{ padding-bottom:60px; }
  .sol-card-cta{ font-size:18px; padding:16px 26px; left:24px; bottom:-20px; }
}

/* =========================================================
   TRABALHE CONOSCO — page-specific sections
   ========================================================= */
.tc-intro{ padding:80px 0 100px; }
/* Duas colunas: título + foto à esquerda; texto, linha e contatos à direita.
   A coluna da direita se alinha pela base da foto, de modo que a linha laranja
   fica na altura do fim do título. */
.tc-intro-grid{
  display:grid; grid-template-columns:minmax(0,476px) minmax(0,714px); justify-content:space-between; column-gap:40px; align-items:end;
}
.tc-intro-left h1{
  font-size:45px; font-weight:300; line-height:1.22; letter-spacing:-1px;
  margin-bottom:60px;
}
.tc-intro-left h1 strong{ font-weight:600; }
.tc-photo-wrap{ position:relative; width:312px; max-width:calc(100% + 15px); margin:0 0 -15px -15px; }
.tc-photo{
  width:100%; aspect-ratio:312/487; object-fit:cover;
  border-radius:36px; display:block;
}
/* Selo preto com o símbolo da Potencializee, centrado na borda direita da foto */
.tc-badge{
  position:absolute; right:-60px; top:75px; transform:translateY(-50%);
  width:140px; height:140px; border-radius:50%; overflow:hidden; background:#000;
}
/* o arquivo do selo traz um pouco de fundo nos cantos: recortado em círculo e levemente ampliado para esconder a borda */
.tc-badge img{ display:block; width:100%; height:100%; transform:scale(1.06); }

.tc-lead{ font-size:25px; font-weight:300; line-height:1.4; margin-bottom:0; }
.tc-lead-2{ margin-top:40px; }
.tc-divider{ border:none; border-top:2px solid rgba(235,101,36,.45); margin:0 0 22px; width:100%; }
.tc-contact-list{ display:flex; flex-direction:column; gap:18px; margin-top:52px; list-style:none; padding:0; }
.tc-contact-list li{
  display:flex; align-items:center; gap:20px;
  min-height:72px; padding:10px 34px; border-radius:100px;
  background:#fdfbf4; font-size:20px; font-weight:300; line-height:1.3;
}
.tc-contact-ico{ width:44px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tc-contact-ico img{ display:block; width:auto; height:auto; max-width:40px; max-height:44px; }

.tc-form-section{ background:#000; color:#fff; padding:100px 0; }
.tc-form-grid{ display:grid; grid-template-columns:.85fr 1fr; gap:60px; align-items:start; }
.tc-form-left{ position:relative; padding-top:10px; }
.tc-shard{
  display:block; width:60px; height:auto; margin-bottom:24px;
}
.tc-form-lead{ font-size:45px; font-weight:300; line-height:1.3; margin-bottom:40px; }
.tc-form-note{ font-size:13.5px; font-weight:300; color:#a9a9ad; line-height:1.5; }

.header-right .lang-switch{
  position:static; flex-direction:row; gap:6px;
}

.tc-form-card{
  background:#111; border:1px solid rgba(157,157,157,.48);
  border-radius:43px; padding:44px;
  display:flex; flex-direction:column; gap:22px;
}
.tc-field{ display:flex; flex-direction:column; gap:8px; }
.tc-field label{ font-size:18px; font-weight:300; color:#fff; }
.tc-field input, .tc-field select{
  background:rgba(253,251,244,.23); border:none; border-radius:8px;
  height:45px; padding:0 16px; color:#fff; font-size:16px; font-family:inherit;
}
.tc-field input::placeholder{ color:rgba(255,255,255,.5); }
.tc-field select{ appearance:none; cursor:pointer;
  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='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:16px;
}
.tc-field select option{ background:#111; color:#fff; }
.tc-field-row{ display:flex; gap:16px; align-items:flex-end; }
.tc-field-grow{ flex:1; }
.tc-field-code{ width:80px; flex-shrink:0; }
.tc-field-code input{ text-align:center; }
.tc-upload-btn{
  width:50px; height:45px; border-radius:8px; background:rgba(253,251,244,.23);
  display:flex; align-items:center; justify-content:center; color:#fff; cursor:pointer;
  flex-shrink:0; transition:background .2s ease;
}
.tc-upload-btn:hover{ background:rgba(253,251,244,.4); }
.tc-upload-btn svg{ width:22px; height:22px; }
.tc-submit{
  align-self:stretch; width:100%; background:var(--orange); color:#fff; border:none;
  font-size:18px; font-weight:600; letter-spacing:.5px;
  padding:14px 40px; border-radius:8px; cursor:pointer; margin-top:4px;
  transition:filter .2s ease;
}
.tc-submit:hover{ filter:brightness(1.08); }

.tc-photo-band{ width:100%; aspect-ratio:1512/400; overflow:hidden; }
.tc-photo-band-img{ width:100%; height:100%; object-fit:cover; }
.tc-page .site-footer{ margin-top:0; }

@media (max-width:1080px){
  .tc-intro-grid{ grid-template-columns:minmax(0,1fr); row-gap:50px; align-items:start; justify-content:stretch; }
  .tc-intro-left h1{ margin-bottom:50px; }
  .tc-lead br, .tc-contact-list br{ display:none; }
  .tc-form-grid{ grid-template-columns:1fr; }
  .tc-intro-left h1{ font-size:34px; }
  .tc-form-lead{ font-size:30px; }
}
@media (max-width:600px){
  .tc-form-card{ padding:28px; }
  .tc-field-row{ flex-direction:column; align-items:stretch; }
  .tc-field-code{ width:100%; }
}

/* =========================================================
   SEÇÃO — Fale conosco (formulário RD Station)
   ========================================================= */
.fc-section{ padding:40px 0 110px; scroll-margin-top:80px; }
.fc-inner{ max-width:760px; margin:0 auto; text-align:center; }
.fc-inner h2{ font-size:clamp(32px,4.5vw,46px); line-height:1.15; font-weight:700; margin-bottom:14px; }
.fc-inner h2 strong{ color:var(--orange); }
.fc-lead{ font-size:18px; color:var(--muted); margin:0 auto 36px; max-width:560px; }
.fc-card{
  background:#fff; border:1px solid var(--line);
  border-radius:var(--radius-lg); padding:32px; overflow:hidden; text-align:left;
}
/* Botão do RD: texto centralizado no botão */
#embed-forms-potencializee-63debdce850dd5625571 .bricks--component-button,
#embed-forms-potencializee-63debdce850dd5625571 button[type="submit"],
#embed-forms-potencializee-63debdce850dd5625571 [type="submit"]{
  display:flex !important; align-items:center !important; justify-content:center !important;
  text-align:center !important; line-height:1.2 !important;
  padding-top:0 !important; padding-bottom:0 !important;
  min-height:64px; box-sizing:border-box;
}
.tc-photo-band + .fc-section{ padding-top:80px; }
@media (max-width:760px){
  .fc-section{ padding:24px 0 70px; }
  .fc-card{ padding:18px; }
  .tc-photo-band + .fc-section{ padding-top:48px; }
}

/* =========================================================
   Formulários: candidatura (Trabalhe conosco) e newsletter RD
   ========================================================= */
.tc-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.tc-file-name{ font-size:13px; color:#c9c9cc; word-break:break-all; min-height:0; }
.tc-file-name:empty{ display:none; }
.tc-legal{ font-size:12.5px; line-height:1.5; color:#a9a9ad; font-weight:300; margin:0; }
.tc-status{ margin:0; font-size:15px; font-weight:500; line-height:1.4; }
.tc-status:empty{ display:none; }
.tc-status.is-error{ color:#ff8f8f; }
.tc-status.is-ok{ color:#8fe3a0; }
.tc-submit:disabled{ opacity:.6; cursor:wait; filter:none; }
.cf-turnstile{ min-height:65px; }

.newsletter-rd{ max-width:560px; margin:44px auto 70px; text-align:left; }

/* Mensagem de sucesso da candidatura */
.tc-success{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:12px 4px; color:#fff; }
.tc-success-icon{
  width:52px; height:52px; border-radius:50%; background:var(--orange); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:24px; line-height:1;
}
.tc-success h3{ margin:0; font-size:30px; font-weight:600; line-height:1.2; }
.tc-success p{ margin:0; font-size:17px; line-height:1.65; font-weight:300; color:#d4d4d8; }

/* Google Tradutor embutido: esconde a barra/balao do Google e mantem o layout (igual ao goakira.com.br) */
.goog-te-banner-frame, .skiptranslate > iframe, .goog-te-balloon-frame, #goog-gt-tt { display:none !important; visibility:hidden !important; }
body{ top:0 !important; }
.goog-tooltip, .goog-tooltip:hover{ display:none !important; }
.goog-text-highlight{ background:none !important; box-shadow:none !important; }
.goog-te-spinner-pos{ display:none !important; }
font[style]{ background:none !important; }

/* Textos de marca com traducao revisada (o Google Tradutor erra frases curtas de impacto) */
.i18n-pt{ display:contents; }
.i18n-en, .i18n-es{ display:none; }
html[lang="en"] .i18n-pt, html[lang="es"] .i18n-pt{ display:none; }
html[lang="en"] .i18n-en{ display:contents; }
html[lang="es"] .i18n-es{ display:contents; }

/* =========================================================
   FALE CONOSCO (home) — formulário no layout do Trabalhe conosco
   ========================================================= */
.fc-home{ scroll-margin-top:80px; }
.fc-eyebrow{ margin:0 0 14px; font-size:15px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); }
.fc-home .tc-form-lead{ margin-bottom:28px; }
.tc-field textarea{
  background:rgba(253,251,244,.23); border:none; border-radius:8px;
  padding:12px 16px; color:#fff; font-size:16px; font-family:inherit; line-height:1.45;
  resize:vertical; min-height:92px;
}
.tc-field textarea::placeholder{ color:rgba(255,255,255,.5); }
.tc-field input:focus, .tc-field textarea:focus, .tc-field select:focus{ outline:2px solid var(--orange); outline-offset:1px; }
.tc-field .is-invalid{ outline:2px solid #ff8f8f; outline-offset:1px; }
.tc-field-row-split{ align-items:flex-start; }
.rd-bridge{
  position:absolute; left:-9999px; top:0; width:1px; height:1px; overflow:hidden;
}
@media (max-width:600px){
  .tc-field-row-split{ flex-direction:column; align-items:stretch; }
}

/* Fale conosco (home): fundo na cor da página (sem faixa preta antes do rodapé) */
.fc-home{ background:var(--cream); color:var(--ink); padding:90px 0 20px; }
.fc-home .tc-form-note{ color:var(--muted); }

/* Soluções: fundo do topo (gradiente próprio da página) */
.sol-hero{ background:#041524 url('assets/sol-hero-bg.webp') center / cover no-repeat; }
.sol-hero h1, .sol-hero .qs-eyebrow{ text-shadow:0 2px 28px rgba(4,21,36,.55), 0 1px 3px rgba(4,21,36,.35); }

/* Cases: carrossel de logos abaixo do fechamento */
.cp-partners .partners{ margin-top:10px; padding-bottom:100px; }

@media (max-width:600px){
  .tc-badge{ width:110px; height:110px; right:-40px; top:50px; }
  .tc-contact-list li{ padding:12px 22px; gap:14px; border-radius:36px; font-size:17px; }
}

/* Trabalhe conosco: bloco de texto ao lado do formulário */
.tc-page .tc-form-grid{ grid-template-columns:minmax(540px,.9fr) minmax(0,1fr); }
.tc-page .tc-form-lead{ letter-spacing:-1px; }
.tc-page .tc-form-lead strong{ font-weight:700; }
.tc-page .tc-form-note{ font-size:18px; font-weight:300; color:rgba(255,255,255,.85); line-height:1.4; text-align:left; max-width:460px; margin:0 0 24px; }
@media (max-width:1080px){
  .tc-page .tc-form-grid{ grid-template-columns:minmax(0,1fr); }
  .tc-page .tc-form-lead br{ display:none; }
  .tc-page .tc-form-note{ max-width:none; }
}

/* =========================================================
   HOME — MOBILE (Figma 430px · frame "HOME" 62:2)
   Escala proporcional: 1u = 1px no frame de 430px; encolhe em telas
   menores e trava em 430px de largura de design.
   Escopo: body.page-home (não afeta as outras páginas).
   ========================================================= */
.hero-lang{ display:none; }
.hero-media{ display:contents; }

@media (max-width:760px){
  .page-home{
    --s:min(100vw, 430px);
    --u:calc(var(--s) / 430);
  }

  /* ---- Header ---- */
  .page-home .header-inner{
    padding-block:calc(31.5 * var(--u));
    padding-inline:calc(40 * var(--u));
  }
  .page-home .logo-img{ height:calc(18 * var(--u)); }
  .page-home .menu-toggle{ width:26px; height:22px; margin-block:-4.5px; margin-right:-3px; }
  .page-home .main-nav{
    top:calc(81 * var(--u));
    height:calc(100vh - 81 * var(--u));
    height:calc(100dvh - 81 * var(--u));
  }

  /* ---- Hero ---- */
  .page-home .hero{ padding-top:0; padding-bottom:calc(41 * var(--u)); }
  .page-home .hero-inner{
    display:flex; flex-direction:column; align-items:flex-start;
    gap:0; text-align:left; justify-items:initial;
    padding-inline:calc(40 * var(--u));
  }
  .page-home .hero-copy,
  .page-home .hero-visual{ display:contents; }

  .page-home .hero-copy h1 .br-d{ display:none; }
  /* Título 40px */
  .page-home .hero-copy h1{
    order:1; display:block; width:100%; margin:0;
    font-size:calc(40 * var(--u)); line-height:calc(42 * var(--u));
    letter-spacing:-0.075em; font-weight:300; color:#000;
  }
  .page-home .hero-copy h1 .hero-sub{
    display:block; margin:0; font-size:inherit; line-height:inherit;
    letter-spacing:inherit; font-weight:700; color:#000; white-space:nowrap;
  }

  /* Frase de apoio 14px */
  .page-home .hero-note{
    order:2; position:static; width:auto; max-width:none;
    margin-top:calc(11 * var(--u)); text-align:left;
    font-size:calc(14 * var(--u)); line-height:1.2; font-weight:300; color:#000;
  }
  .page-home .hero-note strong{ font-weight:600; }

  /* Pill "Fale conosco" 126.72 × 37.25 · texto 12.15 (hero e CTA final) */
  .page-home .hero-copy .btn,
  .page-home .results-top .btn{
    min-width:calc(126.72 * var(--u)); height:calc(37.25 * var(--u));
    padding:0 calc(16.6 * var(--u)); justify-content:flex-start;
    gap:calc(12 * var(--u));
    font-size:calc(14 * var(--u)); font-weight:500; line-height:1;
  }
  .page-home .hero-copy .btn{
    order:3; margin-top:calc(14 * var(--u));
    width:calc(126.72 * var(--u)); min-width:0; height:calc(37.25 * var(--u));
    padding:0 0 0 calc(16.6 * var(--u)); gap:calc(12 * var(--u));
    font-size:calc(12.15 * var(--u));
  }
  .page-home .btn .btn-arrow{ font-size:calc(10 * var(--u)); }

  /* Imagem Todomoda 274 × 205 + símbolo 128.45 × 190 (espaçamento -48) */
  .page-home .hero-media{
    order:4; display:block; position:relative;
    width:100%; height:calc(205 * var(--u));
    margin-top:calc(37 * var(--u));
  }
  .page-home .hero-carousel{
    position:relative; left:auto; top:auto;
    width:calc(274 * var(--u)); height:calc(205 * var(--u));
    aspect-ratio:274 / 205;
    margin:0 0 0 calc(1 * var(--u));
    border-radius:0; box-shadow:none;
  }
  .page-home .hero-bolt-icon{
    display:block; position:absolute; z-index:4;
    left:calc((1 + 274 - 48) * var(--u)); top:calc(6 * var(--u));
    width:calc(128.45 * var(--u)); height:calc(190 * var(--u));
  }

  /* Seletor de idioma vertical */
  .page-home .hero-lang{
    display:flex; flex-direction:column; align-items:stretch;
    position:absolute; left:auto; top:0; right:calc(40 * var(--u)); z-index:5;
    gap:calc(2.3 * var(--u)); margin:0;
  }
  .page-home .hero-lang .lang-btn{
    position:relative;
    width:calc(16 * var(--u)); height:calc(11.3 * var(--u));
    min-width:0; padding:0;
    display:flex; align-items:center; justify-content:center;
    font-size:calc(8.6 * var(--u)); font-weight:500; line-height:1;
    border:1px solid #d0d0d0; border-radius:calc(2.7 * var(--u));
    background:transparent; color:#d0d0d0;
  }
  .page-home .hero-lang .lang-btn.active{ background:var(--orange); border-color:var(--orange); color:#fff; }
  .page-home .hero-lang .lang-btn::after{ content:""; position:absolute; inset:-1px -10px; }

  /* Faixa de parceiros */
  .page-home .partners-frame{
    margin:calc(34 * var(--u)) calc(40 * var(--u)) 0;
    height:calc(68 * var(--u));
    border-top:1px solid #d9d9d9; border-bottom:1px solid #d9d9d9;
  }
  .page-home .partners{ margin:0; padding:0; height:100%; display:flex; align-items:center; }
  .page-home .partners-track{ gap:calc(44 * var(--u)); }
  .page-home .partners img{ height:calc(30 * var(--u)); }
  .page-home .partners img.p-md{ height:calc(38 * var(--u)); }
  .page-home .partners img.p-tall{ height:calc(54 * var(--u)); }

  /* ---- Banner em gradiente (card 351 × 209) ---- */
  .page-home .banner{
    margin:0 calc(40 * var(--u)) calc(42 * var(--u));
    max-width:none; min-height:calc(209 * var(--u));
    padding:calc(24 * var(--u)) calc(19 * var(--u)) calc(24 * var(--u)) calc(26 * var(--u));
    border-radius:calc(9.71 * var(--u));
    background:#1f0410 url(assets/banner-gradient-mobile.webp) center / 100% 100% no-repeat;
  }
  .page-home .banner-inner{ display:block; padding:0; gap:0; max-width:none; }
  .page-home .banner-headline{
    font-size:calc(22 * var(--u)); line-height:calc(24 * var(--u));
    letter-spacing:-0.0243em; font-weight:300; color:#fff;
  }
  .page-home .banner-headline br{ display:inline; }
  .page-home .banner-headline strong{ font-weight:600; }
  .page-home .banner-headline .bn-ee{ color:#f28e37; }
  .page-home .banner-text{
    margin-top:calc(21 * var(--u));
    font-size:calc(12.8 * var(--u)); line-height:calc(15 * var(--u));
    font-weight:400; color:#fff; opacity:1;
  }
  .page-home .banner-text strong{ font-weight:700; }
  .page-home .banner-text strong:first-of-type{ font-weight:800; }

  /* ---- Resultados ---- */
  .page-home .results{ display:flex; flex-direction:column; padding-bottom:calc(35 * var(--u)); }
  .page-home .results-top{ display:contents; }
  .page-home .results-top > div{ order:1; margin-inline:calc(40 * var(--u)); }
  .page-home .results-top h2{
    max-width:calc(295 * var(--u));
    font-size:calc(26 * var(--u)); line-height:calc(28 * var(--u));
    letter-spacing:-0.05em; font-weight:300; color:#000;
  }
  .page-home .results-top h2 strong{ font-weight:600; }
  .page-home .results-top .lead{
    max-width:none; margin-top:calc(14 * var(--u));
    font-size:calc(14 * var(--u)); line-height:calc(17 * var(--u));
    font-weight:300; color:#000;
  }
  .page-home .results-top .btn{ order:4; align-self:flex-start; margin:calc(11 * var(--u)) calc(40 * var(--u)) 0; }

  /* Big numbers 37.07 + legendas 12.36 */
  .page-home .stats{
    order:2; display:flex; flex-direction:column; align-items:flex-start;
    gap:calc(36.1 * var(--u));
    margin:calc(44 * var(--u)) 0 calc(27 * var(--u));
    padding-inline:calc(40 * var(--u));
  }
  .page-home .stat{
    display:flex; align-items:center; gap:calc(12 * var(--u));
    min-height:calc(54.37 * var(--u)); padding:0; margin:0; border:0;
  }
  .page-home .stat:nth-child(3){ gap:calc(14 * var(--u)); }
  .page-home .stat-num.accent{ word-spacing:-0.03em; }
  .page-home .stat-num{
    font-size:calc(37.07 * var(--u)); line-height:calc(34 * var(--u));
    letter-spacing:-0.0167em; font-weight:600; color:#000;
  }
  .page-home .stat-num.accent{ color:var(--orange); }
  .page-home .stat-label{
    max-width:none; font-size:calc(14 * var(--u)); line-height:calc(17 * var(--u));
    font-weight:300; color:#000;
  }
  .page-home .stat-label{ width:calc(150 * var(--u)); }

  /* Foto 430 × 231 centralizada + selo preto 90 × 90 */
  .page-home .team-block{ order:3; display:block; padding:0; margin:0; }
  .page-home .team-photo-wrap{
    grid-area:auto; position:relative;
    width:calc(430 * var(--u)); height:calc(231 * var(--u));
    aspect-ratio:430 / 231; margin-inline:auto;
  }
  .page-home .team-photo{ clip-path:none; }
  .page-home .team-badge{
    left:calc(300 * var(--u)); top:calc(186.43 * var(--u));
    width:calc(90 * var(--u)); height:calc(90 * var(--u));
    transform:none; border-radius:50%; background:#000; z-index:3;
    display:block;
  }
  .page-home .team-badge-bolt{
    position:absolute; left:calc(22.12 * var(--u)); top:calc(10.99 * var(--u));
    width:calc(45 * var(--u)); height:calc(66.56 * var(--u));
  }

  /* 4 frases (12px) separadas por linhas pretas */
  .page-home .team-facts{
    grid-area:auto; width:auto; align-self:auto;
    display:block; margin:calc(28.4 * var(--u)) calc(40 * var(--u)) 0; padding:0;
  }
  .page-home .team-facts li{
    width:auto; margin:0; padding:0;
    height:calc(47 * var(--u)); display:block; box-sizing:border-box;
    font-size:calc(14 * var(--u)); line-height:calc(46 * var(--u));
    font-weight:300; color:#000; border-bottom:0; white-space:nowrap;
  }
  .page-home .team-facts li + li{ border-top:1px solid #000; }
  .page-home .team-facts strong{ font-weight:600; }
}

/* ---- HOME mobile: seções abaixo dos números ---- */
br.br-m{ display:none; }
.m-l3{ font-weight:inherit; }
.t-mobile{ display:none; }

@media (max-width:760px){
  .page-home br.br-m{ display:inline; }
  .page-home br.br-d{ display:none; }

  /* Resultados: título em 2 linhas */
  .page-home .results-top h2{ max-width:none; white-space:nowrap; }

  /* Cases: título, frase em 2 linhas e "Veja mais" ABAIXO da frase */
  .page-home .cases{ padding:calc(31 * var(--u)) 0 calc(23 * var(--u)); }
  .page-home .cases-top{
    display:flex; flex-direction:column; align-items:flex-start; flex-wrap:nowrap; gap:0;
    margin:0 0 calc(32 * var(--u)); padding-inline:calc(40 * var(--u));
  }
  .page-home .cases-top h2{ order:1; font-size:calc(30 * var(--u)); }
  .page-home .cases-top .lead{
    order:2; flex:none; width:calc(100% + 24 * var(--u)); margin-right:calc(-24 * var(--u)); margin-top:calc(17 * var(--u));
    font-size:calc(14.5 * var(--u)); line-height:calc(18 * var(--u)); font-weight:300;
  }
  .page-home .cases-top .btn{
    order:3; margin-top:calc(23 * var(--u));
    height:calc(41 * var(--u)); padding:0 calc(20 * var(--u)); gap:calc(10 * var(--u));
    font-size:calc(15 * var(--u)); font-weight:500; line-height:1;
  }

  /* "Existe um potencial...": textos centralizados e pills espalhadas na imagem */
  .page-home .potential{
    display:block; position:relative; min-height:calc(385 * var(--u));
    padding:calc(177 * var(--u)) 0 calc(104 * var(--u));
    background:#05070b url(assets/potential-mobile.webp) center / cover no-repeat;
  }
  .page-home .potential-inner{ display:block; padding:0 calc(40 * var(--u)); order:0; }
  .page-home .potential h2{
    max-width:none; font-size:calc(32 * var(--u)); line-height:calc(34 * var(--u));
    letter-spacing:-0.05em; font-weight:600;
  }
  .page-home .potential .lead{
    max-width:calc(250 * var(--u)); margin:calc(21 * var(--u)) auto 0;
    font-size:calc(14.5 * var(--u)); line-height:calc(17 * var(--u)); font-weight:300;
  }
  .page-home .potential .lead br{ display:none; }
  .page-home .pill{
    position:absolute; z-index:2; gap:calc(5 * var(--u));
    padding:calc(3 * var(--u)) calc(10 * var(--u)) calc(3 * var(--u)) calc(3 * var(--u));
    font-size:calc(10 * var(--u)); line-height:1; white-space:nowrap;
  }
  .page-home .pill .ico{ width:calc(17 * var(--u)); height:calc(17 * var(--u)); }
  .page-home .pill-conteudo{ left:calc(48 * var(--u)); top:calc(116 * var(--u)); right:auto; bottom:auto; }
  .page-home .pill-performance{ right:calc(38 * var(--u)); top:calc(136 * var(--u)); left:auto; bottom:auto; }
  /* os 3 de baixo ficam na faixa livre abaixo do parágrafo (nunca sobre o texto) */
  .page-home .pill-vendas{ right:calc(36 * var(--u)); bottom:calc(66 * var(--u)); top:auto; left:auto; }
  .page-home .pill-expansao{ left:calc(27 * var(--u)); bottom:calc(60 * var(--u)); top:auto; right:auto; }
  .page-home .pill-branding{ left:calc(60 * var(--u)); bottom:calc(18 * var(--u)); top:auto; right:auto; }

  /* Mapa: título em 3 linhas */
  .page-home .worldmap{ padding:calc(23 * var(--u)) 0 calc(30 * var(--u)); }
  .page-home .worldmap-inner{ display:block; padding-inline:calc(40 * var(--u)); }
  .page-home .worldmap-copy{ display:block; position:relative; }
  .page-home .worldmap-bolt{ position:absolute; left:calc(2 * var(--u)); top:calc(2 * var(--u)); height:calc(28 * var(--u)); width:auto; margin:0; }
  .page-home .worldmap-copy h2{
    font-size:calc(26 * var(--u)); line-height:calc(31 * var(--u));
    letter-spacing:-0.05em; font-weight:600; text-indent:calc(34 * var(--u));
  }
  .page-home .worldmap-img{ display:block; margin:calc(26 * var(--u)) 0 0; width:100%; max-width:none; border-radius:0; }

  /* Método: título em 3 linhas (última em negrito) e botão depois dos 5 cards */
  .page-home .method{ display:flex; flex-direction:column; padding:calc(37 * var(--u)) 0 0; }
  .page-home .method-top{ display:contents; }
  .page-home .method-top h2{
    order:1; margin:0 calc(40 * var(--u));
    font-size:calc(27 * var(--u)); line-height:calc(29 * var(--u));
    letter-spacing:-0.05em; font-weight:300; color:#000;
  }
  .page-home .method-top h2 br{ display:inline; }
  .page-home .method-top h2 .m-l3{ font-weight:700; color:var(--orange); }
  .page-home .method-grid{
    order:2; margin-top:calc(22 * var(--u)); padding:0 calc(40 * var(--u));
    border-bottom:0; gap:calc(12 * var(--u));
  }
  .page-home .method-top .btn{
    order:3; margin:calc(34 * var(--u)) calc(40 * var(--u)) 0; align-self:flex-start;
    height:calc(40 * var(--u)); padding:0 calc(20 * var(--u)); gap:calc(10 * var(--u));
    font-size:calc(14 * var(--u)); font-weight:500; line-height:1;
  }

  /* Depoimentos: título em 2 linhas e 1 card por vez, troca automática */
  .page-home .testimonials{ padding:calc(43 * var(--u)) 0 calc(60 * var(--u)); }
  .page-home .testimonials h2{
    font-size:calc(23 * var(--u)); line-height:calc(25 * var(--u)); letter-spacing:-0.05em;
    white-space:nowrap;
  }
  .page-home .testimonials.t-single .testimonials-rows{ display:none; }
  .page-home .t-mobile{ display:block; margin-top:calc(32 * var(--u)); overflow:hidden; width:100%; }
  .page-home .t-track{ display:flex; align-items:stretch; will-change:transform; }
  .page-home .t-slide{ flex:0 0 100%; display:flex; padding:0 calc(40 * var(--u)); }
  .page-home .t-slide .testimonial-card{ flex:1 1 auto; width:auto; min-height:0; }
  .page-home .testimonial-head small{ font-size:13.5px; }
}

/* =========================================================
   QUEM SOMOS — MOBILE (Figma 430px · frame "QUEM SOMOS" 62:9311)
   Reaproveita os blocos da Home (foto da equipe, frases, potencial, mapa,
   método, depoimentos), que já estão escopados em body.page-home.
   ========================================================= */
.m-only{ display:none; }

@media (max-width:760px){
  /* Hero com gradiente + película preta 21% (Rectangle 175) */
  .page-qs .qs-hero{
    height:calc(314 * var(--u)); padding:calc(127 * var(--u)) 0 0;
    background:#041524 url(assets/qs-hero-mobile.webp) center / cover no-repeat;
    overflow:hidden;
  }
  .page-qs .qs-hero-inner{ padding-inline:calc(40 * var(--u)); }
  .page-qs .qs-eyebrow{
    margin:0 0 calc(5 * var(--u)); padding-left:calc(3 * var(--u));
    font-size:calc(11 * var(--u)); line-height:calc(20 * var(--u));
    letter-spacing:0.45em; font-weight:300; color:#fff;
  }
  .page-qs .qs-hero h1{
    max-width:none; white-space:nowrap; color:#fff;
    font-size:calc(40 * var(--u)); line-height:calc(40 * var(--u));
    letter-spacing:-0.047em; font-weight:700;
  }
  .page-qs .qs-hero .hero-lang{ top:calc(81 * var(--u)); }

  /* Menu aberto: links legíveis sobre o fundo claro */
  .page-qs .site-header.on-banner .main-nav a{ color:var(--ink); text-shadow:none; }
  .page-qs .site-header.on-banner .main-nav a.active{ border-bottom-color:var(--line); }

  /* História */
  .page-qs .qs-story{ padding:calc(53 * var(--u)) 0 0; overflow:visible; }
  .page-qs .qs-story-grid{
    display:flex; flex-direction:column; gap:0; margin:0;
    padding-inline:calc(40 * var(--u));
  }
  .page-qs .qs-story-copy{ order:1; }
  .page-qs .qs-story-lead{
    margin:0 0 calc(20 * var(--u)); color:#000;
    font-size:calc(20 * var(--u)); line-height:calc(25 * var(--u)); white-space:nowrap;
    letter-spacing:-0.05em; font-weight:300;
  }
  .page-qs .qs-story-lead strong{ font-weight:600; }
  .page-qs .qs-story-sub{
    max-width:none; text-align:left; color:#000; text-wrap:balance;
    margin-inline:calc(-20 * var(--u));
    font-size:calc(13.5 * var(--u)); line-height:calc(17 * var(--u)); font-weight:300;
  }
  .page-qs .qs-story-deco{
    order:2; display:block; width:calc(250 * var(--u)); height:calc(351 * var(--u)); min-height:0;
    margin:calc(24 * var(--u)) auto 0;
  }
  .page-qs .qs-deco-img{
    position:static; transform:none; width:100%; height:100%; object-fit:contain;
  }
  .page-qs .qs-story-statement{
    max-width:none; width:auto; padding:0; text-align:center; color:#000;
    margin:calc(37 * var(--u)) calc(40 * var(--u)) calc(50 * var(--u));
    font-size:calc(21 * var(--u)); line-height:calc(26 * var(--u));
    letter-spacing:-0.05em; font-weight:300;
  }
  .page-qs .qs-story-statement br{ display:none; }

  /* Faixa dos 4 passos */
  .page-qs .qs-steps-wrap{ margin:calc(33 * var(--u)) 0 calc(59 * var(--u)); }
  .page-qs .qs-steps-track{ gap:calc(20 * var(--u)); }
  .page-qs .qs-step{
    gap:calc(11 * var(--u)); height:calc(36 * var(--u));
    padding:0 calc(11 * var(--u)) 0 calc(3 * var(--u));
    font-size:calc(15 * var(--u)); font-weight:500;
  }
  .page-qs .qs-step i{
    width:calc(30 * var(--u)); height:calc(30 * var(--u));
    color:#000; font-weight:500; font-size:calc(14 * var(--u));
  }
  .page-qs .qs-cta-wrap{ display:none; }
}

/* =========================================================
   SOLUÇÕES — MOBILE (Figma 430px · frame "SOLUÇÕES" 62:18592)
   Hero/potencial/mapa/método/depoimentos reaproveitam as regras da Home
   (body.page-home) e do Quem somos (body.page-qs).
   ========================================================= */
@media (max-width:760px){
  /* Hero com o gradiente da Soluções */
  .page-sol .qs-hero{ background-image:url(assets/sol-hero-mobile.webp); }
  .page-sol .sol-hero h1,
  .page-sol .sol-hero .qs-eyebrow{ text-shadow:none; }

  /* Intro */
  .page-sol .sol-intro{ padding:calc(53 * var(--u)) 0 0; }
  .page-sol .sol-intro-text{
    max-width:none; margin:0; padding-inline:calc(40 * var(--u)); color:#000;
    font-size:calc(21 * var(--u)); line-height:calc(25 * var(--u));
    letter-spacing:-0.05em; font-weight:300; white-space:nowrap;
  }
  .page-sol .sol-intro-text br{ display:inline; }

  /* Cards: 2 colunas (170,5 × 248) */
  .page-sol .sol-cards{ padding:calc(20 * var(--u)) 0 calc(52 * var(--u)); }
  .page-sol .sol-cards-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:calc(28 * var(--u)) calc(9 * var(--u));
    padding-inline:calc(40 * var(--u)); align-items:stretch;
  }
  .page-sol .sol-card{
    min-height:calc(248 * var(--u));
    padding:calc(16.8 * var(--u)) calc(11 * var(--u)) calc(24 * var(--u));
    border-radius:calc(13.3 * var(--u)); box-shadow:none; background:#fff;
  }
  .page-sol .sol-card h3{
    margin:0; font-size:calc(14 * var(--u)); line-height:calc(15 * var(--u));
    letter-spacing:-0.029em; font-weight:600; color:#000;
  }
  .page-sol .sol-card-lead{
    margin:calc(1 * var(--u)) 0 0; min-height:calc(54 * var(--u));
    font-size:calc(10 * var(--u)); line-height:calc(12 * var(--u));
    font-weight:300; color:#000;
  }
  .page-sol .sol-card-img{
    margin:calc(5 * var(--u)) 0 0; aspect-ratio:148.8 / 62.7;
    border-radius:calc(8.8 * var(--u));
  }
  .page-sol .sol-card-desc{
    margin-top:calc(9 * var(--u));
    font-size:calc(7 * var(--u)); line-height:calc(9 * var(--u));
    font-weight:300; color:#000;
  }
  /* Pill "Fale com nosso time": metade dentro, metade fora do card */
  .page-sol .sol-card-cta{
    left:calc(11 * var(--u)); bottom:calc(-10 * var(--u));
    width:calc(100 * var(--u)); height:calc(22 * var(--u)); padding:0; gap:0;
    justify-content:center; border:0; line-height:1;
    font-size:calc(8 * var(--u)); font-weight:500;
    box-shadow:0 0 0 calc(5.75 * var(--u)) var(--cream);
  }
}

/* =========================================================
   TRABALHE CONOSCO — MOBILE (Figma 430px · frame 62:27838)
   Header/idioma/hambúrguer reaproveitam as regras da Home (body.page-home).
   ========================================================= */
@media (max-width:760px){
  /* ---- Introdução ---- */
  .page-tc .tc-intro{ position:relative; padding:0 0 calc(50 * var(--u)); }
  .page-tc .tc-intro-grid{
    display:grid; grid-template-columns:calc(128 * var(--u)) minmax(0, 1fr);
    column-gap:calc(50 * var(--u)); row-gap:0; align-items:start; justify-content:stretch;
    padding-inline:calc(40 * var(--u));
  }
  .page-tc .tc-intro-left,
  .page-tc .tc-intro-right{ display:contents; }

  .page-tc .tc-intro-left h1{
    grid-column:1 / -1; grid-row:1; margin:0 0 calc(18 * var(--u));
    font-size:calc(40 * var(--u)); line-height:calc(40 * var(--u));
    letter-spacing:-0.025em; font-weight:300; color:#000; white-space:nowrap;
  }
  .page-tc .tc-intro-left h1 strong{ font-weight:600; }

  .page-tc .tc-divider{
    grid-column:1 / -1; grid-row:2; width:calc(343 * var(--u));
    margin:0 0 calc(26 * var(--u)); border:0; border-top:1px solid var(--orange);
  }

  .page-tc .tc-photo-wrap{
    grid-column:1; grid-row:3 / 5; position:relative;
    width:calc(128 * var(--u)); max-width:none; margin:0;
  }
  .page-tc .tc-photo{
    width:100%; height:calc(178 * var(--u)); aspect-ratio:auto;
    border-radius:calc(15 * var(--u)); object-fit:cover;
  }
  .page-tc .tc-badge{
    right:auto; left:calc(92 * var(--u)); top:calc(16 * var(--u)); transform:none;
    width:calc(56 * var(--u)); height:calc(56 * var(--u)); z-index:2;
  }

  .page-tc .tc-lead{
    grid-column:2; font-size:calc(12 * var(--u)); line-height:calc(16 * var(--u));
    font-weight:300; color:#000; margin:0;
  }
  .page-tc .tc-lead:not(.tc-lead-2){ grid-row:3; margin-top:calc(20 * var(--u)); }
  .page-tc .tc-lead-2{ grid-row:4; margin-top:calc(16 * var(--u)); }

  .page-tc .tc-contact-list{
    grid-column:1 / -1; grid-row:5; margin:calc(31 * var(--u)) 0 0;
    gap:calc(11.5 * var(--u));
  }
  .page-tc .tc-contact-list li{
    gap:calc(26 * var(--u)); min-height:calc(59 * var(--u));
    padding:calc(8 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u)) calc(18 * var(--u));
    border-radius:calc(35.2 * var(--u));
    font-size:calc(12.5 * var(--u)); line-height:calc(15.5 * var(--u)); font-weight:300; color:#000;
  }
  .page-tc .tc-contact-list li > span:last-child{ white-space:nowrap; }
  .page-tc .tc-contact-list br{ display:inline; }
  .page-tc .tc-contact-ico{ width:calc(34 * var(--u)); }
  .page-tc .tc-contact-ico img{ max-width:calc(32 * var(--u)); max-height:calc(35 * var(--u)); }

  /* ---- Formulário ---- */
  .page-tc .tc-form-section{ padding:calc(38 * var(--u)) 0 calc(57 * var(--u)); }
  .page-tc .tc-form-grid{ display:block; padding-inline:calc(40 * var(--u)); }
  .page-tc .tc-form-left{ padding-top:0; }
  .page-tc .tc-shard{ width:calc(36 * var(--u)); margin:0 0 calc(20 * var(--u)); }
  .page-tc .tc-form-lead{
    margin:0 0 calc(18 * var(--u)); color:#fff;
    font-size:calc(25 * var(--u)); line-height:calc(30 * var(--u));
    letter-spacing:-0.04em; font-weight:300; white-space:nowrap;
  }
  .page-tc .tc-form-lead strong{ font-weight:600; }
  .page-tc .tc-form-lead{ letter-spacing:-0.04em; }
  .page-tc .tc-form-note{
    font-size:calc(11 * var(--u)); line-height:calc(13.5 * var(--u));
    font-weight:300; color:#fff; margin:0;
  }
  .page-tc .tc-form-note + .tc-form-note{ margin-top:calc(10 * var(--u)); }

  .page-tc .tc-form-card{
    margin-top:calc(32 * var(--u)); gap:calc(8.5 * var(--u));
    padding:calc(18 * var(--u)) calc(27.5 * var(--u)) calc(20 * var(--u));
    border-radius:calc(28.1 * var(--u)); border:1px solid rgba(157,157,157,.6);
  }
  .page-tc .tc-field{ gap:calc(2 * var(--u)); }
  .page-tc .tc-field label{ font-size:calc(13 * var(--u)); line-height:calc(16.4 * var(--u)); }
  .page-tc .tc-field input,
  .page-tc .tc-field select{
    height:calc(29.4 * var(--u)); padding:0 calc(9.8 * var(--u));
    border-radius:calc(5.2 * var(--u));
    font-size:16px; /* 16px evita o zoom automático ao focar no iPhone */
  }
  .page-tc .tc-field select{ background-position:right calc(10 * var(--u)) center; background-size:12px; }
  .page-tc .tc-field-row{ flex-direction:row; align-items:flex-end; gap:calc(6 * var(--u)); }
  .page-tc .tc-upload-btn{
    width:calc(32.7 * var(--u)); height:calc(29.4 * var(--u)); border-radius:calc(5.2 * var(--u));
  }
  .page-tc .tc-upload-btn svg{ width:calc(16 * var(--u)); height:calc(16 * var(--u)); }
  .page-tc .tc-legal{ font-size:calc(10 * var(--u)); line-height:calc(12.5 * var(--u)); }
  .page-tc .cf-turnstile{ max-width:100%; overflow:hidden; }
  .page-tc .tc-submit{
    align-self:flex-end; width:calc(117.8 * var(--u)); height:calc(29.4 * var(--u));
    padding:0; margin-top:calc(3 * var(--u)); border-radius:calc(5.2 * var(--u));
    font-size:calc(13 * var(--u)); font-weight:700; letter-spacing:0;
  }

  /* ---- Faixa com a imagem ---- */
  .page-tc .tc-photo-band{ aspect-ratio:auto; height:calc(400 * var(--u)); }
}

/* =========================================================
   CASES — MOBILE (Figma 430px · frame "CASES - Geral" 62:27973)
   Hero/potencial/mapa/método/depoimentos reaproveitam Home e Quem somos.
   ========================================================= */
@media (max-width:760px){
  .page-cases .qs-hero{ background-image:url(assets/cases-hero-mobile.webp); }
  .page-cases .cp-hero h1 br{ display:inline; }

  /* Intro */
  .page-cases .cp-intro{ padding:calc(32 * var(--u)) 0 0; text-align:left; }
  .page-cases .cp-intro .wrap{ padding-inline:calc(40 * var(--u)); max-width:none; }
  .page-cases .cp-intro .lead{
    margin:0; max-width:none; text-align:left; color:#000;
    font-size:calc(18 * var(--u)); line-height:calc(22 * var(--u)); font-weight:300;
  }
  .page-cases .cp-intro .lead strong{ font-weight:600; }

  /* Lista de cases: 1 coluna, na ordem do design (intercalando as 2 colunas) */
  .page-cases .cp-grid-section{ padding:calc(33 * var(--u)) 0 0; }
  .page-cases .cp-grid-section > .wrap{ padding-inline:0; max-width:none; }
  .page-cases .cp-grid{
    display:flex; flex-direction:column; gap:calc(30 * var(--u));
    max-width:none; margin:0; padding-inline:calc(40 * var(--u));
  }
  .page-cases .cp-col{ display:contents; }
  .page-cases .cp-col:nth-child(1) .cp-card:nth-child(1){ order:1; }
  .page-cases .cp-col:nth-child(2) .cp-card:nth-child(1){ order:2; }
  .page-cases .cp-col:nth-child(1) .cp-card:nth-child(2){ order:3; }
  .page-cases .cp-col:nth-child(2) .cp-card:nth-child(2){ order:4; }
  .page-cases .cp-col:nth-child(1) .cp-card:nth-child(3){ order:5; }
  .page-cases .cp-col:nth-child(2) .cp-card:nth-child(3){ order:6; }
  .page-cases .cp-col:nth-child(1) .cp-card:nth-child(4){ order:7; }
  .page-cases .cp-col:nth-child(2) .cp-card:nth-child(4){ order:8; }

  .page-cases .cp-card-photo{
    aspect-ratio:350 / 150; border-radius:calc(6.4 * var(--u)); background:transparent;
  }
  /* Efeito do desktop (desfoque + descrição + seta laranja), acionado por toque */
  .page-cases .cp-card{ cursor:pointer; -webkit-tap-highlight-color:transparent; }
  .page-cases .cp-card-desc{
    padding:calc(14 * var(--u)) calc(18 * var(--u));
    font-size:calc(13 * var(--u)); line-height:1.45;
  }
  .page-cases .cp-card:hover .cp-card-photo img{ filter:none; }
  .page-cases .cp-card:hover .cp-card-desc{ opacity:0; }
  .page-cases .cp-card:hover .cp-card-arrow{ background:transparent; border-color:var(--ink); color:var(--ink); }
  .page-cases .cp-card.is-open .cp-card-photo img{ filter:blur(4px) brightness(.45); }
  .page-cases .cp-card.is-open .cp-card-desc{ opacity:1; }
  .page-cases .cp-card.is-open .cp-card-arrow{ background:var(--orange); border-color:var(--orange); color:#fff; }
  .page-cases .cp-card-caption{
    margin-top:calc(11 * var(--u)); gap:calc(12 * var(--u)); padding-left:calc(4 * var(--u));
  }
  .page-cases .cp-card-eyebrow{
    font-size:calc(9.2 * var(--u)); margin-bottom:calc(3 * var(--u)); color:#000;
  }
  .page-cases .cp-card-title{ font-size:calc(20 * var(--u)); line-height:1.1; color:#000; }
  .page-cases .cp-card-arrow{
    width:calc(35.9 * var(--u)); height:calc(35.9 * var(--u)); flex-shrink:0;
    margin-right:calc(14 * var(--u));
  }
  .page-cases .cp-card-arrow svg{ width:calc(14 * var(--u)); height:calc(14 * var(--u)); }

  /* Fechamento */
  .page-cases .cp-closing{ margin:calc(42 * var(--u)) 0 0; padding-inline:calc(40 * var(--u)); max-width:none; }
  .page-cases .cp-closing p{
    max-width:none; color:#000;
    font-size:calc(18 * var(--u)); line-height:calc(22 * var(--u));
    letter-spacing:-0.055em; font-weight:300;
  }
  .page-cases .cp-closing p strong{ font-weight:600; }
  .page-cases .cp-closing .btn{ display:none; }

  /* Faixa de logos */
  .page-cases .cp-partners{ padding-bottom:calc(27 * var(--u)); }
  .page-cases .cp-partners .partners-frame{ margin-top:calc(84 * var(--u)); }
}
