:root{
  --purple:#2B1150;
  --purple-2:#6F42C1;
  --ink:#18141f;
  --muted:#6f6878;
  --paper:#ffffff;
  --soft:#f5f2f8;
  --line:#e7deef;
  --dark:#0c0b12;
  --radius:24px;
  --shadow:0 24px 70px rgba(43,17,80,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1160px, calc(100% - 40px)); margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(10,9,15,.88);
  backdrop-filter: blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:24px}
.brand img{width:230px;max-height:58px;object-fit:contain;filter:none}
.main-nav{display:flex;gap:26px;align-items:center}
.main-nav a{color:#fff;font-size:.95rem;font-weight:650;opacity:.88}
.main-nav a:hover{opacity:1;color:#d8c4ff}
.nav-toggle{display:none;background:transparent;border:0;color:#fff;font-size:2rem}
.hero{
  position:relative;
  min-height:720px;
  overflow:hidden;
  color:#fff;
  background:radial-gradient(circle at 75% 20%, rgba(111,66,193,.46), transparent 32%),
             linear-gradient(135deg, #05050a 0%, #14101f 52%, #271146 100%);
}
.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(5,5,10,.96), rgba(5,5,10,.74) 42%, rgba(5,5,10,.28)),
    url("assets/img/hero-estudio.jpg") center/cover no-repeat;
  opacity:.90;
}
.hero-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr .95fr;gap:56px;align-items:center;
  padding:90px 0 110px;
}
.eyebrow,.section-kicker{
  display:inline-flex;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
  color:#9f7bff;
  margin-bottom:16px;
}
.hero h1{
  font-size:clamp(2.25rem, 4.6vw, 5rem);
  line-height:1.02;
  letter-spacing:-.05em;
  max-width:700px;
  margin:0 0 24px;
}
.hero p{font-size:1.17rem;max-width:620px;color:rgba(255,255,255,.84);margin:0 0 34px}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:14px;
  min-height:54px;
  padding:0 24px;
  font-weight:800;
  transition:.2s ease;
}
.btn-primary{background:linear-gradient(135deg,var(--purple),var(--purple-2));color:#fff;box-shadow:0 14px 34px rgba(111,66,193,.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(111,66,193,.42)}
.btn-full{width:100%;margin-top:16px}
.quick-contact{border-left:1px solid rgba(255,255,255,.22);padding-left:20px;color:#fff}
.quick-contact span{display:block;color:rgba(255,255,255,.65);font-size:.84rem}
.quick-contact strong{font-size:1.05rem}
.hero-card{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  border-radius:28px;
  padding:12px;
  box-shadow:0 30px 100px rgba(0,0,0,.34);
}
.hero-card img{border-radius:20px;aspect-ratio:16/10;object-fit:cover}
.section{padding:86px 0;background:#fff}
.section-light{background:linear-gradient(180deg,#fff 0%, var(--soft) 100%)}
.split{display:grid;grid-template-columns:1fr .95fr;gap:56px;align-items:center}
h2{font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 22px;color:var(--purple)}
h3{line-height:1.18;margin:0 0 10px;color:var(--ink)}
p{color:var(--muted)}
.image-frame,.wide-photo{
  margin:0;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;padding:10px;
}
.image-frame img,.wide-photo img{border-radius:18px;aspect-ratio:16/10;object-fit:cover}
.section-title{text-align:center;max-width:820px;margin:0 auto 42px}
.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.service-card{
  background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:26px;box-shadow:0 14px 34px rgba(43,17,80,.06);
}
.service-card:hover{transform:translateY(-3px);transition:.2s ease;box-shadow:var(--shadow)}
.service-card-wide{grid-column:span 3}
.icon{width:50px;height:50px;border-radius:16px;background:var(--soft);display:grid;place-items:center;font-size:1.55rem;margin-bottom:18px}
.delivery-box{
  margin-top:26px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,#fff,var(--soft));
  padding:26px;
  border-radius:22px;
}
.delivery-box strong{color:var(--purple);font-size:1.1rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:steps}
.step-card{
  background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:26px;position:relative;box-shadow:0 14px 34px rgba(43,17,80,.06);
}
.step-card span{
  width:42px;height:42px;border-radius:50%;
  background:var(--purple);color:#fff;display:grid;place-items:center;
  font-weight:900;margin-bottom:18px;
}
.structure-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start}
.structure-list{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px
}
.structure-list span{
  border:1px solid var(--line);border-radius:14px;padding:13px 14px;
  color:#43384f;background:#fff;box-shadow:0 8px 22px rgba(43,17,80,.04);
  font-size:.94rem;
}
.structure-list span::before{content:"✓";color:var(--purple);font-weight:900;margin-right:8px}
.structure-images{display:grid;gap:18px}
.structure-images img{border-radius:22px;box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover}
.differentials-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.differentials-grid article{
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;
  box-shadow:0 14px 34px rgba(43,17,80,.05);
}
.differentials-grid span{display:block;color:var(--purple-2);font-weight:900;margin-bottom:16px}
.differentials-grid h3{font-size:1.03rem}
.wide-photo{margin-top:32px}
.faq-contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:start}
.faq-list{display:grid;gap:10px;margin-top:24px}
details{
  background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
}
summary{
  cursor:pointer;padding:18px 20px;font-weight:750;color:var(--ink);
  display:flex;justify-content:space-between;gap:20px;
}
summary::after{content:"+";color:var(--purple);font-weight:900}
details[open] summary::after{content:"–"}
details p{padding:0 20px 18px;margin:0}
.contact-card{
  background:linear-gradient(150deg,#fff,var(--soft));
  border:1px solid var(--line);
  border-radius:28px;
  padding:34px;
  box-shadow:var(--shadow);
}
.contact-list{
  margin:24px 0;
  display:grid;
  gap:10px;
}
.contact-list p{margin:0;color:#42374f}
.contact-list a{text-decoration:underline;text-underline-offset:3px}
.site-footer{
  background:linear-gradient(135deg,#09070e,var(--purple));
  color:#fff;padding:36px 0;text-align:center;
}
.footer-inner{display:grid;justify-items:center;gap:10px}
.footer-inner img{width:54px;opacity:.9}
.footer-inner p{color:#fff;margin:0;font-weight:650}
.footer-inner small{color:rgba(255,255,255,.65)}
.floating-whatsapp{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;
  font-size:1.55rem;font-weight:900;box-shadow:0 16px 40px rgba(37,211,102,.32);
}
@media (max-width: 980px){
  .nav-toggle{display:block}
  .main-nav{
    position:absolute;left:20px;right:20px;top:82px;
    background:#100b1b;border:1px solid rgba(255,255,255,.12);
    border-radius:18px;padding:18px;display:none;flex-direction:column;align-items:flex-start
  }
  .main-nav.is-open{display:flex}
  .hero-grid,.split,.structure-grid,.faq-contact-grid{grid-template-columns:1fr}
  .hero-grid{padding:68px 0}
  .hero-card{display:none}
  .service-grid{grid-template-columns:1fr 1fr}
  .service-card-wide{grid-column:span 2}
  .steps{grid-template-columns:1fr 1fr}
  .differentials-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .container{width:min(100% - 28px, 1160px)}
  .header-inner{min-height:72px}
  .brand img{width:190px}
  .main-nav{top:72px}
  .hero{min-height:auto}
  .hero h1{font-size:2.45rem}
  .hero p{font-size:1rem}
  .section{padding:62px 0}
  .service-grid,.steps,.differentials-grid,.structure-list{grid-template-columns:1fr}
  .service-card-wide{grid-column:auto}
  .contact-card{padding:24px}
  .floating-whatsapp{right:16px;bottom:16px}
}


/* ===== Ajustes V2 para melhorar a experiência no celular ===== */
@media (max-width: 640px){
  .site-header{
    background:rgba(16,12,24,.97);
    border-bottom:1px solid rgba(255,255,255,.10);
  }

  .brand img{
    width:172px;
    max-height:44px;
    object-fit:contain;
  }

  .nav-toggle{
    font-size:2.35rem;
    line-height:1;
  }

  .hero{
    min-height:auto;
  }

  .hero-bg{
    background:
      linear-gradient(180deg, rgba(5,5,10,.92) 0%, rgba(5,5,10,.88) 35%, rgba(5,5,10,.94) 100%),
      url("assets/img/hero-estudio.jpg") center center / cover no-repeat;
    opacity:.55;
  }

  .hero-grid{
    gap:22px;
    padding:44px 0 52px;
  }

  .hero-content{
    position:relative;
    z-index:2;
    background:linear-gradient(180deg, rgba(8,8,12,.78), rgba(22,16,34,.84));
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:24px 18px 20px;
    backdrop-filter: blur(4px);
  }

  .eyebrow{
    font-size:.72rem;
    letter-spacing:.14em;
    margin-bottom:12px;
  }

  .hero h1{
    font-size:2.05rem;
    line-height:1.04;
    letter-spacing:-.045em;
    margin-bottom:16px;
    max-width:100%;
  }

  .hero p{
    font-size:1rem;
    line-height:1.55;
    margin-bottom:22px;
    max-width:100%;
    color:rgba(255,255,255,.88);
  }

  .hero-actions{
    gap:14px;
  }

  .btn{
    min-height:52px;
    padding:0 20px;
    width:100%;
  }

  .quick-contact{
    width:100%;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.16);
    padding-left:0;
    padding-top:12px;
  }

  .quick-contact span{
    font-size:.8rem;
  }

  .quick-contact strong{
    font-size:1rem;
  }

  /* mostra a imagem do hero abaixo do texto, em vez de competir com ele */
  .hero-card{
    display:block;
    padding:8px;
    border-radius:20px;
    background:rgba(255,255,255,.06);
  }

  .hero-card img{
    aspect-ratio:16/10;
    min-height:220px;
    object-fit:cover;
    object-position:center;
  }

  .section-kicker{
    margin-bottom:10px;
  }

  .service-card,
  .step-card,
  .differentials-grid article,
  .contact-card{
    border-radius:18px;
  }

  .floating-whatsapp{
    width:58px;
    height:58px;
    font-size:1.45rem;
  }
}


/* ===== Ajustes V3 – refinamento mobile e redução de peso visual ===== */
.structure-groups{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:26px;
}
.structure-groups article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
  box-shadow:0 12px 34px rgba(43,17,80,.06);
}
.structure-groups strong{
  display:block;
  color:var(--purple);
  font-size:1.02rem;
  margin-bottom:8px;
}
.structure-groups p{
  margin:0;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.55;
}
.structure-list{display:none;}

@media (max-width: 640px){
  .container{width:min(100% - 32px, 1160px);}

  .header-inner{
    min-height:64px;
  }
  .brand img{
    width:158px;
    max-height:40px;
  }
  .nav-toggle{
    font-size:1.9rem;
    padding:4px 0 4px 10px;
    opacity:.92;
  }
  .main-nav{
    top:64px;
  }

  .section{
    padding:48px 0;
  }
  .section-title{
    margin-bottom:26px;
  }
  .section-title h2,
  .structure-grid h2,
  .contact-card h2{
    font-size:clamp(2rem, 9vw, 2.65rem);
    line-height:1.08;
    letter-spacing:-.045em;
  }
  .section-title p,
  .structure-grid > div > p,
  .split p{
    font-size:1rem;
    line-height:1.6;
  }

  .hero-grid{
    padding:34px 0 42px;
  }
  .hero-content{
    padding:22px 18px 18px;
    border-radius:20px;
  }
  .hero h1{
    font-size:2rem;
    line-height:1.05;
  }
  .hero p{
    font-size:.96rem;
  }
  .hero-card{
    padding:7px;
    border-radius:18px;
  }
  .hero-card img{
    min-height:190px;
    aspect-ratio:16/10;
  }

  .service-grid{
    gap:16px;
  }
  .service-card{
    padding:24px 22px;
    min-height:auto;
  }
  .service-card .icon{
    width:50px;
    height:50px;
    margin-bottom:18px;
    font-size:1.35rem;
  }
  .service-card h3{
    font-size:1.28rem;
    line-height:1.16;
    margin-bottom:12px;
  }
  .service-card p{
    font-size:.98rem;
    line-height:1.55;
  }

  .delivery-box{
    padding:24px 22px;
    margin-top:22px;
    border-radius:18px;
  }
  .delivery-box strong{
    font-size:1.3rem;
  }
  .delivery-box p{
    font-size:.98rem;
    line-height:1.55;
  }

  .steps{
    gap:16px;
  }
  .step-card{
    padding:24px 22px;
    min-height:auto;
  }
  .step-card span{
    width:48px;
    height:48px;
    font-size:1.2rem;
    margin-bottom:18px;
  }
  .step-card h3{
    font-size:1.28rem;
    margin-bottom:12px;
  }
  .step-card p{
    font-size:.98rem;
    line-height:1.55;
  }

  .structure-grid{
    gap:26px;
  }
  .structure-groups{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:22px;
  }
  .structure-groups article{
    padding:20px 18px;
    border-radius:17px;
  }
  .structure-groups strong{
    font-size:1.08rem;
  }
  .structure-groups p{
    font-size:.96rem;
    line-height:1.52;
  }
  .structure-images{
    gap:14px;
  }
  .structure-images img,
  .wide-photo img{
    border-radius:18px;
  }

  .differentials-grid{
    gap:16px;
  }
  .differentials-grid article{
    padding:24px 22px;
    min-height:auto;
  }
  .differentials-grid article span{
    font-size:1.1rem;
    margin-bottom:16px;
  }
  .differentials-grid article h3{
    font-size:1.2rem;
    line-height:1.2;
    margin-bottom:12px;
  }
  .differentials-grid article p{
    font-size:.98rem;
    line-height:1.55;
  }

  .faq-list details{
    border-radius:16px;
    padding:18px 18px;
  }
  .faq-list summary{
    font-size:1rem;
    line-height:1.35;
    padding-right:26px;
  }

  .floating-whatsapp{
    width:50px;
    height:50px;
    right:18px;
    bottom:18px;
    font-size:1.22rem;
    box-shadow:0 12px 28px rgba(37,211,102,.26);
  }
}

/* Em telas muito pequenas, evita que o WhatsApp cubra excesso de conteúdo */
@media (max-width: 390px){
  .floating-whatsapp{
    width:46px;
    height:46px;
    right:14px;
    bottom:14px;
    font-size:1.1rem;
  }
}


/* ===== Ajustes V4 – primeira dobra desktop mais limpa ===== */
/* Objetivo: manter o texto como protagonista, reduzir ruído do fundo
   e deixar apenas uma imagem principal à direita. */

@media (min-width: 981px){
  .hero{
    min-height:680px;
    background:
      radial-gradient(circle at 78% 30%, rgba(111,66,193,.28), transparent 30%),
      linear-gradient(135deg, #05050a 0%, #100b19 55%, #1f0f38 100%);
  }

  .hero-bg{
    background:
      linear-gradient(90deg,
        rgba(5,5,10,.99) 0%,
        rgba(5,5,10,.96) 34%,
        rgba(5,5,10,.80) 57%,
        rgba(5,5,10,.62) 100%),
      url("assets/img/hero-estudio.jpg") center/cover no-repeat;
    opacity:.28;
    filter:saturate(.85) contrast(.95);
  }

  .hero-grid{
    grid-template-columns:minmax(0, 1.02fr) minmax(430px, .82fr);
    gap:64px;
    padding:86px 0 88px;
  }

  .hero-content{
    position:relative;
    z-index:2;
    max-width:700px;
  }

  .hero h1{
    max-width:680px;
    font-size:clamp(3.4rem, 5.2vw, 5.6rem);
    line-height:.98;
    letter-spacing:-.055em;
    margin-bottom:24px;
  }

  .hero p{
    max-width:660px;
    font-size:1.12rem;
    line-height:1.55;
    color:rgba(255,255,255,.88);
  }

  .hero-card{
    align-self:center;
    max-width:520px;
    justify-self:end;
    padding:12px;
    border-radius:28px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.13);
    box-shadow:0 28px 90px rgba(0,0,0,.38);
  }

  .hero-card img{
    aspect-ratio:16/10;
    width:100%;
    min-height:auto;
    object-fit:cover;
    border-radius:21px;
  }

  .hero-actions{
    margin-top:8px;
  }

  .quick-contact{
    opacity:.96;
  }
}

/* Ajuste para notebooks e telas médias: preserva leitura sem apertar a imagem */
@media (min-width: 981px) and (max-width: 1240px){
  .hero-grid{
    grid-template-columns:1fr 430px;
    gap:42px;
  }

  .hero h1{
    font-size:clamp(3.1rem, 5.3vw, 4.6rem);
  }

  .hero-card{
    max-width:430px;
  }
}

/* Último refinamento mobile: cabeçalho e WhatsApp mais discretos */
@media (max-width: 640px){
  .header-inner{
    min-height:60px;
  }

  .brand img{
    width:148px;
    max-height:38px;
  }

  .main-nav{
    top:60px;
  }

  .nav-toggle{
    font-size:1.72rem;
  }

  .floating-whatsapp{
    width:44px;
    height:44px;
    right:14px;
    bottom:14px;
    font-size:1.05rem;
  }

  .split p{
    font-size:.97rem;
    line-height:1.55;
  }
}


/* ===== Ajustes V5 – pedidos finais ===== */
/* 1. Logo do desktop um pouco maior.
   2. FAQ sem título redundante.
   3. Título dos diferenciais com ponto de interrogação ajustado no HTML. */

@media (min-width: 981px){
  .brand img{
    width:270px;
    max-height:68px;
  }
}

/* Mantém o tamanho atual no mobile, para não ocupar espaço demais */
@media (max-width: 640px){
  .brand img{
    width:148px;
    max-height:38px;
  }
}

/* Depois de remover o h2 do FAQ, ajusta o respiro antes da lista */
.faq-list{
  margin-top:18px;
}
