/* =====================================================================
   Manejo Fitness · Site V2 · sistema visual
   Base: Branding Book (Energy Orange #FF8D00 / Graphite Black #1C1C1C /
   Steel Gray #57595B / Light Silver #D3D5D6 / Pure White). Gotham + High Speed
   (fallback Barlow Condensed até o arquivo da High Speed chegar).
   ===================================================================== */

@font-face{font-family:"Gotham";src:url("../fonts/Gotham-Black.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Gotham";src:url("../fonts/Gotham-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Gotham";src:url("../fonts/Gotham-Book.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Gotham";src:url("../fonts/Gotham-Light.woff2") format("woff2");font-weight:300;font-display:swap}

:root{
  --bg-0:#111213; --bg-1:#1C1C1C; --bg-2:#232426; --bg-3:#2B2C2F;
  --show-0:#FFFFFF; --show-1:#F3F4F5; --show-2:#D3D5D6;
  --ink-0:#FFFFFF; --ink-1:#D3D5D6; --ink-2:#9C9EA0; --ink-3:#57595B; --ink-inv:#1C1C1C;
  --brand:#FF8D00; --brand-hot:#FF5A1F; --brand-soft:rgba(255,141,0,.14); --brand-glow:rgba(255,141,0,.45);
  --gold:#FFC818; --gold-deep:#C98A1B;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16); --line-show:rgba(28,28,28,.12);
  --wa:#25D366;

  --font:"Gotham","Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-accent:"High Speed","Barlow Condensed","Gotham",sans-serif;

  --fs-display:clamp(2.6rem,5.6vw,4.9rem);
  --fs-h2:clamp(1.85rem,3.3vw,2.9rem);
  --fs-h3:clamp(1.2rem,1.7vw,1.5rem);
  --fs-body:1.0625rem; --fs-lead:1.2rem; --fs-small:.875rem; --fs-label:.8125rem;
  --measure-body:64ch; --measure-lead:54ch;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px;
  --sec-brand:clamp(72px,9vw,128px); --sec-product:clamp(56px,7vw,88px);
  --container:1280px; --gutter:clamp(16px,4vw,48px);

  --chamfer:14px; --chamfer-sm:9px;
  --ease:cubic-bezier(.16,1,.3,1); --dur-1:240ms; --dur-2:480ms; --dur-3:900ms;
}

*,*::before,*::after{box-sizing:border-box}
html{scrollbar-width:thin;scrollbar-color:#FF8D00 #111213}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#111213}
::-webkit-scrollbar-thumb{background:#FF8D00;border:2px solid #111213;border-radius:0;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}
::-webkit-scrollbar-thumb:hover{background:#FF9A1F}
.on-light ::-webkit-scrollbar-track,.drawer__body::-webkit-scrollbar-track{background:#E6E8EA}
.drawer__body{scrollbar-color:#FF8D00 #232426}
.drawer__body::-webkit-scrollbar-track{background:#232426}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;background:var(--bg-1);color:var(--ink-1);font-family:var(--font);font-size:var(--fs-body);line-height:1.6;font-weight:400}
img,video,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{margin:0;color:var(--ink-0);font-weight:900;line-height:1.06;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:var(--fs-display)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3);letter-spacing:-.01em;line-height:1.2}
p{margin:0;text-wrap:pretty}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
::selection{background:var(--brand);color:var(--ink-inv)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- utilitários ---- */
.container{width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s-5)}
.lead{font-size:var(--fs-lead);line-height:1.5;max-width:var(--measure-lead);color:var(--ink-1)}
.body{max-width:var(--measure-body)}
.accent{font-family:var(--font-accent);font-style:italic;font-weight:700;letter-spacing:.01em;color:var(--brand)}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin-bottom:var(--s-4)}
.kicker::before{content:"";width:22px;height:2px;background:var(--brand)}
.muted{color:var(--ink-2)}
.chamfer{clip-path:polygon(var(--chamfer) 0,100% 0,100% calc(100% - var(--chamfer)),calc(100% - var(--chamfer)) 100%,0 100%,0 var(--chamfer))}

/* ---- botões ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;font-weight:700;font-size:1rem;line-height:1;white-space:nowrap;transition:transform var(--dur-1) var(--ease),background var(--dur-1),color var(--dur-1),box-shadow var(--dur-2)}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--brand);color:var(--ink-inv);clip-path:polygon(var(--chamfer) 0,100% 0,100% calc(100% - var(--chamfer)),calc(100% - var(--chamfer)) 100%,0 100%,0 var(--chamfer))}
.btn-primary:hover{background:#FF9A1F;transform:translateY(-1px)}
.btn-primary:active{transform:translateY(0)}
.btn-ghost{border:1px solid var(--line-2);color:var(--ink-0);background:transparent}
.btn-ghost:hover{border-color:var(--ink-1);background:rgba(255,255,255,.04)}
.btn-ghost svg{transition:transform var(--dur-1) var(--ease)} .btn-ghost:hover svg{transform:translateX(4px)}
.on-light .btn-ghost{border-color:var(--line-show);color:var(--ink-inv)} .on-light .btn-ghost:hover{background:rgba(28,28,28,.04)}
.btn-wa{border:1px solid var(--line-2);color:var(--ink-0)} .btn-wa svg{color:var(--wa)} .btn-wa:hover{border-color:var(--wa)}
.on-light .btn-wa{border-color:var(--line-show);color:var(--ink-inv)}
/* botão único de orçamento: segmento WhatsApp + segmento laranja, um só controle (abre o drawer com o form) */
.btn-split{display:inline-flex;align-items:stretch;gap:10px;min-height:52px;font-weight:700;font-size:1rem;line-height:1;white-space:nowrap;color:var(--ink-inv);transition:transform var(--dur-1) var(--ease)}
.btn-split__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:54px;border:1px solid var(--line-2);color:var(--wa);transition:border-color var(--dur-1),background var(--dur-1)}
.btn-split__icon svg{width:20px;height:20px}
.btn-split__label{display:inline-flex;align-items:center;justify-content:center;padding:0 24px;background:var(--brand);color:var(--ink-inv);clip-path:polygon(var(--chamfer) 0,100% 0,100% calc(100% - var(--chamfer)),calc(100% - var(--chamfer)) 100%,0 100%,0 var(--chamfer));transition:background var(--dur-1)}
.btn-split:hover{transform:translateY(-1px)} .btn-split:hover .btn-split__icon{border-color:var(--wa);background:rgba(37,211,102,.08)} .btn-split:hover .btn-split__label{background:#FF9A1F}
.btn-split:active{transform:none}
.btn-split--sm{min-height:42px;font-size:.9rem} .btn-split--sm .btn-split__icon{width:44px} .btn-split--sm .btn-split__icon svg{width:18px;height:18px} .btn-split--sm .btn-split__label{padding:0 16px}
.btn-lg{min-height:58px;padding:0 32px;font-size:1.05rem}
.btn-sm{min-height:42px;padding:0 16px;font-size:.9rem}
.link{color:var(--brand);font-weight:700;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.link svg{width:14px;height:14px;flex:none}
.link:hover{text-decoration:underline;text-underline-offset:4px}

/* ---- fundos de marca ---- */
.carbon{position:relative;isolation:isolate}
.carbon::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.045'%3E%3Cpath d='M0 6h12M12 18h12'/%3E%3Cpath d='M0 12h24M0 0h24M0 24h24' stroke-opacity='.02'/%3E%3C/g%3E%3Crect x='0' y='0' width='12' height='12' fill='%23ffffff' fill-opacity='.012'/%3E%3Crect x='12' y='12' width='12' height='12' fill='%23ffffff' fill-opacity='.012'/%3E%3C/svg%3E")}
.watermark{position:absolute;inset:auto 0 0 0;z-index:-1;pointer-events:none;overflow:hidden;line-height:.8;font-weight:900;font-size:clamp(9rem,22vw,20rem);letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.055);user-select:none;transform:translateY(22%);white-space:nowrap}
.on-light .watermark{-webkit-text-stroke:1.5px rgba(28,28,28,.06)}
.chevron-line{display:block;width:100%;height:auto}
.chevron-line path{stroke:var(--brand);stroke-width:2.5;fill:none;filter:drop-shadow(0 0 6px var(--brand-glow));stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--ease)}
.is-in .chevron-line path{stroke-dashoffset:0}

/* ---- seções ---- */
.section{position:relative;padding-block:var(--sec-brand)}
.section--product{padding-block:var(--sec-product)}
.on-light{background:var(--show-1);color:var(--ink-3)}
.on-light h1,.on-light h2,.on-light h3,.on-light h4{color:var(--ink-inv)}
.on-light .lead{color:#3A3B3D}
.on-light .muted{color:#6C6E70}
.on-light .kicker{color:var(--brand)}
.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--s-5);margin-bottom:clamp(32px,5vw,56px)}
.section-head h2{max-width:22ch}
.section-head .lead{margin-top:var(--s-4)}
@media (max-width:760px){.section-head{grid-template-columns:1fr}}

/* =====================================================================
   NAV
   ===================================================================== */
.nav{position:sticky;top:0;z-index:60;background:rgba(17,18,19,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color var(--dur-2),background var(--dur-2)}
.nav.is-stuck{border-bottom-color:var(--line)}
.nav__inner{display:flex;align-items:center;gap:var(--s-6);min-height:76px}
.nav__logo{display:flex;align-items:center;flex:none}
.nav__logo img{height:34px;width:auto}
.nav__links{display:flex;align-items:center;gap:6px;margin-left:var(--s-4);flex:1}
.nav__links a{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;font-weight:700;font-size:.95rem;color:var(--ink-1);border-radius:4px;white-space:nowrap;transition:color var(--dur-1),background var(--dur-1)}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--ink-0);background:rgba(255,255,255,.05)}
.nav__links a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--brand)}
.nav__cta{display:flex;align-items:center;gap:10px;margin-left:auto}
.nav__burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line-2)}
.nav__burger span{display:block;width:20px;height:2px;background:var(--ink-0);position:relative}
.nav__burger span::before,.nav__burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--ink-0)}
.nav__burger span::before{top:-6px}.nav__burger span::after{top:6px}
.has-sub{position:relative}
.sub{position:absolute;top:100%;left:0;min-width:280px;padding:10px;background:var(--bg-2);border:1px solid var(--line-2);opacity:0;visibility:hidden;transform:translateY(6px);transition:all var(--dur-1) var(--ease)}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--ink-1)}
.sub a img{height:16px;width:auto}
.sub a small{color:var(--ink-2);font-weight:400;margin-left:auto}
.sub__all{border-top:1px solid var(--line);margin-top:6px;padding-top:8px}
@media (max-width:1040px){
  .nav__links{display:none}
  .nav__burger{display:inline-flex}
  .nav__cta .btn-split__label{display:none}
  .nav--open .nav__links{display:flex;flex-direction:column;align-items:stretch;position:absolute;inset:100% 0 auto 0;padding:12px var(--gutter) 20px;background:var(--bg-1);border-bottom:1px solid var(--line);margin:0}
  .nav--open .nav__links a{padding:14px 12px;font-size:1.05rem}
  .nav--open .sub{position:static;opacity:1;visibility:visible;transform:none;border:0;background:transparent;padding:0 0 0 14px}
}

/* =====================================================================
   HERO
   ===================================================================== */
.hero{position:relative;overflow:clip;background:radial-gradient(1200px 700px at 78% 40%,rgba(255,141,0,.16),transparent 60%),linear-gradient(180deg,var(--bg-0),var(--bg-1) 70%)}
.hero__inner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center;gap:var(--s-6);min-height:min(88vh,860px);padding-block:clamp(56px,7vw,96px)}
.hero__copy{position:relative;z-index:2;max-width:620px}
.hero__tag{display:inline-flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:var(--fs-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:var(--s-5)}
.hero__tag b{color:var(--brand)}
.hero__tag i{width:1px;height:12px;background:var(--line-2)}
.hero h1{margin-bottom:var(--s-5);max-width:12ch}
.hero h1 .accent{font-size:1.08em;line-height:.95;display:inline-block;transform:skewX(-6deg);letter-spacing:.005em}
.hero .lead{margin-bottom:var(--s-6)}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero__micro{margin-top:var(--s-4);font-size:var(--fs-small);color:var(--ink-2);max-width:48ch}
.hero__stage{position:relative;z-index:1;min-height:420px;perspective:1400px;overflow:visible}
.hero__machine{position:relative;width:min(120%,760px);margin-left:-8%;transform-style:preserve-3d;will-change:transform;transition:transform .1s linear}
.hero__machine img,.hero__canvas{width:100%;height:auto;display:block;filter:drop-shadow(0 40px 60px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(255,141,0,.12))}
.hero__canvas{position:absolute;inset:0;height:100%}   /* sempre sobreposto ao poster: escondido não pode ocupar altura (dobrava o hero no celular) */
.hero__canvas[hidden]{display:none}
.hero__machine.is-scrub .hero__poster{visibility:hidden}
.hero__sweep{position:absolute;inset:0;pointer-events:none;-webkit-mask:var(--mask) center/contain no-repeat;mask:var(--mask) center/contain no-repeat;background:linear-gradient(105deg,transparent 30%,rgba(255,200,120,.55) 48%,rgba(255,141,0,.35) 52%,transparent 70%);background-size:220% 100%;background-position:120% 0;mix-blend-mode:screen;opacity:0}
.hero.is-loaded .hero__sweep{animation:sweep 2.2s var(--ease) .6s 1 forwards}
@keyframes sweep{0%{opacity:0;background-position:120% 0}15%{opacity:1}85%{opacity:1}100%{opacity:0;background-position:-40% 0}}
.hero__floor{position:absolute;left:8%;right:0;bottom:12%;height:120px;background:radial-gradient(60% 100% at 50% 100%,rgba(255,141,0,.22),transparent 70%);filter:blur(24px);z-index:0}
.hero__chev{position:absolute;right:-6%;top:6%;width:70%;z-index:0;opacity:.9}
.hero .watermark{transform:translateY(28%)}
.hero__scroll{display:none}
.hero__scroll i{width:1px;height:34px;background:linear-gradient(var(--brand),transparent);animation:scrollhint 1.8s ease-in-out infinite}
@keyframes scrollhint{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* entrada orquestrada (uma vez) */
.hero__copy>*{opacity:0;transform:translateY(14px)}
.hero.is-loaded .hero__copy>*{animation:rise .8s var(--ease) forwards}
.hero.is-loaded .hero__copy>*:nth-child(1){animation-delay:.05s}.hero.is-loaded .hero__copy>*:nth-child(2){animation-delay:.15s}.hero.is-loaded .hero__copy>*:nth-child(3){animation-delay:.28s}.hero.is-loaded .hero__copy>*:nth-child(4){animation-delay:.4s}.hero.is-loaded .hero__copy>*:nth-child(5){animation-delay:.5s}
.hero__machine{opacity:0;transform:translateX(40px) rotateY(-14deg)}
.hero.is-loaded .hero__machine{animation:machine 1.2s var(--ease) .2s forwards}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes machine{to{opacity:1;transform:translateX(0) rotateY(0deg)}}
@media (max-width:960px){
  .hero__inner{grid-template-columns:1fr;min-height:0;padding-top:32px}
  .hero__stage{order:-1;min-height:0}
  .hero__machine{width:100%;margin:0 auto;max-width:520px}
  .hero__machine img{filter:drop-shadow(0 24px 30px rgba(0,0,0,.5))}
  .hero h1{max-width:none}
  .hero__scroll{display:none}
  .hero__chev{right:-20%;width:110%;top:0}
}

/* =====================================================================
   FAIXA DE CREDIBILIDADE
   ===================================================================== */
.cred{border-block:1px solid var(--line);background:var(--bg-0)}
.cred__list{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none}
.cred__list li{padding:22px 20px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.cred__list li:first-child{border-left:0;padding-left:0}
.cred__list b{font-size:1.5rem;font-weight:900;color:var(--ink-0);letter-spacing:-.02em;line-height:1}
.cred__list b .accent{font-size:1.05em}
.cred__list span{font-size:var(--fs-small);color:var(--ink-2)}
@media (max-width:900px){
  .cred__list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .cred__list::-webkit-scrollbar{display:none}
  .cred__list li{flex:0 0 68%;scroll-snap-align:start;padding:18px 16px}
  .cred__list li:first-child{padding-left:0}
}

/* =====================================================================
   LINHAS (showroom)
   ===================================================================== */
.lines__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);align-items:stretch;margin-top:72px}
.line-card{position:relative;display:flex;flex-direction:column;background:var(--show-0);border:1px solid var(--line-show);padding:0 28px 28px;min-height:560px;transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),border-color var(--dur-2)}
.line-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(28,28,28,.35);border-color:var(--brand)}
.line-card__media{position:relative;height:280px;margin:-64px -12px 0;display:flex;align-items:flex-end;justify-content:center}
.line-card__media img{max-height:100%;width:auto;max-width:108%;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(28,28,28,.28));transition:transform var(--dur-3) var(--ease)}
.line-card:hover .line-card__media img{transform:translateY(-8px) scale(1.03)}
.line-card__logo{height:22px;width:auto;margin:18px 0 12px}
.line-card__logo--exclusive{height:34px}
.line-card__tag{display:inline-flex;align-self:flex-start;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;color:var(--ink-inv);background:var(--brand-soft);margin-bottom:12px}
.line-card--ham .line-card__tag{background:#EAEBEC;color:var(--ink-inv)}
.line-card--exclusive .line-card__tag{background:#FFF1CC;color:#7A5200}
.line-card h3{margin-bottom:6px;font-size:1.55rem}
.line-card__sub{font-weight:700;color:var(--ink-inv);margin-bottom:10px}
.line-card p.body{color:#4A4B4D;font-size:.98rem;line-height:1.55}
.line-card__foot{margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line-show)}
.line-card__foot small{color:#6C6E70;font-weight:700}
.line-card__foot .link{color:var(--ink-inv)}
.line-card__foot .link:hover{color:var(--brand)}
@media (max-width:1040px){.lines__grid{grid-template-columns:1fr;gap:88px}.line-card{min-height:0}.line-card__media{height:240px}}

/* =====================================================================
   POR QUE A FÁBRICA (lista + mídia sticky)
   ===================================================================== */
.why__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:start}
.why__list{list-style:none;margin:0;padding:0;counter-reset:why}
.why__item{position:relative;display:grid;grid-template-columns:56px 1fr;gap:18px;padding:26px 0;border-top:1px solid var(--line)}
.why__item:last-child{border-bottom:1px solid var(--line)}
.why__item::before{counter-increment:why;content:counter(why,decimal-leading-zero);font-weight:900;font-size:1.5rem;color:var(--brand);line-height:1;padding-top:4px;font-family:var(--font-accent);font-style:italic}
.why__item h3{margin-bottom:8px}
.why__item p{color:var(--ink-1);max-width:56ch}
.why__item small{display:block;margin-top:8px;color:var(--ink-2);font-size:.8rem}
.why__media{position:sticky;top:calc(50vh - 260px);height:520px}
.why__media figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity var(--dur-2) var(--ease);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}
.why__media figure.is-active{opacity:1}
.why__media img,.why__media video{width:100%;height:100%;object-fit:cover}
.why__media figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;background:linear-gradient(transparent,rgba(17,18,19,.9));font-size:var(--fs-small);color:var(--ink-1)}
.why__cta{margin-top:var(--s-6)}
@media (max-width:960px){.why__grid{grid-template-columns:1fr}.why__media{position:relative;top:auto;height:320px;order:-1}.why__item{grid-template-columns:44px 1fr}}

/* =====================================================================
   PROJETOS / PROVA
   ===================================================================== */
.proof__mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}
.proof__mosaic figure{position:relative;margin:0;overflow:hidden;background:var(--bg-2)}
.proof__mosaic figure:first-child{grid-column:span 2;grid-row:span 2}
.proof__mosaic img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-3) var(--ease)}
.proof__mosaic figure:hover img{transform:scale(1.04)}
.proof__mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(transparent,rgba(17,18,19,.92));font-size:var(--fs-small);color:var(--ink-0)}
.proof__mosaic figcaption span{display:block;color:var(--ink-2);font-size:.78rem}
.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--ink-2);font-size:.85rem;background:repeating-linear-gradient(135deg,var(--bg-2) 0 12px,var(--bg-3) 12px 13px)}
.placeholder b{display:block;color:var(--ink-1);font-size:.95rem;margin-bottom:4px}
.on-light .placeholder{background:repeating-linear-gradient(135deg,#ECEDEF 0 12px,#E2E4E6 12px 13px);color:#6C6E70}
.on-light .placeholder b{color:var(--ink-inv)}
.athletes{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-6);align-items:center;margin-top:var(--s-8);padding:28px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(255,141,0,.08),transparent 60%)}
.athletes__media{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.athletes__media img{aspect-ratio:3/4;object-fit:cover;width:100%}
.athletes blockquote{margin:0 0 16px;font-size:1.25rem;font-weight:700;color:var(--ink-0);line-height:1.35;max-width:36ch}
.athletes cite{display:block;font-style:normal;color:var(--ink-2);font-size:var(--fs-small)}
.athletes cite b{color:var(--ink-1)}
@media (max-width:900px){.proof__mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.athletes{grid-template-columns:1fr}}

/* =====================================================================
   A FÁBRICA (home)
   ===================================================================== */
.factory{overflow:clip}
.factory__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.factory__years{display:flex;align-items:baseline;gap:18px;margin:26px 0 8px}
.factory__years b{font-size:clamp(3rem,7vw,5.5rem);font-weight:900;letter-spacing:-.04em;line-height:1;color:var(--ink-0)}
.factory__years b + b{color:var(--brand)}
.factory__years i{font-style:normal;font-size:2.4rem;color:var(--brand);font-family:var(--font-accent);font-weight:700}
.factory__photos{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:240px 240px;gap:12px}
.factory__photos figure{margin:0;overflow:hidden;position:relative}
.factory__photos figure:first-child{grid-row:span 2}
.factory__photos img,.factory__photos video{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.factory__photos figure:hover img{transform:scale(1.05)}
.factory__photos figcaption{position:absolute;left:12px;bottom:10px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-0);background:rgba(17,18,19,.6);padding:4px 8px}
@media (max-width:960px){.factory__grid{grid-template-columns:1fr}.factory__photos{grid-template-rows:200px 200px}}

/* =====================================================================
   MONTE SUA LISTA (mini catálogo) + cards de produto
   ===================================================================== */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
/* mini catálogo da home: colunas fixas para os 12 itens fecharem linhas inteiras (4/3/2 colunas) */
[data-mini-catalog]{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){[data-mini-catalog]{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){[data-mini-catalog]{grid-template-columns:repeat(2,1fr)}}
.pcard{position:relative;display:flex;flex-direction:column;background:var(--show-0);border:1px solid var(--line-show);transition:border-color var(--dur-2),box-shadow var(--dur-2),transform var(--dur-2) var(--ease)}
.pcard:hover{border-color:var(--brand);box-shadow:0 24px 40px -28px rgba(28,28,28,.4);transform:translateY(-3px)}
.pcard__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(180deg,#FFFFFF,#F3F4F5)}
.pcard__media img{position:absolute;inset:14%;width:72%;height:72%;object-fit:contain;transition:transform var(--dur-3) var(--ease)}
.pcard:hover .pcard__media img{transform:scale(1.05)}
.pcard__media .placeholder{position:absolute;inset:12px;font-size:.78rem}
.pcard__line{position:absolute;top:12px;left:12px;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;background:var(--ink-inv);color:var(--ink-0)}
.pcard__line--m-evo{background:var(--brand);color:var(--ink-inv)}
.pcard__line--exclusive{background:var(--gold);color:#3A2A00}
.pcard__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.pcard__body h3{font-size:1.02rem;line-height:1.25;letter-spacing:0}
.pcard__body h3 a{color:var(--ink-inv)} .pcard__body h3 a:hover{color:var(--brand)}
.pcard__groups{display:flex;flex-wrap:wrap;gap:6px}
.pcard__groups span{font-size:.72rem;color:#5A5C5E;background:#EEF0F1;padding:3px 7px}
.pcard__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px}
.add-btn{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-weight:700;font-size:.85rem;color:var(--ink-inv);border:1px solid var(--ink-inv);transition:all var(--dur-1)}
.add-btn svg{width:14px;height:14px}
.add-btn:hover{background:var(--ink-inv);color:var(--ink-0)}
.add-btn.is-added{background:var(--brand);border-color:var(--brand);color:var(--ink-inv)}
.pcard__foot .link{font-size:.85rem;color:var(--ink-inv)}
.pcard__foot .link:hover{color:var(--brand)}
.fly{position:fixed;z-index:200;width:64px;height:64px;pointer-events:none;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.4));transition:transform .62s cubic-bezier(.3,.7,.3,1),opacity .62s ease,width .62s,height .62s}

/* =====================================================================
   COMO FUNCIONA (passos)
   ===================================================================== */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);margin-top:var(--s-6)}
.steps::before{content:"";position:absolute;left:0;right:0;top:22px;height:2px;background:var(--line)}
.steps::after{content:"";position:absolute;left:0;right:0;top:22px;height:2px;background:var(--brand);box-shadow:0 0 12px var(--brand-glow);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease)}
.steps.is-in::after{transform:scaleX(1)}
.step{position:relative;padding-top:56px}
.step__n{position:absolute;top:0;left:0;width:46px;height:46px;display:grid;place-items:center;background:var(--bg-1);border:2px solid var(--line-2);font-weight:900;font-family:var(--font-accent);font-style:italic;font-size:1.5rem;color:var(--ink-0);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:border-color var(--dur-2),background var(--dur-2),color var(--dur-2)}
.steps.is-in .step__n{border-color:var(--brand)}
.step h3{margin-bottom:8px;font-size:1.15rem}
.step p{font-size:.98rem;color:var(--ink-1)}
@media (max-width:900px){.steps{grid-template-columns:1fr;gap:0}.steps::before,.steps::after{left:22px;right:auto;top:0;bottom:0;width:2px;height:auto}.steps::after{transform:scaleY(0);transform-origin:top}.steps.is-in::after{transform:scaleY(1)}.step{padding:0 0 32px 68px}.step__n{background:var(--bg-1)}}

/* =====================================================================
   PARA QUEM
   ===================================================================== */
.who{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line-show)}
.who__item{padding:26px 24px;border-left:1px solid var(--line-show);background:var(--show-0)}
.who__item:first-child{border-left:0}
.who__item h3{font-size:1.1rem;margin-bottom:8px}
.who__item p{font-size:.95rem;color:#4A4B4D}
.who__item .link{margin-top:14px;font-size:.9rem;color:var(--ink-inv)}
@media (max-width:900px){.who{grid-template-columns:1fr 1fr}.who__item:nth-child(3){border-left:0}.who__item{border-top:1px solid var(--line-show)}.who__item:nth-child(-n+2){border-top:0}}
@media (max-width:560px){.who{grid-template-columns:1fr}.who__item{border-left:0;border-top:1px solid var(--line-show)}.who__item:first-child{border-top:0}}

/* =====================================================================
   FAQ
   ===================================================================== */
.faq{max-width:820px;margin-inline:auto}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-weight:700;font-size:1.08rem;color:var(--ink-0)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg);transition:transform var(--dur-1)}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details p{padding:0 0 22px;max-width:64ch;color:var(--ink-1)}
.faq__foot{margin-top:var(--s-6);text-align:center}

/* =====================================================================
   CTA FINAL + FORM
   ===================================================================== */
.cta-final{position:relative;overflow:clip}
.cta-final__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.cta-final h2{max-width:14ch}
.cta-final .lead{margin-top:var(--s-4)}
.microproof{list-style:none;padding:0;margin:var(--s-6) 0 0;display:grid;gap:10px}
.microproof li{display:flex;gap:12px;align-items:flex-start;color:var(--ink-1);font-size:.98rem}
.microproof li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;background:var(--brand);clip-path:polygon(0 50%,40% 90%,100% 15%,88% 3%,40% 66%,12% 38%)}
.form-panel{position:relative;background:var(--bg-2);color:var(--ink-1);padding:26px;border:1px solid var(--line-2);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}
.form-panel::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--brand),transparent 70%)}
.form-panel h3{margin-bottom:4px;color:var(--ink-0)}
.form-panel .muted{font-size:.92rem;margin-bottom:16px;color:var(--ink-2)}
.form-panel .btn-wa{color:var(--ink-0);border-color:var(--line-2)}
.form-panel .btn-wa:hover{border-color:var(--wa)}
.form-embed{position:relative;min-height:330px;background:transparent;width:100%;max-width:100%;overflow:hidden}
/* esqueleto enquanto o form do CRM carrega (o form_embed.js só mostra o iframe depois de pronto) */
.form-embed::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.07),rgba(255,255,255,.07)) 0 22px/38% 12px no-repeat,linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.05)) 0 44px/100% 52px no-repeat,linear-gradient(rgba(255,255,255,.07),rgba(255,255,255,.07)) 0 124px/48% 12px no-repeat,linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.05)) 0 146px/100% 52px no-repeat,linear-gradient(rgba(255,141,0,.28),rgba(255,141,0,.28)) 0 226px/100% 56px no-repeat;animation:skel 1.1s ease-in-out infinite alternate}
@keyframes skel{to{opacity:.4}}
.form-embed.is-loaded::before{display:none}
.form-embed iframe{width:100%!important;max-width:100%;border:0;min-height:330px;display:block}
.form-list{margin:0 0 14px;padding:12px 14px;background:var(--bg-3);border-left:3px solid var(--brand);font-size:.9rem}
.form-list b{display:block;color:var(--ink-0);margin-bottom:4px}
.form-list ul{margin:0;padding-left:16px;color:var(--ink-1)}
@media (max-width:960px){.cta-final__grid{grid-template-columns:1fr}}

/* =====================================================================
   RODAPÉ
   ===================================================================== */
.footer{position:relative;background:var(--bg-0);border-top:1px solid var(--line);padding:64px 0 96px;overflow:clip}   /* 96px embaixo: o botão flutuante não cobre a última linha */
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s-6)}
.footer__brand img{height:36px;width:auto;margin-bottom:18px}
.footer__brand p{font-size:.92rem;color:var(--ink-2);max-width:40ch}
.footer__brand address{font-style:normal;margin-top:14px;font-size:.9rem;color:var(--ink-1);line-height:1.6}
.footer h4{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px;font-weight:700}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer ul a{color:var(--ink-1);font-size:.95rem} .footer ul a:hover{color:var(--brand)}
.footer__bottom{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-2)}
/* crédito da agência: coração pulsando */
.footer__credit{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);white-space:nowrap;padding-right:4px}
@media (max-width:760px){.footer__credit{flex-basis:100%}.footer{padding-bottom:40px}}
.footer__credit b{color:var(--ink-1);font-weight:700;transition:color var(--dur-1)} .footer__credit:hover b{color:var(--ink-0)}
.footer__credit sup{font-size:.6em;vertical-align:super;line-height:0}
.footer__credit .heart{display:inline-flex;color:var(--brand);animation:heartbeat 1.4s ease-in-out infinite;transform-origin:center}
.footer__credit .heart svg{width:13px;height:13px}
@keyframes heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.2)}56%{transform:scale(1)}}
.footer__social{display:flex;gap:10px}
.footer__social a{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line-2);color:var(--ink-1)} .footer__social a:hover{border-color:var(--brand);color:var(--brand)}
.footer__social svg{width:18px;height:18px}
@media (max-width:900px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:span 2}}
@media (max-width:560px){.footer__grid{grid-template-columns:1fr}.footer__brand{grid-column:auto}}

/* =====================================================================
   LISTA DE ORÇAMENTO (barra + drawer)
   ===================================================================== */
.listbar{position:fixed;right:100px;bottom:24px;z-index:80;display:flex;align-items:center;gap:0;background:var(--bg-2);border:1px solid var(--line-2);box-shadow:0 20px 50px -20px rgba(0,0,0,.7);transform:translateY(120%);opacity:0;transition:transform var(--dur-2) var(--ease),opacity var(--dur-2);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.listbar.is-visible{transform:none;opacity:1}
.listbar__count{display:flex;align-items:center;gap:10px;padding:0 18px;min-height:56px;font-weight:700;color:var(--ink-0);border-right:1px solid var(--line);white-space:nowrap}
.listbar__count b{display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;background:var(--brand);color:var(--ink-inv);font-weight:900;transition:transform .35s var(--ease)}
.listbar__count b.bump{transform:scale(1.35)}
.listbar__open{padding:0 16px;min-height:56px;font-weight:700;color:var(--ink-1)} .listbar__open:hover{color:var(--ink-0)}
.listbar .btn-primary{min-height:56px;clip-path:none}
@media (max-width:760px){.listbar{left:12px;right:12px;bottom:12px;justify-content:space-between}.listbar__open{display:none}.listbar .btn-primary{flex:1}}

.drawer{position:fixed;inset:0;z-index:90;visibility:hidden}
.drawer.is-open{visibility:visible}
.drawer__scrim{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity var(--dur-2)}
.drawer.is-open .drawer__scrim{opacity:1}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--bg-1);color:var(--ink-1);border-left:1px solid var(--line-2);transform:translateX(100%);transition:transform var(--dur-2) var(--ease);display:flex;flex-direction:column;overflow:hidden}
.drawer.is-open .drawer__panel{transform:none}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}
.drawer__head h3{font-size:1.15rem;color:var(--ink-0)}
.drawer__close{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-2);color:var(--ink-0)}
.drawer__body{padding:22px;overflow-y:auto;flex:1}
.drawer__body .muted{color:var(--ink-2)}
.drawer__list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.drawer__list li{display:flex;align-items:center;gap:12px;padding:8px;border:1px solid var(--line);font-size:.9rem}
.drawer__list img{width:44px;height:44px;object-fit:contain;background:#fff;flex:none}
.drawer__list b{flex:1;font-weight:700;color:var(--ink-0)}
.drawer__list small{color:var(--ink-2)}
.drawer__list button{color:var(--ink-2);font-size:.8rem;text-decoration:underline}
.drawer__empty{padding:14px;background:var(--bg-3);font-size:.9rem;color:var(--ink-1);margin-bottom:18px}
@media (max-width:760px){.drawer__panel{top:auto;height:94dvh;max-height:94vh;width:100%;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.drawer__body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px}.form-panel{padding:18px}}

/* chat ao vivo (LeadConnector): host estático; o balão nativo é escondido via JS (shadow DOM) e o .chatfab assume o papel */
chat-widget{display:block}

/* ---- botão flutuante: alterna WhatsApp / chat ao vivo a cada 0,5 s; vira "fechar" com o widget aberto ---- */
.chatfab{position:fixed;right:20px;bottom:20px;z-index:80;width:60px;height:60px;color:var(--ink-inv);filter:drop-shadow(0 18px 28px rgba(0,0,0,.45)) drop-shadow(0 0 18px rgba(255,141,0,.25));transition:transform var(--dur-1) var(--ease),filter var(--dur-1)}
.chatfab::before{content:"";position:absolute;inset:0;background:var(--brand);clip-path:polygon(var(--chamfer) 0,100% 0,100% calc(100% - var(--chamfer)),calc(100% - var(--chamfer)) 100%,0 100%,0 var(--chamfer));transition:background var(--dur-1)}
.chatfab:hover{transform:translateY(-2px)} .chatfab:hover::before{background:#FF9A1F}
.chatfab__icon{position:absolute;inset:0;display:grid;place-items:center;opacity:0}
.chatfab__icon svg{width:26px;height:26px}
.chatfab__icon--close svg{width:18px;height:18px}
.chatfab__icon--wa{animation:fab-a 1s ease-in-out infinite}
.chatfab__icon--chat{animation:fab-b 1s ease-in-out infinite}
@keyframes fab-a{0%,44%{opacity:1;transform:scale(1)}50%,94%{opacity:0;transform:scale(.55)}100%{opacity:1;transform:scale(1)}}
@keyframes fab-b{0%,44%{opacity:0;transform:scale(.55)}50%,94%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.55)}}
.chatfab.is-open .chatfab__icon--wa,.chatfab.is-open .chatfab__icon--chat{animation:none;opacity:0}
.chatfab.is-open .chatfab__icon--close{opacity:1}
.chatfab.is-open::before{background:var(--bg-3)} .chatfab.is-open{color:var(--ink-0)}
@media (prefers-reduced-motion:reduce){.chatfab__icon--wa{animation:none;opacity:1}.chatfab__icon--chat{animation:none;opacity:0}}

/* =====================================================================
   BARRA MOBILE
   ===================================================================== */
.mobilebar{display:none}
@media (max-width:760px){
  .mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(17,18,19,.92);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mobilebar .btn-split{width:100%;gap:8px}
  .mobilebar .btn-split__label{flex:1}
  body{padding-bottom:78px}
  .listbar{bottom:82px}
  .chatfab{right:12px;bottom:calc(88px + env(safe-area-inset-bottom));width:54px;height:54px}
  .listbar.is-visible ~ .chatfab{bottom:calc(158px + env(safe-area-inset-bottom))}
  .chatfab.is-open{display:none}   /* no celular a janela do chat cobre o canto; fecha pelo botão do cabeçalho do widget */
}

/* =====================================================================
   PÁGINA DE LINHA
   ===================================================================== */
.line-hero{position:relative;overflow:clip;background:radial-gradient(900px 500px at 80% 30%,rgba(255,141,0,.14),transparent 60%),var(--bg-0)}
.line-hero__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-6);align-items:center;min-height:560px;padding-block:clamp(48px,6vw,80px)}
.line-hero__logo{height:40px;width:auto;margin-bottom:22px}
.line-hero h1{max-width:14ch;margin-bottom:var(--s-5)}
.line-hero .lead{margin-bottom:var(--s-6)}
.line-hero__stage img{width:min(115%,720px);margin-left:-6%;filter:drop-shadow(0 40px 60px rgba(0,0,0,.55))}
@media (max-width:960px){.line-hero__grid{grid-template-columns:1fr}.line-hero__stage img{width:100%;margin:0 auto;max-width:520px}}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-show);border:1px solid var(--line-show)}
.spec{background:var(--show-0);padding:26px 24px}
.spec b{display:block;font-size:2rem;font-weight:900;letter-spacing:-.03em;color:var(--ink-inv);line-height:1;margin-bottom:10px}
.spec b .accent{font-size:.7em;color:var(--brand)}
.spec h3{font-size:1.02rem;margin-bottom:8px}
.spec p{font-size:.92rem;color:#4A4B4D}
@media (max-width:900px){.spec-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.spec-grid{grid-template-columns:1fr}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.filters button{border:1px solid var(--line-show);padding:9px 14px;font-weight:700;font-size:.88rem;color:var(--ink-inv);background:var(--show-0);transition:all var(--dur-1)}
.filters button:hover{border-color:var(--ink-inv)}
.filters button.is-on{background:var(--ink-inv);color:var(--ink-0);border-color:var(--ink-inv)}
.filters__count{margin-left:auto;align-self:center;font-size:.85rem;color:#6C6E70}
.colors{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-6);align-items:center}
.swatches{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}
.swatch{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.78rem;color:var(--ink-2)}
.swatch i{width:54px;height:54px;border:2px solid var(--line-2);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.on-light .swatch{color:#5A5C5E} .on-light .swatch i{border-color:var(--line-show)}

/* =====================================================================
   CATÁLOGO
   ===================================================================== */
.catalog-head{padding-block:clamp(40px,6vw,72px) 8px}
.catalog-head h1{max-width:16ch}
.catalog-tools{position:sticky;top:76px;z-index:40;background:var(--show-1);padding:12px 0;border-bottom:1px solid var(--line-show);margin-bottom:26px}
@media (max-width:900px){.catalog-tools{position:static}.catalog-tools__row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.catalog-tools__row::-webkit-scrollbar{display:none}.catalog-tools__row .search{min-width:180px}.catalog-tools__row button{flex:none}}
.catalog-tools__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.catalog-tools__row + .catalog-tools__row{margin-top:8px}
.catalog-tools label{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6C6E70;margin-right:6px}
.search{flex:1;min-width:200px;display:flex;align-items:center;gap:8px;border:1px solid var(--line-show);background:var(--show-0);padding:0 12px;min-height:40px}
.search input{border:0;background:transparent;font:inherit;font-size:16px;width:100%;outline:none;color:var(--ink-inv)}
.search svg{width:16px;height:16px;color:#6C6E70;flex:none}
.catalog-empty{padding:40px;text-align:center;color:#6C6E70;border:1px dashed var(--line-show)}
.line-block{margin-top:var(--s-8)}
.line-block__head{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.line-block__head img{height:24px;width:auto}
.line-block__head .line-block__ex{height:36px}
.line-block__head span{color:#6C6E70;font-size:.9rem}

/* =====================================================================
   PÁGINA DE PRODUTO
   ===================================================================== */
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.85rem;color:#6C6E70;padding-top:22px}
.crumbs a:hover{color:var(--brand)} .crumbs i{font-style:normal;opacity:.5}
.product{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);padding-block:clamp(28px,4vw,48px) var(--sec-product);align-items:start}
.product__gallery{position:sticky;top:96px}
.product__main{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#FFFFFF,#EEF0F1);padding:8%;position:relative;overflow:hidden}
.product__main img{max-height:100%;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(28,28,28,.25))}
.product__main .watermark{font-size:clamp(6rem,14vw,12rem);transform:translateY(30%)}
.product__thumbs{display:flex;gap:8px;margin-top:8px}
.product__thumbs button{width:74px;height:74px;border:1px solid var(--line-show);background:#fff;padding:6px} .product__thumbs button.is-on{border-color:var(--brand)}
.product__thumbs img{width:100%;height:100%;object-fit:contain}
.product__info h1{font-size:clamp(1.9rem,3.4vw,2.7rem);margin:10px 0 12px}
.product__lineline{display:flex;align-items:center;gap:12px}
.product__lineline img{height:18px;width:auto}
.product__lineline .product__lineline--ex{height:28px}
.product__lineline span{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6C6E70}
.product__desc{color:#3A3B3D;font-size:1.05rem;line-height:1.6;max-width:56ch}
.product__actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.product__actions .btn-primary{flex:1;min-width:220px}
.muscles{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:18px;background:var(--show-0);border:1px solid var(--line-show);margin-bottom:18px}
.muscles svg{width:96px;height:auto}
.muscles h3{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#6C6E70;margin-bottom:6px}
.muscles ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.muscles li{font-size:.85rem;font-weight:700;color:var(--ink-inv);background:#EEF0F1;padding:5px 9px}
.spec-table{width:100%;border-collapse:collapse;background:var(--show-0);border:1px solid var(--line-show);margin-bottom:18px}
.spec-table th,.spec-table td{text-align:left;padding:11px 14px;border-top:1px solid var(--line-show);font-size:.92rem;vertical-align:top}
.spec-table tr:first-child th,.spec-table tr:first-child td{border-top:0}
.spec-table th{width:38%;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6C6E70}
.spec-table td{color:var(--ink-inv)}
.qr-note{display:flex;gap:14px;align-items:center;padding:16px;border:1px dashed var(--line-show);color:#5A5C5E;font-size:.88rem}
.qr-note b{color:var(--ink-inv)}
@media (max-width:960px){.product{grid-template-columns:1fr}.product__gallery{position:static}}

/* =====================================================================
   ORÇAMENTO (landing)
   ===================================================================== */
.lp-nav .nav__links{display:none}
.lp-hero{position:relative;overflow:clip;background:radial-gradient(900px 600px at 85% 20%,rgba(255,141,0,.18),transparent 60%),var(--bg-0)}
.lp-hero__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(40px,6vw,72px)}
.lp-hero h1{max-width:13ch;margin-bottom:var(--s-4)}
.lp-hero__machine{position:absolute;right:-4%;bottom:-6%;width:44%;opacity:.9;pointer-events:none;filter:drop-shadow(0 30px 50px rgba(0,0,0,.6))}
.lp-proof{list-style:none;margin:var(--s-5) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.9rem;color:var(--ink-1)}
.lp-proof li{display:flex;gap:8px;align-items:center}
.lp-proof li::before{content:"";width:8px;height:8px;background:var(--brand);transform:rotate(45deg)}
@media (max-width:960px){.lp-hero__grid{grid-template-columns:1fr}.lp-hero__machine{display:none}}

/* =====================================================================
   FÁBRICA (página)
   ===================================================================== */
.fab-hero{position:relative;min-height:70vh;display:grid;align-items:end;overflow:clip;background:var(--bg-0)}
.fab-hero video,.fab-hero__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.fab-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,18,19,.2),rgba(17,18,19,.85) 70%,var(--bg-1))}
.fab-hero .container{position:relative;z-index:2;padding-block:clamp(56px,8vw,120px) clamp(40px,6vw,72px)}
.fab-hero h1{max-width:16ch}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);margin-top:var(--s-6)}
.timeline div{padding:22px 0 0;border-top:2px solid var(--line-2)}
.timeline b{display:block;font-size:2.4rem;font-weight:900;letter-spacing:-.03em;color:var(--brand);line-height:1;margin-bottom:8px}
.timeline p{font-size:.95rem;color:var(--ink-1)}
.process{counter-reset:proc;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.proc{position:relative;background:var(--bg-2);border:1px solid var(--line);padding:0 0 18px;overflow:hidden}
.proc figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--bg-3)}
.proc figure img,.proc figure video{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.proc:hover figure img{transform:scale(1.05)}
.proc h3{font-size:1.02rem;margin:16px 18px 6px;color:var(--ink-0)}
.on-light .proc h3{color:var(--ink-0)}
.proc h3::before{counter-increment:proc;content:counter(proc,decimal-leading-zero) "  ";color:var(--brand);font-family:var(--font-accent);font-style:italic;font-size:1.1em}
.proc p{margin:0 18px;font-size:.92rem;color:var(--ink-2)}
.logo-concept{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-6);align-items:center}
.logo-concept img{width:100%;height:auto}
.showroom{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-6);align-items:center}
.showroom figure{margin:0;overflow:hidden;aspect-ratio:4/3}
.showroom img,.showroom video{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.timeline{grid-template-columns:1fr}.logo-concept,.showroom{grid-template-columns:1fr}}

/* =====================================================================
   REVEAL (uma vez, discreto) + reduced motion
   ===================================================================== */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal,.hero__copy>*,.hero__machine{opacity:1;transform:none}
  .steps::after{transition:none}
}
@media (max-width:760px){.nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(17,18,19,.96)}}

/* área de toque no celular: links de texto ganham respiro vertical (>= 32px) */
@media (max-width:760px){
  .footer li a,.crumbs a,.pcard h3 a,.proc h3 a{display:inline-block;padding:6px 0}
  .link{padding:6px 0}
  .footer__credit{padding:8px 0}
}
