/* =========================================================
   Dr. Gustavo Castro – Ortopedia Avançada
   Design system adaptado: base escura + névoa clara, Poppins,
   CTA com bloco de seta, marca d'água do símbolo, seções curvas.
   Cores da marca: #16787d (verde-azulado) e #1b1d1d (grafite).
   ========================================================= */

:root{
  /* marca */
  --teal:#16787d;
  --teal-d:#0f5b5f;
  --teal-dd:#0b4346;
  --teal-l:#3fa3a8;
  --teal-50:#e2eded;
  --graphite:#1b1d1d;

  /* superfícies */
  --night:#0f1a1b;
  --night-2:#122426;
  --night-3:#173538;
  --mist:#e5ebeb;
  --mist-2:#d7e1e1;
  --white:#ffffff;

  /* texto */
  --text:#1b1d1d;
  --text-2:#55605f;
  --text-d:#e8f0f0;
  --text-d2:#9fb3b3;

  --line:rgba(27,29,29,.1);
  --line-d:rgba(255,255,255,.09);

  --font:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gut:clamp(16px, 4vw, 48px);
  --max:1180px;
  --r:6px;
  --r-lg:10px;
  --ease:cubic-bezier(.22,.8,.2,1);
  --shadow:0 18px 40px -22px rgba(15,26,27,.35);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  margin:0;background:var(--mist);color:var(--text);
  font-family:var(--font);font-size:15.5px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,p,figure,blockquote{margin:0}
svg{width:1em;height:1em;flex:none}
b,strong{font-weight:600;color:inherit}
::selection{background:var(--teal);color:#fff}
:focus-visible{outline:2px solid var(--teal-l);outline-offset:3px}

.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.section{padding:clamp(80px,10vw,130px) 0;position:relative}

/* ---------- Tipografia ---------- */
.h2{
  font-weight:600;letter-spacing:-.02em;line-height:1.16;
  font-size:clamp(28px,3.1vw,42px);color:var(--text);max-width:18ch;margin-bottom:20px;
}
.p{color:var(--text-2);max-width:52ch;margin-bottom:16px}
.p b{color:var(--text)}
.p--strong{color:var(--text)}

.center-head{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(40px,5vw,60px)}
.center-head .h2{max-width:22ch}
.center-head .p{max-width:56ch}
.center-head--light .h2{color:var(--white)}
.center-head--light .p{color:var(--text-d2)}

/* ---------- Pill ---------- */
.pill{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;
  font-size:12px;font-weight:500;color:var(--text);
  background:var(--white);border:1px solid var(--line);border-radius:100px;padding:6px 14px 6px 10px;
}
.pill svg{font-size:14px;color:var(--teal)}
.pill--dark{background:rgba(255,255,255,.05);border-color:var(--line-d);color:var(--text-d)}
.pill--dark svg{color:var(--teal-l)}

/* ---------- CTA com bloco de seta ---------- */
.cta{
  --c1:var(--teal);--c2:var(--teal-d);--fg:#fff;
  display:inline-flex;align-items:stretch;border-radius:var(--r);overflow:hidden;
  font-size:14px;font-weight:500;color:var(--fg);will-change:transform;
  box-shadow:0 14px 30px -16px rgba(22,120,125,.7);
}
.cta__label{background:var(--c1);padding:15px 22px;display:flex;align-items:center;transition:background .4s var(--ease)}
.cta__arrow{background:var(--c2);width:50px;display:grid;place-items:center;font-size:18px;transition:background .4s var(--ease)}
.cta__arrow svg{transition:transform .45s var(--ease)}
.cta:hover .cta__label{background:var(--c2)}
.cta:hover .cta__arrow{background:var(--teal-dd)}
.cta:hover .cta__arrow svg{transform:translateX(3px)}
.cta--dark{--c1:var(--night-3);--c2:var(--night);box-shadow:0 14px 30px -16px rgba(15,26,27,.6)}
.cta--dark:hover .cta__label{background:var(--teal)}
.cta--dark:hover .cta__arrow{background:var(--teal-d)}
.cta--sm{font-size:13px;box-shadow:none}
.cta--sm .cta__label{padding:10px 16px}
.cta--sm .cta__arrow{width:40px;font-size:16px}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;color:var(--white);
  display:flex;align-items:center;gap:28px;padding:20px max(var(--gut), calc((100vw - var(--max))/2 + var(--gut)));
  transition:transform .6s var(--ease),background .4s,padding .4s;
}
.nav.is-scrolled{background:rgba(15,26,27,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-top:12px;padding-bottom:12px;box-shadow:0 1px 0 var(--line-d)}
.nav.is-hidden{transform:translateY(-100%)}
.nav__logo img{width:clamp(136px,12vw,160px);height:auto;filter:brightness(0) invert(1)}
.nav__links{display:flex;gap:28px;margin-left:auto;font-size:13.5px}
.nav__links a{opacity:.8;position:relative;padding:4px 0;transition:opacity .3s}
.nav__links a:hover{opacity:1}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--teal-l);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav__links a:hover::after{transform:scaleX(1)}
.nav__burger{display:none;width:44px;height:44px;position:relative}
.nav__burger span{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .45s var(--ease),top .45s var(--ease)}
.nav__burger span:first-child{top:18px}
.nav__burger span:last-child{top:25px}
.menu-open .nav__burger span:first-child{top:21.5px;transform:rotate(45deg)}
.menu-open .nav__burger span:last-child{top:21.5px;transform:rotate(-45deg)}

.menu{
  position:fixed;inset:0;z-index:45;background:var(--night);color:var(--white);
  display:flex;flex-direction:column;justify-content:space-between;padding:110px var(--gut) 40px;
  opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;
}
.menu-open .menu{opacity:1;visibility:visible}
.menu-open .nav{background:transparent;box-shadow:none;backdrop-filter:none}
.menu__links a{display:block;font-size:30px;font-weight:500;letter-spacing:-.02em;padding:12px 0;border-bottom:1px solid var(--line-d)}
.menu__foot{display:flex;flex-direction:column;gap:6px;color:var(--text-d2);font-size:14px}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;color:var(--white);
  background:
    radial-gradient(55% 65% at 78% 38%, rgba(22,120,125,.42), transparent 62%),
    radial-gradient(40% 50% at 10% 90%, rgba(22,120,125,.16), transparent 70%),
    linear-gradient(180deg, #0f1a1b 0%, #0c1617 100%);
  border-radius:0 0 50% 50% / 0 0 56px 56px;
  padding:120px 0 150px;
}
.hero__glow{position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");pointer-events:none}
.hero__mark{position:absolute;right:-4vw;top:-6vh;width:min(62vw,820px);height:auto;aspect-ratio:50.87/56.15;color:var(--teal);opacity:.16;pointer-events:none}
.hero__arcs{position:absolute;right:-80px;bottom:-60px;width:min(70vw,900px);height:auto;pointer-events:none}
.hero__arcs path{fill:none;stroke:var(--teal-l);stroke-width:1.2;opacity:.35}
.hero__grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.hero__kicker{font-size:13px;color:var(--text-d2);margin-bottom:18px}
.hero__title{font-weight:600;font-size:clamp(34px,4.2vw,58px);line-height:1.1;letter-spacing:-.025em;margin-bottom:22px;max-width:15ch}
.hero__lead{color:var(--text-d2);max-width:48ch;margin-bottom:32px}
.hero__crm{margin-top:28px;font-size:12.5px;color:var(--text-d2);opacity:.8}
.hero__photo{position:relative;align-self:end;justify-self:end;width:100%;max-width:470px;margin-bottom:-150px}
.hero__photo::before{content:"";position:absolute;left:8%;right:8%;top:6%;bottom:18%;border-radius:50%;background:radial-gradient(circle, rgba(22,120,125,.55), transparent 68%);filter:blur(30px)}
.hero__photo img{
  position:relative;width:100%;height:auto;
  -webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 97%);
          mask-image:linear-gradient(180deg,#000 72%,transparent 97%);
}
.hero__down{
  position:absolute;left:50%;bottom:22px;transform:translateX(-50%);
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:18px;
  background:var(--white);color:var(--night);box-shadow:0 8px 20px -8px rgba(0,0,0,.5);
  animation:bob 2.4s var(--ease) infinite;
}
@keyframes bob{50%{transform:translate(-50%,5px)}}

/* ---------- Card sobreposto ---------- */
.overlap{position:relative;z-index:2;margin-top:-90px}
.overlap__card{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,48px);align-items:center;
  padding:clamp(20px,3vw,36px);border-radius:var(--r-lg);color:var(--white);
  background:linear-gradient(135deg,#18383b 0%,#112628 60%,#0f2021 100%);
  box-shadow:0 40px 70px -30px rgba(15,26,27,.55);border:1px solid rgba(255,255,255,.06);
}
.overlap__img{aspect-ratio:4/4.3;border-radius:var(--r);overflow:hidden}
.overlap__img img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.overlap__title{font-size:clamp(22px,2.3vw,30px);font-weight:600;line-height:1.2;letter-spacing:-.02em;margin-bottom:22px;max-width:20ch}
.chips{display:grid;gap:8px}
.chips li{
  display:flex;gap:12px;align-items:center;padding:10px 14px 10px 10px;border-radius:var(--r);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  transition:background .35s,border-color .35s,transform .45s var(--ease);
}
.chips li:hover{background:rgba(22,120,125,.22);border-color:rgba(63,163,168,.35);transform:translateX(4px)}
.chips li div{display:flex;flex-direction:column;line-height:1.35}
.chips b{font-size:14px;font-weight:600}
.chips li span:not(.chips__ic){font-size:12.5px;color:var(--text-d2)}
.chips__ic{width:34px;height:34px;flex:none;border-radius:var(--r);display:grid;place-items:center;font-size:17px;background:var(--teal);color:#fff}
.chips__ic--light{background:var(--teal-50);color:var(--teal)}

/* ---------- Procedimentos ---------- */
.procs__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,80px);align-items:start}
.procs__text{position:sticky;top:120px}
.procs__text .cta{margin-top:12px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card{
  position:relative;padding:22px 22px 24px;border-radius:var(--r);
  background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,255,255,.6));
  border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);
  transition:box-shadow .5s var(--ease);
}
.card:nth-child(even){margin-top:28px;margin-bottom:-28px}
.card:hover{box-shadow:0 26px 50px -24px rgba(15,26,27,.45)}
.card__ic{width:40px;height:40px;border-radius:var(--r);display:grid;place-items:center;background:var(--teal-50);color:var(--teal);font-size:20px;margin-bottom:26px;transition:background .4s,color .4s}
.card:hover .card__ic{background:var(--teal);color:#fff}
.card h3{font-size:15.5px;font-weight:600;margin-bottom:6px}
.card p{font-size:13.5px;color:var(--text-2);line-height:1.55}
.card__link{position:absolute;top:18px;right:18px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:15px;color:var(--text-2);transition:background .35s,color .35s,border-color .35s,transform .45s var(--ease)}
.card:hover .card__link{background:var(--night-3);color:#fff;border-color:var(--night-3);transform:rotate(45deg)}

/* ---------- Feature (texto + foto) ---------- */
.feature{overflow:hidden}
.feature__grid{position:relative;display:grid;grid-template-columns:1fr .9fr;gap:clamp(32px,6vw,90px);align-items:center}
.feature--left .feature__grid{grid-template-columns:.9fr 1fr}
.feature__img{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;box-shadow:0 40px 60px -34px rgba(15,26,27,.5)}
.feature__img img{width:100%;height:116%;object-fit:cover;object-position:center 20%}
.feature__img--frame{border:8px solid var(--white)}
.feature__mark{position:absolute;left:-6vw;top:40px;width:min(52vw,640px);height:auto;aspect-ratio:50.87/56.15;color:var(--teal);opacity:.1;pointer-events:none}
.feature__crm{font-size:13px;color:var(--teal);font-weight:500;margin:-8px 0 20px}
.feature__quote{
  text-align:center;font-weight:500;font-size:clamp(20px,2.2vw,28px);letter-spacing:-.015em;line-height:1.35;
  color:var(--text);margin-top:clamp(64px,8vw,110px);max-width:760px;
}
.ticks{display:grid;gap:10px;margin:8px 0 30px}
.ticks li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--text)}
.ticks svg{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--teal);color:#fff;margin-top:1px}
.ticks--sm li{font-size:14px}
.creds{display:grid;gap:0;margin:10px 0 30px;border-top:1px solid var(--line)}
.creds li{font-size:14px;color:var(--text-2);padding:11px 0 11px 22px;border-bottom:1px solid var(--line);position:relative}
.creds li::before{content:"";position:absolute;left:4px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--teal);transform:translateY(-50%)}
.feature__side{display:flex;flex-direction:column;gap:14px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stat{background:var(--white);border-radius:var(--r);padding:18px 20px;box-shadow:var(--shadow)}
.stat b{display:block;font-size:clamp(28px,3vw,38px);font-weight:600;letter-spacing:-.03em;color:var(--teal);line-height:1.1}
.stat>span{font-size:13px;color:var(--text-2)}

/* ---------- Mídia ---------- */
.media{padding-top:0}
.press{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.press a{
  position:relative;height:96px;border-radius:var(--r);display:grid;place-items:center;
  background:var(--white);box-shadow:var(--shadow);transition:transform .45s var(--ease),box-shadow .45s;
}
.press a:hover{transform:translateY(-4px)}
.press img{height:34px;width:auto;max-width:70%;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .4s,opacity .4s}
.press a:hover img{filter:none;opacity:1}
.press svg{position:absolute;top:10px;right:10px;font-size:13px;color:var(--text-2);opacity:0;transition:opacity .3s}
.press a:hover svg{opacity:1}

/* ---------- Bloco escuro ---------- */
.deep{
  position:relative;overflow:hidden;color:var(--white);
  background:
    radial-gradient(50% 30% at 85% 12%, rgba(22,120,125,.28), transparent 70%),
    radial-gradient(45% 25% at 10% 60%, rgba(22,120,125,.18), transparent 70%),
    linear-gradient(180deg,#0f1a1b 0%,#0d1819 100%);
  border-radius:50% 50% 50% 50% / 64px 64px 64px 64px;
  padding:clamp(100px,11vw,140px) 0 clamp(100px,11vw,140px);
}
.deep__mark{position:absolute;left:-10vw;top:52%;width:min(70vw,900px);height:auto;aspect-ratio:50.87/56.15;color:var(--teal);opacity:.07;pointer-events:none}
.deep__block{position:relative;margin-bottom:clamp(90px,11vw,140px)}
.deep__block--last{margin-bottom:0}

.regions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.regions>li{display:flex}
.regions>li>.region{flex:1}
.region{
  display:flex;flex-direction:column;height:100%;color:inherit;
  padding:24px;border-radius:var(--r);border:1px solid var(--line-d);
  background:linear-gradient(150deg,rgba(22,120,125,.16),rgba(255,255,255,.02) 60%);
  transition:border-color .4s,background .5s;
}
.region:hover{border-color:rgba(63,163,168,.45);background:linear-gradient(150deg,rgba(22,120,125,.32),rgba(255,255,255,.03) 70%)}
.region span{font-size:12px;color:var(--teal-l);font-weight:500}
.region h3{font-size:18px;font-weight:600;margin:28px 0 6px}
.region p{font-size:13.5px;color:var(--text-d2);line-height:1.55}

.rows{display:grid;gap:12px;max-width:860px;margin:0 auto}
.row{
  display:grid;grid-template-columns:96px 1fr;align-items:center;gap:8px;
  padding:18px 26px 18px 0;border-radius:var(--r);border:1px solid var(--line-d);
  background:linear-gradient(90deg,rgba(22,120,125,.3) 0%,rgba(22,120,125,.08) 45%,rgba(255,255,255,.02) 100%);
}
.row__n{font-size:34px;font-weight:300;text-align:center;color:var(--white);letter-spacing:-.02em;border-right:1px solid var(--line-d);line-height:1.2}
.row h3{font-size:15px;font-weight:600;margin-bottom:2px;padding-left:18px}
.row p{font-size:13px;color:var(--text-d2);line-height:1.5;padding-left:18px}

.split{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.split__body{background:linear-gradient(150deg,#ffffff 0%,#eef3f3 100%);color:var(--text);padding:clamp(28px,4vw,52px)}
.split__title{font-size:clamp(24px,2.5vw,34px);font-weight:400;line-height:1.2;letter-spacing:-.02em;margin-bottom:16px;max-width:16ch}
.split__title b{font-weight:600}
.split__p{font-size:14.5px;color:var(--text-2);margin-bottom:20px;max-width:46ch}
.split__img{min-height:360px;overflow:hidden}
.split__img img{width:100%;height:118%;object-fit:cover;object-position:center 30%}

.rating{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-d2)}
.rating b{color:var(--white);font-size:20px;font-weight:600}
.rating__stars{display:flex;gap:2px;color:#e7b95b;font-size:16px}

.carousel{--per:3;--gap:16px;position:relative}
.carousel__viewport{overflow:hidden;margin:-12px;padding:12px}
.carousel__track{display:flex;gap:var(--gap);touch-action:pan-y;cursor:grab;user-select:none;will-change:transform}
.carousel__track.is-drag{cursor:grabbing}
.tcard{
  flex:0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));
  display:flex;flex-direction:column;justify-content:space-between;gap:24px;
  padding:26px;border-radius:var(--r);border:1px solid var(--line-d);
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  transition:border-color .4s,opacity .5s;
}
.tcard:hover{border-color:rgba(63,163,168,.4)}
.tcard blockquote{font-size:14px;line-height:1.65;color:var(--text-d)}
.tcard figcaption{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--text-d2)}
.tcard figcaption span:last-child{display:flex;flex-direction:column;line-height:1.35}
.tcard figcaption b{color:var(--white);font-size:14px}
.tcard__av{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-weight:600;font-size:13px}
.carousel__nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px}
.carousel__btn{width:40px;height:40px;border-radius:var(--r);display:grid;place-items:center;font-size:16px;color:var(--white);border:1px solid var(--line-d);background:rgba(255,255,255,.04);transition:background .3s,border-color .3s,opacity .3s}
.carousel__btn:hover{background:var(--teal);border-color:var(--teal)}
.carousel__dots{display:flex;gap:6px}
.carousel__dots button{width:8px;height:4px;border-radius:4px;background:rgba(255,255,255,.25);transition:width .4s var(--ease),background .4s}
.carousel__dots button.is-active{width:28px;background:var(--teal-l)}
@media (max-width:1024px){.carousel{--per:2}}
@media (max-width:640px){.carousel{--per:1}}

.final{text-align:center;display:flex;flex-direction:column;align-items:center;margin-top:clamp(80px,10vw,120px)}
.final .h2{color:var(--white);max-width:20ch}
.final .p{color:var(--text-d2);max-width:60ch;margin-bottom:30px}

/* ---------- Contato ---------- */
.contact__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,5vw,70px);align-items:stretch}
.info{display:grid;gap:10px;margin-top:10px}
.info li{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:var(--r);background:var(--white);box-shadow:var(--shadow)}
.info div{display:flex;flex-direction:column;font-size:14.5px;line-height:1.5}
.info b{font-size:13px;color:var(--text-2);font-weight:500}
.info a{font-weight:500;transition:color .3s}
.info a:hover{color:var(--teal)}
.info small{font-size:12.5px;color:var(--text-2)}
.contact__map{min-height:420px;border-radius:var(--r-lg);overflow:hidden;background:var(--mist-2);box-shadow:var(--shadow)}
.contact__map iframe{width:100%;height:100%;border:0;filter:grayscale(.6)}

/* ---------- FAQ ---------- */
.faq{padding-top:0}
.faq__wrap{max-width:820px}
.faq__list{display:grid;gap:8px}
.qa{background:var(--white);border-radius:var(--r);border:1px solid var(--line);transition:box-shadow .4s}
.qa[open]{box-shadow:var(--shadow)}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px 18px;font-size:14.5px;font-weight:500}
.qa summary::-webkit-details-marker{display:none}
.qa__n{font-size:12px;color:var(--teal);font-weight:600;padding-right:14px;border-right:1px solid var(--line);line-height:1.1}
.qa summary i{margin-left:auto;width:28px;height:28px;flex:none;border-radius:var(--r);position:relative;background:var(--teal-50);transition:background .35s,transform .45s var(--ease)}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--teal);transform:translate(-50%,-50%)}
.qa summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .3s}
.qa[open] summary i{background:var(--teal);transform:rotate(180deg)}
.qa[open] summary i::before{background:#fff}
.qa[open] summary i::after{opacity:0}
.qa__a{overflow:hidden}
.qa__a p{font-size:14px;color:var(--text-2);padding:0 18px 18px 64px;max-width:68ch}
.faq__cta{display:flex;justify-content:center;margin-top:36px}

/* ---------- Footer ---------- */
.footer{background:var(--night);color:var(--text-d2);margin-top:clamp(40px,6vw,80px);font-size:14px}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px;padding-top:64px;padding-bottom:48px}
.footer__brand img{width:150px;height:auto;filter:brightness(0) invert(1);margin-bottom:16px}
.footer__brand p{max-width:38ch;font-size:13.5px}
.footer h4{color:var(--white);font-size:13px;font-weight:600;margin-bottom:12px}
.footer__grid>div:not(.footer__brand) a,.footer__grid>div:not(.footer__brand) span{display:block;padding:2px 0;font-size:13.5px}
.footer a:hover{color:var(--white)}
.footer__bar{border-top:1px solid var(--line-d);padding:18px 0;font-size:12.5px}
.footer__bar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}

/* ---------- WhatsApp flutuante ---------- */
.float-wa{
  position:fixed;right:20px;bottom:20px;z-index:40;width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;font-size:26px;color:#fff;background:var(--teal);
  box-shadow:0 12px 30px -10px rgba(22,120,125,.8);transform:scale(0);transition:transform .5s var(--ease),background .3s;
}
.float-wa.is-visible{transform:scale(1)}
.float-wa:hover{background:var(--teal-d)}

/* máscara de palavras (títulos) */
.split-line{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split-line>span{display:inline-block}

/* ---------- Responsivo ---------- */
@media (max-width:1024px){
  .nav__links{display:none}
  .nav__cta{margin-left:auto}
  .nav__burger{display:block}
  .hero__grid,.overlap__card,.procs__grid,.feature__grid,.feature--left .feature__grid,.contact__grid,.split{grid-template-columns:1fr}
  .procs__text{position:static}
  .feature--left .feature__img{order:2}
  .feature__img{max-width:520px}
  .overlap__img{aspect-ratio:16/10}
  .regions{grid-template-columns:1fr 1fr}
  .press{grid-template-columns:repeat(3,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr}
  .hero__photo{justify-self:center}
}
@media (max-width:640px){
  body{font-size:15px}
  .nav__cta{display:none}
  .nav__burger{margin-left:auto}
  .hero{padding:104px 0 110px;border-radius:0 0 50% 50% / 0 0 32px 32px}
  .hero__mark{width:120vw;right:-40vw;top:20%}
  .hero__photo{max-width:340px;margin-top:-10px}
  .overlap{margin-top:-50px}
  .cards{grid-template-columns:1fr}
  .card:nth-child(even){margin:0}
  .regions{grid-template-columns:1fr}
  .row{grid-template-columns:64px 1fr;padding-right:16px}
  .row__n{font-size:26px}
  .row h3,.row p{padding-left:12px}
  .deep{border-radius:50% 50% 50% 50% / 32px 32px 32px 32px}
  .press{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .qa__a p{padding-left:18px}
  .footer__grid{grid-template-columns:1fr}
  .cta__label{padding:14px 18px}
}

/* =========================================================
   Landing pages por região
   ========================================================= */
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--text-d2);margin-bottom:18px}
.crumb a{transition:color .3s}
.crumb a:hover{color:var(--white)}
.crumb span{opacity:.5}
.crumb b{color:var(--teal-l);font-weight:500}
.hero--lp .hero__title{max-width:12ch;margin-bottom:14px}
.hero__sub{font-size:clamp(16px,1.4vw,19px);font-weight:500;color:var(--white);max-width:40ch;margin-bottom:14px}

.note{display:flex;gap:12px;align-items:flex-start;margin:6px 0 26px;padding:14px 16px;border-radius:var(--r);background:var(--white);border-left:3px solid #c9772f;box-shadow:var(--shadow);max-width:52ch}
.note__ic{width:30px;height:30px;flex:none;border-radius:var(--r);display:grid;place-items:center;background:#fbeee2;color:#b5651f;font-size:16px}
.note p{font-size:13.5px;color:var(--text-2);line-height:1.55}
.note b{color:var(--text)}

.info--plain{margin:6px 0 30px}
.info--plain li{padding:14px 16px}
.info--plain div span{font-size:13.5px;color:var(--text-2)}
.info--plain b{font-size:14.5px;color:var(--text);font-weight:600}

.link-more{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--teal)}
.link-more svg{transition:transform .4s var(--ease)}
.link-more:hover svg{transform:translateX(4px)}
.split__body .pill{margin-bottom:16px}

.related{padding-top:0}
.related__list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.related__link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 18px;border-radius:var(--r);background:var(--white);box-shadow:var(--shadow);font-size:14.5px;font-weight:500;transition:background .35s,color .35s,transform .45s var(--ease)}
.related__link svg{color:var(--teal);transition:transform .4s var(--ease),color .35s}
.related__link:hover{background:var(--night-3);color:#fff;transform:translateY(-3px)}
.related__link:hover svg{color:#fff;transform:translateX(3px)}

/* cards de região do site principal como links */
.region__more{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--teal-l)!important}
.region__more svg{transition:transform .4s var(--ease)}
.region:hover .region__more svg{transform:translateX(4px)}

@media (max-width:1024px){
  .related__list{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .related__list{grid-template-columns:1fr 1fr}
  .hero--lp .hero__title{max-width:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
