/* Grupo Líder Esquadrias - conceito "Linha Mestra"
   Paleta da marca real: azul #0166FF (artes do IG), navy #0B1A33, prata anodizado.
   Motivo gráfico: linhas de 1px (o perfil de alumínio visto de perto). */

:root{
  --bg:#F5F7FA;
  --bg-warm:#EEF2F7;
  --paper:#FFFFFF;
  --ink:#0C1626;
  --muted:#55647A;
  --forest:#0B1A33;        /* navy das seções escuras */
  --forest-deep:#060F20;
  --gold:#C7D3E2;          /* prata anodizado */
  --gold-soft:#E4EAF2;
  --terra:#0166FF;         /* azul vivo da marca */
  --line:rgba(12,22,38,.14);
  --line-soft:rgba(12,22,38,.08);
  --line-light:rgba(255,255,255,.16);
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow:0 22px 48px -24px rgba(12,22,38,.25);
  --radius:14px;
}

*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.65;
  color:var(--ink);background:var(--bg);overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Archivo',sans-serif;line-height:1.12;font-weight:700}
h1 em,h2 em{font-style:normal;color:var(--terra)}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}

.eyebrow{
  font-family:'Archivo',sans-serif;font-size:.78rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--terra);margin-bottom:16px;
}
.eyebrow--light{color:#7FB0FF}
.lead{color:var(--muted);max-width:56ch;margin:14px 0 40px}
.lead a{color:var(--terra);text-decoration:underline;text-underline-offset:2px}
section h2{font-size:clamp(1.7rem,3.6vw,2.6rem);max-width:22ch}

/* ---------- BOTÕES ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Archivo',sans-serif;font-weight:600;font-size:.95rem;
  padding:14px 26px;border-radius:10px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s;
}
.btn:hover{transform:translateY(-2px)}
.btn--blue{background:var(--terra);color:#fff;box-shadow:0 14px 30px -12px rgba(1,102,255,.55)}
.btn--blue:hover{background:#0157D8}
.btn--solid{background:var(--forest);color:#fff}
.btn--silver{background:var(--gold-soft);color:var(--forest)}
.btn--silver:hover{background:#fff}
.btn--ghost{border:1px solid var(--line);color:var(--ink);background:transparent}
.btn--ghost-light,.hero .btn--ghost{border-color:rgba(255,255,255,.28);color:#fff}
.hero .btn--ghost:hover{border-color:rgba(255,255,255,.55)}
.btn--lg{padding:17px 34px;font-size:1.02rem}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(245,247,250,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);will-change:transform}
#smooth-content{padding-top:72px}
.nav__inner{max-width:1160px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center}
.nav__links{display:flex;align-items:center;gap:28px}
.nav__links a:not(.btn){font-size:.92rem;color:var(--muted);font-weight:500;position:relative;transition:color .25s}
.nav__links a:not(.btn):hover{color:var(--ink)}
.nav__links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1.5px;background:var(--terra);transition:width .3s var(--ease)}
.nav__links a:not(.btn):hover::after{width:100%}
.nav__cta{padding:10px 20px;font-size:.88rem}
.nav__burger{display:none;background:none;border:0;cursor:pointer;width:42px;height:42px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav__burger span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .3s var(--ease),opacity .3s}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- HERO ---------- */
.hero{
  background:
    radial-gradient(820px 460px at 24% -10%, rgba(1,102,255,.20), transparent 62%),
    radial-gradient(600px 380px at 88% 8%, rgba(127,176,255,.08), transparent 60%),
    linear-gradient(180deg, var(--forest), var(--forest-deep));
  color:#fff;
}
.hero__inner{max-width:1160px;margin:0 auto;padding:84px 24px 96px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(2.15rem,5vw,3.6rem);font-weight:800;letter-spacing:-.01em}
.hero h1 em{color:#7FB0FF}
.hero__sub{color:#B7C4D8;max-width:46ch;margin:20px 0 30px;font-size:1.05rem}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero__tags{margin-top:30px;font-family:'Archivo',sans-serif;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#8FA2BE}
.hero__tags span{color:var(--terra);margin:0 6px}

/* o caixilho: moldura de linhas 1px que se desenham em volta da foto */
.hero__frame{position:relative;padding:16px}
.frame__line{position:absolute;background:var(--gold);opacity:.75}
.frame__line--t{top:0;left:0;width:100%;height:1px;transform-origin:left center}
.frame__line--b{bottom:0;left:0;width:100%;height:1px;transform-origin:right center}
.frame__line--l{top:0;left:0;width:1px;height:100%;transform-origin:center top}
.frame__line--r{top:0;right:0;width:1px;height:100%;transform-origin:center bottom}
.hero__ph{overflow:hidden;border-radius:4px}
.hero__ph img{width:100%;height:auto;transform-origin:center}

/* ---------- PROVA ---------- */
.prova{background:var(--bg);padding:74px 0 0}
.prova__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:left}
.prova__item strong{font-family:'Archivo',sans-serif;font-size:clamp(2rem,4vw,2.9rem);font-weight:800;color:var(--forest);display:block;line-height:1}
.prova__item .star{color:var(--terra);font-size:.7em;vertical-align:.22em;margin-left:2px}
.prova__item p{color:var(--muted);margin-top:8px;font-size:.95rem;max-width:24ch}
.rule{height:1px;background:var(--line);margin-top:56px;transform-origin:left center}

/* ---------- SERVIÇOS ---------- */
.servicos{padding:92px 0 100px;background:var(--bg)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{
  background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:30px 28px;position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.card::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--terra);
  transform:scaleX(0);transform-origin:left center;transition:transform .45s var(--ease);
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card:hover::after{transform:scaleX(1)}
.card__ico{
  width:52px;height:52px;border-radius:12px;display:grid;place-items:center;
  background:rgba(1,102,255,.08);color:var(--terra);margin-bottom:20px;
}
.card h3{font-size:1.12rem;margin-bottom:10px}
.card p{color:var(--muted);font-size:.95rem}

/* ---------- POR QUE (escura) ---------- */
.porque{
  background:
    radial-gradient(760px 420px at 50% -8%, rgba(1,102,255,.16), transparent 62%),
    linear-gradient(180deg, var(--forest), var(--forest-deep));
  color:#fff;padding:96px 0 104px;
}
.porque h2{color:#fff}
.porque h2 em{color:#7FB0FF}
.porque__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px}
.porque__n{
  font-family:'Archivo',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.2em;color:#7FB0FF;
  display:block;padding-bottom:14px;margin-bottom:20px;border-bottom:1px solid var(--line-light);
}
.porque__item h3{font-size:1.15rem;margin-bottom:12px}
.porque__item p{color:#B7C4D8;font-size:.96rem}

/* ---------- PROCESSO ---------- */
.processo{padding:96px 0 100px;background:var(--bg-warm)}
.processo__media{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:236px 236px;gap:18px;margin:48px 0 64px}
.ph{border-radius:var(--radius);overflow:hidden;position:relative;margin:0}
.ph img{width:100%;height:100%;object-fit:cover}
.processo__media .ph img{will-change:transform}
.b2b__ph img{height:auto}
.ph figcaption{
  position:absolute;left:0;bottom:0;right:0;padding:34px 18px 12px;
  font-family:'Archivo',sans-serif;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  background:linear-gradient(180deg, transparent, rgba(6,15,32,.72));
}
.ph--a{grid-row:1/3}
.passos{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;counter-reset:p}
.passos li span{
  font-family:'Archivo',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.2em;color:var(--terra);
  display:block;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line);
}
.passos h3{font-size:1.05rem;margin-bottom:10px}
.passos p{color:var(--muted);font-size:.92rem}

/* ---------- B2B ---------- */
.b2b{background:var(--forest-deep);color:#fff;position:relative}
.b2b::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(640px 400px at 82% 18%, rgba(1,102,255,.14), transparent 60%);
}
.b2b__inner{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;padding-top:96px;padding-bottom:96px;position:relative}
.b2b h2{color:#fff;margin-bottom:18px}
.b2b p{color:#B7C4D8;max-width:52ch;margin-bottom:30px}
.b2b__ph{max-width:430px;justify-self:center;border:1px solid var(--line-light);padding:14px;border-radius:18px;background:rgba(255,255,255,.03)}
.b2b__ph img{border-radius:8px}

/* ---------- REVIEWS ---------- */
.reviews{padding:96px 0 90px;background:var(--bg)}
.track{
  display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:6px 4px 22px;scrollbar-width:none;
}
.track::-webkit-scrollbar{display:none}
.review{
  flex:0 0 min(360px,82vw);scroll-snap-align:start;background:var(--paper);
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px;
  display:flex;flex-direction:column;gap:18px;
}
.review p{color:var(--ink);font-size:.97rem}
.review footer{margin-top:auto;display:flex;flex-direction:column;gap:2px}
.review footer strong{font-family:'Archivo',sans-serif;font-size:.95rem}
.review footer span{font-size:.8rem;color:var(--muted)}
.review footer span::first-letter{text-transform:uppercase}
.track__nav{display:flex;gap:12px;margin-top:6px}
.track__arrow{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);
  display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:background .25s,opacity .25s;
}
.track__arrow:hover:not(:disabled){background:var(--gold-soft)}
.track__arrow:disabled{opacity:.35;cursor:default}

/* ---------- FAQ ---------- */
.faq{padding:90px 0 100px;background:var(--bg-warm)}
.faq__list{max-width:760px;margin-top:44px}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-family:'Archivo',sans-serif;font-weight:600;font-size:1.02rem;padding:18px 0;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--terra);transition:transform .3s var(--ease);flex:0 0 auto}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);padding:0 0 20px;max-width:64ch}

/* ---------- LOCALIZAÇÃO ---------- */
.local{padding:96px 0 100px;background:var(--bg)}
.local__inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.local address{font-style:normal;font-family:'Archivo',sans-serif;font-weight:600;font-size:1.08rem;line-height:1.6;margin:22px 0 14px}
.local__meta{color:var(--muted);font-size:.95rem;margin-bottom:28px}
.local__btns{display:flex;gap:14px;flex-wrap:wrap}
.local__map{
  border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);background:var(--paper);
}
.local__map iframe{display:block;width:100%;height:430px;border:0}

/* ---------- CTA FINAL ---------- */
.cta{
  background:
    radial-gradient(700px 420px at 50% 0%, rgba(1,102,255,.22), transparent 62%),
    linear-gradient(180deg, var(--forest), var(--forest-deep));
  color:#fff;
}
.cta__inner{padding-top:104px;padding-bottom:110px;text-align:center;display:flex;flex-direction:column;align-items:center}
.cta h2{color:#fff;font-size:clamp(1.9rem,4.4vw,3rem)}
.cta h2 em{color:#7FB0FF}
.cta p{color:#B7C4D8;margin:18px 0 34px;max-width:44ch}
.cta__btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.cta__meta{font-size:.85rem;color:#8FA2BE;margin-top:34px}

/* ---------- FOOTER ---------- */
.foot{background:var(--forest-deep);color:#B7C4D8;padding:64px 0 30px;border-top:1px solid var(--line-light)}
.foot__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:44px;padding-bottom:44px}
.foot__tag{font-size:.9rem;margin-top:16px;max-width:30ch}
.foot h4{color:#fff;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.foot p{font-size:.92rem;margin-bottom:6px}
.foot a{color:#DCE5F1;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,255,255,.25)}
.foot a:hover{color:#fff}
.foot__legalbar{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;
  border-top:1px solid var(--line-light);padding-top:22px;font-size:.82rem;color:#8FA2BE;
}
.foot__cred strong{color:var(--gold);font-weight:600}

/* ---------- WHATSAPP FLUTUANTE (padrão fixo) ---------- */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:70;width:58px;height:58px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;
  box-shadow:0 16px 34px -12px rgba(37,211,102,.65);transition:transform .35s var(--ease);
}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:26px;height:26px}

/* ---------- GSAP: estados iniciais gated por .js (FOUC-safe; sem JS tudo aparece) ---------- */
.js .h-anim,
.js [data-reveal],
.js [data-reveal-group] > *{visibility:hidden}
.js .frame__line{transform:scaleX(0)}
.js .frame__line--l,.js .frame__line--r{transform:scaleY(0)}
.js .rule{transform:scaleX(0)}

/* ---------- MOBILE ---------- */
@media (max-width:960px){
  .hero__inner{grid-template-columns:1fr;gap:44px;padding:56px 24px 72px}
  .hero__copy{display:flex;flex-direction:column}
  .cards{grid-template-columns:repeat(2,1fr)}
  .porque__grid{grid-template-columns:1fr;gap:28px}
  .passos{grid-template-columns:repeat(2,1fr)}
  .processo__media{grid-template-columns:1fr;grid-template-rows:none}
  .ph--a{grid-row:auto}
  .processo__media .ph{height:230px}
  .b2b__inner{grid-template-columns:1fr;gap:44px}
  .foot__grid{grid-template-columns:1fr;gap:30px}
  .local__inner{grid-template-columns:1fr;gap:36px}
  .local__map iframe{height:320px}
}

@media (max-width:760px){
  .nav__burger{display:flex}
  /* menu desce POR BAIXO da nav (max-height a partir da base; nunca translateY) */
  .nav__links{
    position:fixed;inset:72px 0 auto 0;z-index:59;flex-direction:column;align-items:stretch;gap:0;
    background:var(--bg);padding:0 24px;max-height:0;overflow:hidden;visibility:hidden;
    transition:max-height .42s var(--ease),visibility .42s var(--ease);
  }
  .nav__links.open{max-height:80vh;visibility:visible;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding-bottom:18px}
  .nav__links a:not(.btn){padding:16px 0;border-bottom:1px solid var(--line-soft);font-size:1.05rem}
  .nav__links a:not(.btn)::after{display:none}
  .nav__cta{margin-top:16px;justify-content:center}

  /* hero mobile: texto -> imagem -> CTA, TUDO na primeira dobra (regra do Rafael 2026-07-01).
     display:contents deixa o order atravessar o wrapper; imagem com altura em svh e
     largura auto centrada pra sobrar espaço pros CTAs. */
  .hero__inner{display:flex;flex-direction:column;gap:0;padding:24px 24px 40px}
  .hero__copy{display:contents}
  .hero__copy .eyebrow{order:1;margin-bottom:12px}
  .hero h1{order:2;font-size:clamp(1.55rem,6.8vw,2rem)}
  .hero__sub{order:3;margin:12px 0 0;font-size:.95rem}
  .hero__frame{order:4;margin-top:16px;padding:10px;align-self:center;width:auto}
  .hero__ph{display:flex;justify-content:center}
  .hero__ph img{height:clamp(200px,30svh,330px);width:auto}
  .hero__ctas{order:5;margin-top:16px;gap:10px}
  .hero__ctas .btn{width:100%;padding:13px 18px}
  .hero__tags{order:6;margin-top:24px;font-size:.72rem}
  
  .prova__grid{grid-template-columns:repeat(3,1fr);gap:14px}
  .prova__item strong{font-size:1.45rem}
  .prova__item p{font-size:.72rem;line-height:1.45}
  .cards{grid-template-columns:1fr}
  .passos{grid-template-columns:1fr;gap:24px}
  .cta__btns{flex-direction:column;width:100%}
  .cta__btns .btn{width:100%}
  .foot__legalbar{flex-direction:column;gap:6px}
}

@media (max-width:360px){
  .wrap,.nav__inner{padding-left:18px;padding-right:18px}
  .hero__inner{padding-left:18px;padding-right:18px}
  .btn{padding:13px 20px;font-size:.9rem}
}

/* acessibilidade: sem JS ou reduced-motion, nada some (o script cuida do resto) */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
}
