/* =========================================
   GVENDAS — DESIGN SYSTEM v2
   ========================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400&display=swap');

/* ROOT */
:root {
  --navy:      #071833;
  --navy-800:  #0d2447;
  --navy-700:  #0f3060;
  --blue:      #1450B4;
  --blue-lt:   #2d68d8;
  --sky:       #5b9af8;
  --ice:       #eef4ff;
  --ice-dark:  #dce8ff;

  --green:     #1a6e3c;
  --green-lt:  #22a05a;
  --green-bg:  #f0faf4;
  --green-ice: #d6f2e4;

  --text:      #0d1b2e;
  --muted:     #4a5e78;
  --muted-lt:  #7a8fa8;
  --line:      rgba(13,27,46,.1);
  --bg:        #f7f9fc;
  --white:     #ffffff;

  --shadow-sm: 0 4px 16px rgba(7,24,51,.07);
  --shadow:    0 12px 40px rgba(7,24,51,.11);
  --shadow-lg: 0 24px 70px rgba(7,24,51,.16);

  --radius-sm: 12px;
  --radius:    20px;
  --radius-lg: 28px;
  --radius-xl: 40px;

  --max:       1160px;
  --serif:     'DM Serif Display', Georgia, serif;
  --sans:      'DM Sans', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--sans);
  font-size: 16px;
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  padding-top: 80px;
  -webkit-font-smoothing: antialiased;
}

a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
p { margin: 0 0 1em; }
h1,h2,h3,h4 { margin: 0; line-height: 1.1; }

.container {
  width: min(1440px, calc(100% - 64px));
  margin: 0 auto;
}
.container--wide {
  width: min(1440px, calc(100% - 64px));
  margin: 0 auto;
}

/* =========================================
   HEADER
   ========================================= */

.header {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  z-index: 999;
  background: var(--navy);
  border-bottom: 1px solid rgba(255,255,255,.07);
  transition: background .3s, box-shadow .3s;
}

.header.is-scrolled {
  background: rgba(7,24,51,.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 8px 40px rgba(0,0,0,.22);
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  gap: 20px;
}

.brand__logo { height: 54px; }

.nav {
  display: flex;
  gap: 6px;
  align-items: center;
}

.nav__link {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255,255,255,.78);
  padding: 7px 13px;
  border-radius: 8px;
  transition: color .2s, background .2s;
  letter-spacing: .1px;
}

.nav__link:hover {
  color: #fff;
  background: rgba(255,255,255,.08);
}

/* =========================================
   BUTTONS
   ========================================= */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 42px;
  padding: 0 22px;
  border-radius: 999px;
  font-family: var(--sans);
  font-weight: 600;
  font-size: 14px;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: transform .2s, background .2s, box-shadow .2s, border-color .2s;
  white-space: nowrap;
}

.btn--primary {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
  box-shadow: 0 4px 20px rgba(20,80,180,.35);
}

.btn--primary:hover {
  background: var(--blue-lt);
  border-color: var(--blue-lt);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(20,80,180,.42);
}

.btn--outline-white {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.36);
}

.btn--outline-white:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.55);
  transform: translateY(-2px);
}

.btn--ghost {
  background: var(--ice);
  color: var(--blue);
  border-color: var(--ice-dark);
}

.btn--ghost:hover {
  background: var(--ice-dark);
  transform: translateY(-2px);
}

.btn__arrow { transition: transform .2s; }
.btn:hover .btn__arrow { transform: translateX(3px); }

/* =========================================
   HERO
   ========================================= */

.hero {
  position: relative;
  min-height: 75vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  background: 
    url('../img/galpao3.webp') right center / contain no-repeat;
  background-color: #0a1628;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    rgba(7,24,51,.97) 0%,
    rgba(7,24,51,.88) 38%,
    rgba(7,24,51,.60) 60%,
    rgba(7,24,51,.18) 100%
  );
}

.hero__overlay::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 28px 28px;
}

.hero__content {
  position: relative;
  width: 100%;
  padding: 72px 0 56px;
}

.hero__inner {
  max-width: 680px;
  margin-left: 80px;
  color: #fff;
}

.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 24px;
}

.hero__eyebrow::before {
  content: '';
  width: 28px;
  height: 2px;
  background: var(--sky);
  border-radius: 2px;
  flex-shrink: 0;
}

.hero h1 {
  font-family: var(--serif);
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 400;
  line-height: 1.08;
  margin-bottom: 26px;
  letter-spacing: -.5px;
}

.hero h1 em {
  font-style: italic;
  color: var(--sky);
}

.lead {
  font-size: 18px;
  line-height: 1.7;
  color: rgba(255,255,255,.80);
  margin-bottom: 38px;
  max-width: 580px;
}

.hero__badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: rgba(255,255,255,.88);
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(6px);
}

.badge::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--sky);
  flex-shrink: 0;
}

.hero__scroll {
  position: absolute;
  bottom: 36px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.38);
}

.hero__scroll-line {
  width: 1px; height: 40px;
  background: linear-gradient(180deg, rgba(255,255,255,.38), transparent);
  animation: scrollLine 1.8s ease-in-out infinite;
}

@keyframes scrollLine {
  0%,100% { transform: scaleY(1); opacity: 1; }
  50% { transform: scaleY(.6); opacity: .4; }
}

/* =========================================
   SECTION BASE
   ========================================= */

.section {
  padding: 96px 0;
  position: relative;
}

.section__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 16px;
}

.section__label::before {
  content: '';
  width: 22px; height: 2px;
  background: var(--blue);
  border-radius: 2px;
}

.section__heading {
  font-family: var(--serif);
  font-size: clamp(30px, 3.5vw, 46px);
  font-weight: 400;
  color: var(--text);
  line-height: 1.12;
  margin-bottom: 16px;
}

.section__sub {
  font-size: 17px;
  color: var(--muted);
  max-width: 560px;
  line-height: 1.65;
}

.muted { color: var(--muted); }

/* =========================================
   FEATURES
   ========================================= */

.section--features {
  background: var(--white);
  padding: 80px 0 96px;
}

.features__header {
  text-align: center;
  margin-bottom: 56px;
}

.features__header .section__sub { margin: 0 auto; }

.feature-grid--5 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (min-width: 981px) {
  .feature-grid--5 > :nth-child(4) { grid-column: 1 / span 2; }
  .feature-grid--5 > :nth-child(5) { grid-column: 3 / span 1; }
}

.feature-card.feature-card--img {
  background: var(--white);
  border: 1px solid rgba(20,80,180,.12);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow-sm);
  position: relative;
  overflow: hidden;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}

.feature-card.feature-card--img:hover {
  transform: translateY(-8px);
  border-color: rgba(20,80,180,.22);
  box-shadow: var(--shadow);
}

.feature-card.feature-card--img::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--blue), var(--sky));
  opacity: 0;
  transition: opacity .3s;
}

.feature-card.feature-card--img:hover::after { opacity: 1; }

.feature-media {
  height: 190px;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--ice);
}

.feature-media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.feature-card.feature-card--img:hover .feature-media img { transform: scale(1.06); }

.feature-card--img h3 {
  margin: 16px 0 6px;
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
}

.feature-card--img p {
  margin: 0;
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.55;
}

.feature-card--limp .feature-media { height: 330px; }

.feature-card--fab-badge::before {
  content: '★ Fabricação própria';
  position: absolute;
  top: 22px; right: 16px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  background: var(--blue);
  color: #fff;
  padding: 4px 10px;
  border-radius: 999px;
}

.stats-row--3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}

.stat {
  background: var(--navy);
  border-radius: var(--radius);
  padding: 22px 24px;
  color: #fff;
  transition: transform .25s;
}

.stat:hover { transform: translateY(-4px); }

.stat strong {
  display: block;
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 400;
  color: var(--sky);
  line-height: 1;
  margin-bottom: 6px;
}

.stat span {
  font-size: 13px;
  color: rgba(255,255,255,.65);
}

.stat--strong strong { font-size: 32px; }

/* =========================================
   PAPEL DO BEM
   ========================================= */

.papel-do-bem {
  position: relative;
  background: var(--navy);
  overflow: hidden;
}

.papel-do-bem::before {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 560px; height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(34,160,90,.22) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.papel-do-bem::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -80px;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(20,80,180,.18) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.pdb__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 680px;
  align-items: stretch;
}

.pdb__left {
  padding: 80px 60px 80px max(60px, calc((100vw - 1160px)/2 + 24px));
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
}

.pdb__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--green-lt);
  margin-bottom: 24px;
}

.pdb__label-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--green-lt);
  box-shadow: 0 0 0 3px rgba(34,160,90,.3);
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%,100% { box-shadow: 0 0 0 3px rgba(34,160,90,.3); }
  50% { box-shadow: 0 0 0 7px rgba(34,160,90,.1); }
}

.pdb__heading {
  font-family: var(--serif);
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 400;
  line-height: 1.1;
  margin-bottom: 10px;
  letter-spacing: -.5px;
}

.pdb__heading em {
  font-style: italic;
  color: var(--green-lt);
}

.pdb__sub {
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  color: rgba(255,255,255,.5);
  margin-bottom: 28px;
}

.pdb__desc {
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255,255,255,.78);
  margin-bottom: 32px;
  max-width: 480px;
}

.pdb__pillars {
  display: grid;
  gap: 10px;
  margin-bottom: 32px;
}

.pdb__pillar {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius);
  padding: 16px 18px;
  transition: background .25s, border-color .25s;
}

.pdb__pillar:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
}

.pdb__pillar-icon {
  width: 40px; height: 40px;
  border-radius: var(--radius-sm);
  background: rgba(34,160,90,.15);
  border: 1px solid rgba(34,160,90,.3);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--green-lt);
  font-size: 15px;
}

.pdb__pillar strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 3px;
}

.pdb__pillar span {
  font-size: 13px;
  color: rgba(255,255,255,.65);
  line-height: 1.45;
}

.pdb__stats {
  display: flex;
  gap: 32px;
}

.pdb__stat strong {
  display: block;
  font-family: var(--serif);
  font-size: 28px;
  color: var(--green-lt);
  line-height: 1;
}

.pdb__stat span {
  font-size: 12px;
  color: rgba(255,255,255,.5);
  letter-spacing: .5px;
}

.pdb__right {
  position: relative;
  overflow: hidden;
  min-height: 500px;
}

.pdb__img-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.1);
}

.pdb__img-wrap img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 40px;
  filter: drop-shadow(0 30px 60px rgba(0,0,0,.4));
}

.pdb__apac-badge {
  position: absolute;
  bottom: 28px; right: 28px;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--radius);
  padding: 14px 20px;
  color: #fff;
  text-align: center;
  max-width: 200px;
}

.pdb__apac-badge strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 4px;
}

.pdb__apac-badge span {
  font-size: 12px;
  opacity: .7;
  line-height: 1.4;
  display: block;
}

/* =========================================
   TAGPAPER SLIDER
   ========================================= */

.tagpaper {
  padding: 96px 0;
  color: #fff;
}

.is-blue { background: var(--navy-800); }
.is-green { background: linear-gradient(135deg, var(--navy) 0%, #0b3022 100%); }
.is-blue-industrial { background: linear-gradient(135deg, var(--navy-800) 0%, #0a1e3a 100%); }

.tagpaper__kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--sky);
  opacity: .9;
}

.tagpaper__heading {
  font-family: var(--serif);
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 400;
  margin: 8px 0 0;
}

.tagpaper__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.tagpaper__top-right { display: flex; gap: 10px; }

.tagpaper__viewport {
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.tagpaper__track {
  display: flex;
  transition: transform .55s cubic-bezier(.2,.8,.2,1);
  will-change: transform;
}

.tagpaper__slide { flex: 0 0 100%; }

.tagpaper__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  padding: 52px 48px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-lg);
}

.tagpaper__title {
  font-family: var(--serif);
  font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 14px;
}

.tagpaper__desc {
  font-size: 15.5px;
  line-height: 1.72;
  color: rgba(255,255,255,.78);
  margin-bottom: 24px;
  max-width: 520px;
}

.tagpaper__points { display: grid; gap: 10px; }

.tpoint {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  transition: background .2s;
}

.tpoint:hover { background: rgba(255,255,255,.09); }

.tpoint i {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  font-size: 14px;
  flex-shrink: 0;
  color: var(--sky);
}

.is-green .tpoint i { color: var(--green-lt); background: rgba(34,160,90,.15); border-color: rgba(34,160,90,.25); }

.tpoint strong {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  margin-bottom: 2px;
  color: #fff;
}

.tpoint span {
  font-size: 12.5px;
  color: rgba(255,255,255,.65);
  line-height: 1.4;
}

.tagpaper__card {
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  padding: 12px;
  box-shadow: 0 30px 80px rgba(0,0,0,.3);
}

.tagpaper__lin {
  border-radius: 20px;
}

.lifepaper__lin{
  border-radius: 20px;
}

.sacolixo__lin {
  border-radius: 20px;
  width: 100%;
  height: 440px;
  object-fit: cover;
  object-position: center 60%;
}

.img-papel-bem { max-width: 100%; width: 100%; height: auto; border-radius: var(--radius); }

.tagpaper__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.tstat {
  padding: 14px 12px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  text-align: center;
}

.tstat strong { display: block; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 3px; }
.tstat span { font-size: 11.5px; color: rgba(255,255,255,.6); }

.tbtn {
  width: 42px; height: 42px;
  border-radius: 999px;
  border: 1.5px solid transparent;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: .2s;
  font-size: 14px;
}

.tbtn--primary { background: #fff; color: var(--navy); }
.tbtn--primary:hover { transform: scale(1.06); }
.tbtn--ghost { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.2); }
.tbtn--ghost:hover { background: rgba(255,255,255,.14); }

.tagpaper__dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }

.tdot {
  width: 8px; height: 8px;
  border-radius: 999px;
  border: 1.5px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.15);
  cursor: pointer;
  transition: .25s;
}

.tdot[aria-current="true"] { width: 28px; background: #fff; border-color: #fff; }

.tagpaper--static .tagpaper__viewport--static { overflow: visible; }
.tagpaper--static .tagpaper__track { transform: none !important; }
.tagpaper--static .tagpaper__dots,
.tagpaper--static .tagpaper__top-right { display: none !important; }

/* =========================================
   EMPRESA
   ========================================= */

.section--empresa { background: var(--bg); padding: 100px 0; }

.empresa__wrap {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 64px;
  align-items: start;
}

.empresa__header { margin-bottom: 28px; }

.empresa__line {
  width: 48px; height: 3px;
  background: var(--blue);
  border-radius: 2px;
  margin-top: 12px;
}

.empresa__intro p { font-size: 16.5px; line-height: 1.8; }
.empresa__intro .muted { font-size: 15.5px; }

.empresa__pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 32px;
}

.epillar {
  background: var(--navy);
  color: #fff;
  border-radius: var(--radius);
  padding: 22px 20px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  transition: transform .25s, box-shadow .25s;
}

.epillar:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(7,24,51,.18);
}

.epillar__icon {
  width: 44px; height: 44px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 18px;
  color: var(--sky);
}

.epillar__body h3 { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.epillar__body p { font-size: 13px; color: rgba(255,255,255,.72); line-height: 1.5; margin: 0; }

.epillar--highlight .epillar__icon {
  background: rgba(20,80,180,.25);
  border-color: rgba(91,154,248,.3);
  color: var(--sky);
}

.empresa__panel {
  background: var(--navy);
  border-radius: var(--radius-lg);
  padding: 32px;
  color: #fff;
  position: sticky;
  top: 100px;
  box-shadow: var(--shadow-lg);
}

.empresa__panel h3 {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.25;
  margin-bottom: 10px;
}

.empresa__panel > p { font-size: 14px; color: rgba(255,255,255,.65); margin-bottom: 24px; }

.empresa__metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 24px;
}

.emetric {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-sm);
  padding: 14px 12px;
  text-align: center;
}

.emetric strong {
  display: block;
  font-family: var(--serif);
  font-size: 24px;
  color: var(--sky);
  line-height: 1;
  margin-bottom: 4px;
}

.emetric span { font-size: 11.5px; color: rgba(255,255,255,.55); }

.empresa__photo { border-radius: var(--radius); overflow: hidden; border: 1px solid rgba(255,255,255,.1); }
.empresa__photo img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }

/* =========================================
   MARCAS
   ========================================= */

.marcas {
  background: var(--white);
  padding: 56px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}

.marcas h2 {
  text-align: center;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  color: var(--muted);
  margin-bottom: 28px;
}

.marcas__slider { position: relative; overflow: hidden; }

.marcas__slider::before,
.marcas__slider::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 100px;
  z-index: 2;
  pointer-events: none;
}

.marcas__slider::before { left: 0; background: linear-gradient(90deg, #fff, transparent); }
.marcas__slider::after { right: 0; background: linear-gradient(-90deg, #fff, transparent); }

.marcas__track {
  display: flex;
  gap: 48px;
  align-items: center;
  animation: ticker 38s linear infinite;
  width: max-content;
  will-change: transform;
  transform: translateZ(0);
}

@keyframes ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-25%); }
}

.marcas__track img {
  height: 38px; width: auto;
  opacity: .55;
  
  transition: opacity .25s, filter .25s;
}

.marcas__track img:hover { opacity: .9; filter: grayscale(0%); }

@keyframes ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* =========================================
   PORTFÓLIO
   ========================================= */

.section--soft { background: var(--ice); }

.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 36px;
}

.pcard {
  background: var(--white);
  border: 1px solid rgba(20,80,180,.1);
  border-radius: var(--radius);
  padding: 26px 22px;
  transition: transform .28s, box-shadow .28s, border-color .28s;
  cursor: pointer;
}

.pcard:hover {
  transform: translateY(-6px);
  border-color: var(--blue);
  box-shadow: var(--shadow);
}

.pcard__icon {
  width: 48px; height: 48px;
  border-radius: var(--radius-sm);
  background: var(--ice);
  border: 1px solid var(--ice-dark);
  display: grid;
  place-items: center;
  margin-bottom: 16px;
  font-size: 20px;
  color: var(--blue);
  transition: background .25s, border-color .25s, color .25s;
}

.pcard:hover .pcard__icon { background: var(--blue); border-color: var(--blue); color: #fff; }

.pcard h3 { font-size: 15px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
.pcard p { font-size: 13.5px; color: var(--muted); margin: 0; }

/* PRODUTOS DESTAQUE */
.section--produtos-destaque { background: var(--white); }

.produto-bloco {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  margin-bottom: 80px;
}

.produto-bloco:last-child { margin-bottom: 0; }
.produto-bloco--reverse { direction: rtl; }
.produto-bloco--reverse > * { direction: ltr; }

.produto-img {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.produto-img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .4s; }
.produto-bloco:hover .produto-img img { transform: scale(1.04); }

.produto-texto h3 {
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 400;
  margin-bottom: 14px;
  color: var(--navy);
}

.produto-texto p { font-size: 16px; color: var(--muted); line-height: 1.75; }

/* =========================================
   SERVIÇOS
   ========================================= */

.section--light-blue { background: var(--ice); }

.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

.grid-2 > div > p { font-size: 16px; color: var(--muted); line-height: 1.7; margin-top: 14px; }

/* =========================================
   DIFERENCIAIS
   ========================================= */

.diferenciais-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}

.difcard {
  background: var(--white);
  border: 1px solid rgba(20,80,180,.1);
  border-radius: var(--radius);
  padding: 28px 24px;
  transition: transform .25s, box-shadow .25s;
}

.difcard:hover { transform: translateY(-5px); box-shadow: var(--shadow); }

.difcard__num {
  font-family: var(--serif);
  font-size: 42px;
  color: var(--ice-dark);
  line-height: 1;
  margin-bottom: 6px;
}

.difcard h3 { font-size: 16px; font-weight: 700; color: var(--navy); margin-bottom: 8px; }
.difcard p { font-size: 14px; color: var(--muted); margin: 0; line-height: 1.55; }

/* =========================================
   BAND INSTITUCIONAL
   ========================================= */

.band-institucional {
  background: var(--blue);
  padding: 52px 0;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 -8px 32px rgba(0,0,0,.18), 0 8px 32px rgba(0,0,0,.18);
}

.band-institucional::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 10% 50%, rgba(60,120,255,.45) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 80% 60%, rgba(10,40,140,.4) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}

.band-institucional::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.60'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 300px 300px;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: overlay;
}

.band-institucional .container {
  position: relative;
  z-index: 1;
}

.band-institucional p {
  font-family: var(--serif);
  font-size: clamp(20px, 2.8vw, 30px);
  font-weight: 400;
  color: #fff;
  text-align: center;
  max-width: 780px;
  margin: 0 auto;
  line-height: 1.45;
  font-style: italic;
}

/* =========================================
   CTA BAND
   ========================================= */

.cta-band {
  background: var(--navy);
  padding: 80px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 10% 50%, rgba(60,120,255,.55) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 80% 60%, rgba(20,60,180,.4) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}

.cta-band::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.60'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 300px 300px;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: overlay;
}

.cta-band .container { position: relative; z-index: 1; }

.cta-band h2 {
  font-family: var(--serif);
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 400;
  color: #fff;
  max-width: 680px;
  margin: 0 auto 32px;
  line-height: 1.2;
}

/* =========================================
   CONTATO
   ========================================= */

.section--contato { background: var(--bg); }

.contato__wrapper {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 64px;
  align-items: start;
}

.contato__intro h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  margin-bottom: 14px;
}

.contato__intro > p { font-size: 16px; color: var(--muted); margin-bottom: 32px; }

.contato__info { display: grid; gap: 12px; }

.cinfo {
  display: flex;
  gap: 14px;
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 14px 16px;
}

.cinfo i { font-size: 17px; color: var(--blue); width: 22px; text-align: center; }
.cinfo span { font-size: 14px; color: var(--muted); }

.contato__card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  box-shadow: var(--shadow-sm);
}

.form-contato { display: grid; gap: 18px; }

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.form-group { display: flex; flex-direction: column; gap: 7px; }

.form-group label { font-size: 13px; font-weight: 600; color: var(--text); }

.form-group input,
.form-group textarea {
  font-family: var(--sans);
  font-size: 15px;
  color: var(--text);
  background: var(--bg);
  border: 1.5px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 11px 14px;
  transition: border-color .2s, box-shadow .2s;
  outline: none;
  resize: vertical;
}

.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(20,80,180,.1);
  background: var(--white);
}

.form-group input::placeholder,
.form-group textarea::placeholder { color: var(--muted-lt); }

/* =========================================
   FOOTER
   ========================================= */

.footer { background: var(--navy); color: #fff; padding: 48px 0 0; }

.footer__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: start;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.footer__logo-small { height: 42px; margin-bottom: 14px; }
.footer__left > p { font-size: 14px; color: rgba(255,255,255,.5); max-width: 280px; line-height: 1.65; margin: 0; }

.footer__right { display: flex; flex-direction: column; gap: 10px; text-align: right; }
.footer__right span { font-size: 14px; color: rgba(255,255,255,.55); }

.footer__bottom {
  text-align: center;
  padding: 18px 0;
  font-size: 12.5px;
  color: rgba(255,255,255,.32);
}

/* =========================================
   MOBILE NAV
   ========================================= */

.navToggle {
  display: none;
  border: 1.5px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.07);
  border-radius: var(--radius-sm);
  width: 44px; height: 44px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #fff;
  font-size: 18px;
}

.mnav {
  position: fixed;
  inset: 0;
  background: rgba(7,24,51,.6);
  backdrop-filter: blur(6px);
  display: none;
  z-index: 998;
}

.nav-open .mnav { display: block; }

.mnav__panel {
  position: absolute;
  top: 12px; right: 12px; bottom: 12px;
  width: min(360px, calc(100% - 24px));
  background: var(--navy);
  border-radius: var(--radius-lg);
  padding: 20px;
  box-shadow: var(--shadow-lg);
  border: 1px solid rgba(255,255,255,.1);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.mnav__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  margin-bottom: 8px;
}

.mnav__logo { height: 42px; }

.mnav__close {
  border: 1.5px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.07);
  border-radius: var(--radius-sm);
  width: 40px; height: 40px;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: #fff;
  font-size: 16px;
}

.mnav__links { display: flex; flex-direction: column; gap: 4px; padding: 12px 0; flex: 1; }

.mnav__links a {
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  color: rgba(255,255,255,.78);
  font-size: 16px;
  font-weight: 500;
  transition: background .2s, color .2s;
}

.mnav__links a:hover { background: rgba(255,255,255,.08); color: #fff; }

.mnav__cta {
  display: grid;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.1);
}

/* =========================================
   WHATSAPP FLOAT
   ========================================= */

.wapp {
  position: fixed;
  right: 20px; bottom: 20px;
  width: 56px; height: 56px;
  border-radius: 16px;
  background: #25D366;
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 28px rgba(37,211,102,.4);
  z-index: 900;
  transition: transform .25s, box-shadow .25s;
}

.wapp:hover { transform: scale(1.08) translateY(-2px); box-shadow: 0 14px 38px rgba(37,211,102,.45); }
.wapp i { font-size: 26px; }

/* =========================================
   REVEAL
   ========================================= */

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}

.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* =========================================
   RESPONSIVE — TABLET (≤ 1024px)
   ========================================= */

@media (max-width: 1024px) {

  /* Papel do Bem */
  .pdb__inner {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .pdb__left {
    padding: 64px 48px;
  }
  .pdb__right {
    min-height: 380px;
  }
  .pdb__apac-badge {
    bottom: 20px; right: 20px;
  }

  /* Empresa */
  .empresa__wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .empresa__panel {
    position: relative;
    top: auto;
  }

  /* Contato */
  .contato__wrapper {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  /* Produtos destaque */
  .produto-bloco {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .produto-bloco--reverse { direction: ltr; }
  .produto-bloco--reverse > * { direction: ltr; }

  /* Grid serviços */
  .grid-2 {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* =========================================
   RESPONSIVE — MOBILE GRANDE (≤ 768px)
   ========================================= */

@media (max-width: 768px) {
  body { padding-top: 68px; }

  /* Header */
  .nav { display: none; }
  .navToggle { display: flex; }
  .header__inner > div:last-child { display: none; }
  .brand__logo { height: 46px; }

  /* Hero */
  .hero {
    min-height: 100svh;
    align-items: flex-end;
    padding-bottom: 0;
  }
  .hero__content {
    padding: 60px 0 72px;
  }
  .hero__inner {
    margin-left: 0;
    width: 100%;
    padding: 0 24px;
    max-width: 100%;
  }
  .hero h1 {
    font-size: clamp(32px, 8vw, 48px);
    margin-bottom: 18px;
  }
  .lead {
    font-size: 16px;
    margin-bottom: 28px;
  }
  .hero__badges {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }
  .badge {
    font-size: 11px;
    padding: 5px 12px;
  }
  .hero__scroll { display: none; }

  /* Seções */
  .section { padding: 64px 0; }
  .section__heading { font-size: clamp(26px, 6vw, 36px); }

  /* Features */
  .section--features { padding: 56px 0 64px; }
  .features__header { margin-bottom: 36px; }
  .feature-grid--5 {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .feature-grid--5 > :nth-child(4),
  .feature-grid--5 > :nth-child(5) {
    grid-column: auto;
  }
  .feature-card--limp .feature-media { height: 190px; }
  .stats-row--3 {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .stats-row--3 .stat:first-child {
    grid-column: 1 / -1;
  }

  /* Papel do Bem */
  .pdb__left { padding: 48px 24px; }
  .pdb__heading { font-size: clamp(28px, 7vw, 42px); }
  .pdb__desc { font-size: 15px; }
  .pdb__pillars { gap: 8px; }
  .pdb__right { min-height: 280px; }
  .pdb__stats { gap: 20px; flex-wrap: wrap; }
  .pdb__stat strong { font-size: 22px; }

  /* TagPaper slider */
  .tagpaper { padding: 56px 0; }
  .tagpaper__inner {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 28px 24px;
  }
  .tagpaper__title { font-size: clamp(20px, 5vw, 28px); }
  .tagpaper__stats { grid-template-columns: repeat(3, 1fr); gap: 8px; }

  /* Empresa */
  .empresa__pillars { grid-template-columns: 1fr 1fr; gap: 12px; }
  .empresa__metrics { grid-template-columns: repeat(2, 1fr); }
  .emetric strong { font-size: 20px; }

  /* Marcas */
  .marcas { padding: 40px 0; }

  /* Portfólio */
  .cards { grid-template-columns: 1fr 1fr; gap: 12px; }

  /* Diferenciais */
  .diferenciais-grid { grid-template-columns: 1fr 1fr; gap: 12px; }

  /* Serviços */
  .section--light-blue .pcard { margin-bottom: 12px !important; }

  /* Band */
  .band-institucional { padding: 40px 0; }
  .band-institucional p { font-size: clamp(17px, 4.5vw, 22px); }

  /* CTA band */
  .cta-band { padding: 56px 0; }
  .cta-band h2 { font-size: clamp(22px, 5.5vw, 32px); }

  /* Contato */
  .contato__card { padding: 28px 20px; }
  .form-row { grid-template-columns: 1fr; }

  /* Footer */
  .footer__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .footer__right {
    text-align: left;
    flex-direction: column;
    gap: 8px;
  }
  .footer__right span { font-size: 13px; }
}

/* =========================================
   RESPONSIVE — MOBILE PEQUENO (≤ 480px)
   ========================================= */

@media (max-width: 480px) {

  /* Container */
  .container,
  .container--wide {
    width: calc(100% - 32px);
  }

  /* Hero */
  .hero__content { padding: 48px 0 64px; }
  .hero h1 { font-size: clamp(28px, 8.5vw, 40px); }
  .lead { font-size: 15px; line-height: 1.65; }
  .hero__badges { gap: 6px; }
  .badge { font-size: 10.5px; padding: 5px 10px; }

  /* Features — 1 coluna */
  .feature-grid--5 { grid-template-columns: 1fr; }
  .feature-card--limp .feature-media { height: 220px; }
  .stats-row--3 { grid-template-columns: 1fr; }
  .stats-row--3 .stat:first-child { grid-column: auto; }

  /* Papel do Bem */
  .pdb__left { padding: 40px 20px; }
  .pdb__pillars { gap: 8px; }
  .pdb__pillar { padding: 14px 14px; gap: 12px; }
  .pdb__pillar-icon { width: 36px; height: 36px; font-size: 13px; }
  .pdb__stats { gap: 16px; }
  .pdb__right { min-height: 220px; }
  .pdb__apac-badge { padding: 10px 14px; bottom: 14px; right: 14px; }
  .pdb__apac-badge strong { font-size: 12px; }
  .pdb__apac-badge span { font-size: 11px; }

  /* TagPaper */
  .tagpaper__inner { padding: 24px 18px; gap: 22px; }
  .tagpaper__stats { grid-template-columns: 1fr; gap: 6px; }
  .tagpaper__top { flex-direction: column; align-items: flex-start; gap: 12px; }

  /* Empresa */
  .empresa__pillars { grid-template-columns: 1fr; }
  .empresa__panel { padding: 24px 20px; }

  /* Cards */
  .cards { grid-template-columns: 1fr; }

  /* Diferenciais */
  .diferenciais-grid { grid-template-columns: 1fr; }

  /* Contato */
  .contato__card { padding: 24px 16px; border-radius: var(--radius); }
  .cinfo { padding: 12px 14px; gap: 12px; }

  /* CTA */
  .cta-band { padding: 48px 0; }
  .cta-band h2 { font-size: clamp(20px, 6vw, 28px); }
  .cta-band .btn { width: 100%; justify-content: center; height: 52px; font-size: 15px; }

  /* Band */
  .band-institucional p { font-size: 16px; }

  /* Footer */
  .footer { padding: 36px 0 0; }
  .footer__logo-small { height: 36px; }

  /* Seções gerais */
  .section { padding: 48px 0; }
  .section__heading { font-size: clamp(24px, 7vw, 32px); }
  .section__sub { font-size: 15px; }

  /* Produto blocos */
  .produto-bloco { gap: 20px; margin-bottom: 48px; }
  .produto-texto h3 { font-size: 24px; }
  .produto-texto p { font-size: 15px; }

  /* Botão principal do formulário */
  .form-contato .btn--primary { height: 52px; font-size: 15px; }

  /* WhatsApp float — menor em mobile */
  .wapp { width: 50px; height: 50px; right: 16px; bottom: 16px; border-radius: 14px; }
  .wapp i { font-size: 22px; }

  /* Mobile nav */
  .mnav__panel { padding: 16px; }
  .mnav__links a { font-size: 15px; padding: 11px 12px; }
}

/* =========================================
   COMODATO DESTAQUES
   ========================================= */
.comodato-destaques {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 24px;
}
.cdeq {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--ice);
  border: 1px solid var(--ice-dark);
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--navy);
  transition: border-color .2s, background .2s;
}
.cdeq:hover { background: var(--ice-dark); border-color: rgba(20,80,180,.25); }
.cdeq__icon { font-size: 18px; flex-shrink: 0; }

/* =========================================
   SACOS DE LIXO — SIZE GRID
   ========================================= */
.sacos-sizes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 20px 0 4px;
}
.ssize {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 10px;
  padding: 12px 16px;
  min-width: 68px;
  transition: background .2s, border-color .2s;
}
.ssize:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.3); }
.ssize__val {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  margin-bottom: 4px;
}
.ssize__lbl {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}

/* SACOS feature card — verde escuro accent */
.feature-card--sacos .feature-card--fab-badge::before,
.feature-card--sacos::before {
  background: linear-gradient(90deg, #1a6e3c, #22a05a) !important;
}
.feature-card--sacos:hover::after {
  background: linear-gradient(90deg, #1a6e3c, #22a05a) !important;
}

/* =========================================
   FOCO SECTION
   ========================================= */
.foco-section {
  position: relative;
  background: var(--bg);
  padding: 80px 0 0;
  overflow: hidden;
  border-top: 1px solid var(--line);
  isolation: isolate;
}
.foco-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.60'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 300px 300px;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: multiply;
}

.foco__bg-text {
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--serif);
  font-size: clamp(80px, 14vw, 200px);
  font-weight: 700;
  color: rgba(20, 80, 180, .045);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  letter-spacing: -4px;
  z-index: 0;
}

.foco__inner { position: relative; z-index: 1; }

/* Header */
.foco__header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 44px;
}

.foco__kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 14px;
}

.foco__heading {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.12;
  margin: 0 0 20px;
}

.foco__heading strong {
  font-weight: 700;
  color: var(--navy);
}

.foco__line {
  width: 48px;
  height: 3px;
  background: var(--blue);
  border-radius: 2px;
  margin: 0 auto 20px;
}

.foco__desc {
  font-size: 16px;
  color: var(--muted);
  line-height: 1.8;
  margin: 0;
}

/* Body: 3 columns — photo anchored to bottom */
.foco__body {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 32px;
  align-items: end;
  margin-bottom: 0;
}

/* Pilares */
.foco__pilares {
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding-bottom: 48px;
}

.foco__pilar {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.foco__pilares--right .foco__pilar {
  flex-direction: row-reverse;
  text-align: right;
}

.foco__pilar-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 12px;
  background: var(--ice);
  border: 1.5px solid var(--ice-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--blue);
  transition: background .25s, border-color .25s, transform .25s;
}

.foco__pilar:hover .foco__pilar-icon {
  background: var(--blue);
  border-color: var(--blue);
  color: white;
  transform: scale(1.08);
}

.foco__pilar strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 5px;
}

.foco__pilar span {
  display: block;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
}

/* Photo — anchored flush to bottom, cropped by band */
.foco__photo-wrap {
  width: 470px;
  position: relative;
  align-self: end;
  overflow: hidden;
  filter: drop-shadow(12px 5px 12px rgba(10, 30, 70, 0.25));
}

.foco__photo-wrap::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--ice-dark) 0%, transparent 70%);
  z-index: 0;
}

.foco__photo {
  width: 100%;
  object-fit: contain;
  object-position: bottom center;
  display: block;
  position: relative;
  z-index: 1;
  margin-bottom: -4px; /* kiss the band */
  filter: drop-shadow(0 12px 32px rgba(7,24,51,.15));
}

/* CTA — hidden (removed per request) */
.foco__cta { display: none; }

.btn--outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 600;
  border-radius: 999px;
  border: 1.5px solid var(--navy);
  color: var(--navy);
  background: transparent;
  text-decoration: none;
  transition: all .2s;
}
.btn--outline:hover {
  background: var(--navy);
  color: white;
}

/* Responsive */
@media (max-width: 900px) {
  .foco__body {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .foco__photo-wrap {
    width: 200px;
    margin: 0 auto;
    order: -1;
  }
  .foco__pilares--right .foco__pilar {
    flex-direction: row;
    text-align: left;
  }
  .foco__pilares { padding-bottom: 24px; }
}

.produto-bloco--reverse .produto-img img {
  width: 70%;
  margin: 0 auto;
}

/* =========================================
   SACOS DE LIXO — LAYOUT EDITORIAL
   ========================================= */

.sacos-section {
  background: linear-gradient(160deg, #071833 0%, #0a1e3a 60%, #071833 100%);
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* Textura de fundo */
.pdb-section::before,
.sacos-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.60'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 300px 300px;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 0;
}

/* Número decorativo de fundo */
.sacos__bg-num {
  position: absolute;
  top: -40px;
  right: -60px;
  font-family: var(--serif);
  font-size: clamp(160px, 22vw, 320px);
  font-weight: 700;
  color: rgba(20, 80, 180, 0.06);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -8px;
  z-index: 0;
}

/* HEADER */
.sacos__header {
  position: relative;
  z-index: 1;
  padding: 72px min(80px, 5vw) 0 min(80px, 5vw);
  max-width: 1280px;
  margin: 0 auto;
}

.sacos__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 16px;
}

.sacos__eyebrow-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--sky);
  box-shadow: 0 0 0 3px rgba(91,154,248,.25);
  animation: pulse 2s ease-in-out infinite;
}

.sacos__title {
  font-family: var(--serif);
  font-size: clamp(42px, 6vw, 80px);
  font-weight: 400;
  color: #fff;
  line-height: 1.0;
  letter-spacing: -2px;
  margin-bottom: 12px;
}

.sacos__title em {
  font-style: italic;
  color: var(--sky);
}

.sacos__subtitle {
  font-size: 17px;
  color: rgba(255,255,255,.55);
  font-style: italic;
  margin: 0;
}

/* BODY */
.sacos__body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 0;
  max-width: 1280px;
  margin: 0 auto;
  align-items: stretch;
  min-height: 560px;
}

/* CONTENT */
.sacos__content {
  padding: 48px min(80px, 5vw) 72px min(80px, 5vw);
  display: flex;
  flex-direction: column;
  gap: 32px;
  justify-content: center;
}

.sacos__desc {
  font-size: 16px;
  line-height: 1.8;
  color: rgba(255,255,255,.75);
  max-width: 520px;
  margin: 0;
}

/* Tamanhos — barra horizontal com linha divisória */
.sacos__sizes {
  display: flex;
  gap: 0;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,.03);
}

.sacos__size {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px 8px;
  border-right: 1px solid rgba(255,255,255,.08);
  transition: background .2s;
  cursor: default;
}

.sacos__size:last-child { border-right: none; }

.sacos__size:hover {
  background: rgba(255,255,255,.07);
}

.sacos__size--dest {
  background: rgba(20,80,180,.2);
  border-color: rgba(91,154,248,.2) !important;
}

.sacos__size--dest:hover {
  background: rgba(20,80,180,.3);
}

.sacos__size-val {
  font-family: var(--serif);
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 400;
  color: #fff;
  line-height: 1;
  margin-bottom: 5px;
}

.sacos__size--dest .sacos__size-val {
  color: var(--sky);
}

.sacos__size-lbl {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
}

/* Pilares */
.sacos__pillars {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sacos__pillar {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  transition: background .2s, border-color .2s;
}

.sacos__pillar:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
}

.sacos__pillar-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: rgba(20,80,180,.2);
  border: 1px solid rgba(91,154,248,.25);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--sky);
  font-size: 14px;
}

.sacos__pillar strong {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2px;
}

.sacos__pillar span {
  font-size: 12.5px;
  color: rgba(255,255,255,.55);
  line-height: 1.4;
}

/* Cores */
.sacos__cores {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.sacos__cor {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  padding: 7px 14px;
  border-radius: 999px;
}

.sacos__cor span {
  width: 12px; height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 1.5px solid rgba(255,255,255,.2);
}

.sacos__cor--preto span { background: #1a1a1a; }
.sacos__cor--verde span { background: #22a05a; border-color: rgba(34,160,90,.5); }
.sacos__cor--azul span { background: #2d68d8; border-color: rgba(45,104,216,.5); }
.sacos__cor--branco span { background: #e8e8e8; }

/* VISUAL — foto com fusão */
.sacos__visual {
  position: relative;
  overflow: hidden;
  margin: 40px 40px 40px 0;
  border-radius: 24px;
  border: 1px solid rgba(91,154,248,.15);
  box-shadow: 0 0 0 1px rgba(255,255,255,.05), 0 32px 80px rgba(0,0,0,.4);
}

/* Gradiente de fusão esquerda */
.sacos__visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    #0a1e3a 0%,
    rgba(10,30,58,.5) 25%,
    transparent 55%
  );
  z-index: 1;
  pointer-events: none;
}

/* Gradiente topo e base */
.sacos__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(7,24,51,.6) 0%,
    transparent 20%,
    transparent 75%,
    rgba(7,24,51,.7) 100%
  );
  z-index: 1;
  pointer-events: none;
}

.sacos__img-wrap {
  position: absolute;
  inset: 0;
}

.sacos__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 30% 80%;
  display: block;
  transform: scale(1.50);
}

/* Cards flutuantes */
.sacos__stat-card {
  position: absolute;
  z-index: 2;
  background: rgba(7,24,51,.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(91,154,248,.2);
  border-radius: 14px;
  padding: 12px 18px;
  text-align: center;
  color: #fff;
}

.sacos__stat-card strong {
  display: block;
  font-family: var(--serif);
  font-size: 18px;
  color: var(--sky);
  line-height: 1;
  margin-bottom: 3px;
}

.sacos__stat-card span {
  font-size: 11px;
  color: rgba(255,255,255,.55);
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.sacos__stat-card--top {
  top: 28px;
  right: 28px;
}

.sacos__stat-card--bottom {
  bottom: 28px;
  right: 28px;
}

/* Responsive */
@media (max-width: 900px) {
  .sacos__body {
    grid-template-columns: 1fr;
  }
  .sacos__visual {
    min-height: 320px;
    order: -1;
  }
  .sacos__content {
    padding: 40px 24px 56px;
  }
  .sacos__header {
    padding: 56px 24px 0;
  }
}

@media (max-width: 480px) {
  .sacos__sizes {
    flex-wrap: wrap;
  }
  .sacos__size {
    flex: 0 0 33.33%;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .sacos__header {
    padding: 48px 20px 0;
  }
  .sacos__content {
    padding: 32px 20px 48px;
  }
}

/* =========================================
   PAPEL DO BEM — LAYOUT EDITORIAL v2
   ========================================= */

.pdb-section {
  background: linear-gradient(160deg, #071833 0%, #071f14 60%, #071833 100%);
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.pdb-section::before,
.sacos-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.60'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 300px 300px;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 0;
}

/* Texto decorativo de fundo */
.pdb2__bg-text {
  position: absolute;
  top: -40px;
  right: -40px;
  font-family: var(--serif);
  font-size: clamp(160px, 22vw, 320px);
  font-weight: 700;
  color: rgba(26, 110, 60, 0.07);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -8px;
  z-index: 0;
}

/* HEADER */
.pdb2__header {
  position: relative;
  z-index: 1;
  padding: 72px min(80px, 5vw) 0 min(80px, 5vw);
  max-width: 1280px;
  margin: 0 auto;
}

.pdb2__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--green-lt);
  margin-bottom: 16px;
}

.pdb2__eyebrow-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--green-lt);
  box-shadow: 0 0 0 3px rgba(34,160,90,.25);
  animation: pulse 2s ease-in-out infinite;
}

.pdb2__title {
  font-family: var(--serif);
  font-size: clamp(42px, 6vw, 80px);
  font-weight: 400;
  color: #fff;
  line-height: 1.0;
  letter-spacing: -2px;
  margin-bottom: 12px;
}

.pdb2__title em {
  font-style: italic;
  color: var(--green-lt);
}

.pdb2__subtitle {
  font-size: 17px;
  color: rgba(255,255,255,.55);
  font-style: italic;
  margin: 0;
}

/* BODY */
.pdb2__body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 0;
  max-width: 1280px;
  margin: 0 auto;
  align-items: stretch;
  min-height: 560px;
}

/* CONTENT */
.pdb2__content {
  padding: 48px min(80px, 5vw) 72px min(80px, 5vw);
  display: flex;
  flex-direction: column;
  gap: 28px;
  justify-content: center;
}

.pdb2__desc {
  font-size: 16px;
  line-height: 1.8;
  color: rgba(255,255,255,.75);
  max-width: 520px;
  margin: 0;
}

/* Pilares */
.pdb2__pillars {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pdb2__pillar {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  background: rgba(34,160,90,.05);
  border: 1px solid rgba(34,160,90,.15);
  border-radius: 12px;
  transition: background .2s, border-color .2s;
}

.pdb2__pillar:hover {
  background: rgba(34,160,90,.1);
  border-color: rgba(34,160,90,.28);
}

.pdb2__pillar-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: rgba(34,160,90,.15);
  border: 1px solid rgba(34,160,90,.3);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--green-lt);
  font-size: 14px;
}

.pdb2__pillar strong {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2px;
}

.pdb2__pillar span {
  font-size: 12.5px;
  color: rgba(255,255,255,.55);
  line-height: 1.4;
}

/* Stats */
.pdb2__stats {
  display: flex;
  gap: 0;
  border: 1px solid rgba(34,160,90,.2);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(34,160,90,.04);
}

.pdb2__stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 18px 12px;
  border-right: 1px solid rgba(34,160,90,.15);
  transition: background .2s;
}

.pdb2__stat:last-child { border-right: none; }
.pdb2__stat:hover { background: rgba(34,160,90,.08); }

.pdb2__stat strong {
  display: block;
  font-family: var(--serif);
  font-size: clamp(18px, 2vw, 24px);
  color: var(--green-lt);
  line-height: 1;
  margin-bottom: 5px;
}

.pdb2__stat span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
}

/* VISUAL */
.pdb2__visual {
  position: relative;
  overflow: hidden;
  margin: 40px 40px 40px 0;
  border-radius: 24px;
  border: 1px solid rgba(34,160,90,.2);
  box-shadow: 0 0 0 1px rgba(255,255,255,.04), 0 32px 80px rgba(0,0,0,.4);
}

.pdb2__visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    #071f14 0%,
    rgba(7,31,20,.5) 25%,
    transparent 55%
  );
  z-index: 1;
  pointer-events: none;
}

.pdb2__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(7,24,51,.6) 0%,
    transparent 20%,
    transparent 75%,
    rgba(7,24,51,.7) 100%
  );
  z-index: 1;
  pointer-events: none;
}

.pdb2__img-wrap {
  position: absolute;
  inset: 0;
}

.pdb2__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 30% 70%;
  transform: scale(1.15);
  display: block;
}

/* Cards flutuantes */
.pdb2__stat-card {
  position: absolute;
  z-index: 2;
  background: rgba(7,31,20,.8);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(34,160,90,.25);
  border-radius: 14px;
  padding: 12px 18px;
  text-align: center;
  color: #fff;
}

.pdb2__stat-card strong {
  display: block;
  font-family: var(--serif);
  font-size: 16px;
  color: var(--green-lt);
  line-height: 1;
  margin-bottom: 4px;
}

.pdb2__stat-card span {
  font-size: 10px;
  color: rgba(255,255,255,.5);
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.pdb2__stat-card--top  { top: 20px;    right: 20px; }
.pdb2__stat-card--bottom { bottom: 20px; right: 20px; }

/* Responsive */
@media (max-width: 900px) {
  .pdb2__body {
    grid-template-columns: 1fr;
  }
  .pdb2__visual {
    min-height: 320px;
    order: -1;
    margin: 24px 24px 0;
  }
  .pdb2__content {
    padding: 40px 24px 56px;
  }
  .pdb2__header {
    padding: 56px 24px 0;
  }
}

@media (max-width: 480px) {
  .pdb2__header { padding: 48px 20px 0; }
  .pdb2__content { padding: 32px 20px 48px; }
  .pdb2__visual { margin: 20px 20px 0; }
  .pdb2__stats { flex-wrap: wrap; }
  .pdb2__stat { flex: 0 0 50%; }
  .pdb2__stat:nth-child(2) { border-right: none; }
}
/* =========================================
   ANIMAÇÕES & MOVIMENTO — GVendas v3
   ========================================= */

/* Hero CTA buttons row */
.hero__ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

/* ---- HERO ENTRADA ANIMADA ---- */
.hero__inner--anim > * {
  opacity: 0;
  transform: translateY(24px);
  animation: heroFadeUp .7s ease forwards;
}
.hero__inner--anim > :nth-child(1) { animation-delay: .1s; }
.hero__inner--anim > :nth-child(2) { animation-delay: .25s; }
.hero__inner--anim > :nth-child(3) { animation-delay: .4s; }
.hero__inner--anim > :nth-child(4) { animation-delay: .55s; }
.hero__inner--anim > :nth-child(5) { animation-delay: .7s; }

@keyframes heroFadeUp {
  to { opacity: 1; transform: translateY(0); }
}

/* Parallax sutil no fundo do hero */
.hero__bg {
  transform: scale(1.08);
  transition: transform 0s;
  will-change: transform;
}

/* ---- REVEAL APRIMORADO ---- */
/* Sobrescreve o reveal antigo com variações direcionais */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .65s cubic-bezier(.2,.8,.2,1), transform .65s cubic-bezier(.2,.8,.2,1);
  will-change: opacity, transform;
}
.reveal.reveal--left {
  transform: translateX(-32px);
}
.reveal.reveal--right {
  transform: translateX(32px);
}
.reveal.reveal--scale {
  transform: scale(.94);
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Delay em cascata para grids */
.reveal[data-delay="1"] { transition-delay: .1s; }
.reveal[data-delay="2"] { transition-delay: .2s; }
.reveal[data-delay="3"] { transition-delay: .3s; }
.reveal[data-delay="4"] { transition-delay: .4s; }
.reveal[data-delay="5"] { transition-delay: .5s; }
.reveal[data-delay="6"] { transition-delay: .6s; }

/* ---- CONTADORES ANIMADOS ---- */
.stat strong,
.emetric strong,
.pdb2__stat strong {
  display: block;
  transition: color .3s;
}
.stat strong.counting,
.emetric strong.counting {
  color: var(--sky);
}

/* ---- HOVER LIFT UNIVERSAL ---- */
.difcard,
.pcard,
.epillar,
.feature-card {
  transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s;
}

/* ---- LINHA ANIMADA NAS SEÇÕES ---- */
.section__label::before {
  transform-origin: left;
  animation: none;
  transition: width .4s ease;
}

/* ---- BAND INSTITUCIONAL — TEXTO SLIDE ---- */
.band-institucional p {
  animation: none;
}

/* ---- MARCAS TICKER — pausa no hover ---- */
.marcas__slider:hover .marcas__track {
  animation-play-state: paused;
}

/* ---- NÚMERO DECORATIVO — FLOAT ANIMATION ---- */
.sacos__bg-num,
.pdb2__bg-text {
  animation: floatNum 8s ease-in-out infinite;
}
@keyframes floatNum {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-18px); }
}

/* ---- EYEBROW DOT — PULSE JÁ EXISTE, adiciona glow ---- */
.sacos__eyebrow-dot,
.pdb2__eyebrow-dot {
  animation: pulseGlow 2s ease-in-out infinite;
}
@keyframes pulseGlow {
  0%,100% { box-shadow: 0 0 0 3px rgba(91,154,248,.25), 0 0 0 0 rgba(91,154,248,.0); }
  50% { box-shadow: 0 0 0 6px rgba(91,154,248,.12), 0 0 16px rgba(91,154,248,.3); }
}

/* ---- STAT CARDS FLUTUANTES — FLOAT ---- */
.sacos__stat-card,
.pdb2__stat-card {
  animation: floatCard 4s ease-in-out infinite;
}
.sacos__stat-card--bottom,
.pdb2__stat-card--bottom {
  animation-delay: 2s;
}
@keyframes floatCard {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

/* ---- HERO BG PARALLAX via JS ---- */
/* (controlado pelo script abaixo) */

/* ---- BORDER GLOW NO HOVER DOS CARDS DE PILLAR ---- */
.pdb2__pillar,
.sacos__pillar {
  transition: background .2s, border-color .25s, transform .25s;
}
.pdb2__pillar:hover,
.sacos__pillar:hover {
  transform: translateX(4px);
}

/* ---- PROGRESS LINE NA SECTION LABEL ---- */
.section__label {
  overflow: visible;
  position: relative;
}

/* ---- CTA BAND BUTTON PULSE ---- */
.cta-band .btn--primary {
  animation: ctaPulse 3s ease-in-out infinite;
}
@keyframes ctaPulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(20,80,180,.35); }
  50% { box-shadow: 0 8px 40px rgba(20,80,180,.6), 0 0 0 8px rgba(20,80,180,.08); }
}

/* ---- FEATURE CARD IMAGE ZOOM ON SCROLL ENTER ---- */
.feature-card.is-visible .feature-media img {
  animation: imgZoomIn .8s ease forwards;
}
@keyframes imgZoomIn {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}

/* ---- DIFCARD NUMBER SLIDE ---- */
.difcard.is-visible .difcard__num {
  animation: numSlide .5s ease forwards;
}
@keyframes numSlide {
  from { opacity: 0; transform: translateX(-12px); }
  to { opacity: 1; transform: translateX(0); }
}

/* ---- FOCO PILARES STAGGER ---- */
.foco__pilar {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity .5s ease, transform .5s ease;
}
.foco__pilares--right .foco__pilar {
  transform: translateX(20px);
}
.foco__pilar.is-visible {
  opacity: 1;
  transform: none;
}
.foco__pilar:nth-child(2) { transition-delay: .15s; }

.produto-img--slider { position: relative; overflow: hidden; border-radius: var(--radius-lg); }

.pslider__track { position: relative; width: 100%; aspect-ratio: 4/3; }

.pslider__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.08);
  transition: opacity 1.5s ease, transform 4s ease;
}

.pslider__img.active {
  opacity: 1;
  transform: scale(1);
}

/* =========================================
   PRODUTOS — GRID COMPACTO
   ========================================= */

.prod-header {
  margin-bottom: 48px;
}

.prod-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* Cards grandes ocupam 1 coluna cada, linha 1 */
.prod-card--large {
  grid-column: span 1;
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 1px solid rgba(20,80,180,.1);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .3s, box-shadow .3s, border-color .3s;
}

.prod-card--large:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
  border-color: rgba(20,80,180,.22);
}

.prod-card__media {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--ice);
}

.prod-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.prod-card--large:hover .prod-card__media img {
  transform: scale(1.05);
}

/* Slider dentro do card */
.prod-card__media.produto-img--slider {
  border-radius: 0;
}

.prod-card__body {
  padding: 24px 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.prod-card__body h3 {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
  color: var(--navy);
  margin: 0;
  line-height: 1.2;
}

.prod-card__body p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

.prod-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

.prod-card__tags span {
  font-size: 12px;
  font-weight: 500;
  background: var(--ice);
  border: 1px solid var(--ice-dark);
  color: var(--navy);
  padding: 4px 10px;
  border-radius: 999px;
}

.prod-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--blue);
  margin-top: auto;
  padding-top: 8px;
  transition: gap .2s, color .2s;
  text-decoration: none;
}

.prod-card__link:hover {
  gap: 10px;
  color: var(--blue-lt);
}

/* Cards pequenos — 3 por linha */
.prod-card--small {
  background: var(--white);
  border: 1px solid rgba(20,80,180,.1);
  border-radius: var(--radius);
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: var(--shadow-sm);
  transition: transform .3s, box-shadow .3s, border-color .3s;
  position: relative;
  overflow: hidden;
}

.prod-card--small::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--blue), var(--sky));
  opacity: 0;
  transition: opacity .3s;
}

.prod-card--small:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow);
  border-color: rgba(20,80,180,.2);
}

.prod-card--small:hover::after { opacity: 1; }

.prod-card__icon {
  width: 44px; height: 44px;
  border-radius: var(--radius-sm);
  background: var(--ice);
  border: 1px solid var(--ice-dark);
  display: grid;
  place-items: center;
  font-size: 18px;
  color: var(--blue);
  transition: background .25s, color .25s;
  flex-shrink: 0;
}

.prod-card--small:hover .prod-card__icon {
  background: var(--blue);
  color: #fff;
}

.prod-card--small h4 {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
}

.prod-card--small p {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
  flex: 1;
}

/* Responsivo */
@media (max-width: 1024px) {
  .prod-grid {
    grid-template-columns: 1fr 1fr;
  }
  .prod-card--large { grid-column: span 1; }
}

@media (max-width: 640px) {
  .prod-grid { grid-template-columns: 1fr; gap: 14px; }
  .prod-card--large { grid-column: span 1; }
  .prod-card__body h3 { font-size: 19px; }
}
/* =========================================
   MISSÃO / VISÃO / OBJETIVOS
   ========================================= */

.mvo-section {
  background: var(--navy);
  padding: 96px 0;
}

.mvo__header {
  text-align: center;
  margin-bottom: 56px;
}

.mvo__header .section__label { color: var(--sky); }
.mvo__header .section__label::before { background: var(--sky); }
.mvo__header .section__heading { color: #fff; }
.mvo__header .section__sub { color: rgba(255,255,255,.6); margin: 0 auto; }

.mvo__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.mvo__card {
  border-radius: var(--radius-lg);
  padding: 36px 32px;
  position: relative;
  overflow: hidden;
  transition: transform .3s, box-shadow .3s;
}

.mvo__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(0,0,0,.3);
}

.mvo__card--missao {
  background: linear-gradient(135deg, var(--blue) 0%, var(--blue-lt) 100%);
  border: 1px solid rgba(91,154,248,.3);
}

.mvo__card--visao {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
}

.mvo__card--objetivos {
  background: linear-gradient(135deg, rgba(26,110,60,.4) 0%, rgba(34,160,90,.2) 100%);
  border: 1px solid rgba(34,160,90,.25);
}

.mvo__card-icon {
  width: 52px; height: 52px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.2);
  display: grid;
  place-items: center;
  font-size: 20px;
  color: #fff;
  margin-bottom: 20px;
}

.mvo__card h3 {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.2;
}

.mvo__card p {
  font-size: 15px;
  color: rgba(255,255,255,.8);
  line-height: 1.7;
  margin: 0;
}

.mvo__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mvo__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14.5px;
  color: rgba(255,255,255,.82);
  line-height: 1.5;
}

.mvo__list li i {
  color: var(--green-lt);
  font-size: 12px;
  margin-top: 3px;
  flex-shrink: 0;
}

.mvo__card--visao .mvo__list li i { color: var(--sky); }

@media (max-width: 900px) {
  .mvo__grid { grid-template-columns: 1fr; gap: 16px; }
  .mvo__card { padding: 28px 24px; }
}

/* =========================================
   SUSTENTABILIDADE
   ========================================= */

.sustent-section {
  background: var(--white);
  padding: 96px 0;
}

.sustent__header {
  text-align: center;
  margin-bottom: 56px;
}

.sustent__label { color: var(--green) !important; }
.sustent__label::before { background: var(--green) !important; }
.sustent__header .section__sub { margin: 0 auto; }

.sustent__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.sustent__card {
  background: var(--white);
  border: 1px solid rgba(26,110,60,.15);
  border-radius: var(--radius);
  padding: 28px 24px;
  position: relative;
  overflow: hidden;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}

.sustent__card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--green), var(--green-lt));
  opacity: 0;
  transition: opacity .3s;
}

.sustent__card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(26,110,60,.12);
  border-color: rgba(26,110,60,.3);
}

.sustent__card:hover::after { opacity: 1; }

.sustent__icon {
  width: 48px; height: 48px;
  border-radius: var(--radius-sm);
  background: var(--green-bg);
  border: 1px solid var(--green-ice);
  display: grid;
  place-items: center;
  font-size: 20px;
  color: var(--green);
  margin-bottom: 16px;
  transition: background .25s, color .25s;
}

.sustent__card:hover .sustent__icon {
  background: var(--green);
  color: #fff;
}

.sustent__card h4 {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 10px;
}

.sustent__card p {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

.sustent__card--destaque {
  background: var(--navy);
  border-color: rgba(34,160,90,.25);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 36px 28px;
}

.sustent__card--destaque::after {
  background: linear-gradient(90deg, var(--green-lt), var(--sky));
}

.sustent__card--destaque:hover {
  border-color: rgba(34,160,90,.5);
  box-shadow: 0 16px 48px rgba(7,24,51,.25);
}

.sustent__big-text {
  font-family: var(--serif);
  font-size: 80px;
  color: rgba(34,160,90,.2);
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  user-select: none;
}

.sustent__frase {
  font-family: var(--serif);
  font-size: clamp(22px, 2.5vw, 30px);
  font-style: italic;
  color: #fff;
  line-height: 1.45;
  margin: 0 0 12px;
  position: relative;
  z-index: 1;
}

.sustent__sub {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--green-lt);
  position: relative;
  z-index: 1;
}

@media (max-width: 900px) {
  .sustent__grid { grid-template-columns: 1fr 1fr; gap: 14px; }
}

@media (max-width: 480px) {
  .sustent__grid { grid-template-columns: 1fr; }
  .sustent__card--destaque { padding: 28px 20px; }
  .sustent__big-text { font-size: 60px; }
}

/* =========================================
   FEATURE GRID 6 — 3x2 PADRONIZADO
   ========================================= */

.feature-grid--6 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* Remove o comportamento especial do grid-5 */
.feature-grid--6 > * {
  grid-column: auto !important;
}

/* Altura de mídia igual para todos */
.feature-grid--6 .feature-media {
  height: 200px;
}

/* Badge comodato — azul sky */
.feature-card--comodato::before {
  content: '★ Comodato gratuito';
  position: absolute;
  top: 22px; right: 16px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  background: var(--sky);
  color: #fff;
  padding: 4px 10px;
  border-radius: 999px;
}

/* Imagem do dispenser com object-fit contain para não cortar */
.feature-card--comodato .feature-media img {
  object-fit: cover;
  padding: 0;
  background: none;
}

@media (max-width: 768px) {
  .feature-grid--6 {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .feature-grid--6 .feature-media { height: 160px; }
}

@media (max-width: 480px) {
  .feature-grid--6 { grid-template-columns: 1fr; }
  .feature-grid--6 .feature-media { height: 200px; }
}

/* =========================================
   NOSSOS CLIENTES
   ========================================= */

.clientes-section {
  background: var(--navy);
  padding: 80px 0 72px;
  overflow: hidden;
  position: relative;
}

.clientes-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 10% 50%, rgba(20,80,180,.12) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 85% 40%, rgba(34,160,90,.06) 0%, transparent 65%);
  pointer-events: none;
}

.clientes__header {
  text-align: center;
  margin-bottom: 56px;
}

.clientes__label { color: var(--sky) !important; }
.clientes__label::before { background: var(--sky) !important; }

.clientes__heading {
  color: #fff !important;
  margin-bottom: 16px;
}

.clientes__sub {
  color: rgba(255,255,255,.55) !important;
  margin: 0 auto;
  max-width: 520px;
}

.clientes__tickers {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.clientes__ticker-wrap {
  position: relative;
  overflow: hidden;
}

.clientes__ticker-wrap::before,
.clientes__ticker-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}

.clientes__ticker-wrap::before {
  left: 0;
  background: linear-gradient(90deg, var(--navy), transparent);
}

.clientes__ticker-wrap::after {
  right: 0;
  background: linear-gradient(-90deg, var(--navy), transparent);
}

.clientes__ticker {
  display: flex;
  gap: 12px;
  width: max-content;
}

.clientes__ticker--fwd {
  animation: clientesFwd 40s linear infinite;
}

.clientes__ticker--bwd {
  animation: clientesBwd 40s linear infinite;
}

@keyframes clientesFwd {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@keyframes clientesBwd {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}

.clientes__ticker-wrap:hover .clientes__ticker {
  animation-play-state: paused;
}

.clientes__item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  padding: 18px 28px;
  white-space: nowrap;
  transition: background .25s, border-color .25s;
  flex-shrink: 0;
}

.clientes__item:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.18);
}

.clientes__item img {
  height: 72px;
  width: auto;
  opacity: .7;
  filter: brightness(2);
  transition: opacity .25s, filter .25s;
  display: block;
}

.clientes__item:hover img {
  opacity: 1;
  filter: grayscale(0%) brightness(1);
}

.clientes__item span {
  font-size: 15px;
  font-weight: 600;
  color: rgba(255,255,255,.7);
  letter-spacing: .3px;
  transition: color .25s;
}

.clientes__item:hover span {
  color: #fff;
}

@media (max-width: 768px) {
  .clientes-section { padding: 60px 0 52px; }
  .clientes__header { margin-bottom: 36px; }
  .clientes__ticker-wrap::before,
  .clientes__ticker-wrap::after { width: 60px; }
  .clientes__item { padding: 12px 16px; gap: 10px; }
  .clientes__item img { height: 22px; }
  .clientes__item span { font-size: 12px; }
}
/* =========================================
   TRATAMENTO DE PISO
   ========================================= */

.piso-section {
  background: var(--white);
  padding-bottom: 96px;
  position: relative;
  overflow: hidden;
}

.piso__header {
  background: linear-gradient(160deg, var(--navy) 0%, #0d2040 100%);
  position: relative;
  padding: 72px 0 56px;
  margin-bottom: 56px;
  overflow: hidden;
}

.piso__bg-text {
  position: absolute;
  top: -30px;
  right: -40px;
  font-family: var(--serif);
  font-size: clamp(120px, 18vw, 260px);
  font-weight: 700;
  color: rgba(255,255,255,.04);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -6px;
}

.piso__label { color: var(--sky) !important; }
.piso__label::before { background: var(--sky) !important; }

.piso__title {
  font-family: var(--serif);
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 400;
  color: #fff;
  line-height: 1.05;
  letter-spacing: -1.5px;
  margin-bottom: 12px;
}

.piso__title em {
  font-style: italic;
  color: var(--sky);
}

.piso__subtitle {
  font-size: 17px;
  color: rgba(255,255,255,.55);
  font-style: italic;
  margin: 0;
}

.piso__intro {
  max-width: 780px;
  margin: 0 auto 56px;
  text-align: center;
  font-size: 16.5px;
  color: var(--muted);
  line-height: 1.8;
}

/* Benefícios */
.piso__sub-title {
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 28px;
  text-align: center;
}

.piso__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-bottom: 64px;
}

.piso__card {
  background: var(--white);
  border: 1px solid rgba(20,80,180,.12);
  border-radius: var(--radius);
  padding: 28px 20px;
  text-align: center;
  transition: transform .3s, box-shadow .3s, border-color .3s;
  position: relative;
  overflow: hidden;
}

.piso__card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--blue), var(--sky));
  opacity: 0;
  transition: opacity .3s;
}

.piso__card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
  border-color: rgba(20,80,180,.22);
}

.piso__card:hover::after { opacity: 1; }

.piso__card-icon {
  width: 52px; height: 52px;
  border-radius: var(--radius-sm);
  background: var(--ice);
  border: 1px solid var(--ice-dark);
  display: grid;
  place-items: center;
  font-size: 20px;
  color: var(--blue);
  margin: 0 auto 14px;
  transition: background .25s, color .25s;
}

.piso__card:hover .piso__card-icon {
  background: var(--blue);
  color: #fff;
}

.piso__card h4 {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 8px;
}

.piso__card p {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
}

/* Bottom — locais, tipos, foto */
.piso__bottom {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.piso__locais,
.piso__tipos {
  background: var(--navy);
  border-radius: var(--radius-lg);
  padding: 36px 32px;
  color: #fff;
  height: 100%;
}

.piso__locais-icon {
  width: 48px; height: 48px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  display: grid;
  place-items: center;
  font-size: 20px;
  color: var(--sky);
  margin-bottom: 18px;
}

.piso__locais h3,
.piso__tipos h3 {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 20px;
  line-height: 1.25;
}

.piso__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.piso__tags span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  padding: 7px 13px;
  border-radius: 999px;
  transition: background .2s, border-color .2s;
}

.piso__tags span:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.22);
}

.piso__tags span i {
  font-size: 11px;
  color: var(--sky);
}

.piso__lista {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.piso__lista li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14.5px;
  color: rgba(255,255,255,.8);
  line-height: 1.5;
}

.piso__lista li i {
  color: var(--sky);
  font-size: 12px;
  margin-top: 3px;
  flex-shrink: 0;
}

/* Foto */
.piso__foto {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  aspect-ratio: 4/5;
}

.piso__foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.piso__foto:hover img { transform: scale(1.04); }

.piso__foto-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: rgba(7,24,51,.8);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(91,154,248,.25);
  border-radius: 12px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
}

.piso__foto-badge i {
  font-size: 22px;
  color: var(--sky);
}

.piso__foto-badge span {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  color: rgba(255,255,255,.9);
}

/* Responsivo */
@media (max-width: 1024px) {
  .piso__grid { grid-template-columns: repeat(3, 1fr); }
  .piso__bottom { grid-template-columns: 1fr 1fr; }
  .piso__foto { grid-column: 1 / -1; aspect-ratio: 16/7; }
}

@media (max-width: 768px) {
  .piso__header { padding: 52px 0 40px; margin-bottom: 40px; }
  .piso__title { font-size: clamp(34px, 8vw, 48px); }
  .piso__grid { grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 40px; }
  .piso__bottom { grid-template-columns: 1fr; gap: 20px; }
  .piso__foto { aspect-ratio: 16/9; }
  .piso__locais, .piso__tipos { padding: 28px 22px; }
}

@media (max-width: 480px) {
  .piso__grid { grid-template-columns: 1fr; }
  .piso__card { padding: 22px 18px; text-align: left; display: flex; gap: 16px; align-items: flex-start; }
  .piso__card-icon { margin: 0; flex-shrink: 0; }
  .piso__intro { font-size: 15px; }
}