/* Source: inline-home-01.css */

:root{
  --ink:#111827; --ink2:#0b1220; --muted:#5b6474; --faint:#8f98a8;
  --line:#e6e9ef; --blue:#2451ff; --blue2:#0f5cff; --soft:#f7f9fc;
  --card:#f3f6fb; --white:#fff; --radius:18px; --shadow:0 18px 50px rgba(17,24,39,.08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block} a{text-decoration:none;color:inherit}
.wrap{width:min(1180px,calc(100% - 48px));margin:auto}
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.90);backdrop-filter:blur(16px);border-bottom:1px solid rgba(230,233,239,.8)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:190px;height:auto}
.navlinks{display:flex;align-items:center;gap:26px;font-size:14px}
.navlinks a{color:#202838}.navlinks a:hover{color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:12px;font-weight:600;font-size:14px}
.btn-dark{background:var(--ink2);color:#fff}.btn-blue{background:var(--blue);color:#fff}.btn-outline{border:1px solid #cfd5df;background:#fff}
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:670px;align-items:stretch;background:linear-gradient(120deg,#fff 0%,#f7faff 55%,#eef3fa 100%)}
.hero-copy{padding:76px 0 50px}
.kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#536174;font-weight:700}
.hero h1{font-size:clamp(46px,5.7vw,76px);line-height:.98;letter-spacing:-.045em;margin:20px 0 24px;max-width:720px}
.hero h1 .accent{color:var(--blue)}
.hero p.lead{font-size:19px;color:var(--muted);max-width:650px;margin:0 0 26px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 34px}
.meta-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.meta-item strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.meta-item span{display:block;font-size:12px;color:var(--muted);margin-top:5px}
.hero-photo{position:relative;overflow:hidden;min-height:670px}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.22),transparent 25%,rgba(11,18,32,.05))}
.hero-sign{position:absolute;right:42px;top:110px;text-align:right;color:#273142}
.hero-sign .mini{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.hero-sign .name{font-family:Georgia,serif;font-style:italic;font-size:28px;margin:28px 0 8px}
.hero-sign .roles{font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.section{padding:76px 0}
.section-alt{background:linear-gradient(90deg,#fff 0,#f8faff 55%,#fff 100%)}
.grid-3{display:grid;grid-template-columns:1fr 1.1fr .7fr;gap:48px;align-items:start}
.big-title{font-size:clamp(38px,4vw,58px);line-height:1.02;letter-spacing:-.04em;margin:12px 0}
.big-title .accent{color:var(--blue)}
.body-copy{font-size:17px;color:var(--muted)} .body-copy p{margin:0 0 16px}
.principles{display:grid;gap:20px}.principle{display:grid;grid-template-columns:38px 1fr;gap:14px;padding-left:18px;border-left:1px solid var(--line)}
.principle b{font-size:11px;letter-spacing:.15em;text-transform:uppercase}.principle span{display:block;color:var(--faint);font-size:13px;margin-top:3px}
.icon{width:30px;height:30px;border:1.5px solid var(--ink);border-radius:8px;display:grid;place-items:center;font-weight:700}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}
.section-head h2{font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-.035em;margin:8px 0 0;max-width:760px}
.link{color:var(--blue);font-size:14px;font-weight:600}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:linear-gradient(180deg,#f4f7fb,#eef2f7);border:1px solid #edf0f5;border-radius:14px;padding:26px;min-height:270px;display:flex;flex-direction:column;transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card.dark{background:linear-gradient(145deg,#0c1422,#152234);color:#fff}.card.dark p{color:#c9d2df}
.card-brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;margin-bottom:28px}
.card-dot{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 65% 35%,#fff 0 18%,#5767ff 20% 48%,#0b41ff 50% 100%)}
.card p{color:var(--muted);font-size:15px;flex:1}.card a{font-size:14px;font-weight:600;margin-top:22px}
.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.timeline{background:#f7f9fc;border-radius:14px;padding:34px}
.timeline h2{font-size:42px;line-height:1.04;letter-spacing:-.035em;margin:10px 0}
.line{height:2px;background:#cbd2dc;margin:30px 0 12px;position:relative}.line:after{content:"";position:absolute;right:0;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--blue)}
.timeline-labels{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;font-size:11px;color:var(--muted)}
.purpose{border-radius:14px;padding:34px;min-height:100%;background:linear-gradient(rgba(9,18,34,.72),rgba(9,18,34,.78)),url('/assets/andre-vinhosa.png') center/cover;color:#fff}
.purpose h2{font-size:38px;line-height:1.05;letter-spacing:-.03em;max-width:470px}.purpose p{color:#d8e0ec}
footer{background:#0b1220;color:#fff;padding:32px 0}
.footer-grid{display:grid;grid-template-columns:1.1fr 1.4fr .8fr;gap:30px;align-items:center}.footer-grid img{width:190px;filter:brightness(0) invert(1)}
.footer-links{display:flex;gap:24px;justify-content:center;font-size:14px;color:#d0d7e4}.footer-meta{font-size:12px;color:#9fa9ba}
.page-hero{padding:100px 0 70px;background:linear-gradient(120deg,#fff,#f4f7fc)}.page-hero h1{font-size:clamp(48px,6vw,78px);line-height:1;letter-spacing:-.045em;margin:14px 0 20px;max-width:880px}.page-hero p{font-size:19px;color:var(--muted);max-width:760px}
.content-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.content-grid h2{font-size:36px;line-height:1.1;margin:0}.content-grid p{font-size:17px;color:var(--muted)}
.list{display:grid;gap:0}.list-item{padding:28px 0;border-top:1px solid var(--line)}.list-item h3{font-size:24px;margin:4px 0 8px}.list-item small{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
@media(max-width:950px){.hero{grid-template-columns:1fr}.hero-photo{min-height:520px}.grid-3,.cards,.bottom-grid,.content-grid,.footer-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.footer-links{justify-content:flex-start}.meta-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.wrap{width:min(100% - 30px,1180px)}.navlinks a:nth-child(-n+3){display:none}.brand img{width:150px}.nav .btn{padding:10px 12px;font-size:12px}.hero-copy{padding:48px 0 34px}.hero h1{font-size:46px}.hero-photo{min-height:430px}.hero-sign{right:20px;top:34px}.section{padding:54px 0}.grid-3{gap:28px}.cards{grid-template-columns:1fr}.bottom-grid{grid-template-columns:1fr}.timeline-labels{grid-template-columns:1fr 1fr}.footer-grid{gap:20px}.page-hero{padding:68px 0 48px}.page-hero h1{font-size:48px}}

/* Supplied original portrait — preserve image, control crop only with CSS */
.hero-photo img{object-position:50% 38%}
@media(max-width:950px){.hero-photo img{object-position:50% 32%}}
@media(max-width:700px){.hero-photo img{object-position:50% 28%}}


/* Hero photo caption contrast */
.hero-sign{
  color:#fff;
  background:rgba(9,18,32,.46);
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  padding:18px 20px;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  box-shadow:0 12px 32px rgba(0,0,0,.16);
}
.hero-sign .mini,
.hero-sign .name,
.hero-sign .roles{color:#fff}
.hero-sign .mini{opacity:.96}
.hero-sign .roles{opacity:.88}
@media(max-width:700px){
  .hero-sign{
    right:16px;
    top:22px;
    padding:14px 16px;
    background:rgba(9,18,32,.52);
  }
  .hero-sign .name{font-size:24px;margin:20px 0 7px}
}


/* Final polish */
.brand img{width:172px}
.meta-row-3{grid-template-columns:repeat(3,1fr)}
.hero-photo{min-height:625px}
.hero-photo img{object-position:50% 34%}
.hero-sign{
  right:28px;
  top:34px;
  max-width:235px;
  padding:14px 16px;
  background:rgba(9,18,32,.39);
  border-color:rgba(255,255,255,.14);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.hero-sign .mini{font-size:10px}
.hero-sign .name{font-size:25px;margin:18px 0 7px}
.hero-sign .roles{font-size:9px;line-height:1.55}
.purpose{
  background:
    radial-gradient(circle at 82% 18%,rgba(36,81,255,.28),transparent 30%),
    linear-gradient(145deg,#0b1220,#152234);
}
.timeline-labels span{font-weight:600;color:#626c7c}
.card-logo{height:34px;width:auto;max-width:145px;object-fit:contain;object-position:left center;margin-bottom:28px}
.card.dark .card-logo{filter:brightness(0) invert(1)}
img[loading="lazy"]{content-visibility:auto}
@media(max-width:950px){
  .hero-photo{min-height:500px}
  .hero-photo img{object-position:50% 31%}
  .meta-row-3{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .brand img{width:150px}
  .hero-photo{min-height:430px}
  .hero-photo img{object-position:50% 27%}
  .hero-sign{right:14px;top:16px;max-width:210px;padding:12px 14px}
  .meta-row-3{grid-template-columns:1fr;gap:14px}
  .meta-item{padding-top:12px;border-top:1px solid var(--line)}
  .navlinks a{display:none!important}
}



/* ===== HERO — corrigido ===== */
.hero-reference{
  position:relative;
  min-height:760px;
  overflow:hidden;
  display:block;
  background:#fff;
}

/* A foto passa a ocupar uma faixa real à direita, em vez de ficar limitada
   pela largura natural da imagem. Isso elimina o 'vazio' no centro. */
.hero-reference .hero-bg{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:62%;
  z-index:0;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.92) 10%,
      rgba(255,255,255,.55) 22%,
      rgba(255,255,255,.12) 36%,
      rgba(255,255,255,0) 48%),
    url('/assets/andre-vinhosa-hero.jpg') center 34% / cover no-repeat;
}

/* leve reforço na borda esquerda da imagem para uma fusão mais orgânica */
.hero-reference .hero-bg::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:24%;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,0));
  pointer-events:none;
}

.hero-reference .hero-inner{
  position:relative;
  z-index:2;
  min-height:760px;
  display:grid;
  grid-template-columns:minmax(0,57%) minmax(0,43%);
  align-items:center;
}

.hero-reference .hero-copy{
  padding:86px 0 52px;
  max-width:735px;
}

.hero-reference .kicker{
  margin-bottom:20px;
  font-size:11px;
  letter-spacing:.20em;
  color:#66738a;
}

.hero-reference h1{
  font-size:clamp(50px,5vw,75px);
  line-height:.99;
  letter-spacing:-.045em;
  margin:0 0 28px;
  max-width:700px;
}

.hero-reference .lead{
  max-width:625px;
  margin:0 0 30px;
  font-size:18px;
  line-height:1.55;
  color:#48556a;
}

.hero-reference .lead strong{
  color:var(--ink);
  font-weight:700;
}

.hero-reference .hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:0 0 42px;
}

.hero-reference .hero-actions .btn{
  min-width:185px;
  padding:14px 20px;
  border-radius:10px;
}

.hero-reference .hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  max-width:680px;
}

.hero-reference .hero-metric{
  padding:0 22px;
  border-left:1px solid #cbd1db;
}

.hero-reference .hero-metric:first-child{
  padding-left:0;
  border-left:0;
}

.hero-reference .hero-metric strong{
  display:block;
  font-size:11px;
  line-height:1.3;
  letter-spacing:.02em;
  color:#152033;
  margin-bottom:5px;
}

.hero-reference .hero-metric span{
  display:block;
  font-size:12px;
  color:#6d7789;
}

/* Identidade presa ao canto direito da FOTO, não ao grid.
   Assim ela não cai sobre o rosto. */
.hero-reference .hero-identity{
  position:absolute;
  z-index:3;
  top:88px;
  right:42px;
  width:250px;
  text-align:right;
  color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.38);
}

.hero-reference .hero-identity-top{
  display:flex;
  flex-direction:column;
  gap:3px;
  font-size:11px;
  line-height:1.35;
  letter-spacing:.14em;
}

.hero-reference .hero-identity-line{
  width:62px;
  height:1px;
  background:rgba(255,255,255,.84);
  margin:24px 0 24px auto;
}

.hero-reference .hero-signature{
  font-family:Georgia,serif;
  font-style:italic;
  font-size:28px;
  line-height:1;
  margin-bottom:18px;
  color:#fff;
}

.hero-reference .hero-roles{
  font-size:10px;
  line-height:1.55;
  letter-spacing:.14em;
  font-weight:700;
  color:rgba(255,255,255,.96);
}

/* Header */
header{
  background:rgba(255,255,255,.88);
  border-bottom:0;
}
.nav{height:72px}
.brand img{width:172px}
.navlinks{gap:28px}
.navlinks a{font-size:13px}
.nav>.btn{
  border-radius:10px;
  padding:12px 18px;
  min-width:150px;
}

/* Tablet */
@media (max-width:1100px){
  .hero-reference .hero-bg{width:58%}
  .hero-reference .hero-inner{grid-template-columns:60% 40%}
  .hero-reference h1{font-size:56px}
  .hero-reference .hero-copy{max-width:620px}
  .hero-reference .hero-metrics{max-width:560px}
  .hero-reference .hero-identity{
    right:28px;
    width:220px;
  }
}

@media (max-width:900px){
  .hero-reference{
    min-height:auto;
  }
  .hero-reference .hero-bg{
    position:relative;
    width:100%;
    height:520px;
    background:
      linear-gradient(180deg,rgba(255,255,255,0) 68%,rgba(255,255,255,.12) 100%),
      url('/assets/andre-vinhosa-hero.jpg') center 28% / cover no-repeat;
  }
  .hero-reference .hero-bg::after{display:none}
  .hero-reference .hero-inner{
    min-height:auto;
    display:block;
  }
  .hero-reference .hero-copy{
    padding:48px 0 56px;
    max-width:none;
  }
  .hero-reference h1{
    font-size:52px;
    max-width:720px;
  }
  .hero-reference .hero-metrics{
    max-width:none;
  }
  .hero-reference .hero-identity{
    top:86px;
    right:28px;
    width:225px;
  }
}

/* Mobile */
@media (max-width:700px){
  header{
    background:#fff;
    border-bottom:1px solid var(--line);
  }
  .hero-reference .hero-bg{
    height:430px;
    background-position:center 24%;
  }
  .hero-reference .hero-copy{
    padding:40px 0 48px;
  }
  .hero-reference h1{
    font-size:45px;
    line-height:1.01;
  }
  .hero-reference .lead{
    font-size:17px;
  }
  .hero-reference .hero-actions .btn{
    width:100%;
  }
  .hero-reference .hero-metrics{
    grid-template-columns:1fr;
    gap:12px;
  }
  .hero-reference .hero-metric{
    padding:12px 0 0;
    border-left:0;
    border-top:1px solid #d6dbe3;
  }
  .hero-reference .hero-metric:first-child{
    padding-top:0;
    border-top:0;
  }
  .hero-reference .hero-identity{
    top:64px;
    right:16px;
    width:205px;
  }
  .hero-reference .hero-signature{
    font-size:24px;
  }
}


/* ===== HERO SIGNATURE CARD — compact ===== */
.hero-reference .hero-identity{
  position:absolute;
  z-index:3;
  right:34px;
  top:auto;
  bottom:42px;
  width:210px;
  padding:14px 16px 15px;
  border-radius:14px;
  text-align:right;
  color:#fff;
  background:rgba(9,18,32,.42);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  box-shadow:0 10px 28px rgba(0,0,0,.16);
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}

.hero-reference .hero-identity-top{
  gap:2px;
  font-size:9px;
  line-height:1.28;
  letter-spacing:.12em;
}

.hero-reference .hero-identity-line{
  width:48px;
  margin:13px 0 13px auto;
}

.hero-reference .hero-signature{
  font-family:Georgia,serif;
  font-style:italic;
  font-size:23px;
  line-height:1;
  margin-bottom:12px;
  white-space:nowrap;
}

.hero-reference .hero-roles{
  font-size:8.5px;
  line-height:1.45;
  letter-spacing:.12em;
  font-weight:700;
}

@media (max-width:1100px){
  .hero-reference .hero-identity{
    right:24px;
    bottom:28px;
    width:195px;
    padding:12px 14px 13px;
  }
}

@media (max-width:900px){
  .hero-reference .hero-identity{
    top:auto;
    right:24px;
    bottom:auto;
    /* on tablet the photo is a standalone band */
    transform:translateY(-168px);
  }
}

@media (max-width:700px){
  .hero-reference .hero-identity{
    top:238px;
    right:14px;
    bottom:auto;
    transform:none;
    width:185px;
    padding:11px 13px 12px;
  }
  .hero-reference .hero-signature{
    font-size:21px;
  }
}


/* ===== TRAJETÓRIA — timeline refinada ===== */
.journey-line{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:34px;
  padding-top:22px;
}
.journey-track{
  position:absolute;
  top:6px;
  left:5px;
  right:5px;
  height:2px;
  background:linear-gradient(90deg,#cbd2dc 0%,#aab5c7 72%,var(--blue) 100%);
}
.journey-step{
  position:relative;
  min-width:0;
}
.journey-dot{
  position:absolute;
  top:-21px;
  left:0;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  border:2px solid #9ca8ba;
  box-shadow:0 0 0 4px #f7f9fc;
}
.journey-step strong{
  display:block;
  font-size:11px;
  line-height:1.25;
  letter-spacing:.035em;
  color:#273247;
}
.journey-step small{
  display:block;
  margin-top:5px;
  font-size:10px;
  color:#7a8495;
}
.journey-step.current .journey-dot{
  width:12px;
  height:12px;
  top:-22px;
  background:var(--blue);
  border-color:var(--blue);
}
.journey-step.current strong{
  color:var(--blue);
}
.journey-step.current small{
  color:#52627a;
  font-weight:600;
}
@media(max-width:700px){
  .journey-line{
    grid-template-columns:1fr;
    gap:0;
    padding:0 0 0 25px;
    margin-top:30px;
  }
  .journey-track{
    top:4px;
    bottom:4px;
    left:5px;
    right:auto;
    width:2px;
    height:auto;
    background:linear-gradient(180deg,#cbd2dc 0%,#aab5c7 72%,var(--blue) 100%);
  }
  .journey-step{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
    padding:0 0 24px 8px;
  }
  .journey-step strong,
  .journey-step small{
    display:block;
    width:100%;
    margin:0;
    line-height:1.35;
  }
  .journey-step:last-child{padding-bottom:0}
  .journey-dot,
  .journey-step.current .journey-dot{
    top:2px;
    left:-25px;
  }
}


/* ===== TRAJETÓRIA — correção de espaçamento ===== */
.journey-line{
  grid-template-columns:repeat(5,minmax(0,1fr));
  column-gap:28px;
}
.journey-step{
  padding-right:8px;
}
.journey-step strong{
  white-space:nowrap;
}
@media(max-width:900px) and (min-width:701px){
  .journey-line{column-gap:18px}
  .journey-step strong{font-size:10px}
}
@media(max-width:700px){
  .journey-line{grid-template-columns:1fr;column-gap:0}
  .journey-step{padding-right:0}
}

@media(max-width:950px){#metodo .cards,.section-alt .cards,#construindo .cards{grid-template-columns:1fr 1fr!important}}@media(max-width:700px){#metodo .cards,.section-alt .cards,#construindo .cards{grid-template-columns:1fr!important}}
/* ===== INTERVENÇÃO VISUAL CIRÚRGICA — copy preservada ===== */

/* Ritmo editorial: capítulos com pesos diferentes */
.section{padding:88px 0}
#solucoes{padding-top:104px;padding-bottom:112px}
#metodo{padding-top:112px;padding-bottom:82px}
.offer-section{padding-top:76px;padding-bottom:112px}
.scale-section{padding:132px 0 140px}
#construindo{padding-top:112px;padding-bottom:126px}
#trajetoria{padding-top:124px;padding-bottom:128px}

/* Hierarquia: manifesto > estrutura > evidência */
#solucoes .big-title{font-size:clamp(34px,3.8vw,50px);line-height:1.08;max-width:610px;letter-spacing:-.035em}
@media(max-width:700px){#solucoes .big-title{font-size:clamp(30px,9vw,38px);line-height:1.08;max-width:100%;margin-top:10px}}
#metodo .section-head h2,
.offer-section .section-head h2,
#construindo .section-head h2{font-size:clamp(32px,3.35vw,46px)}
.scale-section .section-head{margin-bottom:58px}
.scale-section .section-head h2{
  font-size:clamp(48px,6.2vw,78px);
  line-height:.98;
  letter-spacing:-.052em;
  max-width:900px;
}
.scale-section .content-grid{
  grid-template-columns:.72fr 1.28fr;
  gap:clamp(48px,8vw,112px);
  align-items:start;
  padding-top:48px;
  border-top:1px solid var(--line);
}
.scale-section .content-grid h2{
  font-size:clamp(28px,3vw,40px);
  max-width:420px;
}
.scale-section .content-grid p{
  font-size:clamp(17px,1.55vw,20px);
  line-height:1.7;
  max-width:720px;
}
.scale-section .content-grid p strong{color:var(--ink);font-weight:600}

/* Método: cards funcionais, compactos e precisos */
#metodo .cards{gap:12px}
#metodo .card{
  min-height:245px;
  border-radius:16px;
  padding:28px 24px;
  box-shadow:none;
}
#metodo .card:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(17,24,39,.06)}

/* Oferta: menos "dashboard", mais caminhos editoriais */
.offer-section .cards{
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.offer-section .card{
  background:transparent;
  border:0;
  border-right:1px solid var(--line);
  border-radius:0;
  min-height:260px;
  padding:34px 34px 30px 0;
  margin-right:34px;
}
.offer-section .card:last-child{border-right:0;margin-right:0}
.offer-section .card:hover{transform:none;box-shadow:none}
.offer-section .card-brand{margin-bottom:24px}
.offer-section .card a{color:var(--blue)}

/* Projetos: portfólio editorial e âncora visual */
#construindo .section-head{margin-bottom:46px}
#construindo .cards{gap:14px}
#construindo .card{
  min-height:238px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  padding:26px;
}
#construindo .card.dark{
  background:linear-gradient(145deg,#0b1220,#152234);
  border-color:#152234;
}
#construindo .card:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(17,24,39,.07)}
#construindo .card:nth-child(1){
  grid-column:span 2;
  min-height:260px;
}
#construindo .card:nth-child(1) .card-brand{font-size:28px}
#construindo .card:nth-child(1) p{max-width:620px;font-size:16px}

/* Trajetória: mais respiro e menos aparência de dois cards iguais */
#trajetoria .bottom-grid{gap:24px}
#trajetoria .timeline{padding:42px;border-radius:18px;background:#f7f9fc}
#trajetoria .purpose{padding:42px;border-radius:18px}
#trajetoria .timeline h2{font-size:clamp(38px,4vw,50px)}
#trajetoria .purpose h2{font-size:clamp(34px,3.5vw,46px)}

/* CTAs e microinterações mais contidas */
.btn{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-blue:hover{box-shadow:0 10px 26px rgba(36,81,255,.20)}
.btn-dark:hover{box-shadow:0 10px 24px rgba(11,18,32,.16)}
.link{transition:opacity .18s ease}.link:hover{opacity:.72}

/* Menu mobile */
.mobile-menu-toggle,.mobile-menu{display:none}
.mobile-menu-toggle{
  width:42px;height:42px;border:1px solid var(--line);border-radius:11px;
  background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:6px;
  padding:0;cursor:pointer;
}
.mobile-menu-toggle span{display:block;width:17px;height:1.5px;background:var(--ink2);transition:.2s}
.mobile-menu{
  position:absolute;left:15px;right:15px;top:68px;
  background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 20px 50px rgba(17,24,39,.12);padding:10px;z-index:120;
}
.mobile-menu a{display:block;padding:13px 14px;border-radius:10px;font-size:14px;font-weight:600}
.mobile-menu a:hover{background:var(--soft)}
.mobile-menu.is-open{display:block}

/* Tablet */
@media(max-width:950px){
  .section{padding:76px 0}
  #solucoes,#metodo,.offer-section,#construindo,#trajetoria{padding-top:82px;padding-bottom:88px}
  .scale-section{padding:100px 0 108px}
  .scale-section .content-grid{grid-template-columns:1fr;gap:28px}
  #construindo .card:nth-child(1){grid-column:span 2}
}

/* Mobile: ritmo, navegação e componentes */
@media(max-width:700px){
  header .nav{height:66px;gap:10px}
  header .nav > .btn-dark{padding:10px 12px;font-size:11px}
  .mobile-menu-toggle{display:flex}
  .navlinks{display:none!important}

  .hero-reference{min-height:auto}
  .hero-reference .hero-copy{padding-top:54px;padding-bottom:38px}
  .hero-reference .hero-bg{height:420px}
  .hero-reference .hero-identity{
    top:auto;
    bottom:22px;
    right:14px;
    width:184px;
  }

  .section{padding:64px 0}
  #solucoes{padding:76px 0 82px}
  #metodo{padding:82px 0 66px}
  .offer-section{padding:64px 0 84px}
  .scale-section{padding:92px 0 100px}
  #construindo{padding:84px 0 92px}
  #trajetoria{padding:90px 0 94px}

  .section-head{align-items:flex-start;margin-bottom:28px}
  .scale-section .section-head{margin-bottom:40px}
  .scale-section .section-head h2{font-size:clamp(44px,13vw,60px)}
  .scale-section .content-grid{padding-top:34px}
  .scale-section .content-grid p{font-size:17px}

  .offer-section .cards{
    display:block!important;
    border-bottom:0;
  }
  .offer-section .card{
    min-height:0;
    margin:0;
    padding:28px 0 30px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .offer-section .card:last-child{border-bottom:0}

  #construindo .cards{grid-template-columns:1fr!important}
  #construindo .card:nth-child(1){grid-column:auto;min-height:238px}

  #trajetoria .timeline,#trajetoria .purpose{padding:28px 24px}
}

/* Respeita usuários que preferem menos movimento */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}


/* ===== FLYWHEEL + BUILDING ===== */
.scale-flywheel{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;margin:10px 0 62px}
.fw-step{min-height:104px;padding:18px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.fw-step b{font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:800}.fw-step span{font-size:11px;letter-spacing:.11em;line-height:1.25;font-weight:800;color:var(--ink2)}
.fw-step:hover{transform:translateY(-2px);border-color:#cbd3df;box-shadow:0 12px 30px rgba(17,24,39,.05)}
.fw-scale{background:var(--ink);border-color:var(--ink)}.fw-scale b{color:rgba(255,255,255,.48)}.fw-scale span{color:#fff}.fw-arrow{align-self:center;color:#aab3c0;font-size:16px}
#construindo .card{position:relative;overflow:hidden}#construindo .card::before{content:"";position:absolute;left:26px;top:0;width:34px;height:2px;background:var(--line)}
#construindo .card:nth-child(1)::before{background:var(--blue)}#construindo .card.dark::before{background:rgba(255,255,255,.35)}
@media(max-width:950px){.scale-flywheel{grid-template-columns:repeat(3,1fr);gap:10px}.fw-arrow{display:none}}
@media(max-width:700px){
.scale-flywheel{display:flex;overflow-x:auto;gap:8px;margin:0 -15px 46px;padding:0 15px 10px;scroll-snap-type:x proximity;scrollbar-width:none}.scale-flywheel::-webkit-scrollbar{display:none}
.fw-step{flex:0 0 132px;min-height:96px;scroll-snap-align:start}.fw-arrow{display:none}
}


/* ===== QA FINAL — FLYWHEEL INTERMEDIÁRIO ===== */
@media (min-width:951px) and (max-width:1180px){
  .scale-flywheel{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:54px;
  }
  .fw-arrow{display:none}
  .fw-step{
    min-height:112px;
    padding:18px 18px;
  }
  .fw-step span{
    font-size:10.5px;
    letter-spacing:.09em;
  }
}

@media (min-width:701px) and (max-width:950px){
  .scale-flywheel{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-bottom:48px;
  }
  .fw-step{
    min-height:108px;
  }
}


/* ===== HERO RESPONSIVO — regras consolidadas ===== */
.hero-reference .hero-bg{position:absolute !important}
.hero-reference .hero-identity{z-index:4}

@media (min-width:701px) and (max-width:1180px){
  .hero-reference .hero-identity{
    top:auto !important;
    right:clamp(18px,3vw,34px) !important;
    bottom:clamp(24px,4vw,42px) !important;
    width:min(220px,24vw) !important;
    max-width:220px;
  }
}

@media (max-width:700px){
  header{position:sticky !important;top:0}
  header .nav > .btn-dark{
    display:inline-flex !important;
    flex:0 0 auto;
    margin-left:auto;
  }
  .hero-reference{
    display:flex;
    flex-direction:column;
    min-height:auto;
    background:#fff;
  }
  .hero-reference .hero-inner{
    position:relative;
    order:2;
    display:block !important;
    width:100%;
    min-height:auto;
    background:#fff;
  }
  .hero-reference .hero-copy{
    position:relative !important;
    z-index:3 !important;
    padding-top:46px !important;
    padding-bottom:34px !important;
  }
  .hero-reference .hero-bg{
    position:relative !important;
    inset:auto !important;
    order:1;
    flex:0 0 auto;
    display:block;
    width:100% !important;
    height:430px !important;
  }
  .hero-reference .hero-bg .hero-identity{
    position:absolute !important;
    inset:auto 14px 16px auto !important;
    width:182px !important;
    max-width:calc(100% - 28px) !important;
    margin:0 !important;
    transform:none !important;
    z-index:5 !important;
  }
  .hero-reference .hero-metric span{display:none}
  #metodo .section-head{flex-direction:column;align-items:flex-start}
}

@media (max-width:390px){
  .hero-reference .hero-bg .hero-identity{
    right:12px !important;
    bottom:12px !important;
    width:172px !important;
  }
}

/* ===== APRESENTE SEU DESAFIO ===== */
body.challenge-open{overflow:hidden}
.challenge-dialog[hidden]{display:none}
.hero-actions button.btn{border:0;cursor:pointer;font-family:inherit}
.challenge-dialog{position:fixed;inset:0;z-index:300;background:#fff;overflow-y:auto;overscroll-behavior:contain}
.challenge-shell{width:min(920px,calc(100% - 48px));min-height:100%;margin:auto;display:grid;grid-template-rows:auto 3px 1fr}
.challenge-header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.challenge-brand{display:flex;align-items:center;gap:15px}.challenge-brand img{width:148px}.challenge-brand span{font-size:9px;line-height:1.3;letter-spacing:.15em;font-weight:800;color:var(--muted)}
.challenge-close{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--muted);font:700 11px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.challenge-close span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cfd5df;border-radius:50%;color:var(--ink);font-size:20px;font-weight:400}
.challenge-progress{height:3px;background:#e7eaf0;overflow:hidden}.challenge-progress span{display:block;width:16.666%;height:100%;background:var(--blue);transition:width .3s ease}
.challenge-form{position:relative;min-height:610px}
.challenge-step{display:none;width:100%;padding:clamp(60px,9vh,100px) 0 110px;border:0}.challenge-step.is-active{display:block}
.challenge-count{margin:0 0 22px;color:var(--blue);font-size:11px;letter-spacing:.15em;font-weight:800}
.challenge-step h2,.challenge-step legend{display:block;max-width:820px;margin:0;font-size:clamp(36px,5.5vw,62px);line-height:1.04;letter-spacing:-.045em;font-weight:800;color:var(--ink)}
.challenge-help{max-width:690px;margin:20px 0 32px;color:var(--muted);font-size:16px;line-height:1.6}
.challenge-step textarea{display:block;width:100%;padding:18px 0;border:0;border-bottom:2px solid #aeb6c2;outline:0;resize:none;background:transparent;color:var(--ink);font:600 clamp(19px,2.5vw,26px)/1.5 Inter,sans-serif}.challenge-step textarea:focus{border-color:var(--blue)}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid label{position:relative;cursor:pointer}.choice-grid input{position:absolute;opacity:0;pointer-events:none}
.choice-grid span{display:flex;align-items:center;gap:14px;min-height:62px;padding:12px 16px;border:1px solid #cfd5df;border-radius:10px;background:#fff;font-size:14px;font-weight:600;transition:.16s}
.choice-grid b{display:grid;place-items:center;flex:0 0 27px;height:27px;border:1px solid #c5ccd7;border-radius:50%;color:var(--blue);font-size:10px}.choice-grid input:checked+span{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.choice-grid input:focus-visible+span{outline:3px solid rgba(36,81,255,.2)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-grid label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted)}.contact-grid input{display:block;width:100%;margin-top:8px;padding:15px 0;border:0;border-bottom:2px solid #aeb6c2;outline:0;font:600 18px Inter,sans-serif}.contact-grid input:focus{border-color:var(--blue)}
.challenge-actions{display:flex;align-items:center;gap:16px;margin-top:28px}.challenge-next,.challenge-submit{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:56px;padding:0 22px;border:0;border-radius:10px;background:var(--blue);color:#fff;font:700 14px Inter,sans-serif;cursor:pointer}.challenge-next:hover,.challenge-submit:hover{box-shadow:0 10px 26px rgba(36,81,255,.2)}
.challenge-privacy{max-width:650px;margin-top:18px;color:var(--muted);font-size:12px;line-height:1.5}.challenge-nav{position:absolute;left:0;right:0;bottom:28px;display:flex;justify-content:space-between;padding-top:17px;border-top:1px solid var(--line)}.challenge-nav button{border:0;background:none;padding:6px 0;color:var(--ink);font:700 12px Inter,sans-serif;cursor:pointer}.challenge-nav button:disabled{opacity:.25;cursor:default}.challenge-nav span{color:var(--muted);font-size:11px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:700px){.challenge-shell{width:min(100% - 30px,920px)}.challenge-header{min-height:70px}.challenge-brand img{width:130px}.challenge-brand span{display:none}.challenge-close{font-size:0}.challenge-step{padding:46px 0 96px}.challenge-step h2,.challenge-step legend{font-size:clamp(32px,10vw,45px)}.challenge-help{margin:16px 0 24px;font-size:15px}.choice-grid,.contact-grid{grid-template-columns:1fr;gap:9px}.choice-grid span{min-height:56px}.challenge-next,.challenge-submit{width:100%}.challenge-nav{bottom:18px}.challenge-nav span{display:none}}

#construindo .card:nth-child(5){background:#f4f0ff;border-color:#e4dafb}
#construindo .card:nth-child(5)::before{background:#8b5cf6}
#construindo .card:nth-child(5) .card-brand{color:#6541a5}
#construindo .card:nth-child(5) .proof-tags{color:#7754a7}


/* Source: inline-home-02.css */

.hero-reference .hero-signature{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-style:normal;
  font-size:16px;
  line-height:1.15;
  font-weight:600;
  letter-spacing:.055em;
  color:rgba(255,255,255,.94);
}
@media (max-width:640px){
  .hero-reference .hero-signature{
    font-size:15px;
    letter-spacing:.045em;
  }
}

/* ===== POR ONDE COMEÇAR — CTA "Apresente seu desafio" ===== */
.offer-section .card-action-link{
  appearance:none;
  -webkit-appearance:none;
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  margin-top:22px;
  padding:11px 16px;
  border:1px solid var(--ink2);
  border-radius:10px;
  background:var(--ink2);
  color:#fff;
  font:600 14px/1 Inter,Arial,sans-serif;
  letter-spacing:-.01em;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.offer-section .card-action-link:hover{
  transform:translateY(-1px);
  background:#172033;
  box-shadow:0 9px 22px rgba(11,18,32,.14);
}
.offer-section .card-action-link:focus-visible{
  outline:3px solid rgba(36,81,255,.20);
  outline-offset:3px;
}
@media(max-width:700px){
  .offer-section .card-action-link{
    width:100%;
    min-height:46px;
  }
}


/* ===== POR ONDE COMEÇAR — hierarquia dos CTAs ===== */
.offer-section .card:nth-child(2) > a,
.offer-section .card:nth-child(3) > a{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:22px;
  padding:11px 16px;
  border-radius:10px;
  font-size:14px;
  font-weight:600;
  line-height:1;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}

/* Capacitação — secundário destacado */
.offer-section .card:nth-child(2) > a{
  background:#eef3ff;
  color:var(--blue);
  border:1px solid #d9e3ff;
}
.offer-section .card:nth-child(2) > a:hover{
  transform:translateY(-1px);
  background:#e6edff;
  border-color:#c8d6ff;
  box-shadow:0 8px 20px rgba(36,81,255,.08);
}

/* Palestras — secundário editorial */
.offer-section .card:nth-child(3) > a{
  background:#f7f9fc;
  color:#273247;
  border:1px solid #dfe4ec;
}
.offer-section .card:nth-child(3) > a:hover{
  transform:translateY(-1px);
  background:#f1f4f8;
  border-color:#d2d9e3;
  box-shadow:0 8px 20px rgba(17,24,39,.06);
}

.offer-section .card:nth-child(2) > a:focus-visible,
.offer-section .card:nth-child(3) > a:focus-visible{
  outline:3px solid rgba(36,81,255,.16);
  outline-offset:3px;
}

@media(max-width:700px){
  .offer-section .card:nth-child(2) > a,
  .offer-section .card:nth-child(3) > a{
    width:100%;
    min-height:46px;
  }
}


/* ===== REFINAMENTO FINAL DE LAYOUT ===== */

/* 1. MÉTODO — comunicar sequência, não quatro serviços isolados */
#metodo .cards{
  position:relative;
  isolation:isolate;
}
@media(min-width:951px){
  #metodo .cards::before{
    content:"";
    position:absolute;
    z-index:-1;
    left:8%;
    right:8%;
    top:50%;
    height:1px;
    background:linear-gradient(90deg,#d9dee7 0%,#bfc8d6 72%,#8ea5ff 100%);
  }
  #metodo .card{
    background:rgba(244,247,251,.97);
  }
  #metodo .card.dark{
    background:linear-gradient(145deg,#0c1422,#152234);
  }
}
#metodo .card-brand{
  align-items:center;
}
#metodo .card-brand::first-letter{
  color:var(--blue);
}

/* 2. POR ONDE COMEÇAR — identidade visual dos três caminhos */
.offer-section .card-brand{
  gap:13px;
  font-size:21px;
}
.offer-section .card-brand > span{
  color:var(--ink);
}
.offer-section .card:nth-child(1) .card-brand,
.offer-section .card:nth-child(2) .card-brand,
.offer-section .card:nth-child(3) .card-brand{
  position:relative;
}
.offer-section .card:nth-child(1) .card-brand{color:var(--ink2)}
.offer-section .card:nth-child(2) .card-brand{color:var(--blue)}
.offer-section .card:nth-child(3) .card-brand{color:#6b7890}
.offer-section .card p{
  max-width:330px;
  line-height:1.62;
}
@media(min-width:701px){
  .offer-section .card{
    min-height:238px;
    padding-top:30px;
    padding-bottom:28px;
  }
}

/* 3. DA SOLUÇÃO À EVOLUÇÃO — manifesto primeiro, framework depois */
.scale-section{
  background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);
}
.scale-section .section-head{
  max-width:980px;
}
.scale-section .section-head h2{
  max-width:820px;
}
.scale-section .scale-flywheel{
  opacity:.78;
  margin-top:4px;
  margin-bottom:54px;
}
.scale-section .fw-step{
  min-height:92px;
  background:rgba(255,255,255,.78);
  box-shadow:none;
}
.scale-section .fw-step:hover{
  transform:none;
  box-shadow:none;
}
.scale-section .fw-scale{
  opacity:1;
  background:var(--ink2);
}
.scale-section .content-grid{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

/* 4. PROJETOS — leitura de evidência */
#construindo .card{
  padding-top:34px;
}
#construindo .card::after{
  position:absolute;
  top:14px;
  right:20px;
  font-size:9px;
  line-height:1;
  letter-spacing:.13em;
  font-weight:800;
  color:#8791a2;
}
#construindo .card.dark::after{color:rgba(255,255,255,.55)}
#construindo .card:nth-child(2)::after{content:"TECNOLOGIA EM SAÚDE"}
#construindo .card:nth-child(3)::after{content:"CUIDADO CONTÍNUO"}
#construindo .card:nth-child(4)::after{content:"INFRAESTRUTURA DE IA"}
#construindo .card:nth-child(5)::after{content:"EXPERIÊNCIAS FIGITAIS"}

/* 5. RITMO — alternância mais clara entre estrutura, ação e evidência */
#metodo{border-top:1px solid rgba(230,233,239,.65)}
.offer-section{border-top:1px solid rgba(230,233,239,.65)}
#construindo{border-top:1px solid rgba(230,233,239,.55)}
#trajetoria{border-top:1px solid rgba(230,233,239,.55)}

@media(max-width:950px){
  #metodo .cards::before{display:none}
  .scale-section .content-grid{max-width:none}
}
@media(max-width:700px){
  .offer-section .card p{max-width:none}
  .scale-section .scale-flywheel{opacity:.88}
  #construindo .card::after{
    top:14px;
    right:16px;
    font-size:8px;
  }
}


