/* ============================================================================
   INCORPBUILDING · camada nova sobre a base (ib.css = o CSS do site anterior,
   intacto). Nada do que existia muda de cara: aqui entram SOMENTE as pecas que
   a Grifo ensina (barra util, paginas de solucao com abas, "para quem e",
   pilares, contato direto, rodape em colunas) e a camada viva da casa
   (fotografia de obra, fita, parallax, faixas). Tokens herdados de :root.
   ========================================================================== */

/* ── barra util (topo de tudo) ─────────────────────────────────────────── */
.utilbar{position:fixed;inset:0 0 auto;z-index:61;height:30px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;padding:0 var(--pad-x);background:var(--concrete-950);
  border-bottom:1px solid rgba(255,255,255,.06);font-family:var(--mono);font-size:9.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--steel-300);
  transition:transform .4s var(--ease)}
.utilbar b{color:var(--amber);font-weight:500}
.utilbar .dir{display:flex;gap:22px;align-items:center}
.utilbar a:hover{color:var(--amber)}
html.rolou .utilbar{transform:translateY(-100%)}
#topbar{top:30px;transition:top .4s var(--ease),background .4s,box-shadow .4s,padding .4s}
#topbar.scrolled{top:0}
@media (max-width:720px){.utilbar .dir span.esc{display:none}}

/* ── a fita que corre ─────────────────────────────────────────────────── */
.fita{background:var(--concrete-950);color:var(--steel-300);border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden;white-space:nowrap;padding:13px 0;position:relative;z-index:2}
.fita .trilho{display:inline-flex;animation:fita 52s linear infinite;will-change:transform}
.fita span{font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;padding:0 26px}
.fita span::after{content:"·";color:var(--amber);margin-left:26px}
@keyframes fita{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.fita .trilho{animation:none}}

/* ── parallax ─────────────────────────────────────────────────────────── */
[data-parallax]{will-change:transform}
@media (prefers-reduced-motion:reduce){[data-parallax]{transform:none!important}}

/* ── fotografia nos cartoes de capacidade (a estrutura do cartao e a mesma) ── */
.cap-card .foto{display:block;position:relative;height:180px;margin:-2px -2px 18px;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.06)}
.cap-card .foto img{width:100%;height:120%;object-fit:cover;margin-top:-10%;filter:saturate(.8) brightness(.9);
  transition:transform 1.2s var(--ease),filter .6s;will-change:transform}
.cap-card:hover .foto img{transform:scale(1.05);filter:saturate(.95) brightness(1)}
.cap-card .foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(19,23,28,.85))}
.cap-card{padding-top:0!important}
.cap-card .idx,.cap-card h3,.cap-card p{position:relative;z-index:1}
.cap-card > .idx{margin-top:0}
.cap-card .corpo{padding:0 28px 28px}

/* ── faixa fotografica das paginas internas ───────────────────────────── */
.pg-hero{position:relative;padding:150px 0 clamp(44px,6vw,80px);overflow:clip;background:var(--concrete-900)}
.pg-hero .faixa{position:absolute;inset:-12% 0;z-index:0}
.pg-hero .faixa img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.55);will-change:transform}
.pg-hero .veu{position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,rgba(13,16,20,.55),rgba(19,23,28,.72) 50%,var(--concrete-900))}
.pg-hero .wrap{position:relative;z-index:1}
.pg-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6vw,82px);line-height:1.02;
  letter-spacing:-.015em;color:var(--paper);max-width:16ch;text-wrap:balance}
.pg-hero h1 em{font-style:italic;color:var(--amber)}
.pg-hero .lead{margin-top:26px;max-width:60ch;font-size:clamp(15px,1.35vw,18px);color:var(--paper-dim);line-height:1.7;text-align:justify;hyphens:auto}
.pg-hero .cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}

/* ── abas-pilula (como a pagina de solucoes da Grifo) ──────────────────── */
.pilulas{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}
.pilulas a{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--paper-dim);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 16px;
  display:inline-flex;align-items:center;gap:8px;transition:border-color .3s,color .3s,background .3s}
.pilulas a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber)}
.pilulas a:hover,.pilulas a.ativa{border-color:var(--amber);color:var(--paper);background:rgba(224,138,60,.08)}

/* ── solucao: bloco padrao (texto + numero estrutural + para quem + foto) ── */
.solucao{padding:clamp(64px,8vw,112px) 0;border-top:1px solid rgba(255,255,255,.06);scroll-margin-top:100px}
.solucao .grade{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
@media (max-width:900px){.solucao .grade{grid-template-columns:1fr}}
.solucao .eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.solucao .eyebrow::before{content:"";width:28px;height:1px;background:var(--amber)}
.solucao h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.6vw,48px);line-height:1.08;
  letter-spacing:-.012em;color:var(--paper);margin:16px 0 10px;text-wrap:balance}
.solucao h2 em{font-style:italic;color:var(--amber)}
.solucao .sub{font-family:var(--serif);font-size:clamp(17px,1.6vw,21px);color:var(--paper-dim);font-style:italic;margin-bottom:16px;text-align:left;hyphens:none}
.solucao p{font-size:14.5px;color:var(--paper-dim);line-height:1.75;text-align:justify;hyphens:auto;max-width:62ch}
.solucao .num{display:flex;align-items:baseline;gap:12px;margin:26px 0;padding-left:16px;border-left:2px solid var(--amber)}
.solucao .num b{font-family:var(--serif);font-size:clamp(38px,4.6vw,60px);line-height:1;color:var(--paper);font-weight:400}
.solucao .num span{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-300)}
.paraquem{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.paraquem .t{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-300);margin-bottom:12px}
.paraquem li{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--paper);margin-bottom:9px;line-height:1.5}
.paraquem li::before{content:"";flex:none;width:14px;height:14px;margin-top:4px;border-radius:3px;
  border:1px solid var(--amber);background:linear-gradient(135deg,rgba(224,138,60,.25),transparent)}
.solucao .foto{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);min-height:340px;max-height:520px}
.solucao .foto img{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;filter:saturate(.85);will-change:transform}
.solucao .foto figcaption{position:absolute;left:18px;bottom:16px;right:18px;z-index:2;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--paper);text-shadow:0 1px 12px rgba(0,0,0,.7)}
.solucao .foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,16,20,.75))}
.solucao .acoes{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}

/* ── pilares (painel escuro, como "como o metodo funciona") ────────────── */
.pilares{background:var(--concrete-950);border:1px solid rgba(255,255,255,.08);padding:clamp(22px,3vw,40px)}
.pilares .t{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.pilares h3{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--paper);margin:8px 0 18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}
.pilares .p{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0 16px 14px;border-left:2px solid var(--amber);margin-bottom:14px}
.pilares .p .n{font-family:var(--mono);font-size:15px;color:var(--amber)}
.pilares .p h4{font-family:var(--sans);font-weight:600;font-size:15px;color:var(--paper);margin-bottom:6px}
.pilares .p p{font-size:13.5px;color:var(--paper-dim);line-height:1.6;text-align:justify;hyphens:auto}

/* ── "nao sabe em que fase esta?" + contato direto ─────────────────────── */
.bloco-fase{padding:clamp(64px,8vw,112px) 0;background:linear-gradient(180deg,var(--concrete-900),var(--concrete-950))}
.bloco-fase .grade{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
@media (max-width:900px){.bloco-fase .grade{grid-template-columns:1fr}}
.bloco-fase h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4vw,54px);line-height:1.06;letter-spacing:-.012em;color:var(--paper);text-wrap:balance}
.bloco-fase h2 em{font-style:italic;color:var(--amber)}
.bloco-fase p{font-size:15px;color:var(--paper-dim);margin-top:18px;max-width:56ch;text-align:justify;hyphens:auto}
.direto{background:var(--concrete-850);border:1px solid rgba(255,255,255,.08);padding:clamp(22px,3vw,36px)}
.direto .t{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:10px}
.direto h3{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--paper);margin-bottom:8px}
.direto .s{font-size:13.5px;color:var(--paper-dim);margin-bottom:18px;text-align:justify;hyphens:auto}
.direto .linha{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:11px 0;border-top:1px solid rgba(255,255,255,.08)}
.direto .linha .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-300)}
.direto .linha .v{font-size:13.5px;color:var(--paper);text-align:right}

/* ── rodape em colunas (amplia o existente) ───────────────────────────── */
.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr!important}
@media (max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr!important}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr!important}}
.foot-col ul li span.morto{color:var(--steel-500)}
.lockup{text-align:right;line-height:1.9}
.lockup .l1{font-family:var(--mono);font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--steel-500)}
.lockup .l2{font-family:var(--serif);font-size:16px;letter-spacing:.42em;color:var(--paper-dim)}
.foot-bot{align-items:flex-end}

/* ── regua da casa: corpo justificado ─────────────────────────────────── */
.wrap p{text-align:justify;hyphens:auto}
.cap-card p,.ciclo-step p,.metodo-item p,.tech-list p,.vit-card .meta p{text-align:justify;hyphens:auto}

/* ── abertura cinematografica ─────────────────────────────────────────── */
.hero-media{will-change:transform}
.hero-media .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity 1.8s ease;filter:saturate(.85) brightness(.72);will-change:opacity,transform}
.hero-media .slide.on{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .hero-media .slide:nth-child(odd).on{animation:kenA 9s ease-in-out forwards}
  .hero-media .slide:nth-child(even).on{animation:kenB 9s ease-in-out forwards}}
@keyframes kenA{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-1.5%,-1%,0)}}
@keyframes kenB{from{transform:scale(1.12) translate3d(1%,1%,0)}to{transform:scale(1.04) translate3d(0,0,0)}}
.hero .kicker .hist{color:var(--amber);display:inline-block;transition:opacity .38s,transform .38s}
.hero .kicker .hist.troca{opacity:0;transform:translateY(6px)}
/* ── cortina de transicao ─────────────────────────────────────────────── */
.cortina{position:fixed;inset:0;z-index:9998;pointer-events:none;background:var(--concrete-950);
  transform:translateY(101%);transition:transform .52s cubic-bezier(.76,0,.24,1)}
.cortina::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--amber)}
.cortina.fecha{transform:translateY(0)}

/* ── abertura: as imagens TEM de aparecer (o fallback escuro herdado cobria os slides) ── */
.hero-media .slide{z-index:1;filter:saturate(.92) brightness(.9)}
.hero-media .hero-fallback{z-index:0}
.hero-shade{background:
  linear-gradient(180deg,rgba(13,16,20,.42) 0%,rgba(13,16,20,.12) 30%,rgba(13,16,20,.62) 72%,rgba(13,16,20,.96) 100%),
  linear-gradient(90deg,rgba(13,16,20,.68) 0%,rgba(13,16,20,.18) 48%,transparent 72%)!important}
.hero{padding-top:150px!important}
.hero h1{text-shadow:0 2px 28px rgba(0,0,0,.45)}
/* ── barra util no celular: so o e-mail, uma linha ────────────────────── */
@media (max-width:720px){
  .utilbar{justify-content:flex-end}
  .utilbar>span:first-child{display:none}
  .utilbar .dir{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

@media (max-width:560px){.hero .kicker{font-size:10px;letter-spacing:.26em;white-space:nowrap}}
