/* =========================================================
   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; }

.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:139px;
  line-height:0.82;
  letter-spacing:-5.35px;
  display:flex; flex-direction:column; gap:0;
}
.hero-sub{ font-size:55px; font-weight:400; color:var(--ink); letter-spacing:-1.2px; line-height:1.05; margin-top:14px; }
.hero-copy .btn{ margin-top:40px; }

.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:hover .partners-track{ animation-play-state:paused; }
.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:1.6fr 1fr;
  gap:60px;
  align-items:center;
  padding-inline:56px;
  max-width:100%;
}
.banner-headline{
  color:#fff; font-size:32px; font-weight:400; line-height:1.35;
}
.banner-headline strong{ font-weight:700; }
.banner-text{ color:#f1efe9; font-size:15px; line-height:1.7; opacity:.92; }
.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:baseline; flex-wrap:nowrap;
  margin-bottom:80px;
}
.stat{
  display:flex; align-items:baseline; gap:14px;
  padding-right:40px; margin-right:40px;
  border-right:1px solid var(--line);
}
.stat:last-child{ border-right:none; margin-right:0; padding-right:0; }
.stat-num{ font-size:60px; font-weight:600; letter-spacing:-1px; white-space:nowrap; }
.stat-num.accent{ color:var(--orange); }
.stat-label{ color:var(--muted); font-size:20px; max-width:150px; line-height:1.25; }

.team-block{
  display:grid;
  grid-template-columns:1.35fr 1fr;
  align-items:center;
  gap:60px;
}
.team-photo-wrap{ position:relative; width:100%; 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%);
}
.team-badge{
  position:absolute; left:78%; top:50%; transform:translate(-50%,-50%);
  width:70px; height:70px; border-radius:50%;
  background:var(--dark);
  display:flex; align-items:center; justify-content:center;
}
.team-badge .bolt{ width:26px; height:26px; }
.team-facts{ display:flex; flex-direction:column; gap:22px; }
.team-facts li{
  font-size:20px; padding-bottom:22px; border-bottom:1px solid var(--line);
  color:var(--ink); font-weight:300;
}
.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:flex-end; 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; }

.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;
}
.cases-carousel-wrap:hover .cases-grid{ animation-play-state:paused; }
.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:780px; }
.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:480px; justify-self:center; grid-column:2; grid-row:1/3; }
.globe-wrap .globe{ width:100%; display:block; }
.globe-badge{
  position:absolute; top:38.3%; left:53.3%; transform:translate(-50%,-50%);
  width:15%; height:auto; z-index:2;
  filter:drop-shadow(0 0 14px rgba(0,0,0,.9)) drop-shadow(0 0 14px rgba(0,0,0,.9));
}
.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:left; align-items:flex-start; }
.eco-right{ grid-column:3; text-align:right; align-items:flex-end; }
.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 .2s, transform .2s;
  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{
  max-height:0; overflow:hidden; opacity:0;
  transition:max-height .4s ease, opacity .3s ease, margin .4s ease;
  background:rgba(0,0,0,.83); border:1px solid #fff;
  border-radius:32px; width:100%; max-width:389px;
}
.eco-panel.open{ max-height:460px; opacity:1; margin-top:6px; }
.eco-panel-inner{ 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-right:auto; }
.eco-right .eco-panel{ margin-left:auto; text-align:left; }

/* =========================================================
   POTENCIAL (hands photo)
   ========================================================= */
.potential{
  position:relative;
  background-image:
    linear-gradient(180deg, rgba(5,7,11,.5), rgba(5,7,11,.65)),
    url('assets/hands-bg.webp');
  background-size:cover; background-position:20% 85%;
  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 svg{ width:26px; height:26px; }
.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:1fr 1fr; align-items:center; gap:30px;
}
.worldmap-copy{ display:flex; align-items:flex-start; gap:14px; }
.worldmap-copy .bolt{ width:36px; height:36px; margin-top:8px; flex-shrink:0; }
.worldmap-copy h2{ font-size:45px; font-weight:600; line-height:1.15; letter-spacing:-1px; max-width:640px; }
.worldmap-img{ width:100%; border-radius:12px; }

/* =========================================================
   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:640px; }

.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; }
.testimonials h2{ font-size:36px; font-weight:400; line-height:1.3; max-width:760px; }
.testimonials h2 strong{ font-weight:700; }

.testimonials-rows{
  margin-top:56px;
  max-width:var(--wrap); margin-inline:auto; padding-inline:20px;
}
.testimonials-row{
  display:flex; gap:20px; flex-wrap:nowrap; justify-content:center;
}
.testimonial-card{
  background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:26px; display:flex; flex-direction:column; gap:18px;
  flex:1 1 260px; max-width:300px; min-width:0;
}
.testimonial-head{ display:flex; align-items:center; gap:14px; }
.avatar{ width:44px; height:44px; border-radius:50%; background:#d9d6cd; flex-shrink:0; }
.avatar-photo{ display:flex; align-items:center; justify-content:center; overflow:hidden; }
.avatar-photo img{ width:58%; height:58%; object-fit:contain; }
.avatar-medtec{ background:none; }
.avatar-medtec img{ width:100%; height:100%; object-fit:cover; }
.avatar-beachchopp{ background:none; }
.avatar-beachchopp img{ width:100%; height:100%; object-fit:cover; }
.avatar-daretofit{ background:linear-gradient(180deg, #94E49E 0%, #2E5243 100%); }
.avatar-baechler{ background:#73081D; }
.testimonial-head strong{ display:block; font-size:15px; }
.testimonial-head small{ color:var(--muted); font-size:13px; }
.testimonial-card p{ font-size:14.5px; color:#4a4a4a; line-height:1.6; flex:1; }
.brand-tag{
  align-self:flex-start; background:var(--ink); color:#fff; font-size:11px; font-weight:700;
  letter-spacing:.04em; padding:8px 14px; border-radius:8px;
}
.brand-tag-logo{
  align-self:flex-start; background:#fff; border:1px solid var(--line);
  padding:8px 14px; border-radius:8px; display:inline-flex; align-items:center;
}
.brand-tag-logo img{ height:14px; width:auto; display:block; }

/* =========================================================
   NEWSLETTER
   ========================================================= */
.newsletter{ padding-bottom:0; text-align:center; }
.newsletter h2{ font-size:42px; font-weight:700; line-height:1.25; }
.newsletter .bolt{ width:22px; height:22px; vertical-align:middle; }
.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;
}
.footer-nav{ display:flex; flex-direction:column; gap:14px; font-size:15px; }
.footer-social{ display:flex; flex-direction:column; gap:16px; font-size:15px; }
.social-icons{ display:flex; gap:14px; }
.social-icons a{
  width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center; color:var(--orange);
  transition:background .2s;
}
.social-icons a:hover{ background:var(--orange); color:#fff; }
.social-icons svg{ width:18px; height:18px; }
.footer-contact{ display:flex; flex-direction:column; gap:14px; font-size:15px; text-align:right; }

.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; padding-inline:32px; }
  .team-block{ grid-template-columns:1fr; }
  .ecosystem-grid{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  .eco-left, .eco-right{ align-items:center; text-align:center; }
  .globe-wrap{ order:-1; }
  .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; }
  .testimonial-card{ flex-basis:280px; width:280px; }
  .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:24px; }
  .results-top h2, .cases-top h2{ font-size:28px; }
  .cases-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .method-grid{ grid-template-columns:1fr; }
  .testimonial-card{ flex-basis:100%; width:100%; max-width:340px; }
  .testimonials-row{ flex-wrap:wrap; }
  .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:linear-gradient(100deg,#00747f 0%, #041524 22%, #1f0410 42%, #501400 58%, #a5620a 78%, #8a4300 100%);
  padding:170px 0 90px;
  margin-top:calc(-1 * var(--header-h, 88px));
  overflow:hidden;
}
.qs-hero::before{
  content:"";
  position:absolute; inset:0;
  background:rgba(0,0,0,.21);
}
.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:104px; font-weight:700; line-height:.92; letter-spacing:-3px;
  max-width:900px;
}

.qs-story{ padding:110px 0 0; overflow:hidden; }
.qs-story-grid{
  display:grid; grid-template-columns:.7fr 1fr; align-items:center; gap:40px;
  margin-bottom:70px;
}
.qs-story-deco{ position:relative; width:100%; height:100%; min-height:320px; display:flex; align-items:center; justify-content:center; }
.qs-deco-img{ width:auto; height:min(360px,80%); max-width:100%; }
.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:23px; 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:1160px; 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-hero h1{ font-size:64px; }
  .qs-story-grid{ grid-template-columns:1fr; }
  .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:42px; }
  .qs-eyebrow{ font-size:18px; letter-spacing:8px; }
  .qs-story-lead{ font-size:28px; }
  .qs-story-sub{ font-size:18px; }
  .qs-story-statement{ font-size:24px; }
  .qs-photo{ aspect-ratio:auto; height:320px; }
}

/* =========================================================
   CASES — page-specific sections (grade de projetos)
   ========================================================= */
.cp-hero h1{
  font-size:139px; font-weight:700; line-height:.92; letter-spacing:-5.35px;
  max-width:1312px;
}
.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:20px auto 100px;
}
.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{ font-size:56px; }
  .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:36px; }
  .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:1000px;
}

.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; }
}
@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; }
.tc-intro-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start;
}
.tc-intro-left h1{
  font-size:45px; font-weight:300; line-height:1.22; letter-spacing:-1px;
  margin-bottom:40px;
}
.tc-intro-left h1 strong{ font-weight:600; }
.tc-photo-wrap{ position:relative; width:100%; max-width:312px; }
.tc-photo{
  width:100%; aspect-ratio:312/487; object-fit:cover;
  border-radius:46px; border:15px solid var(--cream);
  display:block;
}
.tc-badge{
  position:absolute; left:50%; top:12%; transform:translate(-50%,-50%);
  width:100px; height:100px; border-radius:50%;
  background:var(--orange);
  display:flex; align-items:center; justify-content:center;
}
.tc-badge .bolt{ width:40px; height:40px; fill:#fff; }

.tc-lead{ font-size:25px; font-weight:300; line-height:1.4; margin-bottom:32px; }
.tc-lead-2{ margin-top:38px; }
.tc-divider{ border:none; border-top:3px solid var(--orange); margin:141px 0 24px; width:100%; }
.tc-contact-list{ display:flex; flex-direction:column; gap:22px; margin-top:40px; }
.tc-contact-list li{ display:flex; align-items:flex-start; gap:16px; font-size:20px; font-weight:300; }
.tc-contact-ico{
  width:44px; height:44px; border-radius:50%; background:#efeee9;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  color:var(--orange);
}
.tc-contact-ico svg{ width:20px; height:20px; }

.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:1fr; gap:50px; }
  .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; }
