/* ===== Premium motion layer — tasteful, restrained, "expensive" ===== */
:root{ --pre:cubic-bezier(.16,.84,.44,1); --pre-hover:cubic-bezier(.22,.61,.36,1); }

/* two-column hero + featured photo — STASHED (ver _stashed-hero-visual.txt) */

/* ===== Stats band (dark, premium contrast) ===== */
.stats-band{ border-top:1px solid var(--line); background:var(--ink); }
.stats-band .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.08); }
.stat{ background:var(--ink); padding:32px 22px; text-align:center; }
.stat .v{ font-family:var(--font-display); font-weight:700; font-size:30px; color:#fff; letter-spacing:-.02em; }
.stat .v b{ color:#ff6470; font-weight:700; }
.stat .l{ font-size:13.5px; color:rgba(255,255,255,.6); margin-top:6px; }
@media (max-width:760px){ .stats-band .wrap{ grid-template-columns:1fr 1fr } }

/* ===== Subtle section alternation (kills flatness) ===== */
#seguranca, #trabalhos, #safety, #works{ background:var(--bg-soft); }

/* contact: single column while the form is stashed */
.contact-grid{ grid-template-columns:1fr; max-width:720px; }

/* ===== Original wordmark logo ===== */
.brand svg.logo{ width:auto; height:26px; overflow:visible; }
.foot-brand .brand svg.logo{ height:24px; }

/* ===== Trabalhos: two-column top + slideshow ===== */
.trab-top{ display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; }
.trab-top .sec-head{ margin-bottom:22px; }
.slideshow{ position:relative; aspect-ratio:4/3; border-radius:16px; overflow:hidden; border:1px solid var(--line);
  box-shadow:0 30px 70px -34px rgba(20,22,28,.5), 0 8px 24px -16px rgba(20,22,28,.28); background:var(--bg-soft); cursor:pointer; }
.ss-track{ display:flex; flex-direction:column; height:100%; transition:transform 1.25s cubic-bezier(.45,0,.15,1); will-change:transform; }
.ss-slide{ flex:0 0 100%; height:100%; }
.ss-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.ss-nav{ position:absolute; left:50%; transform:translateX(-50%); width:48px; height:38px; border:0; z-index:2;
  background:rgba(21,23,28,.5); color:#fff; font-size:22px; line-height:1; cursor:pointer; border-radius:10px;
  opacity:0; transition:opacity .25s, background .2s; }
.slideshow:hover .ss-nav{ opacity:1; }
.ss-prev{ top:12px; } .ss-next{ bottom:12px; } .ss-nav:hover{ background:var(--red); }
.ss-dots{ position:absolute; right:12px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:7px; align-items:center; z-index:2; }
.ss-dot{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.55); border:0; padding:0; cursor:pointer; transition:.25s; }
.ss-dot.on{ background:var(--red); height:22px; border-radius:5px; }
.ss-seg{ display:inline-flex; background:var(--bg-soft); border:1px solid var(--line); border-radius:10px; padding:4px; gap:4px; margin:0 0 14px; }
.ss-seg button{ font-family:var(--font-display); font-size:13.5px; font-weight:500; color:var(--ink-soft); background:none; border:0; padding:8px 18px; border-radius:7px; cursor:pointer; transition:background .2s, color .2s; }
.ss-seg button[aria-pressed="true"]{ background:var(--red); color:#fff; }
.ss-seg button:hover[aria-pressed="false"]{ color:var(--red-deep); }
@media (max-width:860px){ .trab-top{ grid-template-columns:1fr; gap:26px } }

/* ===== Mobile polish ===== */
@media (max-width:820px){ .slideshow{ aspect-ratio:16/10; } }
@media (max-width:700px){
  .section{ padding:52px 0; }
  .hero{ padding:52px 0 46px; }
  .sec-head{ margin-bottom:28px; }
  .stat{ padding:26px 16px; }
  .stat .v{ font-size:26px; }
}
@media (max-width:600px){
  .nav{ padding:0 16px; }
  .brand{ font-size:16px; gap:8px; } .brand svg{ width:26px; }
  .menu-btn{ display:none !important; }              /* redundant with the Orçamento button */
  .nav-cta{ gap:8px; }
  .lang{ font-size:12px; padding:3px 7px; gap:3px; } .lang a{ padding:2px 3px; }
  .nav-cta .btn-primary{ padding:8px 12px !important; font-size:13px; }
  .stats-band .wrap{ grid-template-columns:1fr 1fr; }
  .certs-strip .ct-thumb{ width:calc(50% - 6px); height:104px; }
  .pf-filter button{ font-size:13px; padding:7px 12px; }
}
@media (max-width:380px){
  .brand{ font-size:15px; } .brand svg{ width:22px; }
  .stat{ padding:22px 12px; } .stat .v{ font-size:22px; } .stat .l{ font-size:12.5px; }
}

/* --- refined scroll reveal: fade + rise + slight blur-in --- */
.js .reveal{
  transition:opacity .8s var(--pre), transform .8s var(--pre), filter .8s var(--pre);
  filter:blur(6px);
}
.js .reveal.in{ filter:blur(0); }

/* --- grids / tag rows / steps: stagger children instead of one block --- */
.js .grid.reveal, .js .steps.reveal, .js .tags.reveal{
  opacity:1 !important; transform:none !important; filter:none !important;
}
.js .grid > *, .js .steps > *, .js .tags > *{
  opacity:0; transform:translateY(20px);
  transition:opacity .65s var(--pre), transform .65s var(--pre);
}
.js .grid.in > *, .js .steps.in > *, .js .tags.in > *{ opacity:1; transform:none; }
.js .grid.in > *:nth-child(1), .js .steps.in > *:nth-child(1), .js .tags.in > *:nth-child(1){ transition-delay:.02s }
.js .grid.in > *:nth-child(2), .js .steps.in > *:nth-child(2), .js .tags.in > *:nth-child(2){ transition-delay:.07s }
.js .grid.in > *:nth-child(3), .js .steps.in > *:nth-child(3), .js .tags.in > *:nth-child(3){ transition-delay:.12s }
.js .grid.in > *:nth-child(4), .js .steps.in > *:nth-child(4), .js .tags.in > *:nth-child(4){ transition-delay:.17s }
.js .grid.in > *:nth-child(5), .js .steps.in > *:nth-child(5), .js .tags.in > *:nth-child(5){ transition-delay:.22s }
.js .grid.in > *:nth-child(6), .js .steps.in > *:nth-child(6), .js .tags.in > *:nth-child(6){ transition-delay:.27s }
.js .grid.in > *:nth-child(7), .js .steps.in > *:nth-child(7), .js .tags.in > *:nth-child(7){ transition-delay:.32s }
.js .grid.in > *:nth-child(8), .js .steps.in > *:nth-child(8), .js .tags.in > *:nth-child(8){ transition-delay:.37s }

/* --- eyebrow accent line grows in --- */
.js .reveal .eyebrow::before{ width:0; transition:width .6s var(--pre) .25s; }
.js .reveal.in .eyebrow::before{ width:18px; }

/* --- hero entrance sequence on load --- */
@keyframes preUp{ from{opacity:0; transform:translateY(22px)} to{opacity:1; transform:none} }
.hero .seg-toggle,
.hero .eyebrow,
.hero .hero-title,
.hero .hero-sub,
.hero .hero-cta,
.hero .trust-strip{ animation:preUp .85s var(--pre) both; }
.hero .eyebrow{ animation-delay:.08s }
.hero .hero-title{ animation-delay:.16s }
.hero .hero-sub{ animation-delay:.26s }
.hero .hero-cta{ animation-delay:.36s }
.hero .trust-strip{ animation-delay:.46s }

/* --- premium hover depth --- */
.card{ transition:transform .35s var(--pre-hover), border-color .35s, box-shadow .35s; }
.card:hover{ transform:translateY(-6px);
  box-shadow:0 24px 50px -26px rgba(20,22,28,.42), 0 6px 16px -10px rgba(20,22,28,.18); }
.cert{ transition:transform .35s var(--pre-hover), border-color .35s, box-shadow .35s; }
.cert:hover{ transform:translateY(-4px); border-color:var(--red-line);
  box-shadow:0 20px 44px -26px rgba(20,22,28,.38); }
.step{ transition:transform .3s var(--pre-hover), border-color .3s, box-shadow .3s; }
.step:hover{ transform:translateY(-3px); border-color:var(--red-line); }
.trust-item{ transition:transform .3s var(--pre-hover), border-color .3s; }
.trust-item:hover{ transform:translateY(-2px); border-color:var(--line-2); }

/* --- buttons: subtle lift --- */
.btn{ transition:transform .25s var(--pre-hover), box-shadow .25s, background .25s, border-color .25s, color .25s; }
.btn-primary:hover{ transform:translateY(-2px); }
.btn-ghost:hover{ transform:translateY(-2px); }

/* --- portfolio image: smoother zoom --- */
.gitem img{ transition:transform .6s var(--pre); }
.gitem:hover img{ transform:scale(1.05); }

/* --- header refines on scroll (works with existing .scrolled) --- */
header{ transition:background .3s, border-color .3s, box-shadow .3s, height .3s; }

/* --- accessibility: honour reduced motion --- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .js .reveal, .js .grid > *, .js .steps > *, .js .tags > *{ opacity:1 !important; transform:none !important; filter:none !important; }
}
