/* =========================================================
   ARQUITETO AGORA — style.css
   Identidade: vinho + laranja (logo nova)
   Mobile first. Escrito à mão, sem framework.
   ========================================================= */

/* === TOKENS === */
:root{
  /* Cores da marca */
  --vinho:      #5C2A38;
  --vinho-900:  #3C1A24;
  --vinho-700:  #6E3646;
  --laranja:    #E8802F;
  --laranja-600:#CF6A1C;

  /* Neutros */
  --bone:       #FBF7F3;
  --surface:    #F1E9E3;
  --linha:      #E2D5CD;
  --ink:        #2B2026;
  --muted:      #7E6E75;
  --branco:     #FFFFFF;

  /* Tipografia */
  --display: 'Archivo', system-ui, sans-serif;
  --body:    'Inter', system-ui, sans-serif;

  /* Escala */
  --s1: .5rem;  --s2: 1rem;  --s3: 1.5rem; --s4: 2rem;
  --s5: 3rem;   --s6: 4.5rem; --s7: 6rem;

  --r:   14px;
  --rlg: 22px;
  --max: 1200px;

  --sh:  0 2px 8px rgba(60,26,36,.06);
  --shl: 0 18px 50px -20px rgba(60,26,36,.28);
}

/* === RESET === */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--body);
  background:var(--bone);
  color:var(--ink);
  font-size:1rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul,ol{ list-style:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }

:focus-visible{ outline:3px solid var(--laranja); outline-offset:3px; border-radius:4px; }

.skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--vinho); color:#fff; padding:12px 18px;
}
.skip:focus{ left:12px; top:12px; }

/* === LAYOUT === */
.wrap{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:20px; }
.wrap--narrow{ max-width:820px; }

section{ padding-block:var(--s6); }

/* === TIPOGRAFIA GLOBAL === */
h1,h2,h3{ font-family:var(--display); line-height:1.12; letter-spacing:-.02em; }

h1{
  font-size:clamp(2.05rem, 7.2vw, 3.9rem);
  font-weight:800;
  color:var(--vinho-900);
  margin-bottom:var(--s3);
}
h1 em{
  font-style:normal;
  color:var(--laranja-600);
  display:block;
}

.h2{
  font-size:clamp(1.65rem, 5vw, 2.65rem);
  font-weight:700;
  color:var(--vinho-900);
  margin-bottom:var(--s3);
  max-width:22ch;
}
.h2--c{ margin-inline:auto; text-align:center; }
.h2--sm{ font-size:clamp(1.4rem,4vw,2rem); }
.h2--on-dark{ color:var(--branco); }

h3{ font-size:1.2rem; font-weight:700; color:var(--vinho-900); }

/* Eyebrow: assinatura da marca, herda as 3 diagonais da logo */
.eyebrow{
  font-family:var(--display);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--laranja-600);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:var(--s2);
}
.eyebrow::before{
  content:"";
  width:26px; height:12px; flex:none;
  background:
    linear-gradient(105deg, transparent 42%, currentColor 42% 58%, transparent 58%) 0 0/9px 12px no-repeat,
    linear-gradient(105deg, transparent 42%, currentColor 42% 58%, transparent 58%) 9px 0/9px 12px no-repeat,
    linear-gradient(105deg, transparent 42%, currentColor 42% 58%, transparent 58%) 18px 0/9px 12px no-repeat;
}
.eyebrow--c{ justify-content:center; }
.eyebrow--on-dark{ color:var(--laranja); }

.lead{ font-size:1.05rem; color:var(--muted); max-width:46ch; margin-bottom:var(--s3); }
.sub{ color:var(--muted); max-width:52ch; margin:calc(var(--s3)*-.5) 0 var(--s4); }
.sub--c{ margin-inline:auto; text-align:center; }
.micro{ font-size:.83rem; color:var(--muted); margin-top:var(--s2); }
.micro--on-dark{ color:rgba(255,255,255,.62); }

/* === BOTÕES === */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--laranja);
  color:var(--vinho-900);
  font-family:var(--display);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.01em;
  padding:15px 26px;
  border-radius:999px;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
  box-shadow:0 10px 22px -12px rgba(232,128,47,.9);
}
.btn:hover{ background:var(--laranja-600); color:#fff; transform:translateY(-2px); }
.btn--lg{ padding:18px 32px; font-size:1.02rem; }
.btn--sm{ padding:11px 20px; font-size:.86rem; }
.btn--wide{ width:100%; max-width:420px; display:flex; margin-inline:auto; }
.btn--ghost{
  background:transparent;
  color:var(--vinho-900);
  border:1.5px solid var(--linha);
  box-shadow:none;
}
.btn--ghost:hover{ background:var(--surface); color:var(--vinho-900); border-color:var(--vinho); }

.link{
  font-family:var(--display); font-weight:700; font-size:.9rem;
  color:var(--laranja-600); display:inline-flex; gap:6px; align-items:center;
}
.link::after{ content:"→"; transition:transform .18s ease; }
.link:hover::after{ transform:translateX(4px); }

/* === HEADER (claro, logo laranja) === */
.hdr{
  position:fixed; inset:0 0 auto 0; z-index:90;
  background:rgba(251,247,243,.85);
  backdrop-filter:saturate(150%) blur(12px);
  -webkit-backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid transparent;
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.hdr.is-stuck{
  background:rgba(251,247,243,.97);
  border-bottom-color:var(--linha);
  box-shadow:var(--sh);
}
.hdr__in{ display:flex; align-items:center; justify-content:space-between; gap:var(--s2); height:70px; }
.hdr__logo{ display:flex; align-items:center; }
.hdr__logo img{ height:44px; width:auto; display:block; }

.nav{
  position:fixed; inset:70px 0 auto 0;
  background:var(--bone);
  border-bottom:1px solid var(--linha);
  flex-direction:column;
  padding:var(--s2) 20px var(--s3);
  display:none;
}
.nav.is-open{ display:flex; }
.nav a{
  font-family:var(--display); font-weight:600; font-size:1rem;
  padding:13px 0; border-bottom:1px solid var(--linha); color:var(--vinho-900);
}
.nav a:last-child{ border-bottom:0; }

/* Submenu do blog. No mobile os links ficam no HTML (SEO) mas ocultos, sem poluir o menu. */
.nav__item{ display:flex; flex-direction:column; }
.nav__item > a{ border-bottom:0; }
.nav__caret{ display:none; }
.nav__sub{ display:none; }

/* CTA visível também no mobile, compacto, antes do menu */
.hdr__cta{
  display:inline-flex;
  margin-left:auto;
  padding:9px 13px; font-size:.76rem;
  white-space:nowrap;
}

.burger{ width:40px; height:40px; display:grid; place-content:center; gap:5px; }
.burger span{ display:block; width:22px; height:2px; background:var(--vinho-900); transition:.25s; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }


/* === LOJAS PARCEIRAS (esteira infinita) === */
.parceiros{ background:var(--bone); text-align:center; }
.parceiros__belt{
  overflow:hidden; margin-top:var(--s4);
  background:var(--bone); /* base para o multiply das logos funcionar dentro da máscara */
  -webkit-mask-image:linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
  mask-image:linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
}
.parceiros__track{
  display:flex; width:max-content;
  animation:esteira 28s linear infinite;
  will-change:transform;
}
.parceiros__belt:hover .parceiros__track{ animation-play-state:paused; }
.parceiros__group{
  display:flex; align-items:center;
  gap:var(--s5); padding-right:var(--s5);
  background:var(--bone); /* base para o multiply das logos, dentro do contexto criado pelo transform */
}
.parceiros__group img{
  height:38px; width:auto; max-width:120px; object-fit:contain;
  mix-blend-mode:multiply; /* some o fundo branco do arquivo no fundo do site */
}
@keyframes esteira{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(-50%,0,0); }
}
@media (min-width:1024px){
  .parceiros__group{ gap:var(--s6); padding-right:var(--s6); }
  .parceiros__group img{ height:44px; max-width:140px; }
}
@media (prefers-reduced-motion:reduce){
  .parceiros__track{ animation:none; width:auto; flex-wrap:wrap; justify-content:center; }
  .parceiros__group[aria-hidden="true"]{ display:none; }
  .parceiros__group{ flex-wrap:wrap; justify-content:center; padding-right:0; }
  .parceiros__belt{ -webkit-mask-image:none; mask-image:none; }
}

/* === SELO GOOGLE (pílula, hoje usada no hero) === */
.google-badge{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--branco);
  border:1.5px solid var(--linha);
  padding:12px 20px; border-radius:999px;
  box-shadow:var(--sh);
  width:fit-content;
  transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.google-badge:hover{ box-shadow:var(--shl); border-color:var(--laranja); transform:translateY(-1px); }
.google-badge__logo{ width:22px; height:22px; flex:none; }
.google-badge__stars{
  position:relative; display:inline-block;
  width:96px; height:1.15rem; line-height:1;
  font-size:1.1rem; letter-spacing:2px; font-family:Arial, sans-serif;
}
.google-badge__stars::before{
  content:"★★★★★"; position:absolute; inset:0;
  color:var(--linha); white-space:nowrap;
}
.google-badge__stars::after{
  content:"★★★★★"; position:absolute; inset:0;
  color:#FBBC04; white-space:nowrap; overflow:hidden;
  width:calc(var(--rating) / 5 * 100%);
}
.google-badge__num{ font-family:var(--display); font-weight:800; color:var(--vinho-900); font-size:1.05rem; }
.google-badge__txt{ font-size:.85rem; color:var(--muted); }
.google-badge--hero{ margin-top:var(--s3); }

/* === INSTAGRAM (card no estilo do perfil) === */
.insta{ background:var(--surface); text-align:center; }
.insta__card{
  display:block; width:100%; max-width:520px;
  margin:var(--s4) auto 0; padding:var(--s3);
  background:var(--branco); border:1px solid var(--linha); border-radius:var(--rlg);
  box-shadow:var(--sh); text-align:left;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.insta__card:hover{ transform:translateY(-3px); box-shadow:var(--shl); border-color:var(--laranja); }
.insta__head{ display:flex; align-items:center; gap:12px; }
.insta__avatar{
  width:58px; height:58px; border-radius:50%; flex:none;
  padding:2.5px;
  background:linear-gradient(45deg, #FED373 12%, #F15245 42%, #D92E7F 68%, #9B36B7 88%);
}
.insta__avatar img{
  width:100%; height:100%; border-radius:50%;
  background:var(--bone); object-fit:contain; padding:7px;
  border:2px solid var(--branco); display:block;
}
.insta__id{ display:grid; gap:1px; flex:1; min-width:0; }
.insta__id strong{ font-family:var(--display); font-weight:700; color:var(--ink); font-size:1rem; }
.insta__id small{ color:var(--muted); font-size:.8rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.insta__btn{
  display:inline-flex; align-items:center; gap:6px; flex:none;
  background:linear-gradient(45deg, #F15245, #D92E7F);
  color:#fff; font-family:var(--display); font-weight:700; font-size:.82rem;
  padding:8px 14px; border-radius:999px;
}
.insta__stats{
  display:flex; gap:var(--s3); list-style:none;
  margin:var(--s2) 0; padding:0;
}
.insta__stats li{ display:flex; gap:6px; align-items:baseline; }
.insta__stats strong{ font-family:var(--display); font-weight:800; color:var(--vinho-900); }
.insta__stats span{ color:var(--muted); font-size:.85rem; }
.insta__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:5px; border-radius:12px; overflow:hidden; }
.insta__grid img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }

/* === HERO (escuro) + FORMULÁRIO === */
.hero{
  position:relative;
  padding-top:calc(70px + var(--s4));
  padding-bottom:var(--s5);
  overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(60,26,36,.93) 0%, rgba(60,26,36,.86) 55%, rgba(60,26,36,.97) 100%),
    url('https://arquitetoagora.com.br/wp-content/uploads/2024/12/39.1.webp') center/cover no-repeat,
    var(--vinho-900);
}
.hero__in{ display:grid; gap:var(--s4); }

.hero h1{ color:#fff; }
.hero h1 em{ color:var(--laranja); }
.hero__posicao{
  font-family:var(--display); font-weight:600; font-size:.92rem;
  letter-spacing:.01em; text-transform:none;
  color:rgba(255,255,255,.68);
  display:flex; align-items:center; gap:10px;
  margin-bottom:var(--s2); max-width:34ch;
}
.hero__posicao::before{
  content:""; width:26px; height:12px; flex:none;
  background:
    linear-gradient(105deg, transparent 42%, var(--laranja) 42% 58%, transparent 58%) 0 0/9px 12px no-repeat,
    linear-gradient(105deg, transparent 42%, var(--laranja) 42% 58%, transparent 58%) 9px 0/9px 12px no-repeat,
    linear-gradient(105deg, transparent 42%, var(--laranja) 42% 58%, transparent 58%) 18px 0/9px 12px no-repeat;
}
.lead--on-dark{ color:rgba(255,255,255,.86); font-size:clamp(1.15rem, 2.2vw, 1.35rem); font-weight:500; max-width:none; }
.hero__tag{
  font-family:var(--display); font-weight:700; font-size:1.15rem;
  color:var(--laranja); margin-bottom:var(--s2);
  letter-spacing:-.01em;
}

.hero__trust{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:var(--s2);
  margin-top:var(--s3);
  padding-top:var(--s3);
  border-top:1px solid rgba(255,255,255,.16);
}
.hero__trust li{ display:flex; flex-direction:column; align-items:center; text-align:center; }
/* No mobile o 1º item ocupa a linha toda, para os outros dois ficarem lado a lado sem sobra */
.hero__trust li:first-child{ grid-column:1 / -1; }
.hero__trust strong{
  font-family:var(--display); font-weight:800; font-size:1.3rem;
  color:var(--laranja); line-height:1.1;
}
.hero__trust span{ font-size:.74rem; color:rgba(255,255,255,.6); line-height:1.35; }

/* Card do formulário */
.form{
  background:var(--branco);
  border-radius:var(--rlg);
  padding:var(--s3);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.6);
  border-top:5px solid var(--laranja);
  scroll-margin-top:90px;
}
.form__top{ margin-bottom:var(--s3); }
.form__t{
  font-family:var(--display); font-weight:800;
  font-size:1.35rem; color:var(--vinho-900);
  line-height:1.2; margin-bottom:6px;
}
.form__s{ font-size:.9rem; color:var(--muted); }

.field{ margin-bottom:14px; display:grid; gap:6px; }
.field label{
  font-family:var(--display); font-weight:600; font-size:.82rem;
  color:var(--vinho-900);
}
.field label em{ font-style:normal; font-weight:500; color:var(--muted); }
.field input,
.field select,
.field textarea{
  width:100%;
  font-family:var(--body); font-size:1rem;
  color:var(--ink);
  background:var(--bone);
  border:1.5px solid var(--linha);
  border-radius:10px;
  padding:13px 14px;
  transition:border-color .18s ease, background .18s ease;
}
.field textarea{ resize:vertical; min-height:80px; }
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--laranja); background:#fff; outline:none;
}
.field.is-bad input,
.field.is-bad select{ border-color:#C0392B; background:#FDF3F2; }
.err{ font-size:.76rem; color:#C0392B; display:none; }
.field.is-bad .err{ display:block; }

.hp{ position:absolute; left:-9999px; opacity:0; height:0; width:0; }

.form__micro{ font-size:.78rem; color:var(--muted); text-align:center; margin-top:12px; }
.form__ok{
  margin-top:14px; padding:13px;
  background:#EAF7EF; border:1.5px solid #9AD5B1; border-radius:10px;
  color:#1E6B41; font-size:.9rem; text-align:center;
}
#leadBtn.is-loading{ opacity:.6; pointer-events:none; }

/* === FAIXA DE PROVA === */
.strip{
  background:var(--vinho);
  padding-block:var(--s2);
  overflow:hidden;
}
/* Esteira: no mobile os selos passam rodando, nenhum fica cortado.
   translate3d + will-change: necessários para o Safari do iPhone animar. */
.strip__track{
  display:flex; width:max-content;
  animation:stripRoda 24s linear infinite;
  will-change:transform;
}
.strip__group{ display:flex; gap:var(--s4); padding-right:var(--s4); }
@keyframes stripRoda{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(-50%,0,0); }
}
.strip span{
  flex:none;
  font-family:var(--display); font-weight:600; font-size:.8rem;
  letter-spacing:.06em; text-transform:uppercase;
  color:rgba(255,255,255,.85);
  display:flex; align-items:center; gap:10px;
}
.strip span::before{
  content:""; width:7px; height:7px; flex:none;
  background:var(--laranja); transform:skewX(-18deg);
}

/* === ANTES E DEPOIS === */
.ba{ background:var(--surface); }
.ba__box{
  position:relative; max-width:900px; margin-inline:auto;
  border-radius:var(--rlg); overflow:hidden;
  box-shadow:var(--shl);
  user-select:none; touch-action:pan-y;
  aspect-ratio:3/2; background:var(--vinho-900);
}
.ba__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ba__clip{ position:absolute; inset:0; width:50%; overflow:hidden; }
.ba__clip .ba__img{ width:var(--baw, 900px); max-width:none; }
.ba__handle{
  position:absolute; top:0; bottom:0; left:50%;
  width:3px; background:var(--laranja);
  transform:translateX(-50%);
  cursor:ew-resize;
}
.ba__grip{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:46px; height:46px; border-radius:50%;
  background:var(--laranja);
  box-shadow:0 6px 18px rgba(0,0,0,.3);
  display:grid; place-content:center;
}
.ba__grip::before{
  content:"‹ ›"; font-family:var(--display); font-weight:800;
  color:var(--vinho-900); font-size:1rem; letter-spacing:-1px;
}

/* dica "arraste" na alça do antes/depois */
.ba__hint{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%, calc(-50% - 44px));
  background:var(--vinho-900); color:#fff;
  font-family:var(--display); font-weight:700; font-size:.72rem;
  letter-spacing:.06em; text-transform:uppercase;
  padding:6px 12px; border-radius:999px;
  white-space:nowrap; pointer-events:none;
  box-shadow:0 6px 16px rgba(0,0,0,.3);
  transition:opacity .4s ease;
}
.ba__hint::after{
  content:""; position:absolute; left:50%; bottom:-5px;
  transform:translateX(-50%);
  border-left:5px solid transparent; border-right:5px solid transparent;
  border-top:6px solid var(--vinho-900);
}
.ba__box.is-touched .ba__hint{ opacity:0; }
.ba__box:not(.is-touched) .ba__grip{ animation:baNudge 1.8s ease-in-out infinite; }
@keyframes baNudge{
  0%,100%{ transform:translate(-50%,-50%); }
  25%{ transform:translate(calc(-50% - 7px),-50%); }
  75%{ transform:translate(calc(-50% + 7px),-50%); }
}
@media (prefers-reduced-motion:reduce){
  .ba__box:not(.is-touched) .ba__grip{ animation:none; }
}

.ba__tag{
  position:absolute; top:14px;
  font-family:var(--display); font-weight:700; font-size:.7rem;
  letter-spacing:.12em; text-transform:uppercase;
  background:rgba(60,26,36,.8); color:#fff;
  padding:6px 12px; border-radius:999px;
}
.ba__tag--l{ left:14px; }
.ba__tag--r{ right:14px; background:rgba(232,128,47,.92); color:var(--vinho-900); }

/* === TIPOS DE PROJETO === */
.svc__grid{ display:grid; gap:var(--s3); }
.card{
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--rlg);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card:hover{ transform:translateY(-4px); box-shadow:var(--shl); border-color:var(--laranja); }
.card img{ width:100%; aspect-ratio:16/9; object-fit:cover; } /* mais baixo no mobile */
.card__b{ padding:18px; display:grid; gap:10px; }
.card__b p{ color:var(--muted); font-size:.89rem; }


/* destaque de ênfase em headline escura */
.destaque{ font-style:normal; color:var(--laranja); }

/* === COMPARATIVO === */
.cmp{ background:var(--vinho-900); }
.cmp__grid{ display:grid; gap:var(--s3); }
.cmp__col{ border-radius:var(--rlg); padding:var(--s4) var(--s3); }
.cmp__col h3{ margin-bottom:var(--s3); font-size:1.25rem; }
.cmp__col li{
  display:flex; gap:12px; align-items:flex-start;
  padding:11px 0; font-size:.95rem;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.cmp__col li:last-child{ border-bottom:0; }
.cmp__col li::before{ font-family:var(--display); font-weight:800; flex:none; }

.cmp__col--bad{ background:rgba(255,255,255,.04); }
.cmp__col--bad h3{ color:rgba(255,255,255,.55); }
.cmp__col--bad li{ color:rgba(255,255,255,.55); }
.cmp__col--bad li::before{ content:"✕"; color:rgba(255,255,255,.35); }

.cmp__col--good{ background:var(--vinho); border:1px solid var(--vinho-700); }
.cmp__col--good h3{ color:#fff; }
.cmp__col--good li{ color:#fff; border-bottom-color:rgba(255,255,255,.12); }
.cmp__col--good li::before{ content:"✓"; color:var(--laranja); }
.cmp__col--good .btn{ margin-top:var(--s3); width:100%; }

/* === PROCESSO === */
.proc__list{ display:grid; gap:var(--s3); counter-reset:p; }
.proc__list li{
  background:var(--branco);
  border:1px solid var(--linha);
  border-left:4px solid var(--laranja);
  border-radius:var(--r);
  padding:var(--s3);
  display:grid; gap:8px;
}
.proc__n{
  font-family:var(--display); font-weight:800; font-size:.8rem;
  letter-spacing:.14em; color:var(--laranja-600);
}
.proc__list p{ color:var(--muted); font-size:.95rem; }

.proc__cta{
  margin-top:var(--s4);
  background:var(--surface);
  border-radius:var(--rlg);
  padding:var(--s4) var(--s3);
  text-align:center;
  display:grid; gap:var(--s3); justify-items:center;
}
.proc__cta p{ font-size:1.1rem; max-width:34ch; }
.proc__cta strong{ color:var(--vinho); }

/* === NÚMEROS === */
.nums{
  background:var(--vinho);
  background-image:linear-gradient(160deg, var(--vinho) 0%, var(--vinho-900) 100%);
}
.nums__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s4) var(--s2); text-align:center; }
.num strong{
  display:block;
  font-family:var(--display); font-weight:800;
  font-size:clamp(2.1rem, 9vw, 3.4rem);
  color:var(--laranja);
  line-height:1;
  letter-spacing:-.03em;
}
.num span{ font-size:.82rem; color:rgba(255,255,255,.7); }

/* === PORTFÓLIO === */
.port__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.port__i{
  position:relative; border-radius:var(--r); overflow:hidden;
  aspect-ratio:1/1; background:var(--surface);
}
.port__i img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.port__i::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(60,26,36,.45), transparent 55%);
  opacity:0; transition:opacity .25s ease;
}
.port__i:hover img{ transform:scale(1.06); }
.port__i:hover::after{ opacity:1; }
.port__i--hide{ display:none; }
.port__grid.is-open .port__i--hide{ display:block; }
.port__more{ text-align:center; margin-top:var(--s3); }

/* Lightbox */
.lb{
  position:fixed; inset:0; z-index:150;
  background:rgba(43,32,38,.94);
  display:grid; place-items:center; padding:20px;
}
.lb img{ max-width:min(94vw,900px); max-height:86vh; border-radius:var(--r); }
.lb__x{
  position:absolute; top:16px; right:18px;
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.14); color:#fff; font-size:1.6rem; line-height:1;
}
.lb__seta{
  position:absolute; top:50%; transform:translateY(-50%);
  width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,.14); color:#fff;
  font-size:2rem; line-height:1;
  display:grid; place-content:center; z-index:2;
}
.lb__seta:hover{ background:rgba(255,255,255,.3); }
.lb__seta--e{ left:12px; }
.lb__seta--d{ right:12px; }
.lb__n{
  position:absolute; bottom:16px; left:50%; transform:translateX(-50%);
  color:rgba(255,255,255,.75);
  font-family:var(--display); font-weight:600; font-size:.85rem; letter-spacing:.05em;
}

/* === DEPOIMENTOS === */
.dep{ background:var(--vinho-900); }

/* Resumo da ficha do Google */
.dep__resumo{
  display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  margin:var(--s3) 0 var(--s4);
  padding:12px 16px; border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  width:fit-content;
  transition:background .2s ease, border-color .2s ease;
}
.dep__resumo:hover{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.28); }
.dep__glogo{ width:22px; height:22px; flex:none; }
.dep__nota{ font-family:var(--display); font-weight:800; color:#fff; font-size:1.1rem; line-height:1; }
.dep__qtd{ font-size:.85rem; color:rgba(255,255,255,.6); }

/* Estrelas (mesma técnica do selo do Google) */
.dep__estrelas{
  position:relative; display:inline-block;
  width:86px; height:1rem; line-height:1;
  font-size:1rem; letter-spacing:2px; font-family:Arial, sans-serif; flex:none;
}
.dep__estrelas::before{
  content:"★★★★★"; position:absolute; inset:0;
  color:rgba(255,255,255,.22); white-space:nowrap;
}
.dep__estrelas::after{
  content:"★★★★★"; position:absolute; inset:0;
  color:#FBBC04; white-space:nowrap; overflow:hidden;
  width:calc(var(--rating) / 5 * 100%);
}
.dep__estrelas--c{ margin-bottom:12px; }

.dep__grid{ display:grid; gap:var(--s3); }
.dep__c{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--rlg);
  padding:var(--s3);
  position:relative;
}
.dep__c::before{
  content:"”";
  position:absolute; top:2px; right:20px;
  font-family:var(--display); font-weight:800;
  font-size:4.5rem; color:var(--laranja); opacity:.28; line-height:1;
}
.dep__c p{ color:rgba(255,255,255,.9); font-size:.97rem; }
.dep__c footer{
  display:flex; align-items:center; gap:12px; margin-top:var(--s3);
  padding-top:var(--s2); border-top:1px solid rgba(255,255,255,.1);
}
/* Inicial no lugar da foto, como o próprio Google faz com quem não tem avatar */
.dep__ini{
  width:42px; height:42px; border-radius:50%; flex:none;
  display:grid; place-content:center;
  background:rgba(255,255,255,.12);
  color:#fff; font-family:var(--display); font-weight:700; font-size:1.05rem;
}
.dep__quem{ display:grid; flex:1; }
.dep__c footer strong{ color:#fff; font-family:var(--display); font-size:.95rem; }
.dep__c footer small{ color:rgba(255,255,255,.55); font-size:.78rem; }
.dep__gmini{ width:20px; height:20px; flex:none; opacity:.9; }

.dep__cta{ margin-top:var(--s3); }
.dep__cta a{
  color:rgba(255,255,255,.75); font-size:.9rem;
  border-bottom:1px solid rgba(255,255,255,.3); padding-bottom:2px;
}
.dep__cta a:hover{ color:var(--laranja); border-bottom-color:var(--laranja); }

/* === SOBRE === */
.sobre__in{ display:grid; gap:var(--s4); }
.sobre__img img{
  width:100%; border-radius:var(--rlg);
  object-fit:cover; aspect-ratio:1/1; object-position:center 22%; /* quadrada no mobile, ocupa bem menos */
  box-shadow:var(--shl);
}
.sobre__txt p{ color:var(--muted); margin-bottom:var(--s2); }
.sobre__pil{ display:grid; gap:14px; margin:var(--s3) 0 var(--s4); }
.sobre__pil li{
  display:grid; gap:2px;
  padding-left:16px; border-left:3px solid var(--laranja);
  font-size:.93rem; color:var(--muted);
}
.sobre__pil strong{ font-family:var(--display); color:var(--vinho-900); font-size:1rem; }


/* === NOSSA EQUIPE === */
.equipe{ background:var(--bone); }
.equipe__grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s5) var(--s3);
  max-width:1000px; margin-inline:auto;
}
.pessoa{ text-align:center; }
.pessoa__foto{
  width:clamp(120px, 34vw, 168px); height:clamp(120px, 34vw, 168px);
  margin:0 auto var(--s2);
  border-radius:50%; overflow:hidden;
  border:3px solid var(--branco);
  box-shadow:0 10px 26px -10px rgba(60,26,36,.35);
}
.pessoa__foto img{ width:100%; height:100%; object-fit:cover; }
.pessoa__nome{
  font-family:var(--display); font-weight:700; font-size:1.05rem;
  color:var(--vinho-900); margin-bottom:2px;
}
.pessoa__cargo{ font-size:.88rem; color:var(--muted); }

@media (min-width:820px){
  .equipe__grid{ grid-template-columns:repeat(3,1fr); }
}
@media (min-width:1200px){
  .equipe__grid{ grid-template-columns:repeat(6,1fr); max-width:1160px; gap:var(--s4) var(--s2); }
  .pessoa__foto{ width:160px; height:160px; }
}
@media (min-width:820px) and (max-width:1199px){
  .pessoa__foto{ width:150px; height:150px; }
}

/* === FAQ === */
.faq details{
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--r);
  margin-bottom:12px;
  transition:border-color .2s ease;
}
.faq details[open]{ border-color:var(--laranja); }
.faq summary{
  list-style:none; cursor:pointer;
  padding:18px 52px 18px 20px;
  font-family:var(--display); font-weight:600; font-size:1rem;
  color:var(--vinho-900); position:relative;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:"+";
  position:absolute; right:20px; top:50%; transform:translateY(-50%);
  font-size:1.5rem; font-weight:400; color:var(--laranja-600); line-height:1;
}
.faq details[open] summary::after{ content:"–"; }
.faq details p{ padding:0 20px 20px; color:var(--muted); font-size:.95rem; }

/* === CTA FINAL === */
.fim{
  background:var(--vinho);
  background-image:linear-gradient(150deg, var(--vinho-700) 0%, var(--vinho-900) 100%);
}
.fim__in{ display:grid; justify-items:center; text-align:center; }
.fim .eyebrow{ justify-content:center; }
.fim__p{ color:rgba(255,255,255,.75); max-width:44ch; margin-bottom:var(--s3); }
.btn--wa{ background:#25D366; color:#0B2E1A; box-shadow:0 12px 28px -12px rgba(37,211,102,.9); }
.btn--wa:hover{ background:#1EBE5A; color:#0B2E1A; }
.fim__vias{
  display:grid; gap:var(--s2);
  margin-top:var(--s4); padding-top:var(--s3);
  border-top:1px solid rgba(255,255,255,.14);
  width:100%; max-width:760px;
}
.fim__vias li{ display:grid; gap:2px; }
.fim__vias span{
  font-family:var(--display); font-weight:700; font-size:.7rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--laranja);
}
.fim__vias a{ color:#fff; font-size:1rem; }
.fim__vias a:hover{ color:var(--laranja); }
.fim__alt{ margin-top:var(--s3); font-size:.88rem; color:rgba(255,255,255,.6); }
.fim__alt a{ color:var(--laranja); text-decoration:underline; text-underline-offset:3px; }



/* === DO BLOG (home) === */
.blog{ background:var(--surface); }
.blog__head{ display:flex; flex-wrap:wrap; gap:var(--s2); justify-content:space-between; align-items:flex-end; margin-bottom:var(--s4); }
.blog__grid{ display:grid; gap:var(--s3); }
.post{
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--rlg);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.post:hover{ transform:translateY(-4px); box-shadow:var(--shl); border-color:var(--laranja); }
.post a{ display:block; }
.post__img{ overflow:hidden; aspect-ratio:3/2; }
.post__img img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.post:hover .post__img img{ transform:scale(1.05); }
.post__b{ padding:var(--s3); display:grid; gap:10px; }
.post__cat{
  font-family:var(--display); font-weight:700; font-size:.68rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--laranja-600);
}
.post__b h3{ font-size:1.12rem; line-height:1.25; }
.post__b p{ color:var(--muted); font-size:.92rem; }
.post__more{
  font-family:var(--display); font-weight:700; font-size:.85rem;
  color:var(--vinho-900); display:inline-flex; gap:6px; align-items:center; margin-top:2px;
}
.post__more::after{ content:"→"; transition:transform .18s ease; }
.post:hover .post__more::after{ transform:translateX(4px); }

@media (min-width:768px){
  .blog__grid{ grid-template-columns:repeat(3,1fr); }
}

/* === BLOCO SEO === */
.seo{ background:var(--bone); padding-block:var(--s5); }
.seo p{ color:var(--muted); margin-bottom:var(--s2); }
.seo a{ color:var(--laranja-600); text-decoration:underline; text-underline-offset:3px; }
.seo a:hover{ color:var(--vinho); }
.seo strong{ color:var(--vinho-900); }

/* === FOOTER === */
.ft{ background:var(--vinho-900); color:rgba(255,255,255,.7); padding-top:var(--s5); }
.ft__in{ display:grid; gap:var(--s4); }
.ft__brand img{ height:42px; width:auto; margin-bottom:var(--s2); }
.ft__brand p{ font-size:.9rem; max-width:34ch; }
.ft__col h2{
  font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--laranja); margin-bottom:14px;
}
.ft__col a{ display:block; padding:5px 0; font-size:.92rem; }
.ft__col a:hover{ color:var(--laranja); }
.ft__loc{ font-size:.85rem; margin-top:10px; color:rgba(255,255,255,.5); }
.ft__reg{ margin-top:var(--s4); text-align:center; }
.ft__reg small{
  font-size:.8rem; color:rgba(255,255,255,.5); line-height:1.6;
}
.ft__reg strong{
  display:block; font-weight:600; color:rgba(255,255,255,.72);
  text-transform:uppercase; letter-spacing:.06em; font-size:.72rem;
  margin-bottom:2px;
}

.ft__bot{
  margin-top:var(--s3); padding-block:var(--s3);
  border-top:1px solid rgba(255,255,255,.1);
  display:grid; gap:8px; font-size:.8rem; color:rgba(255,255,255,.5);
  text-align:center; justify-items:center;
}
.ft__bot a:hover{ color:var(--laranja); }

/* === VÍDEO FLUTUANTE (canto inferior esquerdo) === */
.vfloat{
  position:fixed; left:16px; bottom:16px; z-index:95;
  width:113px;
  transition:opacity .3s ease, transform .3s ease;
}
.vfloat.is-hidden{ opacity:0; transform:translateY(20px); pointer-events:none; }

/* Fechou o widget? Vira uma bolinha discreta com um textinho, que reabre o vídeo */
.vfloat__mini{
  display:none;
  align-items:center; gap:8px;
  background:none; border:0; padding:0; cursor:pointer;
}
.vfloat__minidot{
  width:40px; height:40px; border-radius:50%;
  background:var(--laranja);
  border:2px solid var(--bone);
  box-shadow:0 8px 20px -6px rgba(60,26,36,.45);
  display:grid; place-content:center;
}
.vfloat__mini:hover .vfloat__minidot{ background:var(--laranja-600); }
.vfloat__miniplay{
  width:0; height:0; margin-left:3px;
  border-left:11px solid var(--vinho-900);
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  display:block;
}
.vfloat__minilbl{
  font-family:var(--display); font-weight:700;
  font-size:.6rem; letter-spacing:.05em; text-transform:uppercase;
  color:#fff; background:rgba(60,26,36,.62);
  padding:5px 10px; border-radius:999px;
  white-space:nowrap;
}
.vfloat.is-mini .vfloat__thumb,
.vfloat.is-mini .vfloat__x{ display:none; }
.vfloat.is-mini{ width:auto; }
.vfloat.is-mini .vfloat__mini{ display:flex; }
.vfloat__thumb{
  position:relative; display:block; width:100%;
  border-radius:18px; overflow:hidden;
  border:2.5px solid var(--laranja);
  box-shadow:0 12px 28px -8px rgba(60,26,36,.5);
  background:var(--vinho-900);
  aspect-ratio:9/13; /* mais baixa que o vídeo (9/16) para roubar menos tela */
}
.vfloat__thumb video{ width:100%; height:100%; object-fit:cover; }
.vfloat__play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:34px; height:34px; border-radius:50%;
  background:rgba(232,128,47,.95);
  display:grid; place-content:center;
}
.vfloat__play::before{
  content:""; width:0; height:0; margin-left:3px;
  border-left:11px solid var(--vinho-900);
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
}
.vfloat__lbl{
  position:absolute; left:0; right:0; bottom:0;
  background:linear-gradient(to top, rgba(60,26,36,.92) 55%, rgba(60,26,36,.55) 80%, transparent);
  color:#fff; font-family:var(--display); font-weight:700;
  font-size:.76rem; letter-spacing:.06em; text-transform:uppercase;
  padding:16px 0 7px;
  text-shadow:0 1px 3px rgba(60,26,36,.6);
}
.vfloat__x{
  position:absolute; top:-10px; right:-10px; z-index:2;
  width:32px; height:32px; border-radius:50%;
  background:var(--vinho-900); color:#fff;
  font-size:1.25rem; line-height:1;
  display:grid; place-content:center;
  border:2px solid var(--bone);
}

/* Modal do vídeo */
.vmodal{
  position:fixed; inset:0; z-index:160;
  background:rgba(43,32,38,.55);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  display:grid; place-items:center; padding:20px;
}
.vmodal[hidden]{ display:none; }
/* Caixa do modal: mesma cara da miniatura, moldura terminando junto com o vídeo */
.vmodal__box{ position:relative; width:auto; max-width:92vw; }
.vmodal__box video{
  display:block; width:auto; max-width:92vw;
  height:min(78vh, 620px); aspect-ratio:9/16;
  border-radius:18px; border:2.5px solid var(--laranja);
  background:#000; object-fit:cover;
}
.vmodal__x{
  position:absolute; top:-14px; right:-14px; z-index:2;
  width:44px; height:44px; border-radius:50%;
  background:var(--vinho-900); color:#fff;
  font-size:1.5rem; line-height:1;
  display:grid; place-content:center;
  border:2px solid var(--bone);
}
.vmodal__x:hover{ background:var(--vinho-700); }

/* Barra de progresso estilo VSL: só a barra correndo, sem tempo, sem % e sem seek */
.vmodal__box video{ cursor:pointer; }
.vbar{
  position:absolute; left:2.5px; right:2.5px; bottom:2.5px;
  height:6px; overflow:hidden;
  border-radius:0 0 15px 15px;
  background:rgba(255,255,255,.28);
  pointer-events:none;
}
.vbar__fill{
  display:block; width:0; height:100%;
  background:var(--laranja);
  transition:width .25s linear;
}



/* === PÁGINAS DE BLOG (listagem + post) === */
.crumb{ font-size:.82rem; color:var(--muted); margin-bottom:var(--s3); }
.crumb a{ color:var(--laranja-600); }
.crumb a:hover{ text-decoration:underline; }

/* Cabeçalho da listagem */
.bloghero{ padding-top:calc(70px + var(--s5)); padding-bottom:var(--s4); background:var(--surface); }
.bloghero h1{ font-family:var(--display); font-weight:800; font-size:clamp(2rem,6vw,3.2rem); color:var(--vinho-900); letter-spacing:-.02em; margin-bottom:var(--s2); }
.bloghero p{ color:var(--muted); max-width:56ch; }

.bloglist{ padding-block:var(--s5); }
.blog__grid--wide{ display:grid; gap:var(--s3); }
.post__h{ font-family:var(--display); font-weight:700; font-size:1.12rem; line-height:1.25; color:var(--vinho-900); }

/* Paginação */
.pag{ display:flex; gap:8px; justify-content:center; align-items:center; margin-top:var(--s5); flex-wrap:wrap; }
.pag a, .pag span{
  min-width:42px; height:42px; padding:0 12px;
  display:grid; place-content:center;
  border-radius:10px; font-family:var(--display); font-weight:600; font-size:.9rem;
  border:1.5px solid var(--linha); color:var(--vinho-900);
}
.pag a:hover{ border-color:var(--laranja); color:var(--laranja-600); }
.pag__cur{ background:var(--vinho); color:#fff !important; border-color:var(--vinho); }
.pag__next{ font-size:.85rem; }

/* Artigo */
.artigo{ padding-top:calc(70px + var(--s4)); }
.artigo__head{ margin-bottom:var(--s3); }
.artigo__head h1{ font-family:var(--display); font-weight:800; font-size:clamp(1.9rem,5.4vw,3rem); color:var(--vinho-900); letter-spacing:-.02em; line-height:1.12; margin:10px 0; }
.artigo__meta{ font-size:.85rem; color:var(--muted); display:flex; gap:8px; align-items:center; }
.artigo__capa{ margin:var(--s3) 0 var(--s4); }
.artigo__capa img{ width:100%; border-radius:var(--rlg); box-shadow:var(--shl); aspect-ratio:3/2; object-fit:cover; }

/* Prosa: tipografia de leitura */
.prosa{ font-size:1.08rem; line-height:1.8; color:var(--ink); }
.prosa > * + *{ margin-top:var(--s3); }
.prosa h2{ font-family:var(--display); font-weight:700; font-size:1.6rem; color:var(--vinho-900); margin-top:var(--s4); letter-spacing:-.01em; }
.prosa h3{ font-family:var(--display); font-weight:700; font-size:1.25rem; color:var(--vinho-900); margin-top:var(--s3); }
.prosa a{ color:var(--laranja-600); text-decoration:underline; text-underline-offset:3px; }
.prosa ul, .prosa ol{ padding-left:1.3em; }
.prosa li{ margin-bottom:8px; list-style:disc; }
.prosa ol li{ list-style:decimal; }
.prosa blockquote{
  border-left:4px solid var(--laranja);
  background:var(--surface);
  padding:var(--s3);
  border-radius:0 var(--r) var(--r) 0;
  font-family:var(--display); font-weight:500; font-size:1.15rem; color:var(--vinho-900);
}
.prosa img{ border-radius:var(--r); margin-block:var(--s3); }

/* CTA no meio do artigo */
.artigo__cta{
  margin:var(--s5) 0 var(--s4);
  background:var(--vinho);
  background-image:linear-gradient(150deg, var(--vinho-700), var(--vinho-900));
  color:#fff; border-radius:var(--rlg); padding:var(--s4);
  text-align:center;
}
.artigo__cta h2{ color:#fff; font-family:var(--display); font-size:1.5rem; margin-bottom:10px; }
.artigo__cta p{ color:rgba(255,255,255,.8); margin-bottom:var(--s3); }

/* Compartilhar */
.artigo__share{ display:flex; gap:12px; align-items:center; padding-block:var(--s3); border-top:1px solid var(--linha); border-bottom:1px solid var(--linha); font-size:.9rem; }
.artigo__share span{ font-family:var(--display); font-weight:600; color:var(--vinho-900); }
.artigo__share a{ color:var(--laranja-600); font-weight:600; }
.artigo__share a:hover{ text-decoration:underline; }

/* Relacionados */
.rel{ background:var(--surface); margin-top:var(--s5); padding-block:var(--s5); }
.rel .h2{ text-align:center; margin-inline:auto; }

@media (min-width:768px){
  .blog__grid--wide{ grid-template-columns:repeat(3,1fr); }
}

/* === WHATSAPP FLUTUANTE === */
.wa{
  position:fixed; right:20px; bottom:30px; z-index:95; /* espaço embaixo para o selo "Estamos online" */
  width:56px; height:56px; border-radius:50%;
  background:#25D366; color:#fff;
  display:grid; place-content:center;
  box-shadow:0 10px 26px -8px rgba(37,211,102,.85);
  transition:transform .2s ease;
}
.wa:hover{ transform:scale(1.07); }
.wa svg{ position:relative; z-index:2; }
/* Selo discreto embaixo do botão, com pontinho verde de status */
.wa__lbl{
  position:absolute; right:-13px; top:calc(100% + 4px);
  display:flex; align-items:center; gap:4px;
  background:rgba(255,255,255,.92);
  color:var(--vinho-900);
  font-family:var(--display); font-weight:600;
  font-size:.56rem; letter-spacing:.02em; line-height:1;
  padding:3px 7px; border-radius:999px;
  box-shadow:0 3px 10px -3px rgba(60,26,36,.25);
  white-space:nowrap; pointer-events:none;
}
.wa__lbl::before{
  content:""; width:5px; height:5px; border-radius:50%;
  background:#25D366; flex:none;
}
.wa__pulse{
  position:absolute; inset:0; border-radius:50%;
  background:#25D366; opacity:.55;
  animation:waPulse 2.4s ease-out infinite;
}
@keyframes waPulse{
  0%   { transform:scale(1);   opacity:.5; }
  70%  { transform:scale(1.55); opacity:0; }
  100% { transform:scale(1.55); opacity:0; }
}

/* =========================================================
   TABLET  ≥ 768px
   ========================================================= */
@media (min-width:768px){
  .hero__trust{ grid-template-columns:repeat(4,1fr); }
  .hero__trust li{ align-items:flex-start; text-align:left; }
  .hero__trust li:first-child{ grid-column:auto; }
  .hero__trust strong{ font-size:1.5rem; }
  .hero__trust span{ font-size:.78rem; }
  .card img{ aspect-ratio:4/3; }
  .card__b{ padding:var(--s3); gap:12px; }
  .card__b p{ font-size:.95rem; }
  .sobre__img img{ aspect-ratio:3/4; object-position:center; }
  .svc__grid{ grid-template-columns:repeat(3,1fr); }
  .cmp__grid{ grid-template-columns:1fr 1fr; }
  .proc__list{ grid-template-columns:repeat(2,1fr); }
  .nums__grid{ grid-template-columns:repeat(4,1fr); }
  .port__grid{ grid-template-columns:repeat(3,1fr); gap:14px; }
  .dep__grid{ grid-template-columns:repeat(3,1fr); }
  .fim__vias{ grid-template-columns:repeat(3,1fr); text-align:center; }
  .ft__in{ grid-template-columns:1.4fr 1fr 1.2fr 1fr; }
  .ft__bot{ align-items:center; }
  .proc__cta{ grid-template-columns:1fr auto; text-align:left; align-items:center; justify-items:start; padding:var(--s4); }
  .vfloat{ width:130px; left:20px; bottom:20px; }
  .wa{ width:62px; height:62px; right:20px; bottom:34px; }
}

/* =========================================================
   DESKTOP  ≥ 1024px
   ========================================================= */
@media (min-width:1024px){
  section{ padding-block:var(--s7); }

  .burger{ display:none; }
  .hdr__cta{ margin-left:0; padding:11px 20px; font-size:.86rem; }
  .nav{
    position:static; display:flex; flex-direction:row;
    background:none; border:0; padding:0; gap:var(--s3);
  }
  .nav a{
    border:0; padding:6px 0; font-size:.92rem; position:relative; color:var(--vinho-900);
  }
  .nav a:hover{ color:var(--laranja-600); }
  .nav a::after{
    content:""; position:absolute; left:0; bottom:0;
    width:0; height:2px; background:var(--laranja);
    transition:width .22s ease;
  }
  .nav a:hover::after{ width:100%; }

  /* Dropdown do blog no desktop */
  .nav__item{ position:relative; flex-direction:row; align-items:center; gap:2px; }
  .nav__caret{
    display:inline-flex; align-items:center; justify-content:center;
    width:22px; height:22px; padding:0; border:0; background:none;
    color:var(--vinho-900); cursor:pointer; border-radius:6px;
    transition:transform .22s ease, color .15s ease;
  }
  .nav__caret:hover{ color:var(--laranja-600); }
  .nav__item:hover .nav__caret,
  .nav__caret[aria-expanded="true"]{ transform:rotate(180deg); }
  .nav__sub{
    position:absolute; top:calc(100% + 10px); right:-8px; z-index:95;
    min-width:340px; max-width:380px; margin:0; padding:8px; list-style:none;
    background:var(--bone); border:1px solid var(--linha); border-radius:14px;
    box-shadow:var(--shl);
    display:block; opacity:0; visibility:hidden; transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
  }
  .nav__item:hover .nav__sub,
  .nav__item:focus-within .nav__sub,
  .nav__item.is-open .nav__sub{ opacity:1; visibility:visible; transform:translateY(0); }
  .nav__sub::before{
    content:""; position:absolute; top:-10px; left:0; right:0; height:10px;
  }
  .nav__sub a{
    display:block; padding:9px 12px; border:0; border-radius:8px;
    font-family:var(--body); font-weight:500; font-size:.86rem; line-height:1.35;
    color:var(--vinho-900); white-space:normal;
  }
  .nav__sub a::after{ content:none; }
  .nav__sub a:hover{ background:var(--surface); color:var(--laranja-600); }

  .hero{ padding-top:calc(70px + var(--s5)); padding-bottom:var(--s6); }
  .form{ padding:var(--s4); }
  .form__t{ font-size:1.5rem; }
  .hero__in{ grid-template-columns:1.08fr .92fr; align-items:center; gap:var(--s5); }

  .sobre__in{ grid-template-columns:.9fr 1.1fr; align-items:center; gap:var(--s6); }
  .port__grid{ grid-template-columns:repeat(4,1fr); }
  .proc__list{ grid-template-columns:repeat(4,1fr); }
  /* No desktop cabe tudo: para a esteira e espalha os selos */
  .strip__track{
    animation:none; width:100%;
    max-width:var(--max); margin-inline:auto; padding-inline:20px;
  }
  .strip__group{ flex:1; justify-content:space-between; padding-right:0; }
  .strip__group[aria-hidden="true"]{ display:none; }
}

/* === ANIMAÇÃO DE ENTRADA === */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1; transform:none; }
  /* Sem esteira: os selos quebram linha e ficam centralizados */
  .strip__track{ width:auto; flex-wrap:wrap; justify-content:center; }
  .strip__group{ flex-wrap:wrap; justify-content:center; padding-right:0; }
  .strip__group[aria-hidden="true"]{ display:none; }
}

/* =========================================================
   PROJETOS PRONTOS (vitrine de produtos)
   ========================================================= */
.pp-hero{ background:var(--vinho-900); color:#fff; padding-block:var(--s5) var(--s4); }
.pp-hero .eyebrow{ color:var(--laranja); }
.pp-hero h1{ color:#fff; font-size:clamp(1.9rem,6vw,3rem); line-height:1.1; margin-bottom:var(--s2); }
.pp-hero p{ color:rgba(255,255,255,.82); max-width:62ch; }
.pp-hero__marcas{
  display:flex; flex-wrap:wrap; gap:var(--s3);
  margin-top:var(--s3); padding-top:var(--s3);
  border-top:1px solid rgba(255,255,255,.16);
}
.pp-hero__marcas li{ display:grid; }
.pp-hero__marcas strong{ font-family:var(--display); font-weight:800; color:var(--laranja); font-size:1.2rem; line-height:1.1; }
.pp-hero__marcas span{ font-size:.76rem; color:rgba(255,255,255,.6); }

/* Grade de modelos */
.pp-grid{ display:grid; gap:var(--s3); margin-top:var(--s4); }
.pp-card{
  background:var(--branco); border:1px solid var(--linha); border-radius:var(--rlg);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.pp-card:hover{ transform:translateY(-4px); box-shadow:var(--shl); border-color:var(--laranja); }
.pp-card__img{ position:relative; }
.pp-card__img img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.pp-card__tag{
  position:absolute; top:12px; left:12px;
  background:var(--vinho-900); color:#fff;
  font-family:var(--display); font-weight:700; font-size:.68rem;
  letter-spacing:.06em; text-transform:uppercase;
  padding:5px 11px; border-radius:999px;
}
.pp-card__b{ padding:var(--s3); display:flex; flex-direction:column; gap:12px; flex:1; }
.pp-card__b h4{ font-family:var(--display); font-weight:700; color:var(--vinho-900); font-size:1.15rem; line-height:1.25; }
.pp-card__specs{ display:flex; flex-wrap:wrap; gap:8px; }
.pp-card__specs li{
  background:var(--surface); color:var(--ink);
  font-size:.78rem; font-weight:500;
  padding:5px 10px; border-radius:8px;
}
.pp-card__desc{ color:var(--muted); font-size:.92rem; flex:1; }
.pp-card__preco{
  display:flex; align-items:baseline; gap:6px;
  border-top:1px solid var(--linha); padding-top:12px;
}
.pp-card__preco small{ font-size:.76rem; color:var(--muted); }
.pp-card__preco strong{ font-family:var(--display); font-weight:800; font-size:1.35rem; color:var(--vinho-900); }
.pp-card .btn{ width:100%; }

/* Comparativo pronto x sob medida */
.pp-comp{ background:var(--surface); }
.pp-comp__grid{ display:grid; gap:var(--s3); margin-top:var(--s4); }
.pp-comp__col{
  background:var(--branco); border:1px solid var(--linha);
  border-radius:var(--rlg); padding:var(--s3);
}
.pp-comp__col--destaque{ border-color:var(--laranja); border-width:2px; }
.pp-comp__col h3{ font-size:1.1rem; margin-bottom:4px; }
.pp-comp__col > p{ color:var(--muted); font-size:.88rem; margin-bottom:var(--s2); }
.pp-comp__col ul{ display:grid; gap:10px; list-style:none; padding:0; margin:0 0 var(--s3); }
.pp-comp__col li{ font-size:.9rem; color:var(--ink); padding-left:22px; position:relative; }
.pp-comp__col li::before{
  content:""; position:absolute; left:0; top:7px;
  width:9px; height:9px; border-radius:50%; background:var(--laranja);
}

@media (min-width:768px){
  .pp-grid{ grid-template-columns:repeat(2,1fr); }
  .pp-comp__grid{ grid-template-columns:1fr 1fr; }
}
@media (min-width:1024px){
  .pp-grid{ grid-template-columns:repeat(3,1fr); }
  .pp-hero__marcas{ gap:var(--s5); }
}

/* Categorias dentro dos Projetos Prontos */
.pp-cat{ margin-top:var(--s5); }
.pp-cat:first-of-type{ margin-top:var(--s4); }
.pp-cat__head{
  display:flex; align-items:baseline; gap:12px; flex-wrap:wrap;
  padding-bottom:12px; margin-bottom:var(--s3);
  border-bottom:2px solid var(--linha);
}
.pp-cat__head h3{
  font-size:clamp(1.3rem,3.6vw,1.7rem); font-weight:800;
  color:var(--vinho-900); letter-spacing:-.02em;
}
.pp-cat__head span{ font-size:.85rem; color:var(--muted); }
.pp-cat__head em{
  font-style:normal; margin-left:auto;
  font-family:var(--display); font-weight:600; font-size:.78rem;
  color:var(--laranja-600); letter-spacing:.04em; text-transform:uppercase;
}

/* Card de projeto comprável (dentro de cada tipo) */
.pp-card__b h4{ font-size:1.02rem; }
.pp-card__var{
  font-size:.86rem; color:var(--muted);
  border-top:1px solid var(--linha); padding-top:10px; margin-top:2px;
}
.pp-cat__desc{ color:var(--muted); font-size:.92rem; margin:-8px 0 var(--s3); max-width:60ch; }

/* =========================================================
   PÁGINA DE MODELO (mini LP de cada projeto pronto)
   ========================================================= */
.md-hero{ background:var(--vinho-900); color:#fff; padding-block:var(--s5) var(--s4); }
.md-hero__in{ display:grid; gap:var(--s4); }
.md-hero h1{ color:#fff; font-size:clamp(1.8rem,5.5vw,2.8rem); margin-bottom:var(--s2); }
.md-hero__desc{ color:rgba(255,255,255,.82); margin-bottom:var(--s3); }
.md-hero__img img{ width:100%; border-radius:var(--rlg); aspect-ratio:4/3; object-fit:cover; }
.md-specs{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:var(--s3); }
.md-specs li{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  color:#fff; font-size:.82rem; font-weight:500;
  padding:7px 13px; border-radius:999px;
}
.md-compra{
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16);
  border-radius:var(--rlg); padding:var(--s3);
}
.md-compra__preco{ display:flex; align-items:baseline; gap:10px; margin-bottom:4px; }
.md-compra__preco strong{ font-family:var(--display); font-weight:800; font-size:2.2rem; color:var(--laranja); line-height:1; }
.md-compra__preco span{ font-size:.85rem; color:rgba(255,255,255,.6); }
.md-compra p{ font-size:.85rem; color:rgba(255,255,255,.6); margin-bottom:var(--s2); }
.md-compra .btn{ width:100%; }

.md-inclui{ display:grid; gap:14px; margin-top:var(--s4); }
.md-inclui li{
  display:flex; gap:12px; align-items:flex-start;
  background:var(--branco); border:1px solid var(--linha);
  border-radius:var(--r); padding:16px 18px;
}
.md-inclui strong{ display:block; font-family:var(--display); color:var(--vinho-900); font-size:.95rem; margin-bottom:2px; }
.md-inclui span{ color:var(--muted); font-size:.88rem; }
.md-inclui__ic{
  width:26px; height:26px; flex:none; border-radius:50%;
  background:var(--laranja); color:var(--vinho-900);
  display:grid; place-content:center; font-weight:800; font-size:.9rem;
}

@media (min-width:820px){
  .md-hero__in{ grid-template-columns:1.05fr .95fr; align-items:center; }
  .md-opcoes{ grid-template-columns:repeat(3,1fr); }
  .md-inclui{ grid-template-columns:repeat(2,1fr); }
}

/* aviso do que nao entra no projeto pronto */
.md-fora{
  margin-top:var(--s5);
  padding:var(--s4);
  border:1px dashed rgba(92,42,56,.28);
  border-radius:12px;
  background:rgba(92,42,56,.04);
  font-size:.94rem;
  line-height:1.65;
  color:var(--ink-2);
  max-width:760px;
}
.md-fora strong{color:var(--ink);font-weight:600}

/* Projetos Prontos em destaque no cabecalho */
.nav__hot{ color:var(--laranja-600) !important; }
.nav__hot::before{
  content:""; display:inline-block; vertical-align:middle;
  width:6px; height:6px; border-radius:50%;
  background:var(--laranja); margin-right:7px;
}
@media (min-width:900px){
  .nav__hot::after{ background:var(--laranja-600); }
}

/* Pagina 404 */
.e404{ background:var(--vinho); color:var(--branco); padding-block:calc(var(--s7) + 20px) var(--s7); }
.e404__in{ max-width:820px; }
.e404 h1{ color:var(--branco); margin-bottom:var(--s3); }
.e404__p{ color:rgba(255,255,255,.78); font-size:1.05rem; max-width:60ch; margin-bottom:var(--s5); }
.e404__opts{ display:grid; gap:12px; }
.e404__opt{
  display:block; padding:16px 18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r);
  transition:background .18s ease, border-color .18s ease;
}
.e404__opt:hover{ background:rgba(255,255,255,.11); border-color:rgba(255,255,255,.3); }
.e404__opt strong{
  display:block; font-family:var(--display); font-weight:600;
  color:var(--branco); font-size:1rem; margin-bottom:3px;
}
.e404__opt span{ color:rgba(255,255,255,.7); font-size:.92rem; line-height:1.55; }
.e404__wa{ margin-top:var(--s5); color:rgba(255,255,255,.7); font-size:.95rem; }
.e404__wa a{ color:var(--laranja); border-bottom:1px solid rgba(232,128,47,.45); }
@media (min-width:760px){
  .e404__opts{ grid-template-columns:1fr 1fr; }
}

/* Pagina de contato */
.ct-hero{ background:var(--vinho-900); color:#fff; padding-block:calc(var(--s7) + 20px) var(--s6); }
.ct-hero h1{ color:#fff; margin-bottom:var(--s3); }
.ct-hero__p{ color:rgba(255,255,255,.8); max-width:58ch; font-size:1.05rem; }

.ct-canais{ padding-block:var(--s6); }
.ct-grid{ display:grid; gap:14px; }
.ct-card{
  display:block; padding:20px;
  background:var(--branco); border:1px solid var(--linha);
  border-radius:var(--rlg);
  transition:border-color .18s ease, transform .18s ease;
}
.ct-card:hover{ border-color:var(--laranja); transform:translateY(-2px); }
.ct-card--static:hover{ border-color:var(--linha); transform:none; }
.ct-card__rot{
  display:block; font-family:var(--display); font-weight:700;
  font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--laranja-600); margin-bottom:8px;
}
.ct-card strong{
  display:block; font-family:var(--display); font-weight:600;
  font-size:1.15rem; color:var(--vinho-900); margin-bottom:6px;
  word-break:break-word;
}
.ct-card__obs{ display:block; color:var(--muted); font-size:.9rem; line-height:1.55; }
.ct-card--wa{ border-color:rgba(37,211,102,.4); background:rgba(37,211,102,.05); }
.ct-card--wa:hover{ border-color:#25D366; }

.ct-empresa{ padding-block:var(--s6); background:var(--surface); }
.ct-dados{ margin-top:var(--s4); display:grid; gap:0; }
.ct-dados > div{
  display:grid; gap:2px;
  padding:14px 0; border-bottom:1px solid var(--linha);
}
.ct-dados > div:last-child{ border-bottom:0; }
.ct-dados dt{
  font-family:var(--display); font-weight:600;
  font-size:.78rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted);
}
.ct-dados dd{ margin:0; color:var(--ink); font-size:1rem; }
.ct-redes{ margin-top:var(--s4); color:var(--muted); font-size:.95rem; }
.ct-redes a{ color:var(--laranja-600); border-bottom:1px solid rgba(207,106,28,.35); }

@media (min-width:700px){
  .ct-grid{ grid-template-columns:1fr 1fr; }
  .ct-dados > div{ grid-template-columns:230px 1fr; gap:var(--s3); align-items:baseline; }
}

/* Dados tecnicos - blocos em sequencia na pagina do modelo */
.tec{ padding-block:var(--s6); background:var(--surface); }
.tec__bloco{ margin-top:var(--s5); }
.tec__bloco:first-of-type{ margin-top:var(--s4); }
.tec__rot{
  font-family:var(--display); font-weight:700;
  font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--laranja-600); margin-bottom:12px;
  padding-bottom:10px; border-bottom:1px solid var(--linha);
}
.tec__bloco > p{ color:var(--ink); max-width:70ch; line-height:1.7; }

.tec__medidas{ display:grid; gap:0; margin:0; }
.tec__medidas > div{
  display:grid; gap:2px; padding:12px 0;
  border-bottom:1px solid var(--linha);
}
.tec__medidas > div:last-child{ border-bottom:0; }
.tec__medidas dt{
  font-family:var(--display); font-weight:600; font-size:.8rem;
  letter-spacing:.05em; text-transform:uppercase; color:var(--muted);
}
.tec__medidas dd{ margin:0; color:var(--ink); font-size:1.05rem; }

.tec__lista{ display:grid; gap:10px; margin:0; padding:0; list-style:none; counter-reset:item; }
.tec__lista li{
  display:flex; gap:12px; align-items:center;
  padding:11px 14px; background:var(--branco);
  border:1px solid var(--linha); border-radius:var(--r);
  font-size:.96rem; color:var(--ink);
}
.tec__lista li::before{
  counter-increment:item; content:counter(item);
  flex:none; width:23px; height:23px; border-radius:50%;
  background:var(--laranja); color:#fff;
  font-family:var(--display); font-weight:700; font-size:.72rem;
  display:grid; place-items:center;
}
.tec__obs{
  margin-top:var(--s4); padding:var(--s3);
  border:1px dashed rgba(92,42,56,.28); border-radius:12px;
  background:rgba(92,42,56,.04);
  font-size:.92rem; line-height:1.65; color:var(--muted); max-width:75ch;
}
.tec__obs strong{ color:var(--ink); font-weight:600; }

@media (min-width:700px){
  .tec__lista{ grid-template-columns:1fr 1fr; }
  .tec__medidas > div{ grid-template-columns:250px 1fr; align-items:baseline; gap:var(--s3); }
}

/* Galeria de fotos do modelo (passa para o lado) */
.gal{ position:relative; }
.gal__trilho{
  display:flex; gap:12px; overflow-x:auto;
  scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:none; -webkit-overflow-scrolling:touch;
  border-radius:var(--rlg);
}
.gal__trilho::-webkit-scrollbar{ display:none; }
.gal__item{
  flex:0 0 100%; scroll-snap-align:start;
  border-radius:var(--rlg); overflow:hidden; background:var(--vinho-900);
}
.gal__item img{
  width:100%; aspect-ratio:4/3; object-fit:cover; display:block;
}
.gal__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:50%;
  background:rgba(255,255,255,.92); border:0; cursor:pointer;
  display:grid; place-items:center; color:var(--vinho-900);
  box-shadow:0 2px 12px rgba(0,0,0,.18);
  transition:background .18s ease, transform .18s ease;
  z-index:2;
}
.gal__nav:hover{ background:#fff; transform:translateY(-50%) scale(1.06); }
.gal__nav:disabled{ opacity:.35; cursor:default; }
.gal__nav--ant{ left:12px; }
.gal__nav--prox{ right:12px; }
.gal__pontos{
  display:flex; gap:7px; justify-content:center; margin-top:14px;
}
.gal__ponto{
  width:7px; height:7px; border-radius:50%; border:0; padding:0;
  background:rgba(92,42,56,.25); cursor:pointer; transition:background .18s ease, width .18s ease;
}
.gal__ponto[aria-current="true"]{ background:var(--laranja); width:20px; border-radius:4px; }

/* Planta humanizada, fixa abaixo da galeria */
.planta{ padding-block:var(--s6); }
.planta__fig{ margin:var(--s4) 0 0; }
.planta__fig img{
  width:100%; height:auto; display:block;
  border:1px solid var(--linha); border-radius:var(--rlg);
  background:var(--branco);
}
.planta__cap{
  margin-top:14px; font-size:.9rem; color:var(--muted);
  line-height:1.6; max-width:70ch;
}
@media (min-width:900px){
  .gal__item{ flex:0 0 100%; }
}
