/*
 * Direção visual: Fluxo Essencial — Modernismo brasileiro funcional. Azul Chama
 * organiza confiança e profundidade; laranja energético conduz ação e ofertas.
 * Convertido para CSS puro (HTML/PHP/JS/CSS, sem Tailwind/React).
 */

:root {
  color-scheme: light;
  --blue-chama: #1668b0;
  --blue-deep: #0d3f66;
  --blue-ink: #072a45;
  --accent-flow: #8fd13f;
  --accent-soft: #16331f;
  --mineral: #f7f4ee;
  --paper: #fffdfa;
  --ink: #162d3d;
  --muted-ink: #60717b;
  --line: #dce3e2;
  --cyan-flow: #1fc7d4;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --radius: 1.25rem;
  --background: var(--paper);
  --foreground: var(--ink);
  --card: #ffffff;
  --card-foreground: var(--ink);
  --popover: #ffffff;
  --popover-foreground: var(--ink);
  --primary: var(--blue-chama);
  --primary-foreground: #ffffff;
  --secondary: var(--mineral);
  --secondary-foreground: var(--ink);
  --muted: #eef1ef;
  --muted-foreground: var(--muted-ink);
  --accent: var(--accent-soft);
  --accent-foreground: var(--blue-deep);
  --destructive: #e5484d;
  --destructive-foreground: #ffffff;
  --border: var(--line);
  --input: var(--line);
  --ring: var(--accent-flow);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--foreground); font-family: "Manrope", sans-serif; overflow-x: hidden; }
a, button { -webkit-tap-highlight-color: transparent; }
button:not(:disabled), a[href] { cursor: pointer; }
::selection { background: var(--accent-flow); color: #fff; }
img { max-width: 100%; }

/* Animação de revelação ao rolar a página (substitui o framer-motion do React) */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity 500ms var(--ease-out), transform 500ms var(--ease-out); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal.reveal-left { transform: translateX(-56px); transition: opacity 650ms var(--ease-out), transform 650ms var(--ease-out); }
.reveal.reveal-right { transform: translateX(56px); transition: opacity 650ms var(--ease-out), transform 650ms var(--ease-out); }
.reveal.reveal-left.is-visible, .reveal.reveal-right.is-visible { transform: translateX(0); }
.hero-copy { opacity: 0; transform: translateX(-72px); animation: heroRevealLeft 750ms var(--ease-out) forwards; }
.hero-status { opacity: 0; transform: translateY(22px); animation: heroReveal 620ms var(--ease-out) forwards; animation-delay: 220ms; }
@keyframes heroReveal { to { opacity: 1; transform: translateY(0); } }
@keyframes heroRevealLeft { to { opacity: 1; transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) {
  .reveal, .hero-copy, .hero-status, .team-slot--deal { opacity: 1; transform: none; animation: none; transition: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

.site-shell { overflow: hidden; background: var(--paper); }
.site-header { position: fixed; inset: 0 0 auto; z-index: 40; color: white; transition: background 220ms var(--ease-out), color 220ms var(--ease-out), box-shadow 220ms var(--ease-out); }
.site-header--scrolled { color: var(--ink); background: rgba(255, 253, 250, 0.94); backdrop-filter: blur(14px); box-shadow: 0 1px 0 rgba(0, 59, 92, 0.09); }
.site-header__inner { width: min(1380px, calc(100% - 40px)); margin: auto; height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand-signature { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; color: inherit; text-decoration: none; }
.brand-signature img { display: block; object-fit: contain; }
.brand-signature__icon { height: 48px; width: 48px; }
.site-header .brand-signature__icon { height: 54px; width: 54px; }
.brand-words { display: grid; gap: 4px; font-family: "Sora", sans-serif; line-height: 1; letter-spacing: -0.055em; }
.brand-words strong { font-size: 1.4rem; font-weight: 800; }
.brand-words small { font-size: 0.58rem; font-weight: 800; letter-spacing: 0.20em; color: var(--accent-flow); }
.desktop-nav { display: flex; align-items: center; gap: clamp(18px, 2.3vw, 36px); margin-left: auto; }
.nav-link { color: inherit; text-decoration: none; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.025em; transition: color 160ms var(--ease-out); }
.nav-link:hover { color: var(--accent-flow); }
.header-actions { display: flex; align-items: center; gap: 11px; }
.header-phones { display: flex; align-items: center; }
.header-phone, .header-whatsapp { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; font-size: 0.72rem; font-weight: 800; white-space: nowrap; }
.header-phone { color: inherit; padding: 0 8px; }
.header-phones .header-phone + .header-phone { padding-left: 8px; border-left: 1px solid var(--line); }
.header-whatsapp { color: var(--blue-deep); padding: 12px 16px; background: var(--cyan-flow); border-radius: 999px; transition: transform 160ms var(--ease-out), background 160ms var(--ease-out); }
.header-whatsapp:hover { background: #5ef363; transform: translateY(-1px); }
.menu-button { display: none; color: inherit; width: 42px; height: 42px; border: 1px solid currentColor; border-radius: 50%; background: transparent; align-items: center; justify-content: center; }
.mobile-nav { display: none; position: absolute; top: 82px; left: 16px; right: 16px; padding: 12px; color: var(--blue-ink); background: rgba(255,253,250,.98); box-shadow: 0 22px 42px rgba(0,32,50,.15); border-radius: 3px 3px 18px 18px; z-index: 39; }
.mobile-nav.is-open { display: block; }
.mobile-nav nav { display: grid; gap: 2px; }
.mobile-nav a { padding: 14px 13px; color: var(--blue-ink); border-radius: 8px; text-decoration: none; font-size: .82rem; font-weight: 800; }
.mobile-nav a:hover { background: var(--accent-soft); }
.mobile-nav .mobile-order { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 5px; color: var(--blue-deep); background: var(--cyan-flow); }

.hero-section { min-height: 774px; color: #fff; position: relative; background: var(--blue-deep); overflow: hidden; }
.hero-section__image { position: absolute; inset: 0; background-image: url("../img/hall.png"); background-size: cover; background-position: center 43%; opacity: 1; }
.hero-section__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 25, 43, 0.94) 0%, rgba(0, 35, 57, 0.84) 39%, rgba(0, 35, 54, 0.42) 72%, rgba(0, 35, 54, 0.28) 100%); }
.hero-flow { position: absolute; border: 1px solid rgba(255, 255, 255, 0.17); border-left-color: transparent; border-radius: 50%; transform: rotate(-32deg); pointer-events: none; }
.hero-flow--one { width: 760px; height: 300px; right: -180px; bottom: 86px; }
.hero-flow--two { width: 540px; height: 230px; left: -360px; top: 182px; border-color: rgba(0, 59, 92, 0.74); border-right-color: transparent; }
.hero-layout { position: relative; z-index: 1; width: min(1280px, calc(100% - 48px)); margin: auto; min-height: 690px; padding: 174px 0 112px; display: flex; align-items: center; justify-content: space-between; gap: 66px; }
.hero-copy { max-width: 680px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 0.70rem; font-weight: 800; letter-spacing: 0.13em; }
.eyebrow span { display: inline-block; width: 25px; height: 2px; background: var(--accent-flow); }
.eyebrow--light { color: rgba(255,255,255,0.79); }
.eyebrow--dark { color: var(--blue-chama); }
.hero-copy h1, .intro-section h2, .service-section h2, .products-section h2, .accessories-section h2, .promotions-section h2, .confidence-section h2, .team-teaser h2, .contact-section h2, .about-hero h1, .about-story h2, .values-section h2, .team-page-section h2, .about-cta h2 { font-family: "Sora", sans-serif; letter-spacing: -0.064em; font-weight: 700; }
.hero-copy h1 { font-size: clamp(3rem, 5.7vw, 5.8rem); max-width: 720px; line-height: 0.98; margin: 22px 0 24px; }
h1 em, h2 em { font-style: normal; color: var(--accent-flow); }
.hero-copy h1 em { color: #fff; background: linear-gradient(120deg, var(--accent-flow) 0%, var(--cyan-flow) 100%); padding: 0.04em 0.16em; border-radius: 0.18em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.hero-copy .eyebrow span { background: #fff; }
.hero-copy .button--orange { box-shadow: 0 14px 32px rgba(143, 209, 63, 0.32); }
.hero-copy .button--orange:hover { background: #7ab933; }
.hero-lead { color: rgba(255,255,255,0.75); max-width: 540px; font-size: 1.04rem; line-height: 1.75; }
.hero-actions, .contact-buttons, .about-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.promo-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 8px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 51px; padding: 0 19px; font-size: 0.78rem; font-weight: 800; text-decoration: none; border: 1px solid transparent; border-radius: 999px; transition: transform 160ms var(--ease-out), background 160ms var(--ease-out), color 160ms var(--ease-out), border-color 160ms var(--ease-out); }
.button:hover { transform: translateY(-2px); }
.button:active { transform: scale(0.97); }
.button--orange { background: var(--accent-flow); color: #fff; box-shadow: 0 12px 28px rgba(143, 209, 63, 0.24); }
.button--orange:hover { background: #7ab933; }
.button--ghost { color: #fff; border-color: rgba(255,255,255,0.36); background: rgba(255,255,255,0.04); }
.button--ghost:hover { border-color: #fff; background: rgba(255,255,255,0.12); }
.button--outline-light { color: #fff; border-color: rgba(255,255,255,0.45); }
.button--outline-light:hover { color: var(--blue-deep); background: #fff; }
.button--outline-dark { color: var(--blue-chama); border-color: var(--blue-chama); }
.button--outline-dark:hover { color: #fff; background: var(--blue-chama); }
.button--wide { width: 100%; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 37px; color: rgba(255,255,255,0.7); font-size: 0.75rem; font-weight: 700; }
.hero-proof span { display: inline-flex; align-items: center; gap: 7px; }
.hero-proof svg { color: #fff; }
.hero-status { width: 310px; display: flex; align-items: center; gap: 13px; padding: 16px 18px; color: var(--blue-ink); background: rgba(255, 253, 250, 0.96); border-radius: 3px 22px 22px 22px; box-shadow: 0 19px 50px rgba(0,0,0,0.22); }
.hero-status p { margin: 0 0 5px; color: #677982; font-size: 0.55rem; font-weight: 800; letter-spacing: 0.12em; }
.hero-status strong { display: block; font-size: 0.77rem; line-height: 1.35; }
.hero-status > svg { margin-left: auto; color: var(--blue-deep); flex: 0 0 auto; }
.status-orb { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #e4f1f0; color: var(--blue-deep); flex: 0 0 auto; }
.hero-strip { position: absolute; inset: auto 0 0; z-index: 1; min-height: 84px; padding: 0 max(24px, calc((100vw - 1280px) / 2)); display: flex; align-items: center; gap: 0; background: rgba(0, 30, 48, 0.7); border-top: 1px solid rgba(255,255,255,0.15); backdrop-filter: blur(8px); }
.hero-strip span { flex: 1; padding: 0 27px; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.055em; color: rgba(255,255,255,0.65); border-right: 1px solid rgba(255,255,255,0.14); }
.hero-strip span:first-child { padding-left: 0; color: #fff; }
.hero-strip span:last-child { border: 0; }

.intro-section { width: min(1220px, calc(100% - 48px)); margin: auto; padding: 132px 0 122px; display: grid; grid-template-columns: 1fr 2.4fr; gap: 80px; }
.section-index { color: #72818a; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em; margin: 9px 0 0; }
.intro-section__index { display: flex; flex-direction: column; }
.intro-section__content { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(230px, .8fr); gap: 64px; align-items: end; }

/* Contagem regressiva tecnológica — "Seu tempo importa" */
.intro-clock { margin-top: 44px; width: 168px; }
.intro-clock__frame { position: relative; width: 168px; height: 168px; border-radius: 20px; background: linear-gradient(155deg, var(--blue-ink), var(--blue-deep)); box-shadow: 0 20px 44px -24px rgba(7,42,69,.6), inset 0 0 0 1px rgba(255,255,255,.05); overflow: hidden; isolation: isolate; }
.intro-clock__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(143,209,63,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(143,209,63,.09) 1px, transparent 1px); background-size: 14px 14px; }
.intro-clock__corner { position: absolute; width: 13px; height: 13px; border: 2px solid var(--accent-flow); opacity: .8; z-index: 2; }
.intro-clock__corner--tl { top: 8px; left: 8px; border-right: 0; border-bottom: 0; }
.intro-clock__corner--tr { top: 8px; right: 8px; border-left: 0; border-bottom: 0; }
.intro-clock__corner--bl { bottom: 8px; left: 8px; border-right: 0; border-top: 0; }
.intro-clock__corner--br { bottom: 8px; right: 8px; border-left: 0; border-top: 0; }
.intro-clock__ring { position: relative; z-index: 1; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.intro-clock__progress { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-90deg); }
.intro-clock__track { fill: none; stroke: rgba(255,255,255,.09); stroke-width: 4; }
.intro-clock__bar { fill: none; stroke: var(--accent-flow); stroke-width: 4; stroke-linecap: round; transition: stroke-dashoffset 1s linear; filter: drop-shadow(0 0 7px rgba(143,209,63,.6)); }
.intro-clock__digits { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.intro-clock__eyebrow { font-size: .5rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.intro-clock__number { font-family: "Sora", sans-serif; font-variant-numeric: tabular-nums; font-size: 2.5rem; font-weight: 700; color: #fff; text-shadow: 0 0 18px rgba(143,209,63,.55); line-height: 1; }
.intro-clock__caption { font-size: .58rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.intro-clock__popup { position: absolute; inset: 0; z-index: 3; display: flex; align-items: center; justify-content: center; text-align: center; padding: 16px; background: linear-gradient(155deg, var(--blue-chama), var(--blue-deep)); opacity: 0; transform: scale(.4); pointer-events: none; transition: opacity 260ms var(--ease-out), transform 260ms var(--ease-out); }
.intro-clock__popup strong { font-family: "Sora", sans-serif; font-size: 1.14rem; line-height: 1.22; font-weight: 700; color: #fff; letter-spacing: -.02em; display: block; }
.intro-clock__popup em { display: block; font-style: normal; color: var(--accent-flow); }
.intro-clock__popup.is-active { opacity: 1; transform: scale(1); pointer-events: auto; }
.intro-clock__popup.is-active strong { animation: introClockPulse 1.3s ease-in-out infinite; }
@keyframes introClockPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.16); }
}
.intro-clock__label { margin: 14px 0 0; font-size: .68rem; font-weight: 700; color: var(--muted-ink); letter-spacing: .01em; }
@media (max-width: 680px) { .intro-clock, .intro-clock__frame { width: 148px; } .intro-clock__frame { height: 148px; } }
.intro-section h2, .service-section h2, .products-section h2, .accessories-section h2, .confidence-section h2, .contact-section h2, .values-section h2 { font-size: clamp(2.2rem, 3.7vw, 4rem); line-height: 1.06; margin: 0; color: var(--blue-ink); }
.intro-section h2 em, .service-section h2 em, .products-section h2 em, .accessories-section h2 em, .confidence-section h2 em, .contact-section h2 em, .values-section h2 em, .about-story h2 em { color: var(--accent-flow); }
.intro-section__text p { margin: 0; color: var(--muted-ink); line-height: 1.75; font-size: 0.93rem; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--blue-chama); font-size: 0.77rem; font-weight: 800; text-decoration: none; margin-top: 27px; transition: color 160ms var(--ease-out), gap 160ms var(--ease-out); }
.text-link:hover { color: var(--accent-flow); gap: 12px; }

.service-section { padding: 112px max(24px, calc((100vw - 1280px) / 2)); background: var(--mineral); }
.service-section__heading, .products-section__top { display: flex; align-items: end; justify-content: space-between; gap: 32px; max-width: 1280px; margin: auto; }
.service-section h2 { max-width: 650px; margin-top: 15px; }
.service-section__heading > p, .products-section__top > p { max-width: 265px; color: var(--muted-ink); font-size: 0.84rem; line-height: 1.7; margin: 0 0 8px; }
.service-rails { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 1280px; margin: 54px auto 0; }
.service-card { position: relative; min-height: 355px; padding: 37px 37px 34px; overflow: hidden; transition: transform 210ms var(--ease-out); }
.service-card:hover { transform: translateY(-5px); }
.service-card--gas { color: #fff; background: var(--blue-chama); border-radius: 3px 40px 3px 3px; }
.service-card--water { color: var(--blue-ink); background: #fff; border-radius: 40px 3px 3px 3px; }
.service-card::after { content: ""; width: 310px; height: 170px; position: absolute; right: -85px; bottom: -78px; border: 1px solid currentColor; border-radius: 50%; opacity: 0.18; transform: rotate(-24deg); }
.service-card__icon { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; }
.service-card--gas .service-card__icon { color: var(--cyan-flow); background: rgba(255,255,255,0.1); }
.service-card--water .service-card__icon { color: var(--accent-flow); background: var(--accent-soft); }
.service-card__number { position: absolute; top: 40px; right: 38px; font-family: "Sora", sans-serif; font-size: 0.72rem; font-weight: 800; opacity: 0.43; letter-spacing: .1em; }
.service-card h3 { position: relative; margin: 68px 0 11px; font-family: "Sora", sans-serif; font-size: 1.58rem; letter-spacing: -0.045em; }
.service-card p { position: relative; max-width: 380px; margin: 0; font-size: 0.91rem; line-height: 1.7; opacity: 0.72; }
.service-card a { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; margin-top: 30px; color: inherit; font-size: 0.78rem; font-weight: 800; text-decoration: none; transition: gap 160ms var(--ease-out); }
.service-card a:hover { gap: 12px; }

.products-section { padding: 130px max(24px, calc((100vw - 1280px) / 2)); background: var(--paper); }
.products-section h2 { max-width: 620px; margin-top: 16px; }
.product-list { max-width: 1280px; margin: 61px auto 0; border-top: 1px solid var(--line); }
.product-row { position: relative; display: grid; grid-template-columns: 100px 156px minmax(0,1fr) 100px; align-items: center; gap: 28px; min-height: 188px; padding: 22px 20px; border-bottom: 1px solid var(--line); transition: background 180ms var(--ease-out), transform 180ms var(--ease-out); }
.product-row:hover { background: #f8faf9; transform: translateX(4px); }
.product-row--featured { background: linear-gradient(90deg, #eef8e2 0%, rgba(238,248,226,0.45) 60%, transparent 100%); }
.product-code { display: grid; gap: 4px; align-content: center; }
.product-code strong { color: var(--blue-chama); font-family: "Sora", sans-serif; font-size: 2.3rem; letter-spacing: -0.08em; }
.product-code span { color: #7a888e; font-size: 0.72rem; font-weight: 700; }
.product-image-wrap { height: 138px; display: grid; place-items: center; }
.product-image-wrap img { max-height: 134px; max-width: 135px; object-fit: contain; filter: drop-shadow(0 14px 10px rgba(0,35,55,0.15)); transition: transform 200ms var(--ease-out); }
.product-row:hover .product-image-wrap img { transform: translateY(-5px) rotate(-1deg); }
.product-title-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.product-title-row h3 { font-family: "Sora", sans-serif; color: var(--blue-ink); font-size: 1.15rem; letter-spacing: -0.04em; margin: 0; }
.popular-tag { display: inline-flex; align-items: center; gap: 4px; color: var(--blue-chama); background: var(--cyan-flow); padding: 5px 9px; border-radius: 999px; font-size: 0.6rem; font-weight: 800; }
.popular-tag--comodato { color: #fff; background: var(--blue-chama); }
.popular-tag--industrial { color: #fff; background: var(--muted-ink); }
.product-note--warning { background: #fdecea; border-color: #f3b8b0; color: #9c2c1f; }
.product-note--warning svg { color: #c0392b; }
.product-note--warning strong { color: #8a2417; }
.product-copy p { max-width: 495px; margin: 7px 0 7px; color: var(--muted-ink); font-size: 0.83rem; line-height: 1.55; }
.product-copy small { color: #7d8b90; font-size: 0.65rem; font-weight: 700; }
.product-note { display: flex; align-items: flex-start; gap: 6px; max-width: 495px; margin-top: 9px; padding: 8px 10px; border-radius: 10px; background: #fdf3e2; border: 1px solid #f0d9a8; font-size: 0.72rem; line-height: 1.45; color: #8a5b12; }
.product-note svg { flex-shrink: 0; margin-top: 1px; color: #c8860a; }
.product-note strong { color: #7a4d0a; font-weight: 800; }

.info-badge { position: absolute; top: 16px; right: 16px; z-index: 5; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--blue-chama); color: #fff; font-family: "Sora", sans-serif; font-size: 0.76rem; font-weight: 800; line-height: 1; cursor: pointer; animation: infoBadgeBlink 1.7s ease-in-out infinite; }
.info-badge:hover, .info-badge:focus-visible, .info-badge.is-open { animation-play-state: paused; opacity: 1; box-shadow: 0 0 0 5px rgba(22,104,176,.16); }
@keyframes infoBadgeBlink {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(22,104,176,.4); }
  50% { opacity: .5; box-shadow: 0 0 0 6px rgba(22,104,176,0); }
}
/* variante de alerta do badge informativo (usada no P20 - empilhadeiras) */
.info-badge--warning { background: #c0392b; }
.info-badge--warning:hover, .info-badge--warning:focus-visible, .info-badge--warning.is-open { background: #c0392b; box-shadow: 0 0 0 5px rgba(192,57,43,.18); }
.info-tooltip { position: absolute; top: 46px; right: 16px; z-index: 6; width: 222px; max-width: calc(100vw - 56px); padding: 12px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line); box-shadow: 0 18px 40px -18px rgba(7,42,69,.4); font-size: 0.71rem; line-height: 1.5; color: var(--muted-ink); text-align: left; opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity 180ms var(--ease-out), transform 180ms var(--ease-out); }
.info-tooltip strong { color: var(--blue-ink); }
.info-badge:hover + .info-tooltip,
.info-badge:focus-visible + .info-tooltip,
.info-tooltip.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
.product-code__sep { margin: 0 2px; opacity: .4; font-weight: 400; }
.product-image-wrap--combo { display: flex; align-items: center; justify-content: center; gap: 6px; }
.product-image-wrap--combo img { max-height: 108px; max-width: 78px; }
.product-cta-group { display: flex; flex-direction: column; gap: 10px; align-items: flex-end; flex-shrink: 0; }
.product-cta--ghost { background: #fff; color: var(--blue-chama); border: 2px solid var(--blue-chama); }
.product-row:hover .product-cta--ghost { background: var(--blue-chama); color: #fff; }
.product-cta { width: 62px; height: 62px; display: flex; align-items: center; justify-content: center; gap: 0; color: #fff; background: var(--blue-chama); border-radius: 50%; text-decoration: none; overflow: hidden; transition: width 200ms var(--ease-out), border-radius 200ms var(--ease-out), background 180ms var(--ease-out); flex-shrink: 0; }
.product-cta span { display: none; white-space: nowrap; font-size: .78rem; font-weight: 800; margin-left: 2px; }
.product-row:hover .product-cta { width: 108px; border-radius: 999px; background: var(--accent-flow); gap: 8px; justify-content: flex-start; padding-left: 16px; }
.product-row:hover .product-cta span { display: inline; }

/* Variante água: mesma estrutura dos botijões, com sotaque em ciano */
.products-section--water { background: #f2fbfc; }
.products-section--water::before { background: linear-gradient(var(--cyan-flow) 0 14%, transparent 14% 27%, var(--cyan-flow) 27% 42%, transparent 42% 55%, var(--cyan-flow) 55% 69%, transparent 69%); }

@media (min-width: 681px) {
  .product-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(255px, 1fr)); align-items:stretch; gap:18px; border-top:0; }
  .product-row {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-items:center;
    text-align:center;
    gap:12px;
    min-height:0;
    height:100%;
    padding:28px 22px 24px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
  }
  .product-row--featured { background:linear-gradient(180deg, #eef8e2 0%, rgba(238,248,226,0.35) 70%, #fff 100%); }
  .product-row:hover { transform:translateY(-4px); background:#f8faf9; }
  .product-row--featured:hover { background:linear-gradient(180deg, #eef8e2 0%, rgba(238,248,226,0.45) 70%, #fdfdfd 100%); }
  .product-image-wrap { flex-shrink:0; }
  .product-code { justify-items:center; }
  .product-copy { display:flex; flex-direction:column; align-items:center; width:100%; flex:1 0 auto; }
  .product-title-row { justify-content:center; }
  .product-cta { width:100%; height:46px; border-radius:999px; justify-content:center; gap:8px; padding:0; margin-top:auto; flex-shrink:0; }
  .product-cta span { display:inline; }
  .product-row:hover .product-cta { width:100%; }
  .product-cta-group { width:100%; display:flex; flex-direction:column; align-items:stretch; gap:8px; margin-top:auto; flex-shrink:0; }
  .product-cta-group .product-cta { width:100%; }
}

.product-row--water .product-code strong { color: var(--cyan-flow); }
.product-row--water:hover { background: #eafafb; }
.product-row--water.product-row--featured { background: linear-gradient(90deg, #dff5f7 0%, rgba(223,245,247,0.45) 60%, transparent 100%); }
.popular-tag--water { color: var(--blue-deep); background: var(--accent-flow); }
.product-cta--water { background: var(--cyan-flow); color: var(--blue-deep); }
.product-row--water:hover .product-cta--water { background: var(--blue-chama); color: #fff; }

.accessories-section { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.92fr); align-items: center; background: var(--mineral); }
.accessories-section__copy { padding: 116px clamp(24px, 6vw, 48px) 116px max(24px, calc((100vw - 1280px) / 2)); }
.accessories-section__copy h2 { max-width: 560px; margin: 16px 0 18px; }
.accessories-lead { max-width: 480px; margin: 0; color: var(--muted-ink); font-size: .91rem; line-height: 1.75; }
.accessories-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 22px; max-width: 500px; padding: 0; margin: 30px 0 34px; list-style: none; }
.accessories-checklist li { display: flex; align-items: center; gap: 11px; color: #37505c; font-size: .84rem; font-weight: 700; }
.accessories-checklist li span { width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--accent-flow); border-radius: 50%; }
.accessories-section__visual { position: relative; padding: 56px clamp(24px, 6vw, 72px) 56px 0; display: flex; justify-content: center; }
.accessories-section__visual::before { content: ""; position: absolute; z-index: 0; width: 420px; height: 420px; right: 12%; top: 50%; transform: translateY(-50%) rotate(-18deg); border: 1px dashed rgba(0, 59, 92, .18); border-radius: 50%; pointer-events: none; }
.accessories-panel { position: relative; z-index: 1; width: min(410px, 100%); padding: 32px; background: #fff; border-radius: 4px 44px 4px 44px; box-shadow: 0 30px 60px rgba(0, 35, 55, .12); }
.accessories-panel img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 22px rgba(0, 35, 55, .16)); }
.accessories-tag { position: absolute; z-index: 2; left: clamp(6px, 4vw, 26px); bottom: 20px; display: grid; gap: 3px; padding: 14px 18px; color: #fff; background: var(--blue-chama); border-radius: 18px 3px 18px 3px; box-shadow: 0 14px 28px rgba(0, 59, 92, .28); }
.accessories-tag span { color: var(--cyan-flow); font-size: .56rem; font-weight: 800; letter-spacing: .13em; }
.accessories-tag strong { font-family: "Sora", sans-serif; font-size: .9rem; letter-spacing: -.03em; }

.accessories-brand { position: absolute; z-index: 2; right: clamp(6px, 4vw, 26px); top: 20px; display: flex; align-items: center; gap: 10px; padding: 8px 16px 8px 8px; background: #fff; border: 1px solid var(--line); border-radius: 3px 18px 3px 18px; box-shadow: 0 14px 28px rgba(0, 59, 92, .14); }
.accessories-brand img { width: 40px; height: auto; display: block; flex: 0 0 auto; }
.accessories-brand span { max-width: 112px; color: var(--blue-ink); font-size: .6rem; font-weight: 700; line-height: 1.3; }

.promotions-section { position: relative; min-height: 790px; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(330px,.88fr); grid-template-rows: 1fr auto; overflow: hidden; color: #fff; background: var(--blue-deep); }
.promotions-section__art { position: absolute; inset: 0 0 0 52%; overflow: hidden; }
.promotions-section__art::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, var(--blue-deep) 0%, rgba(0,41,66,.68) 33%, rgba(0,41,66,.08) 85%); }
.promotions-section__art img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.promotions-section__content { position: relative; z-index: 1; max-width: 610px; padding: 126px max(24px, calc((100vw - 1280px) / 2)); padding-right: 56px; align-self: center; }
.promotions-section h2 { font-size: clamp(2.45rem, 4.3vw, 4.65rem); line-height: 1.02; margin: 18px 0 23px; }
.promotions-lead { max-width: 480px; color: rgba(255,255,255,.7); font-size: .93rem; line-height: 1.75; }
.promo-condition { max-width: 453px; display: flex; align-items: start; gap: 10px; padding: 13px 0 13px 15px; margin: 24px 0 27px; color: rgba(255,255,255,.78); border-left: 2px solid var(--accent-flow); font-size: .7rem; font-weight: 700; line-height: 1.5; }
.promo-condition svg { flex: 0 0 auto; color: var(--cyan-flow); }

.promo-perks { display: flex; flex-direction: column; gap: 14px; max-width: 480px; margin: 0 0 30px; }
.promo-perk { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 16px; backdrop-filter: blur(10px); }
.promo-perk__icon { flex: 0 0 auto; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); color: var(--cyan-flow); }
.promo-perk__text { min-width: 0; }
.promo-perk__text strong { position: relative; display: flex; align-items: center; gap: 8px; color: #fff; font-family: "Sora", sans-serif; font-size: .82rem; font-weight: 700; }
.promo-perk__text p { margin: 6px 0 0; color: rgba(255,255,255,.72); font-size: .74rem; line-height: 1.55; }
.promo-perk__info { flex: 0 0 auto; width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.55); background: transparent; color: rgba(255,255,255,.85); font-family: "Sora", sans-serif; font-size: .62rem; font-weight: 800; font-style: italic; line-height: 1; cursor: pointer; padding: 0; }
.promo-perk__info:hover, .promo-perk__info[aria-expanded="true"] { background: var(--cyan-flow); border-color: var(--cyan-flow); color: var(--blue-deep); }
.promo-perk__popover { position: absolute; z-index: 5; top: calc(100% + 10px); left: 0; width: 270px; padding: 13px 15px; background: #fff; color: var(--blue-deep); border-radius: 12px; box-shadow: 0 14px 34px rgba(0,0,0,.28); font-size: .68rem; font-weight: 500; line-height: 1.55; }
.promo-perk__popover::before { content: ""; position: absolute; bottom: 100%; left: 14px; border: 6px solid transparent; border-bottom-color: #fff; }
.promo-perk__popover[hidden] { display: none; }
.how-it-works { position: relative; z-index: 1; grid-column: 1 / -1; display: grid; grid-template-columns: minmax(175px,1fr) minmax(0,3fr); align-items: center; padding: 29px max(24px, calc((100vw - 1280px) / 2)); background: rgba(0,0,0,.18); border-top: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(10px); }
.how-it-works > p { margin: 0; color: var(--cyan-flow); font-size: .67rem; font-weight: 800; letter-spacing: .13em; }
.how-it-works ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; padding: 0; margin: 0; list-style: none; }
.how-it-works li { display: flex; align-items: center; gap: 12px; }
.how-it-works li > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: var(--accent-flow); font-family: "Sora", sans-serif; font-size: .68rem; font-weight: 800; }
.how-it-works strong, .how-it-works small { display: block; }
.how-it-works strong { color: #fff; font-size: .72rem; }
.how-it-works small { margin-top: 3px; color: rgba(255,255,255,.55); font-size: .62rem; line-height: 1.3; }

.confidence-section { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: 640px; background: #eef1ed; }
.confidence-section__image { position: relative; min-height: 500px; overflow: hidden; }
.confidence-section__image::after { content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(0,35,55,.3), transparent 55%); }
.confidence-section__image > img { width: 100%; height: 100%; object-fit: cover; }
.location-stamp { position: absolute; z-index: 4; left: clamp(24px, 5vw, 80px); bottom: 50px; display: flex; align-items: center; gap: 10px; color: #fff; font-size: .72rem; line-height: 1.4; }
.location-stamp svg { color: var(--cyan-flow); }.location-stamp strong { font-size: .82rem; }

.confidence-gallery__track { position: relative; width: 100%; height: 100%; }
.confidence-gallery__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .9s ease; }
.confidence-gallery__slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.confidence-gallery__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.confidence-gallery__nav { position: absolute; top: 50%; z-index: 3; transform: translateY(-50%); width: 42px; height: 42px; padding: 0; border: none; border-radius: 50%; background: rgba(255,255,255,.85); color: var(--blue-ink); display: grid; place-items: center; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.confidence-gallery__nav:hover { background: #fff; transform: translateY(-50%) scale(1.07); }
.confidence-gallery__nav--prev { left: 16px; }
.confidence-gallery__nav--next { right: 16px; }
.confidence-gallery__dots { position: absolute; z-index: 3; left: 50%; bottom: 18px; transform: translateX(-50%); display: flex; gap: 8px; }
.confidence-gallery__dots button { width: 8px; height: 8px; padding: 0; border: none; border-radius: 50%; background: rgba(255,255,255,.5); cursor: pointer; transition: background .2s ease, width .2s ease; }
.confidence-gallery__dots button.is-active { width: 22px; border-radius: 4px; background: #fff; }
.confidence-section__content { max-width: 600px; padding: 118px clamp(28px, 7vw, 115px); }
.confidence-section__content h2 { margin-top: 15px; }
.confidence-section__content ul { display: grid; gap: 16px; padding: 0; margin: 31px 0 0; list-style:none; }
.confidence-section__content li { display:flex; align-items:center; gap: 12px; color: #455b67; font-size:.83rem; font-weight:700; }
.confidence-section__content li span { width: 25px; height: 25px; display:grid; place-items:center; flex:0 0 auto; color: var(--blue-chama); background: #dcebe2; border-radius: 50%; }

.team-teaser { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); color:#fff; background: var(--blue-chama); }
.team-teaser__copy { padding: 103px clamp(24px, 7vw, 112px); }
.team-teaser h2 { max-width: 530px; margin: 17px 0 20px; font-size: clamp(2.3rem,3.85vw,4.1rem); line-height:1.05; }
.team-teaser p:not(.eyebrow) { max-width: 480px; margin: 0; color: rgba(255,255,255,.7); font-size:.91rem; line-height:1.75; }
.team-teaser .button { margin-top:31px; }
.team-teaser__image { min-height: 535px; position:relative; overflow:hidden; }
.team-teaser__image::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, var(--blue-chama) 0%, rgba(0,59,92,.16) 35%, rgba(0,59,92,.07)); }
.team-teaser__image img { width:100%; height:100%; object-fit:cover; }
.team-teaser__tag { position:absolute; z-index:1; right: clamp(24px,6vw,96px); bottom: 45px; display:grid; gap:4px; min-width: 190px; padding: 17px 20px; background: var(--accent-flow); border-radius: 22px 3px 22px 3px; }
.team-teaser__tag span { font-size:.58rem; font-weight:800; letter-spacing:.14em; }.team-teaser__tag strong { font-family:"Sora",sans-serif; font-size:1.05rem; letter-spacing:-.04em; }

.contact-section { width:min(1280px, calc(100% - 48px)); margin:auto; padding: 128px 0; display:grid; grid-template-columns: minmax(0,1fr) minmax(320px,.7fr); gap: 92px; align-items:center; }
.contact-section h2 { margin: 16px 0 18px; }.contact-section__left > p:not(.section-index) { max-width:440px; margin:0; color:var(--muted-ink); line-height:1.75; font-size:.9rem; }
.contact-buttons { margin-top: 29px; }.contact-card { padding: 39px; color:#fff; background: var(--blue-deep); border-radius: 4px 42px 4px 4px; box-shadow: 23px 23px 0 var(--accent-soft); }
.contact-card__top { display:flex; align-items:center; gap:11px; color:var(--cyan-flow); font-size:.65rem; font-weight:800; letter-spacing:.11em; }.contact-card address { margin:27px 0 0; font-style:normal; color:rgba(255,255,255,.76); font-size:.9rem; line-height:1.8; }
.contact-card__map { margin: 22px 0; border-radius: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); filter: grayscale(0.15) contrast(1.05); }
.contact-card__map iframe { display: block; }
.contact-card .text-link { color:#fff; }.contact-card .text-link:hover { color:var(--cyan-flow); }.contact-card__note { display:flex; align-items:center; gap:9px; margin-top:28px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.55); font-size:.71rem; }
.text-link--light { color: #fff; }

.floating-whatsapp { position:fixed; z-index:30; right:24px; bottom:24px; width:52px; height:52px; display:flex; align-items:center; justify-content:center; color:#25D366; background:transparent; text-decoration:none; filter: drop-shadow(0 6px 14px rgba(0,0,0,.3)); transition: transform 160ms var(--ease-out); }.floating-whatsapp:hover { transform:translateY(-3px) scale(1.06); }.floating-whatsapp:active { transform:scale(.95); }

.site-footer { position:relative; padding: 0 max(24px, calc((100vw - 1280px) / 2)); color:#fff; background: #001c2e; }.footer-topline { height:5px; margin:0 -200px; background:linear-gradient(90deg, var(--accent-flow) 0 44%, var(--cyan-flow) 44% 60%, var(--blue-chama) 60%); }.footer-content { max-width:1280px; margin:auto; padding: 75px 0 62px; display:grid; grid-template-columns: 1.7fr .6fr 1.1fr; gap: 50px; }.footer-brand .brand-signature { color:#fff; }.footer-brand p { max-width:290px; margin:22px 0 0; color:rgba(255,255,255,.55); font-size:.76rem; line-height:1.7; }.footer-links, .footer-contact { display:grid; align-content:start; gap:11px; }.footer-label { margin:0 0 8px; color:var(--cyan-flow); font-size:.6rem; font-weight:800; letter-spacing:.13em; }.footer-links a, .footer-contact a { display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.72); text-decoration:none; font-size:.74rem; transition:color 150ms var(--ease-out); }.footer-links a:hover, .footer-contact a:hover { color:#fff; }.footer-bottom { max-width:1280px; margin:auto; padding:21px 0 28px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 18px; color:rgba(255,255,255,.35); border-top:1px solid rgba(255,255,255,.12); font-size:.63rem; }

.promo-overlay { position:fixed; inset:0; z-index:70; display:none; place-items:center; padding:20px; background:rgba(0,28,46,.64); backdrop-filter:blur(7px); opacity:0; transition:opacity 200ms var(--ease-out); }
.promo-overlay.is-open { display:grid; opacity:1; }
.promo-modal { transform:translateY(14px) scale(.97); transition:transform 240ms var(--ease-out); }
.promo-overlay.is-open .promo-modal { transform:translateY(0) scale(1); }.promo-modal { position:relative; isolation:isolate; overflow:hidden; width:min(100%, 485px); color:var(--blue-ink); background:var(--paper); border-radius: 4px 34px 4px 34px; box-shadow: 0 35px 90px rgba(0,0,0,.36); }.promo-modal__accent { position:relative; z-index:1; display:flex; align-items:center; gap:8px; padding:18px 26px; color:var(--accent-flow); background:var(--accent-soft); font-size:.62rem; font-weight:800; letter-spacing:.13em; }.promo-modal__body { position:relative; z-index:1; padding: 33px 39px 34px; }.promo-modal__eyebrow { margin:0 0 11px; color:var(--blue-chama); font-size:.67rem; font-weight:800; letter-spacing:.04em; }.promo-modal h2 { max-width:360px; margin:0; font-family:"Sora",sans-serif; font-size:1.68rem; letter-spacing:-.055em; line-height:1.16; }.promo-modal__body > p:not(.promo-modal__eyebrow) { margin:16px 0 24px; max-width:365px; color:var(--muted-ink); font-size:.77rem; line-height:1.65; }.promo-close { position:absolute; z-index:2; top:13px; right:14px; display:grid; place-items:center; width:33px; height:33px; color:var(--blue-ink); border:0; border-radius:50%; background:rgba(255,255,255,.72); transition:transform 150ms var(--ease-out); }.promo-close:hover { transform:rotate(6deg) scale(1.06); }.promo-later { display:block; width:100%; margin-top:15px; color:#6b7a81; border:0; background:transparent; font-size:.72rem; font-weight:700; }.promo-later:hover { color:var(--blue-chama); }.promo-dismiss { display:flex; align-items:center; gap:8px; margin-top:12px; color:#6b7a81; font-size:.7rem; font-weight:600; cursor:pointer; }.promo-dismiss input { width:14px; height:14px; accent-color:var(--blue-chama); cursor:pointer; }.promo-modal__arc { position:absolute; z-index:0; right:-122px; bottom:-132px; width:320px; height:260px; border:34px solid var(--accent-soft); border-radius:50%; transform:rotate(-32deg); }

.about-page { background:var(--paper); }.about-hero { position:relative; min-height: 580px; overflow:hidden; padding: 156px max(24px, calc((100vw - 1120px) / 2)) 89px; color:#fff; background:var(--blue-deep); }.about-hero::after { content:""; position:absolute; width:65vw; height:38vw; right:-26vw; top:8vw; border: 1px solid rgba(255,255,255,.16); border-left:0; border-radius:50%; transform:rotate(-24deg); }.about-hero__line { position:absolute; inset:0; opacity:.6; background:radial-gradient(circle at 75% 33%, rgba(143,209,63,.5) 0 2px, transparent 3px), linear-gradient(128deg, transparent 37%, rgba(143,209,63,.65) 37.1% 37.5%, transparent 37.6%); background-size: 19px 19px, 100% 100%; }.about-hero > *:not(.about-hero__line) { position:relative; z-index:1; }.back-link { display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.66); text-decoration:none; font-size:.72rem; font-weight:800; }.back-link:hover { color:var(--cyan-flow); }.about-hero .eyebrow { margin-top:83px; }.about-hero h1 { max-width:780px; margin:18px 0 20px; font-size:clamp(3rem,5.4vw,5.6rem); line-height:1; }.about-hero > div:nth-of-type(2) > p:last-child { max-width:535px; margin:0; color:rgba(255,255,255,.7); font-size:.95rem; line-height:1.75; }.about-hero__coordinates { position:absolute !important; right:max(24px, calc((100vw - 1120px) / 2)); bottom:47px; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.58); font-size:.62rem; font-weight:800; letter-spacing:.1em; }.about-hero__coordinates svg { color:var(--cyan-flow); }.about-hero__coordinates span { width:4px; height:4px; border-radius:50%; background:var(--accent-flow); }
.about-page { overflow-x: clip; }
.about-story { width:min(1120px, calc(100% - 48px)); margin:auto; padding: 120px 0 128px; display:grid; grid-template-columns:.7fr 2.3fr; gap:68px; }.about-story h2 { max-width:700px; margin:0; color:var(--blue-ink); font-size:clamp(2.45rem,4.1vw,4.3rem); line-height:1.06; }.about-story__columns { display:grid; grid-template-columns:1fr 1fr; gap:47px; max-width:750px; margin-top:38px; }.about-story__columns p { margin:0; color:var(--muted-ink); font-size:.91rem; line-height:1.8; }
.about-story__marker { position:relative; }
.about-story__marker .section-index { display:inline-flex; align-items:center; gap:10px; margin:0; }
.about-story__marker .section-index span { display:inline-block; width:25px; height:2px; background:var(--accent-flow); }
.about-story__ghost { display:block; margin-top:18px; font-family:"Sora",sans-serif; font-weight:800; font-size:5.4rem; line-height:1; letter-spacing:-0.04em; color:transparent; -webkit-text-stroke:1.4px rgba(13,63,102,.14); background:linear-gradient(180deg, rgba(13,63,102,.1), rgba(13,63,102,0)); -webkit-background-clip:text; background-clip:text; }
.about-story__timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:0; max-width:750px; margin:44px 0 0; padding:26px 0 0; list-style:none; border-top:1px solid var(--line); }
.about-story__timeline li { position:relative; padding:0 24px 0 0; }
.about-story__timeline li::before { content:""; position:absolute; top:-27px; left:0; width:7px; height:7px; border-radius:50%; background:var(--accent-flow); box-shadow:0 0 0 4px rgba(143,209,63,.18); }
.about-story__timeline strong { display:block; color:var(--blue-ink); font-family:"Sora",sans-serif; font-size:1.5rem; letter-spacing:-0.03em; }
.about-story__timeline span { display:block; margin-top:5px; color:var(--muted-ink); font-size:.72rem; line-height:1.5; }
.values-section { padding: 112px max(24px, calc((100vw - 1120px) / 2)) 118px; background:var(--mineral); }.values-section__heading { display:flex; align-items:end; justify-content:space-between; gap:30px; }.values-section__heading h2 { max-width:650px; margin-top:16px; }.values-ribbon { display:grid; grid-template-columns:repeat(3,1fr); margin-top:61px; border-top:1px solid #cfd8d4; }.values-ribbon article { padding:31px 30px 24px 0; border-right:1px solid #cfd8d4; }.values-ribbon article:not(:first-child) { padding-left:30px; }.values-ribbon article:last-child { border:0; }.values-ribbon span { color:var(--accent-flow); font-family:"Sora",sans-serif; font-size:.7rem; font-weight:800; }.values-ribbon h3 { margin:29px 0 9px; color:var(--blue-ink); font-family:"Sora",sans-serif; font-size:1.2rem; letter-spacing:-.04em; }.values-ribbon p { margin:0; color:var(--muted-ink); font-size:.8rem; line-height:1.65; }
.team-page-section { padding: 119px max(24px, calc((100vw - 1120px) / 2)); color:#fff; background:var(--blue-chama); }.team-page-section__intro { display:grid; grid-template-columns:1.35fr .85fr; gap:55px; align-items:end; }.team-page-section h2 { max-width:660px; margin:16px 0 0; font-size:clamp(2.4rem,4.1vw,4.2rem); line-height:1.06; }.team-page-section__intro > p { margin:0 0 5px; color:rgba(255,255,255,.7); font-size:.82rem; line-height:1.74; }.team-slots { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-top:57px; }.team-slot { overflow:hidden; background:rgba(0,0,0,.12); border-radius: 3px 28px 3px 3px; }.team-slot:nth-child(2) { transform:translateY(28px); border-radius:28px 3px 3px 3px; }.team-slot__image { position:relative; min-height:265px; height:265px; display:grid; place-items:center; align-content:center; gap:11px; color:var(--cyan-flow); background:linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.03)); border:1px dashed rgba(255,255,255,.45); }.team-slot__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.team-slot__image span { position:relative; font-size:.58rem; font-weight:800; letter-spacing:.13em; }.team-slot__name { position:absolute; z-index:2; bottom:14px; padding:7px 15px; color:#fff; background:rgba(0,20,34,.72); border-radius:999px; font-family:"Sora", sans-serif; font-size:.82rem; font-weight:700; letter-spacing:.02em; }.team-slot__name--left { left:14px; }.team-slot__name--right { right:14px; }.team-slot__caption { display:grid; gap:5px; padding:18px 20px 21px; }.team-slot__caption span { color:rgba(255,255,255,.5); font-size:.62rem; font-weight:800; letter-spacing:.09em; }.team-slot__caption strong { font-family:"Sora",sans-serif; font-size:.9rem; letter-spacing:-.03em; }.team-tip { display:flex; align-items:center; gap:11px; max-width:680px; margin-top:68px; padding:14px 17px; color:rgba(255,255,255,.75); background:rgba(255,255,255,.07); font-size:.72rem; line-height:1.55; }.team-tip svg { color:var(--accent-flow); flex:0 0 auto; }.team-tip strong { color:#fff; }

.team-slot--deal { opacity:0; }
.team-slot--deal.is-visible { animation: dealCardCenter 800ms cubic-bezier(.32,1.5,.5,1) forwards; }
.team-slots .team-slot--deal.is-visible:nth-child(1) { animation-name: dealCardLeft; animation-delay:0ms; }
.team-slots .team-slot--deal.is-visible:nth-child(2) { animation-name: dealCardCenter; animation-delay:120ms; }
.team-slots .team-slot--deal.is-visible:nth-child(3) { animation-name: dealCardRight; animation-delay:240ms; }
@keyframes dealCardLeft { from { opacity:0; transform: translate(-70px,-110px) rotate(-18deg) scale(.82); } to { opacity:1; transform: translateY(0) rotate(0deg) scale(1); } }
@keyframes dealCardCenter { from { opacity:0; transform: translate(0,-165px) rotate(3deg) scale(.82); } to { opacity:1; transform: translateY(28px) rotate(0deg) scale(1); } }
@keyframes dealCardRight { from { opacity:0; transform: translate(70px,-110px) rotate(18deg) scale(.82); } to { opacity:1; transform: translateY(0) rotate(0deg) scale(1); } }
@keyframes dealCardLeftMobile { from { opacity:0; transform: translate(-30px,-70px) rotate(-10deg) scale(.86); } to { opacity:1; transform: translateY(0) rotate(0deg) scale(1); } }
@keyframes dealCardCenterMobile { from { opacity:0; transform: translate(0,-90px) rotate(2deg) scale(.86); } to { opacity:1; transform: translateY(0) rotate(0deg) scale(1); } }
@keyframes dealCardRightMobile { from { opacity:0; transform: translate(30px,-70px) rotate(10deg) scale(.86); } to { opacity:1; transform: translateY(0) rotate(0deg) scale(1); } }
.about-cta { padding: 86px max(24px, calc((100vw - 1120px) / 2)); display:flex; align-items:end; justify-content:space-between; gap:32px; color:#fff; background:var(--blue-deep); }.about-cta > div:first-child > svg { color:var(--accent-flow); }.about-cta p { margin:14px 0 0; color:var(--cyan-flow); font-size:.62rem; font-weight:800; letter-spacing:.11em; }.about-cta h2 { margin:11px 0 0; font-size:clamp(2rem,3.4vw,3.4rem); line-height:1.1; }.about-cta__actions { margin-top:0; justify-content:flex-end; }.about-compact-proof { width:min(1120px, calc(100% - 48px)); margin:auto; padding:41px 0 48px; display:flex; flex-wrap:wrap; gap:27px 45px; }.about-compact-proof p { display:flex; align-items:center; gap:9px; margin:0; color:#6a7a81; font-size:.73rem; font-weight:700; }.about-compact-proof p span { display:grid; place-items:center; width:22px; height:22px; color:var(--blue-chama); background:#e0eddf; border-radius:50%; }

/* Refinamento de assinatura: laranja lidera as decisões e as trilhas descrevem pedido, contato e entrega. */
.header-whatsapp { color:#fff; background:var(--accent-flow); }
.header-whatsapp:hover { background:#7ab933; }
.hero-proof svg, .location-stamp svg, .about-hero__coordinates svg, .about-cta p { color:var(--accent-flow); }
.service-rails { position:relative; }
.service-rails::before { content:""; position:absolute; z-index:2; width:42px; height:42px; top:50%; left:calc(50% - 21px); border:8px solid var(--mineral); border-radius:50%; background:var(--accent-flow); transform:translateY(-50%); }
.service-card--gas .service-card__icon { color:var(--accent-flow); }
.intro-section { position:relative; }
.intro-section::before { content:""; position:absolute; width:360px; height:125px; left:-245px; bottom:39px; border:1px dashed rgba(0,59,92,.23); border-right-color:transparent; border-radius:50%; transform:rotate(-16deg); pointer-events:none; }
.intro-section::after { content:"PEDIDO  →  ATENDIMENTO"; position:absolute; left:-2px; bottom:65px; color:rgba(0,59,92,.35); font-size:.52rem; font-weight:800; letter-spacing:.14em; transform:rotate(-9deg); pointer-events:none; }
.products-section { position:relative; }
.products-section::before { content:""; position:absolute; width:1px; height:76px; left:max(24px, calc((100vw - 1280px) / 2)); top:31px; background:linear-gradient(var(--accent-flow) 0 14%, transparent 14% 27%, var(--accent-flow) 27% 42%, transparent 42% 55%, var(--accent-flow) 55% 69%, transparent 69%); }
.promo-condition svg, .how-it-works > p { color:var(--accent-flow); }
.contact-card__top { color:var(--accent-flow); }.contact-card .text-link:hover { color:var(--accent-flow); }
.footer-topline { background:linear-gradient(90deg, var(--accent-flow) 0 61%, var(--blue-chama) 61%); }.footer-label { color:var(--accent-flow); }
.team-slot__image { color:var(--accent-flow); }
.local-scene { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); min-height:490px; background:#eef1ed; }.local-scene__image { position:relative; min-height:390px; overflow:hidden; }.local-scene__image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,35,55,.43),transparent 56%); }.local-scene__image img { width:100%; height:100%; object-fit:cover; }.local-scene__image > span { position:absolute; z-index:1; left:clamp(24px,6vw,80px); bottom:35px; display:flex; align-items:center; gap:8px; color:#fff; font-size:.67rem; font-weight:800; letter-spacing:.06em; }.local-scene__image > span svg { color:var(--accent-flow); }.local-scene__copy { display:flex; flex-direction:column; justify-content:center; max-width:580px; padding:75px clamp(25px,7vw,104px); }.local-scene__copy h2 { margin:16px 0 18px; color:var(--blue-ink); font-family:"Sora",sans-serif; font-size:clamp(2.25rem,3.6vw,3.7rem); line-height:1.08; letter-spacing:-.06em; }.local-scene__copy > p:not(.eyebrow) { margin:0; color:var(--muted-ink); font-size:.87rem; line-height:1.75; }
@media (max-width: 680px) { .service-rails::before { display:none; }.local-scene { grid-template-columns:1fr; }.local-scene__image { min-height:310px; }.local-scene__copy { padding:65px 24px; }.intro-section::before, .intro-section::after, .products-section::before { display:none; } }

.not-found-section { min-height: 70vh; display: grid; place-items: center; padding: 160px 24px 80px; background: var(--mineral); }
.footer-legal-links { display:flex; align-items:center; gap:8px; }
.footer-legal-links a { color:rgba(255,255,255,.55); text-decoration:none; transition:color 150ms var(--ease-out); }
.footer-legal-links a:hover { color:#fff; }
.footer-credit { max-width:1280px; margin:auto; padding:0 0 24px; text-align:center; color:rgba(255,255,255,.35); font-size:.63rem; }
.footer-credit a { color:rgba(255,255,255,.55); text-decoration:none; transition:color 150ms var(--ease-out); }
.footer-credit a:hover { color:var(--accent-flow); }

.cookie-banner { position:fixed; z-index:50; left:0; right:0; bottom:0; padding:18px 24px; background:#001c2e; border-top:1px solid rgba(255,255,255,.12); box-shadow:0 -12px 30px rgba(0,0,0,.18); }
.cookie-banner__content { max-width:1280px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.cookie-banner__content p { margin:0; max-width:760px; color:rgba(255,255,255,.72); font-size:.78rem; line-height:1.6; }
.cookie-banner__content a { color:var(--cyan-flow); }
.cookie-banner__actions { display:flex; gap:10px; flex-wrap:wrap; }
.cookie-banner .button { min-height:42px; font-size:.72rem; }

.legal-page { max-width:840px; margin:0 auto; padding:168px 24px 100px; }
.legal-page h1 { font-family:"Sora", sans-serif; color:var(--blue-ink); font-size:clamp(1.9rem,4vw,2.6rem); margin:18px 0 6px; }
.legal-page .legal-updated { color:var(--muted-ink); font-size:.78rem; margin:0 0 40px; }
.legal-page h2 { font-family:"Sora", sans-serif; color:var(--blue-deep); font-size:1.2rem; margin:38px 0 12px; }
.legal-page p, .legal-page li { color:var(--ink); font-size:.92rem; line-height:1.8; }
.legal-page ul { padding-left:20px; margin:10px 0; }
.legal-page a { color:var(--blue-chama); }

@media (max-width: 680px) {
  .cookie-banner__content { flex-direction:column; align-items:stretch; }
  .cookie-banner__actions { justify-content:stretch; }
  .cookie-banner__actions .button { flex:1; }
  .legal-page { padding:140px 20px 70px; }
}

.not-found-card { max-width: 460px; width: 100%; padding: 48px 36px; text-align: center; background: #fff; border-radius: 4px 34px 4px 34px; box-shadow: 0 25px 60px rgba(0,35,55,.12); }
.not-found-icon { display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 18px; color: var(--accent-flow); background: var(--accent-soft); border-radius: 50%; }
.not-found-code { margin: 0; color: var(--blue-chama); font-family: "Sora", sans-serif; font-size: 3rem; font-weight: 800; letter-spacing: -0.05em; }
.not-found-card h1 { margin: 6px 0 14px; color: var(--blue-ink); font-family: "Sora", sans-serif; font-size: 1.4rem; }
.not-found-card p { margin: 0 0 26px; color: var(--muted-ink); font-size: 0.9rem; line-height: 1.7; }
.not-found-card .button { margin: 0 auto; }

@media (max-width: 960px) {
  .desktop-nav, .header-phones { display:none; }.menu-button { display:flex; }.header-whatsapp { padding:11px 14px; }
  .hero-status { display:none; }.hero-layout { min-height:665px; padding-top:168px; }.intro-section { grid-template-columns:1fr; gap:32px; }.intro-section__content { gap:34px; }.promotions-section { grid-template-columns:1fr; }.promotions-section__art { inset:0; opacity:.37; }.promotions-section__art::after { background:linear-gradient(90deg, var(--blue-deep), rgba(0,41,66,.86)); }.promotions-section__content { max-width:680px; padding:106px 8vw 82px; }.how-it-works { grid-template-columns:1fr; gap:22px; }.confidence-section__content { padding:90px clamp(28px,6vw,68px); }.accessories-section { grid-template-columns:1fr; }.accessories-section__copy { padding:96px 32px 40px; }.accessories-section__visual { padding:16px 32px 88px; }.contact-section { gap:55px; }.footer-content { grid-template-columns:1.2fr .8fr; }.footer-contact { grid-column:1 / -1; }
}

@media (max-width: 680px) {
  .site-header__inner { width:calc(100% - 30px); height:72px; }.site-header--scrolled .brand-words strong { color:var(--blue-ink); }.brand-words strong { font-size:1.2rem; }.brand-signature img { height:44px !important; width:44px !important; }.header-whatsapp span { display:none; }.header-whatsapp { width:42px; height:42px; justify-content:center; padding:0; }.menu-button { width:40px; height:40px; }.mobile-nav { top:72px; }
  .hero-section { min-height:680px; }  .hero-section__image { background-position: 64% center; }.hero-section__veil { background:linear-gradient(90deg, rgba(0,25,43,.96), rgba(0,35,57,.86) 68%, rgba(0,35,54,.48)); }.hero-layout { width:calc(100% - 38px); min-height:610px; padding:143px 0 99px; }.hero-copy h1 { font-size:clamp(2.65rem,12.5vw,4rem); }.hero-lead { font-size:.9rem; line-height:1.65; }.hero-actions { gap:9px; margin-top:26px; }.button { min-height:48px; padding:0 16px; font-size:.72rem; }.hero-proof { margin-top:27px; gap:12px; font-size:.65rem; }.hero-strip { min-height:70px; overflow-x:auto; padding:0 19px; }.hero-strip span { min-width:205px; padding:0 18px; font-size:.62rem; }
  .intro-section { width:calc(100% - 38px); padding:78px 0; gap:22px; }.intro-section__content { grid-template-columns:1fr; gap:22px; }.intro-section h2, .service-section h2, .products-section h2, .confidence-section h2, .contact-section h2, .values-section h2 { font-size:clamp(2.1rem,9vw,3.2rem); }.section-index { font-size:.61rem; }
  .service-section { padding:76px 19px; }.service-section__heading, .products-section__top { display:grid; gap:16px; }.service-section__heading > p, .products-section__top > p { max-width:360px; margin:0; }.service-rails { grid-template-columns:1fr; margin-top:37px; }.service-card { min-height:320px; padding:28px; }.service-card h3 { margin-top:49px; }
  .products-section { padding:79px 19px; }.product-list { margin-top:35px; }.product-row { grid-template-columns:64px 94px 1fr; gap:10px 14px; min-height:151px; padding:16px 4px; }.product-code strong { font-size:1.75rem; }.product-code span { font-size:.59rem; }.product-image-wrap { height:101px; }.product-image-wrap img { max-width:92px; max-height:99px; }.product-title-row h3 { font-size:.91rem; }.product-copy p { font-size:.68rem; line-height:1.48; }.product-copy small { font-size:.55rem; }.product-note { font-size:.62rem; padding:7px 9px; }.popular-tag { font-size:.52rem; padding:3px 6px; }.product-row:hover { transform:none; }
  .product-cta { grid-column:1 / -1; width:100%; height:46px; border-radius:999px; justify-content:center; gap:8px; padding:0; margin-top:2px; }
  .product-cta span { display:inline; }
  .promotions-section { min-height:0; }.promotions-section__content { padding:78px 24px 51px; }.promotions-section h2 { font-size:clamp(2.45rem,10.5vw,3.6rem); }.promotions-lead { font-size:.84rem; }.how-it-works { padding:26px 24px 29px; }.how-it-works ol { grid-template-columns:1fr; gap:14px; }.how-it-works li { gap:11px; }.how-it-works strong { font-size:.68rem; }.how-it-works small { font-size:.59rem; }
  .confidence-section, .team-teaser { grid-template-columns:1fr; }.confidence-section__image { min-height:350px; }.confidence-gallery__nav { width:34px; height:34px; }.confidence-gallery__nav--prev { left:10px; }.confidence-gallery__nav--next { right:10px; }.confidence-gallery__dots { bottom:12px; }.confidence-section__content { padding:72px 24px; }.accessories-section__copy { width:calc(100% - 48px); padding:64px 0 8px; }.accessories-section__visual { padding:8px 24px 64px; }.accessories-section__visual::before { display:none; }.accessories-checklist { grid-template-columns:1fr; max-width:none; }.accessories-panel { padding:24px; }.accessories-brand { top:10px; right:10px; padding:6px 12px 6px 6px; gap:7px; }.accessories-brand img { width:30px; }.accessories-brand span { font-size:.54rem; max-width:90px; }.team-teaser__copy { padding:76px 24px 60px; }.team-teaser h2 { font-size:clamp(2.3rem,10.5vw,3.4rem); }.team-teaser__image { min-height:370px; }.team-teaser__image::after { background:linear-gradient(0deg, rgba(0,59,92,.22), rgba(0,59,92,.03)); }.team-teaser__tag { right:24px; bottom:26px; }.contact-section { width:calc(100% - 38px); padding:82px 0; grid-template-columns:1fr; gap:39px; }.contact-card { padding:31px 27px; box-shadow:15px 15px 0 var(--accent-soft); }.floating-whatsapp { right:16px; bottom:16px; width:52px; height:52px; }
  .footer-content { padding:58px 0 48px; grid-template-columns:1fr; gap:39px; }.footer-contact { grid-column:auto; }.footer-bottom { display:grid; gap:7px; }.footer-credit { padding-bottom:76px; }.footer-topline { margin:0 -24px; }
  .promo-modal__body { padding:29px 25px 29px; }.promo-modal h2 { font-size:1.42rem; }.promo-modal__accent { padding:16px 22px; }
  .about-hero { min-height:555px; padding:123px 24px 70px; }.about-hero .eyebrow { margin-top:72px; }.about-hero h1 { font-size:clamp(2.6rem,11.8vw,4.1rem); }.about-hero__coordinates { position:relative !important; right:auto; bottom:auto; margin-top:45px; flex-wrap:wrap; font-size:.54rem; }.about-story { width:calc(100% - 38px); padding:79px 0; grid-template-columns:1fr; gap:22px; }.about-story h2 { font-size:clamp(2.3rem,10vw,3.6rem); }.reveal.reveal-left, .reveal.reveal-right { transform:translateX(0) translateY(18px); }.about-story__columns { grid-template-columns:1fr; gap:18px; margin-top:27px; }.about-story__ghost { display:none; }.about-story__timeline { grid-template-columns:1fr; gap:22px; margin-top:32px; }.about-story__timeline li { padding-left:20px; padding-right:0; }.about-story__timeline li::before { top:6px; left:0; }.values-section { padding:78px 19px; }.values-section__heading { display:grid; gap:15px; }.values-ribbon { grid-template-columns:1fr; margin-top:39px; }.values-ribbon article, .values-ribbon article:not(:first-child) { padding:24px 0; border-right:0; border-bottom:1px solid #cfd8d4; }.values-ribbon article:last-child { border-bottom:0; }.values-ribbon h3 { margin-top:17px; }.team-page-section { padding:76px 19px; }.team-page-section__intro { grid-template-columns:1fr; gap:19px; }.team-page-section h2 { font-size:clamp(2.25rem,9.8vw,3.5rem); }.team-slots { grid-template-columns:1fr; margin-top:37px; }.team-slot:nth-child(2) { transform:none; }.team-slot__image { min-height:210px; height:210px; }.team-tip { margin-top:27px; }.team-slots .team-slot--deal:nth-child(1) { animation-name: dealCardLeftMobile; }.team-slots .team-slot--deal:nth-child(2) { animation-name: dealCardCenterMobile; }.team-slots .team-slot--deal:nth-child(3) { animation-name: dealCardRightMobile; }.about-cta { padding:63px 24px; display:grid; align-items:start; }.about-cta__actions { justify-content:start; }.about-compact-proof { width:calc(100% - 38px); padding:31px 0; display:grid; gap:15px; }
}


/* Nomes da equipe: sempre ancorados no rodapé da própria imagem. */
.team-slot__image > .team-slot__name {
  position: absolute;
  bottom: 14px;
  z-index: 2;
  display: block;
}
.team-slot__image > .team-slot__name--left { left: 14px; right: auto; }
.team-slot__image > .team-slot__name--right { right: 14px; left: auto; }