/* ==========================================================================
   ALPHA Automação de Sistemas Elétricos · Design System v2.1
   --------------------------------------------------------------------------
   Um único arquivo de estilos para todas as páginas.
   Mapa para o Elementor (Configurações do Site):
   · Cores globais ........ --red, --red-strong, --ink, --black, --graphite, --grey, --mute
   · Fontes globais ....... --font-title (Inter Tight) · --font-ui (Open Sans, botões)
   · Espaçamento .......... escala de 4pt (--s-*) e padding de seção --section-y
   · Botão ................ .btn (corte diagonal no canto superior direito = --cut)
   · Animações de entrada . [data-anim="rise|panel|shutter|energize"] + data-delay (ver seção 29)
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  /* cor da marca (manual: R237 G28 B36 · Pantone 185 C) */
  --red:#ED1C24;
  --red-strong:#E31B23;     /* fundo de botão: branco passa AA */
  --red-deep:#B8121A;       /* hover do botão */
  --red-text:#D6191F;       /* texto vermelho pequeno sobre claro */
  --red-on-dark:#FF4D53;    /* texto vermelho pequeno sobre escuro */
  --red-tint:#FDECEC;

  --ink:#191919;            /* texto principal */
  --black:#111111;          /* seções escuras e rodapé */
  --graphite:#1E1E1E;       /* cards sobre escuro */
  --grey:#F1F1F1;           /* seções de apoio */
  --grey-2:#E6E6E6;
  --mute:#5B5B5B;           /* texto secundário sobre claro */
  --mute-dark:#A9A9A9;      /* texto secundário sobre escuro */
  --line:rgba(25,25,25,.12);
  --line-dark:rgba(255,255,255,.12);
  --white:#FFFFFF;
  /* transparências padronizadas (antes eram 33 valores soltos) */
  --on-dark:rgba(255,255,255,.88);      /* texto sobre escuro/vermelho */
  --on-dark-2:rgba(255,255,255,.72);    /* texto secundário sobre foto */
  --on-dark-fill:rgba(255,255,255,.08); /* superfícies sutis sobre escuro */
  --line-dark-strong:rgba(255,255,255,.2);
  --line-accent:rgba(237,28,36,.4);     /* borda de destaque no hover */
  --scrim:rgba(17,17,17,.82);           /* fundo do cabeçalho com rolagem */
  --scrim-soft:rgba(17,17,17,.4);
  --red-glow:rgba(237,28,36,.35);
  --wa:#1FAF55; --wa-deep:#178F45;       /* verde do WhatsApp (botão flutuante) */

  /* tipografia */
  --font-title:"Inter Tight",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-ui:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

  --fs-display:clamp(4rem,11vw,10.5rem);   /* 64 → 168 */
  --fs-display-sm:clamp(3rem,7vw,6rem);    /* 48 → 96  */
  --fs-h1:clamp(2.25rem,4.4vw,4rem);       /* 36 → 64  */
  --fs-h2:clamp(2rem,3.8vw,3.5rem);        /* 32 → 56  */
  --fs-h2s:clamp(1.75rem,2.6vw,2.5rem);    /* 28 → 40  */
  --fs-h3:clamp(1.25rem,1.6vw,1.5rem);     /* 20 → 24  */
  --fs-h4:1.125rem;                        /* 18 */
  --fs-lead:clamp(1.0625rem,1.35vw,1.25rem);/* 17 → 20 */
  --fs-body:1rem;                          /* 16 */
  --fs-md:.9375rem;                        /* 15 · navegação, botões, rodapé */
  --fs-sm:.875rem;                         /* 14 */
  --fs-xs:.75rem;                          /* 12 · etiquetas */
  --fs-label:var(--fs-xs);

  --ls-display:-.05em; --ls-tight:-.035em; --ls-snug:-.02em; --ls-body:-.01em; --ls-ui:.02em; --ls-label:.14em;

  /* espaçamento · escala de 4pt */
  --s-1:4px;  --s-2:8px;  --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px;
  --s-8:32px; --s-10:40px; --s-12:48px; --s-16:64px; --s-20:80px; --s-24:96px; --s-32:128px;

  --section-y:clamp(80px,9vw,128px);       /* padding vertical padrão de seção */
  --section-head:clamp(40px,5vw,64px);     /* distância título → conteúdo */
  --gap:clamp(16px,1.8vw,24px);            /* gap de grids de cards */
  --gap-lg:clamp(40px,6vw,96px);           /* gap entre colunas de texto/imagem */
  --card-pad:clamp(24px,2.4vw,32px);

  /* layout */
  --container:1280px;
  --gutter:clamp(20px,4vw,48px);
  --header-h:80px;

  /* forma da marca: corte diagonal */
  --cut-xs:6px;        /* etiquetas e controles pequenos */
  --cut-sm:10px;       /* botões pequenos, tiles de ícone, redes sociais */
  --cut:14px;          /* botões */
  --cut-lg:32px;       /* cards e molduras de imagem */
  --chamfer:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%);

  /* movimento */
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --ease-power:cubic-bezier(.7,0,.2,1);
  --dur-1:.2s; --dur-2:.35s; --dur-3:.6s; --dur-4:.9s; --dur-5:1.4s;

  --shadow-1:0 1px 2px rgba(17,17,17,.06),0 4px 16px rgba(17,17,17,.06);
  --shadow-2:0 2px 4px rgba(17,17,17,.06),0 18px 40px -12px rgba(17,17,17,.22);

  interpolate-size:allow-keywords;
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}
body{margin:0;font-family:var(--font-title);font-size:var(--fs-body);line-height:1.65;color:var(--ink);background:var(--white);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul[role=list],ol[role=list]{list-style:none;padding:0}
::selection{background:var(--red);color:var(--white)}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.sec--dark :focus-visible,.hero :focus-visible,.site-footer :focus-visible,.site-header :focus-visible{outline-color:var(--white)}

@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:var(--ease-out)}
.site-header{view-transition-name:site-header}

/* ---------- 3. Utilidades ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:var(--red-strong);color:var(--white);padding:12px 18px;font:600 var(--fs-sm)/1 var(--font-ui);transition:top var(--dur-2) var(--ease-out)}
.skip-link:focus{top:16px}
.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.icon{width:24px;height:24px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.icon--fill{fill:currentColor;stroke:none}
.icon--sm{width:18px;height:18px}
.icon--xs{width:16px;height:16px}
.text-red{color:var(--red)}
a[href^="tel:"]{white-space:nowrap}
.mute{color:var(--mute)}
.stack>*+*{margin-top:var(--s-4)}
.stack-lg>*+*{margin-top:var(--s-6)}

/* ---------- 4. Tipografia ---------- */
.display{font-size:var(--fs-display);line-height:.88;font-weight:700;letter-spacing:var(--ls-display)}
.h1{font-size:var(--fs-h1);line-height:1.02;font-weight:700;letter-spacing:var(--ls-tight);text-wrap:balance}
.h2{font-size:var(--fs-h2);line-height:1.05;font-weight:700;letter-spacing:var(--ls-tight);text-wrap:balance}
.h3{font-size:var(--fs-h3);line-height:1.2;font-weight:700;letter-spacing:var(--ls-snug)}
.h4{font-size:var(--fs-h4);line-height:1.3;font-weight:700;letter-spacing:var(--ls-snug)}
.h1 em,.h2 em,.display em{font-style:italic;font-weight:700}
.h1 .accent,.h2 .accent,.display .accent{color:var(--red)}
.lead{font-size:var(--fs-lead);line-height:1.55;font-weight:400;letter-spacing:var(--ls-body);text-wrap:pretty}
.lead--ink{color:var(--ink)!important}
.body{font-size:var(--fs-body);line-height:1.7;text-wrap:pretty}
.small{font-size:var(--fs-sm);line-height:1.6}
.lead strong,.body strong{font-weight:600}

.eyebrow{display:inline-flex;align-items:center;font:700 var(--fs-label)/1 var(--font-title);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--red-text)}
.sec--dark .eyebrow,.hero .eyebrow,.page-hero .eyebrow{color:var(--red-on-dark)}

/* cabeçalho de seção padrão: eyebrow → título → texto */
.sec-head{display:grid;gap:var(--s-5);max-width:720px;margin-bottom:var(--section-head)}
.sec-head--flush{margin:0}
.sec-head--wide{max-width:none}
.mt-section{margin-top:var(--section-head)}
.mb-section{margin-bottom:var(--section-head)}
.sec-head--center{margin-inline:auto;text-align:center;justify-items:center}
.sec-head--split{max-width:none;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:var(--s-6) var(--gap-lg)}
.sec-head--split .sec-head__main{display:grid;gap:var(--s-5)}
.sec-head--split>p,.sec-head--split .sec-head__aside{color:var(--mute)}
.sec--dark .sec-head--split>p,.sec--dark .sec-head--split .sec-head__aside{color:var(--mute-dark)}
.sec-head .lead{color:var(--mute)}
.sec--dark .sec-head .lead{color:var(--mute-dark)}

/* ---------- 5. Botões (corte diagonal da marca) ----------
   O fundo fica no ::before com clip-path, assim o foco (outline) não é cortado.
   Hover: preenchimento varre da esquerda para a direita + seta desliza. */
.btn{--btn-bg:var(--red-strong);--btn-fill:var(--red-deep);--btn-fg:var(--white);--btn-fg-hover:var(--white);--cut:14px;
  position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3);
  min-height:56px;padding:0 var(--s-8) 0 var(--s-6);color:var(--btn-fg);
  font:600 var(--fs-md)/1.1 var(--font-ui);letter-spacing:var(--ls-ui);text-align:left;white-space:nowrap;
  cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;
  transition:color var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;clip-path:var(--chamfer);
  background:linear-gradient(var(--btn-fill),var(--btn-fill)) no-repeat 0 0/0% 100%,var(--btn-bg);
  transition:background-size var(--dur-3) var(--ease-out)}
.btn .icon{width:18px;height:18px;transition:transform var(--dur-2) var(--ease-out)}
.btn:hover{color:var(--btn-fg-hover)}
.btn:hover::before{background-size:100% 100%,auto}
.btn:hover .icon--arrow{transform:translateX(4px)}
.btn:hover .icon--up-right{transform:translate(3px,-3px)}
.btn:active{transform:scale(.97)}
.btn:focus-visible{outline-offset:5px}
.btn--dark{--btn-bg:var(--black);--btn-fill:var(--red-strong)}
.btn--light{--btn-bg:var(--white);--btn-fg:var(--ink);--btn-fill:var(--red-strong);--btn-fg-hover:var(--white)}
.btn--outline{--btn-bg:var(--white);--btn-inner:var(--black);--btn-fill:var(--white);--btn-fg:var(--white);--btn-fg-hover:var(--ink)}
.btn--outline::before{background:var(--btn-bg)}
.btn--outline::after{content:"";position:absolute;inset:1.5px;z-index:-1;clip-path:polygon(0 0,calc(100% - var(--cut) + .9px) 0,100% calc(var(--cut) - .9px),100% 100%,0 100%);
  background:linear-gradient(var(--btn-fill),var(--btn-fill)) no-repeat 0 0/0% 100%,var(--btn-inner);transition:background-size var(--dur-3) var(--ease-out)}
.btn--outline:hover::before{background-size:auto}
.btn--outline:hover::after{background-size:100% 100%,auto}
.btn--tonal{--btn-bg:var(--grey-2);--btn-fg:var(--ink);--btn-fill:var(--ink);--btn-fg-hover:var(--white)}
.btn--sm{--cut:var(--cut-sm);min-height:44px;padding:0 var(--s-6) 0 var(--s-5);font-size:var(--fs-sm);gap:var(--s-2)}
.btn--sm .icon{width:16px;height:16px}
.btn--lg{min-height:64px;padding:0 var(--s-10) 0 var(--s-8);font-size:var(--fs-body)}
.btn--block{width:100%;justify-content:space-between}
.btn-group{display:flex;flex-wrap:wrap;gap:var(--s-3)}

/* link com seta (ação terciária) */
.link-arrow{display:inline-flex;align-items:center;gap:var(--s-2);font:700 var(--fs-sm)/1.2 var(--font-ui);letter-spacing:var(--ls-ui);color:var(--ink);
  background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0% 1.5px;padding-bottom:4px;transition:background-size var(--dur-3) var(--ease-out),color var(--dur-2)}
.link-arrow .icon{width:16px;height:16px;color:var(--red);transition:transform var(--dur-2) var(--ease-out)}
.link-arrow:hover{background-size:100% 1.5px}
.link-arrow:hover .icon{transform:translateX(4px)}
.sec--dark .link-arrow,.card--dark .link-arrow,.media-card .link-arrow{color:var(--white)}

/* ---------- 6. Cabeçalho ---------- */
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);color:var(--white);
  transition:background-color var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out)}
.site-header::before{content:"";position:absolute;inset:0;background:var(--scrim);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);opacity:0;transition:opacity var(--dur-3) var(--ease-out)}
.site-header.is-scrolled::before{opacity:1}
.site-header.is-scrolled{box-shadow:0 1px 0 var(--line-dark)}
.site-header.is-hidden{transform:translateY(-100%)}
.site-header__inner{position:relative;height:100%;display:flex;align-items:center;gap:var(--s-8)}
.brand{display:inline-flex;flex:0 0 auto}
.brand img{width:168px;height:auto}
.nav{margin-inline:auto}
.nav__list{display:flex;align-items:center;gap:var(--s-1);list-style:none;margin:0;padding:0}
.nav__link{position:relative;display:inline-flex;align-items:center;height:44px;padding:0 var(--s-4);font:500 var(--fs-md)/1 var(--font-title);letter-spacing:0;color:var(--on-dark-2);transition:color var(--dur-2)}
.nav__link::after{content:"";position:absolute;left:var(--s-4);right:var(--s-4);bottom:6px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform var(--dur-3) var(--ease-out)}
.nav__link:hover,.nav__link[aria-current=page]{color:var(--white)}
.nav__link:hover::after,.nav__link[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.site-header__cta{flex:0 0 auto}

.burger{display:none;position:relative;width:48px;height:48px;flex:0 0 auto;margin-left:auto;isolation:isolate}
.burger::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red-strong);clip-path:polygon(0 0,calc(100% - var(--cut-sm)) 0,100% var(--cut-sm),100% 100%,0 100%)}
.burger span{position:absolute;left:14px;right:14px;height:2px;background:var(--white);transition:transform var(--dur-2) var(--ease-out),opacity var(--dur-1)}
.burger span:nth-child(1){top:18px}.burger span:nth-child(2){top:23px;right:20px}.burger span:nth-child(3){top:28px}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.mobile-menu{position:fixed;inset:0;z-index:99;display:flex;flex-direction:column;padding:calc(var(--header-h) + var(--s-6)) var(--gutter) var(--s-8);
  background:var(--black);color:var(--white);visibility:hidden;opacity:0;transition:opacity var(--dur-2) var(--ease-out),visibility 0s var(--dur-2);overflow-y:auto}
.mobile-menu.is-open{visibility:visible;opacity:1;transition:opacity var(--dur-2) var(--ease-out)}
.mobile-menu__list{list-style:none;margin:0;padding:0}
.mobile-menu__link{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-5) 0;border-bottom:1px solid var(--line-dark);
  font:700 clamp(1.75rem,7vw,2.25rem)/1.1 var(--font-title);letter-spacing:var(--ls-tight);
  opacity:0;transform:translateY(16px);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out),color var(--dur-2)}
.mobile-menu__link small{font:600 var(--fs-xs)/1 var(--font-ui);letter-spacing:var(--ls-label);color:var(--mute-dark)}
.mobile-menu__link[aria-current=page]{color:var(--red-on-dark)}
.mobile-menu.is-open .mobile-menu__link{opacity:1;transform:none}
.mobile-menu.is-open li:nth-child(2) .mobile-menu__link{transition-delay:.04s}
.mobile-menu.is-open li:nth-child(3) .mobile-menu__link{transition-delay:.08s}
.mobile-menu.is-open li:nth-child(4) .mobile-menu__link{transition-delay:.12s}
.mobile-menu.is-open li:nth-child(5) .mobile-menu__link{transition-delay:.16s}
.mobile-menu__foot{margin-top:auto;padding-top:var(--s-8);display:grid;gap:var(--s-5)}
.mobile-menu__contact{display:grid;gap:var(--s-2);font-size:var(--fs-sm);color:var(--mute-dark)}
html.is-locked,html.is-locked body{overflow:hidden}

@media (max-width:1100px){.nav__link{padding:0 var(--s-3)}.nav__link::after{left:var(--s-3);right:var(--s-3)}.site-header__inner{gap:var(--s-5)}}
@media (max-width:1023px){
  :root{--header-h:72px}
  .nav,.site-header__cta{display:none}
  .burger{display:block}
  .brand img{width:148px}
}

/* ---------- 7. Seções ---------- */
.sec{position:relative;padding-block:var(--section-y)}
.sec--grey{background:var(--grey)}
.sec--dark{background:var(--black);color:var(--white)}
.sec--tight{padding-block:calc(var(--section-y)*.65)}
.sec--flush-top{padding-top:0}
.sec--dark .mute{color:var(--mute-dark)}

/* faixa diagonal da marca (divisor entre seções) */
.sec--slash{padding-bottom:calc(var(--section-y) + var(--slash-h)*.5)}
:root{--slash-h:clamp(40px,6vw,88px)}
.slash{position:absolute;left:0;right:0;bottom:-1px;height:var(--slash-h);pointer-events:none;z-index:1}
.slash::before,.slash::after{content:"";position:absolute;inset:0}
.slash::before{background:var(--red);clip-path:polygon(0 74%,100% 0,100% 30%,0 100%);transform-origin:left;transform:scaleX(0);transition:transform 1.4s var(--ease-out)}
.slash::after{background:var(--grey);clip-path:polygon(0 100%,100% 30%,100% 100%)}
.slash--to-white::after{background:var(--white)}
.slash.is-in::before{transform:scaleX(1)}
html:not(.js) .slash::before{transform:none}

/* ---------- 8. Hero (home) ---------- */
.hero{position:relative;min-height:max(640px,100svh);display:flex;flex-direction:column;justify-content:flex-end;color:var(--white);background:var(--black);overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;transform:scale(1.08);animation:hero-zoom 2.4s var(--ease-out) forwards}
.hero__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(17,17,17,.92) 0%,rgba(17,17,17,.72) 38%,rgba(17,17,17,.2) 72%,rgba(17,17,17,.35) 100%),
             linear-gradient(0deg,rgba(17,17,17,.95) 0%,rgba(17,17,17,0) 45%),
             linear-gradient(180deg,rgba(17,17,17,.6) 0%,rgba(17,17,17,0) 22%)}
.hero__inner{position:relative;z-index:1;padding-top:calc(var(--header-h) + var(--s-16));padding-bottom:var(--s-12)}
.hero__content{max-width:760px;display:grid;gap:var(--s-6)}
.hero__kicker{font-size:clamp(1.25rem,2.2vw,2rem);font-weight:600;letter-spacing:var(--ls-tight);line-height:1.1}
.hero__title{display:grid;gap:var(--s-2)}
.hero__title .display{margin-left:-.04em}
.hero__lead{max-width:560px;color:var(--on-dark-2)}
.hero__lead strong{color:var(--white);font-weight:600}
.hero__actions{margin-top:var(--s-2)}
.hero__stats{position:relative;z-index:1;border-top:1px solid var(--line-dark);background:var(--scrim-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero__stats .container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:stretch}
.stat{display:grid;align-content:start;gap:var(--s-1);padding:var(--s-6) var(--s-6) var(--s-6) 0}
.stat+.stat{padding-left:var(--s-6);border-left:1px solid var(--line-dark)}
.stat__value{font-size:var(--fs-h2s);font-weight:700;letter-spacing:var(--ls-tight);line-height:1}
.stat__value .accent{color:var(--red)}
.stat__label{font-size:var(--fs-sm);color:var(--mute-dark);line-height:1.35}
.hero__place{align-self:center;display:flex;align-items:center;gap:var(--s-3);padding-left:var(--s-6);font-size:var(--fs-sm);color:var(--on-dark-2);max-width:260px;line-height:1.4}
.hero__place .icon{color:var(--red)}

/* entrada do hero ao carregar */
.line-mask{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.line-mask>span{display:block}
.js .hero .line-mask>span,.js .page-hero .line-mask>span{transform:translateY(105%);animation:line-up 1s var(--ease-out) forwards;animation-delay:calc(.15s + var(--i,0) * .1s)}
.js .hero [data-hero],.js .page-hero [data-hero]{opacity:0;transform:translateY(20px);animation:fade-up .9s var(--ease-out) forwards;animation-delay:calc(.45s + var(--i,0) * .1s)}
@keyframes line-up{to{transform:none}}
@keyframes fade-up{to{opacity:1;transform:none}}
@keyframes hero-zoom{to{transform:scale(1)}}

/* ---------- 9. Hero interno ---------- */
.page-hero{position:relative;background:var(--black);color:var(--white);overflow:hidden;padding-top:calc(var(--header-h) + clamp(48px,7vw,96px));padding-bottom:clamp(64px,8vw,112px)}
.page-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--gap-lg);align-items:center}
.page-hero__content{display:grid;gap:var(--s-6);max-width:720px;justify-items:start}
.page-hero__content .lead{color:var(--on-dark-2)}
.page-hero__content .lead strong{color:var(--white)}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);font:500 var(--fs-sm)/1 var(--font-title);color:var(--mute-dark);list-style:none;margin:0;padding:0}
.breadcrumb a{transition:color var(--dur-2)}
.breadcrumb a:hover{color:var(--white)}
.breadcrumb li+li::before{content:"/";margin-right:var(--s-2);color:rgba(255,255,255,.3)}
.breadcrumb [aria-current]{color:var(--white)}
.page-hero__media{position:relative;aspect-ratio:4/5;max-height:640px;justify-self:end;width:100%}
.page-hero__media .frame{height:100%}
.page-hero__badge{position:absolute;left:calc(var(--s-6)*-1);bottom:var(--s-8);display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);background:var(--red-strong);color:var(--white);
  font:600 var(--fs-sm)/1.3 var(--font-ui);clip-path:polygon(0 0,calc(100% - var(--cut-sm)) 0,100% var(--cut-sm),100% 100%,0 100%);max-width:260px}

/* ---------- 10. Molduras de imagem ---------- */
.frame{position:relative;overflow:hidden;clip-path:polygon(0 0,calc(100% - var(--cut-lg)) 0,100% var(--cut-lg),100% 100%,0 100%);background:var(--graphite)}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.frame--wide{aspect-ratio:16/10}
.frame--tall{aspect-ratio:4/5}

/* ---------- 11. Grids ---------- */
.grid{display:grid;gap:var(--gap)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap-lg);align-items:center}
.split--top{align-items:start}
.split--5-7{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.split--7-5{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}

/* ---------- 12. Ícones em bloco ---------- */
.icon-tile{--t:48px;width:var(--t);height:var(--t);display:grid;place-items:center;flex:0 0 auto;color:var(--white);background:var(--red-strong);
  clip-path:polygon(0 0,calc(100% - var(--cut-sm)) 0,100% var(--cut-sm),100% 100%,0 100%);transition:background var(--dur-2),color var(--dur-2)}
.icon-tile .icon{width:24px;height:24px}
.icon-tile--soft{background:var(--red-tint);color:var(--red-text)}
.icon-tile--ghost{background:var(--on-dark-fill);color:var(--red);box-shadow:inset 0 0 0 1px var(--line-dark)}
.icon-tile--lg{--t:56px}
.icon-tile--lg .icon{width:28px;height:28px}

/* ---------- 13. Cards ---------- */
.card{position:relative;display:flex;flex-direction:column;gap:var(--s-4);padding:var(--card-pad);background:var(--grey);
  clip-path:polygon(0 0,calc(100% - var(--cut-lg)) 0,100% var(--cut-lg),100% 100%,0 100%);
  transition:transform var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out)}
.card::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-3) var(--ease-out)}
.card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-2)}
.card__title{font-size:var(--fs-h3);line-height:1.2;font-weight:700;letter-spacing:var(--ls-snug)}
.card__text{color:var(--mute);line-height:1.6}
.card__foot{margin-top:auto;padding-top:var(--s-4)}
.card--link{cursor:pointer}
.card--link:hover{transform:translateY(-4px)}
.card--link:hover::before{transform:scaleX(1)}
.card--link:hover .link-arrow{background-size:100% 1.5px}
.card--link:hover .link-arrow .icon{transform:translateX(4px)}
.card--line{background:transparent;clip-path:none;padding:var(--s-6) 0 0;border-top:1px solid var(--line)}
.card--line::before{height:1px;top:-1px}
.sec--dark .card--line{border-top-color:var(--line-dark)}
.card--dark{background:var(--graphite);color:var(--white)}
.card--dark .card__text{color:var(--mute-dark)}
.sec--dark .card--line .card__text{color:var(--mute-dark)}
.sec--grey .card:not(.card--dark){background:var(--white)}
.card--link:hover{box-shadow:var(--shadow-2)}
/* link que cobre o card inteiro (área de clique maior) */
.stretched::after{content:"";position:absolute;inset:0;z-index:1}

/* card com imagem (destaques) */
.media-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(420px,40vw,520px);padding:var(--card-pad);color:var(--white);overflow:hidden;isolation:isolate;
  clip-path:polygon(0 0,calc(100% - var(--cut-lg)) 0,100% var(--cut-lg),100% 100%,0 100%);background:var(--graphite);transition:transform var(--dur-3) var(--ease-out)}
.media-card:hover{transform:translateY(-4px)}
.media-card__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.media-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,17,17,0) 20%,rgba(17,17,17,.55) 52%,rgba(17,17,17,.95) 100%);transition:opacity var(--dur-3)}
.media-card__tag{display:inline-flex;align-self:flex-start;align-items:center;gap:var(--s-2);padding:6px 10px;margin-bottom:var(--s-4);background:var(--red-strong);font:700 var(--fs-label)/1 var(--font-title);letter-spacing:var(--ls-label);text-transform:uppercase;
  clip-path:polygon(0 0,calc(100% - var(--cut-xs)) 0,100% var(--cut-xs),100% 100%,0 100%)}
.media-card__title{font-size:var(--fs-h2s);line-height:1.05;font-weight:700;letter-spacing:var(--ls-tight)}
.media-card__text{margin-top:var(--s-3);color:var(--on-dark-2);max-width:34ch}
.media-card__foot{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line-dark-strong)}
.media-card:hover .media-card__img{transform:scale(1.06)}
.media-card:hover .link-arrow{background-size:100% 1.5px}
.media-card:hover .link-arrow .icon{transform:translateX(4px)}

/* ---------- 14. Listas ---------- */
.check-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3)}
.check-list li{position:relative;padding-left:28px;line-height:1.45}
.check-list li::before{content:"";position:absolute;left:0;top:.2em;width:16px;height:16px;background:var(--red);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.check-list--2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-6)}
.check-list--sm li{font-size:var(--fs-sm)}

/* ---------- 15. Números / estatísticas ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.stats .stat{padding:var(--s-6) var(--s-6) 0 0}
.stats .stat+.stat{padding-left:var(--s-6);border-left:1px solid var(--line)}
.stats .stat__label{color:var(--mute)}
.sec--dark .stats{border-top-color:var(--line-dark)}
.sec--dark .stats .stat+.stat{border-left-color:var(--line-dark)}
.sec--dark .stats .stat__label{color:var(--mute-dark)}

/* ---------- 16. Destaques de pilares (home) ---------- */
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line-dark)}
.pillar{position:relative;display:grid;align-content:start;gap:var(--s-4);padding:var(--s-8) var(--s-8) var(--s-8) 0}
.pillar+.pillar{padding-left:var(--s-8);border-left:1px solid var(--line-dark)}
.pillar::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease-out)}
.pillar.is-in::before{transform:scaleX(1);transition-delay:calc(var(--d,0ms) + .45s)}
.pillar+.pillar::before{left:0}
.pillar__text{color:var(--mute-dark);font-size:var(--fs-md)}

/* ---------- 17. Soluções (home) ---------- */
.sol-card .icon-tile{transition:transform var(--dur-3) var(--ease-out),background var(--dur-2)}
.sol-card:hover .icon-tile{background:var(--red-deep)}

/* ---------- 18. Por que Alpha ---------- */
.why{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--gap-lg);align-items:start}
.why__head{position:sticky;top:calc(var(--header-h) + 32px);display:grid;gap:var(--s-5)}
.why__head img{width:56px}
.why__list{display:grid;gap:var(--gap)}
.why-item{display:grid;gap:var(--s-4);padding:var(--card-pad);background:var(--white);border:1px solid var(--line)}
.why-item p{color:var(--mute);margin-top:var(--s-2)}
.icon--inline{width:32px;height:32px;color:var(--red);stroke-width:1.5}
.sec--dark .icon--inline{color:var(--red)}

/* ---------- 19. Propósito ---------- */
.purpose__media{position:relative}
.purpose__media img{width:100%;max-width:560px}
.purpose__text{display:grid;gap:var(--s-5)}
.purpose__text p{color:var(--mute)}
.purpose__claim{font-size:var(--fs-h4);font-weight:700;letter-spacing:var(--ls-snug);color:var(--ink)!important;padding-left:var(--s-5);border-left:3px solid var(--red)}

/* ---------- 20. FAQ (details nativo, exclusivo) ---------- */
.faq{display:grid;gap:var(--s-3)}
.faq__item{background:var(--white);border:1px solid var(--line);transition:border-color var(--dur-2),box-shadow var(--dur-2)}
.faq__item[open]{border-color:var(--line-accent);box-shadow:var(--shadow-1)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);padding:var(--s-5) var(--s-6);cursor:pointer;list-style:none;
  font-size:var(--fs-h4);font-weight:600;letter-spacing:var(--ls-body);line-height:1.35;transition:color var(--dur-2)}
.faq__q::-webkit-details-marker{display:none}
.faq__q:hover{color:var(--red-text)}
.faq__toggle{position:relative;width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;background:var(--grey);transition:background var(--dur-2),transform var(--dur-3) var(--ease-out);
  clip-path:polygon(0 0,calc(100% - var(--cut-xs)) 0,100% var(--cut-xs),100% 100%,0 100%)}
.faq__toggle::before,.faq__toggle::after{content:"";position:absolute;width:12px;height:2px;background:var(--ink);transition:transform var(--dur-3) var(--ease-out),background var(--dur-2)}
.faq__toggle::after{transform:rotate(90deg)}
.faq__item[open] .faq__toggle{background:var(--red-strong)}
.faq__item[open] .faq__toggle::before,.faq__item[open] .faq__toggle::after{background:var(--white)}
.faq__item[open] .faq__toggle::after{transform:rotate(0)}
.faq__a{padding:0 var(--s-6) var(--s-6);color:var(--mute);max-width:64ch}
.faq__a .link-arrow{margin-top:var(--s-3)}
.faq__item::details-content{block-size:0;overflow:hidden;transition:block-size var(--dur-3) var(--ease-out),content-visibility var(--dur-3) allow-discrete}
.faq__item[open]::details-content{block-size:auto}
.faq-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap-lg);align-items:start}
.faq-layout__head{position:sticky;top:calc(var(--header-h) + 32px);display:grid;gap:var(--s-5)}
.faq-layout__head p{color:var(--mute)}

/* ---------- 21. Chamada final (CTA) ---------- */
.cta{position:relative;overflow:hidden;background:var(--red-strong);color:var(--white);isolation:isolate}
.cta__inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--gap-lg);align-items:center}
.cta__inner .h2{max-width:16ch}
.cta__side{display:grid;gap:var(--s-6);justify-items:start}
.cta__side p{color:var(--white)}

/* ---------- 22. Linha do tempo / etapas ---------- */
.rail{position:relative;--p:0}
.timeline{position:relative;display:grid;gap:0;padding-left:0}
.timeline__item{position:relative;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--gap-lg);padding-block:var(--s-10);border-top:1px solid var(--line)}
.timeline__item:last-child{border-bottom:1px solid var(--line)}
.timeline__year{position:sticky;top:calc(var(--header-h) + 88px);align-self:start;font:700 var(--fs-display-sm)/.9 var(--font-title);letter-spacing:var(--ls-display);color:transparent;-webkit-text-stroke:1.5px rgba(25,25,25,.2);transition:color .6s var(--ease-out),-webkit-text-stroke-color .6s}
.timeline__item.is-on .timeline__year{color:var(--red);-webkit-text-stroke-color:var(--red)}
.timeline__body{display:grid;gap:var(--s-4);max-width:68ch}
.timeline__body p{color:var(--mute)}
.timeline__meta{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);font-weight:600;color:var(--ink)}
.timeline__meta .icon{color:var(--red);width:18px;height:18px}

.steps{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gap)}
.steps::before,.steps::after{content:"";position:absolute;left:0;right:0;top:27px;height:2px}
.steps::before{background:var(--line-dark)}
.steps::after{background:var(--red);transform-origin:left;transform:scaleX(var(--p));transition:transform .15s linear}
.step{position:relative;z-index:1;display:grid;align-content:start;gap:var(--s-4)}
.step .icon-tile{--t:56px;background:var(--graphite);color:var(--mute-dark);box-shadow:inset 0 0 0 1px var(--line-dark);transition:background var(--dur-3),color var(--dur-3)}
.step.is-on .icon-tile{background:var(--red-strong);color:var(--white);box-shadow:none}
.step__num{font:700 var(--fs-xs)/1 var(--font-title);letter-spacing:var(--ls-label);color:var(--mute-dark)}
.step.is-on .step__num{color:var(--red-on-dark)}
.step p{color:var(--mute-dark);font-size:var(--fs-sm)}

/* ---------- 23. Segmentos ---------- */
.segments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.segment{display:flex;flex-direction:column;justify-content:space-between;gap:var(--s-10);min-height:176px;padding:var(--card-pad);background:var(--white);border:1px solid var(--line)}
.segment__top{display:flex;justify-content:space-between;align-items:flex-start}
.segment .icon{width:32px;height:32px;color:var(--red)}
.segment .h4{max-width:18ch}
.segment--cta{background:var(--black);color:var(--white);border-color:var(--black);transition:transform var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out)}
.segment--cta:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.segment--cta .link-arrow{margin-top:var(--s-4);color:var(--white)}
.segment--cta p{color:var(--mute-dark);font-size:var(--fs-sm);margin-top:var(--s-2)}

/* ---------- 24. Soluções (página) ---------- */
.chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.chip{display:inline-flex;align-items:center;gap:var(--s-2);min-height:40px;padding:0 var(--s-4);border:1px solid var(--line);background:var(--white);
  font:600 var(--fs-sm)/1 var(--font-ui);color:var(--ink);transition:background var(--dur-2),color var(--dur-2),border-color var(--dur-2)}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed=true],.chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--white)}
.chip__count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;background:var(--grey);color:var(--mute);font-size:var(--fs-xs);transition:background var(--dur-2),color var(--dur-2)}
.chip[aria-pressed=true] .chip__count{background:var(--red-strong);color:var(--white)}
.sol-index{position:sticky;top:var(--header-h);z-index:5;margin-bottom:var(--s-10);padding-block:var(--s-3);background:rgba(241,241,241,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
html:has(.site-header.is-hidden) .sol-index{top:0}
.sol-index{transition:top var(--dur-3) var(--ease-out)}
.sol-index .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.sol-index .chips::-webkit-scrollbar{display:none}
.sol-index .chip{white-space:nowrap}

.solution{scroll-margin-top:calc(var(--header-h) + 88px)}
.solution .card__top{margin-bottom:0}
.solution__head{display:grid;gap:var(--s-3)}
.solution__tag{font:700 11px/1 var(--font-ui);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--red-text)}
.solution .check-list{padding-top:var(--s-5);border-top:1px solid var(--line)}
.solution.card--dark .check-list{border-top-color:var(--line-dark)}
.solution.card--dark .solution__tag{color:var(--red-on-dark)}
.solution.card--dark{background:var(--black)}
.solution__bg{position:absolute;inset:0;z-index:0;opacity:.28;overflow:hidden}
.solution__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3)}
.solution__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--scrim-soft) 0%,rgba(17,17,17,.96) 60%)}
.solution>*:not(.solution__bg){position:relative;z-index:1}
.solution.is-target{animation:target-pulse 1.8s var(--ease-out)}
@keyframes target-pulse{0%{box-shadow:0 0 0 0 rgba(237,28,36,.5)}30%{box-shadow:0 0 0 6px var(--line-accent)}100%{box-shadow:0 0 0 0 rgba(237,28,36,0)}}
.solution:hover::before{transform:scaleX(1)}

/* ---------- 25. Pós-venda ---------- */
.service{display:flex;flex-direction:column;gap:var(--s-5);padding:var(--card-pad);background:var(--white);border:1px solid var(--line)}
.service__sub{font-size:var(--fs-h4);font-weight:600;letter-spacing:var(--ls-body);line-height:1.35}
.service p{color:var(--mute)}
.service__quote{margin-top:auto;padding-top:var(--s-5);border-top:1px solid var(--line);font-weight:600;color:var(--ink)!important;display:flex;gap:var(--s-3)}
.service__quote .icon{color:var(--red);width:20px;height:20px;margin-top:2px}
.channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.channel{position:relative;display:flex;align-items:center;gap:var(--s-5);padding:var(--s-6);background:var(--graphite);border:1px solid var(--line-dark);transition:border-color var(--dur-2),background var(--dur-2),transform var(--dur-3) var(--ease-out)}
.channel:hover{border-color:var(--line-accent);transform:translateY(-4px)}
.channel__label{display:block;font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--mute-dark)}
.channel__value{display:block;margin-top:var(--s-1);font-weight:600;font-size:var(--fs-h4);overflow-wrap:anywhere}
.channel>span:nth-child(2){min-width:0}
.channel .icon--arrow{margin-left:auto;color:var(--mute-dark);transition:transform var(--dur-2) var(--ease-out),color var(--dur-2)}
.channel:hover .icon--arrow{transform:translate(3px,-3px);color:var(--white)}
.promise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:var(--s-12)}
.promise__item{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-5) 0;border-top:1px solid var(--line);font-weight:600}
.promise__item .icon{color:var(--red)}

/* ---------- 26. Conheça a Alpha ---------- */
.quote-block{display:grid;gap:var(--s-6);max-width:980px}
.quote-block .h2{font-size:var(--fs-h1)}
.quote-block__sign{display:flex;align-items:center;gap:var(--s-4);font-weight:700;font-size:var(--fs-h4)}
.quote-block__sign::before{content:"";width:40px;height:3px;background:var(--red)}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-dark)}
.value{display:grid;align-content:start;gap:var(--s-4);padding:var(--s-8) var(--s-8) var(--s-8) 0;border-bottom:1px solid var(--line-dark);transition:background var(--dur-3)}
.value:not(:nth-child(3n+1)){padding-left:var(--s-8);border-left:1px solid var(--line-dark)}
.value__top{display:flex;justify-content:space-between;align-items:center}
.value__num{font:700 var(--fs-xs)/1 var(--font-title);letter-spacing:var(--ls-label);color:var(--mute-dark)}
.value p{color:var(--mute-dark)}
.manifesto-end{display:grid;gap:var(--s-2);margin-top:var(--s-16)}
.manifesto-end .h1 .accent{font-style:italic}
.units{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.unit{display:grid;gap:var(--s-4);align-content:start;padding:var(--card-pad);background:var(--white);border:1px solid var(--line)}
.unit__tag{font:700 11px/1 var(--font-ui);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--red-text)}
.unit address{font-style:normal;color:var(--mute);line-height:1.6}

/* ---------- 27. Trabalhe conosco ---------- */
.mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.mosaic .frame:first-child{grid-column:1/-1;aspect-ratio:21/9}
.mosaic .frame{aspect-ratio:16/10;--cut-lg:24px}
.mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);margin-top:var(--s-4)}
.mini-stat{padding-top:var(--s-4);border-top:2px solid var(--red)}
.mini-stat strong{display:block;font-size:var(--fs-h3);letter-spacing:var(--ls-snug)}
.mini-stat span{font-size:var(--fs-sm);color:var(--mute)}
.statement{display:grid;gap:var(--s-8)}
.statement .display{font-size:var(--fs-display-sm)}
.statement__sub{margin-top:var(--s-4);color:var(--red)}
.jobs__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6)}
.jobs__count{font-size:var(--fs-sm);color:var(--mute)}
.jobs{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.job{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) auto;align-items:center;gap:var(--s-6);padding:var(--s-6) 0;border-bottom:1px solid var(--line);transition:background var(--dur-2),padding var(--dur-3) var(--ease-out)}
.job:hover{background:var(--grey);padding-inline:var(--s-4)}
.job[hidden]{display:none}
.job__title{font-size:var(--fs-h3);font-weight:700;letter-spacing:var(--ls-snug);line-height:1.2}
.job__places{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:0;padding:0}
.place{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--grey);font-size:var(--fs-sm);line-height:1.2;color:var(--ink)}
.job:hover .place{background:var(--white)}
.place .icon{width:14px;height:14px;color:var(--red)}
.talent{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-6);margin-top:var(--s-10);padding:var(--card-pad);background:var(--grey)}
.talent p{color:var(--mute);margin-top:var(--s-1)}

/* ---------- 28. Rodapé ---------- */
.site-footer{background:var(--black);color:var(--white);padding-top:clamp(64px,7vw,96px)}
main:has(> .sec--dark:last-child)+.site-footer{border-top:1px solid var(--line-dark)}
.footer__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:var(--s-10) var(--gap-lg);padding-bottom:var(--s-16)}
.footer__brand{display:grid;gap:var(--s-5);align-content:start}
.footer__brand img{width:176px}
.footer__brand p{color:var(--mute-dark);max-width:32ch;font-size:var(--fs-md)}
.footer__title{font:700 var(--fs-label)/1 var(--font-title);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--red-on-dark);margin-bottom:var(--s-5)}
.footer__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-5);font-size:var(--fs-md)}
.footer__list--tight{gap:var(--s-3)}
.footer__list strong{display:block;font-size:var(--fs-sm);font-weight:700;letter-spacing:var(--ls-ui);margin-bottom:var(--s-1)}
.footer__list address{font-style:normal;color:var(--mute-dark);line-height:1.55}
.footer__link{color:var(--mute-dark);transition:color var(--dur-2);display:inline-flex;align-items:center;gap:var(--s-2)}
.footer__link:hover{color:var(--white)}
.footer__link small{display:block;font-size:var(--fs-label);color:var(--mute-dark);letter-spacing:var(--ls-ui)}
.social{display:flex;gap:var(--s-2)}
.social a{width:44px;height:44px;display:grid;place-items:center;background:var(--on-dark-fill);color:var(--white);transition:background var(--dur-2),transform var(--dur-2) var(--ease-out);
  clip-path:polygon(0 0,calc(100% - var(--cut-sm)) 0,100% var(--cut-sm),100% 100%,0 100%)}
.social a:hover{background:var(--red-strong);transform:translateY(-2px)}
.social .icon{width:20px;height:20px}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-4);padding-block:var(--s-6);border-top:1px solid var(--line-dark);font-size:var(--fs-sm);color:var(--mute-dark)}
.footer__bottom a:hover{color:var(--white)}

/* botão flutuante de WhatsApp */
.fab{position:fixed;right:clamp(16px,2.4vw,32px);bottom:clamp(16px,2.4vw,32px);z-index:90;display:inline-flex;align-items:center;gap:var(--s-3);
  min-height:56px;padding:0 var(--s-5) 0 var(--s-4);color:var(--white);font:600 var(--fs-sm)/1 var(--font-ui);isolation:isolate;
  opacity:0;transform:translateY(16px) scale(.96);pointer-events:none;transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out)}
.fab::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--wa);clip-path:polygon(0 0,calc(100% - var(--cut-sm)) 0,100% var(--cut-sm),100% 100%,0 100%);box-shadow:var(--shadow-2);transition:background var(--dur-2)}
.fab:hover::before{background:var(--wa-deep)}
.fab .icon{width:24px;height:24px}
.fab.is-visible{opacity:1;transform:none;pointer-events:auto}
.fab__label{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width var(--dur-3) var(--ease-out)}
.fab:hover .fab__label,.fab:focus-visible .fab__label{max-width:160px}
.fab{padding-right:var(--s-4)}
.fab:hover,.fab:focus-visible{padding-right:var(--s-5)}

/* ---------- 29. Movimento ----------
   Conceito: "energizar" — o conteúdo entra como um painel sendo ligado.
   Só esconde conteúdo com JS ativo (.js no <html>); tudo desliga com prefers-reduced-motion.
   · rise ...... textos sobem por trás de uma máscara (mesma linguagem do título do topo)
   · panel ..... cards sobem, uma corrente vermelha percorre a borda superior e o ícone "acende"
   · energize .. linhas (números, pilares, vagas): a corrente corre pela linha e o conteúdo aparece
   · shutter ... fotos abrem de baixo para cima, com a imagem assentando em sentido contrário
   A ordem em grades segue a posição (linha + coluna), em diagonal, calculada no JS. */

/* rise */
/* máscara (e não clip-path) para o IntersectionObserver continuar enxergando o elemento */
.js [data-anim="rise"]{-webkit-mask-image:linear-gradient(to top,#000 50%,transparent 50%);mask-image:linear-gradient(to top,#000 50%,transparent 50%);
  -webkit-mask-size:100% 200%;mask-size:100% 200%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 0;mask-position:0 0;
  transform:translate3d(0,28px,0);transition:-webkit-mask-position var(--dur-5) var(--ease-power),mask-position var(--dur-5) var(--ease-power),transform var(--dur-5) var(--ease-power);transition-delay:var(--d,0ms)}
.js [data-anim="rise"].is-in{-webkit-mask-position:0 100%;mask-position:0 100%;transform:none}

/* panel */
.js [data-anim="panel"]{opacity:0;transform:translate3d(0,40px,0) scale(.98);
  transition:opacity .8s var(--ease-out),transform var(--dur-5) var(--ease-power);transition-delay:var(--d,0ms)}
.js [data-anim="panel"].is-in{opacity:1;transform:none}
.why-item,.service,.unit,.stat,.job,.promise__item,.value{position:relative}
[data-anim="panel"]::after,[data-anim="energize"]::after,.hero__stats .stat::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;pointer-events:none;z-index:2;
  background:linear-gradient(90deg,rgba(237,28,36,0),var(--red) 70%,var(--white) 96%,rgba(237,28,36,0)) no-repeat -100% 0/45% 100%;opacity:0}
[data-anim="energize"]::after,.hero__stats .stat::after{top:-1px}
.js [data-anim="panel"].is-in::after,.js [data-anim="energize"].is-in::after{animation:current 1.1s var(--ease-power) both;animation-delay:calc(var(--d,0ms) + .25s)}
.js [data-anim="panel"] :is(.icon-tile,.icon--inline),.js [data-anim="energize"] .icon--inline{opacity:.12}
.js [data-anim="panel"].is-in :is(.icon-tile,.icon--inline),.js [data-anim="energize"].is-in .icon--inline{animation:power-on .9s steps(1,end) both;animation-delay:calc(var(--d,0ms) + .55s)}

/* energize */
.js [data-anim="energize"]>*{opacity:0;transform:translate3d(0,16px,0);transition:opacity .8s var(--ease-out),transform var(--dur-4) var(--ease-out);transition-delay:calc(var(--d,0ms) + .35s)}
.js [data-anim="energize"].is-in>*{opacity:1;transform:none}
.js [data-anim="energize"]>.icon--inline{transform:none}

/* shutter (atua nas imagens de dentro, para não brigar com o corte do card) */
.js [data-anim="shutter"] img,.js .media-card[data-anim] .media-card__img{clip-path:inset(100% 0 0 0);scale:1.18;
  transition:clip-path var(--dur-5) var(--ease-power),scale 2s var(--ease-out);transition-delay:var(--d,0ms)}
.js [data-anim="shutter"].is-in img,.js .media-card[data-anim].is-in .media-card__img{clip-path:inset(0 0 0 0);scale:var(--img-scale,1)}

/* linha diagonal da marca */
.js [data-anim="line"]{opacity:1}

@keyframes current{   /* a corrente atravessa a borda e some */
  0%{background-position:-100% 0;opacity:1}
  85%{opacity:1}
  100%{background-position:200% 0;opacity:0}}
@keyframes power-on{   /* acende como lâmpada: tremula e firma */
  0%{opacity:.12} 12%{opacity:1} 20%{opacity:.25} 32%{opacity:1} 44%{opacity:.5} 58%,100%{opacity:1}}

/* etapas do modelo de atuação acendem ao chegar na leitura */
.step.is-on .icon-tile{animation:power-on .8s steps(1,end) both}

/* números do topo: a corrente passa em cada coluna, em sequência */
.hero__stats .stat{position:relative}
.js .hero__stats .stat::after{animation:current 1.1s var(--ease-power) both}
.js .hero__stats .stat:nth-child(1)::after{animation-delay:1.1s}
.js .hero__stats .stat:nth-child(2)::after{animation-delay:1.25s}
.js .hero__stats .stat:nth-child(3)::after{animation-delay:1.4s}
.js .hero__stats .stat:nth-child(4)::after{animation-delay:1.55s}

/* fotos do topo interno abrem como obturador ao carregar */
.js .page-hero__media .frame img{clip-path:inset(100% 0 0 0);scale:1.18;animation:shutter-open 1.6s var(--ease-power) .35s forwards}
@keyframes shutter-open{to{clip-path:inset(0 0 0 0);scale:1}}

/* profundidade leve ao rolar: a foto anda mais devagar que a moldura */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .media-card__img,.frame img,.purpose__media img{--img-scale:1.1;animation:drift linear both;animation-timeline:view();animation-range:cover}
    .page-hero__media .frame img{animation:shutter-open 1.6s var(--ease-power) .35s forwards,drift linear both;animation-timeline:auto,view();animation-range:normal,cover}
    @keyframes drift{from{translate:0 -4%}to{translate:0 4%}}
  }
}

/* ---------- 30. Responsivo ---------- */
@media (max-width:1180px){
  .grid--4,.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillar:nth-child(3){padding-left:0;border-left:0}
  .pillar:nth-child(n+3){border-top:1px solid var(--line-dark)}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--s-12)}
  .steps::before,.steps::after{display:none}
  .segments{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero__stats .container{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hero__place{display:none}
}
@media (max-width:1023px){
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--3>:last-child:nth-child(odd){grid-column:1/-1}
  .split,.split--5-7,.split--7-5,.why,.faq-layout,.cta__inner,.page-hero__grid,.sec-head--split{grid-template-columns:minmax(0,1fr)}
  .why__head,.faq-layout__head{position:static}
  .page-hero__media{aspect-ratio:16/10;justify-self:stretch;max-height:none}
  .page-hero__badge{left:var(--s-4);bottom:var(--s-4)}
  .values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .value:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .value:nth-child(even){padding-left:var(--s-8);border-left:1px solid var(--line-dark)}
  .units,.channels,.promise{grid-template-columns:minmax(0,1fr)}
  .job{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--s-3)}
  .job__places{grid-column:1;grid-row:2}
  .job .btn{grid-column:2;grid-row:1/3}
  .timeline__item{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}
  .timeline__year{position:static}
}
@media (max-width:720px){
  :root{--cut-lg:24px}
  .grid--2,.grid--3,.grid--4,.pillars,.values,.check-list--2{grid-template-columns:minmax(0,1fr)}
  .segments{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
  .segment{min-height:0;gap:var(--s-6);padding:var(--s-5)}
  .segment .icon{width:28px;height:28px}
  .segment--cta{grid-column:1/-1}
  .mosaic{gap:var(--s-2)}
  .pillar,.pillar+.pillar{padding:var(--s-6) 0;border-left:0}
  .pillar+.pillar{border-top:1px solid var(--line-dark)}
  .value,.value:nth-child(even),.value:not(:nth-child(3n+1)){padding:var(--s-6) 0;border-left:0}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats .stat,.stats .stat+.stat{padding:var(--s-5) var(--s-4) var(--s-5) 0;border-left:0}
  .stats .stat:nth-child(even){padding-left:var(--s-4);border-left:1px solid var(--line)}
  .stats .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .sec--dark .stats .stat:nth-child(even){border-left-color:var(--line-dark)}
  .sec--dark .stats .stat:nth-child(n+3){border-top-color:var(--line-dark)}
  .step{row-gap:var(--s-2)}
  .footer__grid{gap:var(--s-10)}
  .hero__stats .container{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero__stats .stat,.hero__stats .stat+.stat{padding:var(--s-4) var(--s-4) var(--s-4) 0;border-left:0}
  .hero__stats .stat:nth-child(even){padding-left:var(--s-4);border-left:1px solid var(--line-dark)}
  .hero__stats .stat:nth-child(n+3){border-top:1px solid var(--line-dark)}
  .hero__inner{padding-bottom:var(--s-8)}
  .steps{grid-template-columns:minmax(0,1fr);row-gap:var(--s-8)}
  .step{grid-template-columns:auto minmax(0,1fr);column-gap:var(--s-5);align-items:start}
  .step>:not(.icon-tile){grid-column:2}
  .step .icon-tile{grid-row:1/4}
  .footer__grid{grid-template-columns:minmax(0,1fr)}
  .job{grid-template-columns:minmax(0,1fr);gap:var(--s-3)}
  .job__places,.job .btn{grid-column:1;grid-row:auto}
  .job .btn{justify-self:start}
  .job:hover{padding-inline:0;background:none}
  .btn-group .btn{flex:1 1 auto}
  .media-card{min-height:440px}
  .why-item{grid-template-columns:minmax(0,1fr)}
  .fab__label{display:none}
  .fab{padding:0 var(--s-4)}
  .timeline__item{padding-block:var(--s-8)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .hero .line-mask>span,.js .page-hero .line-mask>span,.js .hero [data-hero],.js .page-hero [data-hero]{transform:none;opacity:1;animation:none}
  .js [data-anim],.js [data-anim]>*,.js [data-anim] img,.js [data-anim] :is(.icon-tile,.icon--inline),.js .page-hero__media .frame img{clip-path:none!important;-webkit-mask:none!important;mask:none!important;transform:none!important;opacity:1!important;scale:1!important;animation:none!important}
  [data-anim]::after,.hero__stats .stat::after{display:none}
  .hero__media img{transform:none;animation:none}
}

/* ---------- 31. Ajustes de listas semânticas ---------- */
.steps,.segments,.jobs,.values,.units{list-style:none;margin:0;padding:0}
.segment{position:relative}
.segment--cta .icon{color:var(--white)}
