/* ==========================================================================
   TEKTOS · Landing institucional · Design System "Aço & Rubro"
   Branco + vermelho de marca (#ED3237) · Manrope + Inter · marca real
   ========================================================================== */
:root{
  --paper:#FFFFFF; --surface:#FFFFFF; --surface-2:#F5F5F3; --surface-3:#EEEDEA;
  --line:#E4E3DF; --silver:#A7A9AC; --steel:#6C7075; --graphite:#3A3F45;
  --ink:#16181D; --ink-2:#0E1013;
  --red:#ED3237; --red-dark:#C21D22; --red-tint:#FCEBEC;
  --on-dark:#F5F5F3; --on-dark-muted:#9AA0A3; --line-dark:#262B30;
  --font-display:"Manrope",system-ui,sans-serif; --font-body:"Inter",system-ui,sans-serif;
  --tk-tight:-0.02em; --tk-eyebrow:0.2em;
  --fs-display:clamp(2.6rem,7vw,6.25rem); --fs-h1:clamp(2.1rem,4.5vw,3.75rem);
  --fs-h2:clamp(1.7rem,3.4vw,2.9rem); --fs-h3:clamp(1.3rem,2vw,1.75rem);
  --fs-lead:clamp(1.1rem,1.5vw,1.4rem); --fs-body:1.0625rem; --fs-sm:0.9375rem; --fs-eyebrow:0.75rem;
  --sp-4:16px; --sp-6:24px; --sp-8:32px; --sp-12:48px; --sp-16:64px; --sp-24:96px; --sp-32:128px;
  --r-xs:2px; --r-sm:4px; --r-md:8px; --r-pill:999px;
  --sh-sm:0 1px 2px rgba(14,16,19,.06); --sh-md:0 8px 30px rgba(14,16,19,.08); --sh-lg:0 20px 60px rgba(14,16,19,.14);
  --sh-red:0 12px 34px rgba(237,50,55,.28);
  --ease:cubic-bezier(.22,.61,.36,1); --t-fast:150ms var(--ease); --t-base:280ms var(--ease); --t-slow:520ms var(--ease);
  --maxw:1240px; --gutter:clamp(20px,5vw,72px);
  --img-filter:saturate(1.02) contrast(1.02);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:var(--tk-tight);line-height:1.06;font-weight:800}
.eyebrow{font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:var(--tk-eyebrow);color:var(--red);font-weight:700;display:inline-block}
section{position:relative}
/* Fundos full-bleed (fullscreen); o conteúdo é centralizado em 1240 via .wrap */
.pad{padding:var(--sp-24) 0}
.snum{font-family:var(--font-display);font-weight:800;font-size:.85rem;letter-spacing:.14em;color:var(--red)}

/* dark sections */
.dark{background:var(--ink-2);color:var(--on-dark)}
.dark h1,.dark h2,.dark h3{color:var(--on-dark)}
.alt{background:var(--surface-2)}
/* grade removida por preferência: seções escuras ficam lisas */

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 30px;font-family:var(--font-body);font-weight:600;font-size:var(--fs-sm);letter-spacing:.02em;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;transition:var(--t-base);white-space:nowrap}
.btn .ar{transition:transform var(--t-base)}
.btn:hover .ar{transform:translateX(5px)}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:var(--sh-red)}
.btn-ink{background:var(--ink);color:var(--on-dark)}
.btn-ink:hover{background:#000;transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-outline:hover{border-color:var(--ink)}
.dark .btn-outline{color:var(--on-dark);border-color:#3A4247}
.dark .btn-outline:hover{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;transition:background var(--t-base),border-color var(--t-base)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;padding:18px var(--gutter)}
.hdr .logo{height:34px;transition:var(--t-base)}
.hdr .logo-dark{display:none}
.hdr.scrolled .logo-light{display:none}
.hdr.scrolled .logo-dark{display:block}
.nav{display:flex;gap:34px;font-size:var(--fs-sm);font-weight:500}
.nav a{position:relative;color:var(--on-dark);opacity:.9;transition:var(--t-fast)}
.nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--red);transition:width var(--t-base)}
.nav a:hover{opacity:1}.nav a:hover::after{width:100%}
.hdr.scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr.scrolled .nav a{color:var(--ink)}
.hdr .cta{padding:12px 22px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.burger span{width:26px;height:2px;background:var(--on-dark);transition:var(--t-fast)}
.hdr.scrolled .burger span{background:var(--ink)}

/* mobile menu */
.mmenu{position:fixed;inset:0;z-index:60;background:var(--ink-2);color:var(--on-dark);display:flex;flex-direction:column;justify-content:center;padding:var(--gutter);transform:translateY(-100%);transition:transform var(--t-slow);gap:8px}
.mmenu.open{transform:translateY(0)}
.mmenu a{font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,7vw,3rem);padding:8px 0;border-bottom:1px solid var(--line-dark);transition:var(--t-fast)}
.mmenu a:hover{color:var(--red);padding-left:10px}
.mmenu .close{position:absolute;top:24px;right:var(--gutter);font-size:2rem;background:none;border:0;color:var(--on-dark);cursor:pointer}

/* HERO */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;background:var(--ink-2);color:var(--on-dark);overflow:hidden;padding-top:clamp(120px,16vh,190px);padding-bottom:clamp(64px,9vh,112px)}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:var(--img-filter) brightness(.62);transform-origin:center;animation:heroZoom 2s cubic-bezier(.16,.84,.34,1) both,heroDrift 26s ease-out 2s forwards}
@keyframes heroZoom{0%{transform:scale(1.35);opacity:.45}100%{transform:scale(1);opacity:1}}
@keyframes heroDrift{from{transform:scale(1)}to{transform:scale(1.06)}}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,16,19,.5) 0%,rgba(14,16,19,.35) 38%,rgba(14,16,19,.92) 100%)}
.hero-grid{display:none}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero .eyebrow{color:#fff}
.hero h1{font-size:clamp(2rem,4.6vw,3.9rem);line-height:1.05;max-width:15ch;margin:18px 0 20px;color:#fff}
.hero h1 .mut{color:#fff}
.hero .lead{font-size:clamp(1.02rem,1.25vw,1.2rem);color:#D8DADC;max-width:50ch;line-height:1.6}
.hero .cta-row{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6);margin-top:44px;border-top:1px solid rgba(255,255,255,.14);padding-top:26px}
.hstat .n{font-family:var(--font-display);font-weight:800;font-size:clamp(1.5rem,2.4vw,2.25rem);letter-spacing:-.02em;color:#fff}
.hstat .n em{color:var(--red);font-style:normal}
.hstat .l{font-size:var(--fs-sm);color:var(--on-dark-muted);margin-top:2px}

/* marquee · faixa vermelha */
.marquee{background:var(--red);color:#fff;overflow:hidden;padding:20px 0}
.marquee-in{display:flex;gap:0;white-space:nowrap;width:max-content;animation:mq 34s linear infinite;font-family:var(--font-display);font-weight:800;font-size:1.05rem;letter-spacing:.03em;text-transform:uppercase}
.marquee-in span{display:inline-flex;align-items:center;gap:44px;padding-left:44px}
.marquee-in span::after{content:"✦";font-size:.7em;opacity:.7}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* clientes */
.clients{padding:var(--sp-16) 0;border-bottom:1px solid var(--line)}
.clients .lbl{text-align:center;margin-bottom:var(--sp-8)}
.clients-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(28px,5vw,60px)}
.clients-row img{height:clamp(28px,4.4vw,44px);width:auto;filter:grayscale(1);opacity:.5;transition:var(--t-base)}
.clients-row img:hover{filter:none;opacity:1}

/* section head */
.shead{display:grid;grid-template-columns:200px 1fr;gap:var(--sp-8);align-items:start;margin-bottom:var(--sp-12)}
.shead .side{display:flex;flex-direction:column;gap:12px}
.shead h2{font-size:var(--fs-h2);max-width:20ch}
.lede{font-size:var(--fs-lead);color:var(--graphite);max-width:56ch;margin-top:var(--sp-4)}
.dark .lede{color:#D2D5D7}

/* cards grid */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-8);transition:var(--t-base);position:relative;overflow:hidden}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--t-base)}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--line)}
.card:hover::before{transform:scaleX(1)}
.card .k{font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--red);margin-bottom:14px}
.card h3{font-size:1.3rem;margin-bottom:10px}
.card p{color:var(--steel);font-size:var(--fs-sm)}
.dark .card{background:#14181C;border-color:var(--line-dark)}
.dark .card p{color:var(--on-dark-muted)}

/* problema cards */
.pain .card{background:var(--surface)}
.pain .card .ic{font-size:1.5rem;color:var(--red);margin-bottom:14px;display:block;line-height:1}

/* servicos split */
.svc{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.svc-item{position:relative;border-radius:var(--r-sm);overflow:hidden;min-height:470px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;padding:var(--sp-8)}
.svc-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--img-filter) brightness(.66);z-index:0;transition:transform var(--t-slow)}
.svc-item:hover img{transform:scale(1.05)}
.svc-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,16,19,.05),rgba(14,16,19,.9));z-index:1}
.svc-item>*{position:relative;z-index:2}
.svc-item .tag{align-self:flex-start;font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:var(--tk-eyebrow);color:#fff;font-weight:700;background:var(--red);padding:6px 12px;border-radius:var(--r-xs)}
.svc-item h3{font-size:var(--fs-h3);margin:14px 0 12px}
.svc-item p{color:#D2D5D7;font-size:var(--fs-sm);max-width:46ch;margin-bottom:20px}
.svc-item .lnk{font-weight:700;font-size:var(--fs-sm);display:inline-flex;gap:10px;align-items:center;color:#fff}
.svc-item .lnk .ar{color:var(--red);transition:transform var(--t-base)}
.svc-item:hover .lnk .ar{transform:translateX(5px)}

/* metodo steps */
.steps{display:grid;gap:0;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:120px 1fr;gap:var(--sp-8);padding:var(--sp-8) 0;border-bottom:1px solid var(--line);align-items:baseline;transition:var(--t-base)}
.step .no{font-family:var(--font-display);font-weight:800;font-size:2rem;color:var(--red);transition:var(--t-base)}
.step:hover{padding-left:16px}
.step h3{font-size:1.35rem;margin-bottom:8px}
.step p{color:var(--steel);font-size:var(--fs-sm);max-width:60ch}

/* modalidades band */
.band{background:var(--ink-2);color:var(--on-dark);position:relative;overflow:hidden}
.band::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--red)}
.band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8);align-items:center;padding:var(--sp-16) var(--gutter)}
.band h3{font-size:var(--fs-h3);color:var(--on-dark)}
.band p{color:#D2D5D7;margin-top:12px;max-width:52ch}

/* diferenciais list */
.diffs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.diff{padding:var(--sp-8);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:var(--t-base)}
.diff:hover{background:var(--red-tint)}
.diff .no{font-family:var(--font-display);font-weight:800;color:var(--red);font-size:1rem;letter-spacing:.06em}
.diff p{margin-top:14px;font-weight:500;font-size:1.02rem}

/* portfolio */
.pf{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.pf.pf--8{grid-template-columns:repeat(4,1fr)}
.pf.pf--4{grid-template-columns:repeat(2,1fr)}
.pf--8 .pf-item .cap{padding:16px}
.pf--8 .pf-item .cap .t{font-size:1rem}
.pf--8 .pf-item .cap .s{font-size:.8rem}
.pf-item{position:relative;overflow:hidden;border-radius:var(--r-sm);aspect-ratio:4/3;background:var(--ink);cursor:pointer}
.pf-item img{width:100%;height:100%;object-fit:cover;filter:var(--img-filter);transition:transform var(--t-slow)}
.pf-item:hover img{transform:scale(1.07)}
.pf-item .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;color:#fff;transform:translateY(6px);transition:var(--t-base)}
.pf-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(14,16,19,.85));z-index:1;transition:var(--t-base)}
.pf-item:hover .cap{transform:translateY(0)}
.pf-item .cap .t{font-family:var(--font-display);font-weight:700;font-size:1.1rem}
.pf-item .cap .s{font-size:var(--fs-sm);color:#D2D5D7}
.pf-item .zoom{position:absolute;top:16px;right:16px;z-index:3;width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;opacity:0;transform:scale(.8);transition:var(--t-base)}
.pf-item:hover .zoom{opacity:1;transform:scale(1)}

/* sobre / numeros */
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-16);align-items:center}
.about .im{position:relative;border-radius:var(--r-sm);overflow:hidden;aspect-ratio:4/5}
.about .im::after{content:"";position:absolute;left:0;bottom:0;width:120px;height:6px;background:var(--red)}
.about .im img{width:100%;height:100%;object-fit:cover;filter:var(--img-filter)}
.about h2{font-size:var(--fs-h2);margin:16px 0 20px}
.about p{color:var(--steel)}
.values{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.values span{font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:.12em;color:var(--graphite);border:1px solid var(--line);padding:8px 14px;border-radius:var(--r-pill)}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-8);margin-top:var(--sp-16);border-top:1px solid var(--line);padding-top:var(--sp-8)}
.num .n{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.03em;color:var(--red)}
.num .l{color:var(--steel);font-size:var(--fs-sm)}

/* faq */
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{display:flex;justify-content:space-between;gap:24px;align-items:center;width:100%;background:none;border:0;text-align:left;padding:26px 0;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--ink);transition:var(--t-fast)}
.faq-q:hover{color:var(--red)}
.faq-q .pm{flex:0 0 auto;width:24px;height:24px;position:relative;transition:var(--t-base)}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;background:var(--red);transition:var(--t-base)}
.faq-q .pm::before{top:11px;left:0;width:24px;height:2px}
.faq-q .pm::after{top:0;left:11px;width:2px;height:24px}
.faq-item.open .pm{transform:rotate(135deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height var(--t-slow)}
.faq-a p{color:var(--steel);padding-bottom:26px;max-width:70ch}

/* cta final + como funciona */
.ctaf{position:relative;overflow:hidden}
.ctaf .grid-lines{display:none}
.ctaf .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:center}
.ctaf h2{font-size:var(--fs-h2);margin:16px 0 18px}
.ctaf h2 .mut{color:var(--red)}
.ctaf .lead{color:#D2D5D7}
.cta-final-row{margin-top:var(--sp-8)}
.howto{position:relative}
.howto .track{position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:var(--red);opacity:.5;transform:scaleY(0);transform-origin:top;transition:transform 1s var(--ease)}
.howto.in .track{transform:scaleY(1)}
.step-h{display:grid;grid-template-columns:40px 1fr;gap:20px;align-items:start;padding:14px 0;opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.howto.in .step-h{opacity:1;transform:none}
.howto.in .step-h:nth-child(2){transition-delay:.18s}
.howto.in .step-h:nth-child(3){transition-delay:.38s}
.howto.in .step-h:nth-child(4){transition-delay:.58s}
.step-h .dot{width:40px;height:40px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;color:#fff;position:relative;z-index:1}
.step-h h4{font-size:1.1rem;color:var(--on-dark);margin-bottom:4px}
.step-h p{color:var(--on-dark-muted);font-size:var(--fs-sm)}

/* lightbox */
.lb{position:fixed;inset:0;z-index:150;background:rgba(9,10,12,.95);display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:88vw;max-height:80vh;object-fit:contain;border-radius:var(--r-sm)}
.lb .cap{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:#fff;font-family:var(--font-display);font-weight:600}
.lb .cap small{display:block;color:var(--on-dark-muted);font-family:var(--font-body);font-weight:400;margin-top:4px}
.lb .count{position:absolute;top:24px;left:0;right:0;text-align:center;color:var(--red);font-weight:700;font-size:var(--fs-sm);letter-spacing:.1em}
.lb button{position:absolute;background:none;border:1px solid #333;color:#fff;width:52px;height:52px;border-radius:50%;font-size:1.4rem;cursor:pointer;transition:var(--t-fast);display:flex;align-items:center;justify-content:center}
.lb button:hover{background:var(--red);border-color:var(--red)}
.lb .lb-prev{left:clamp(12px,4vw,48px);top:50%;transform:translateY(-50%)}
.lb .lb-next{right:clamp(12px,4vw,48px);top:50%;transform:translateY(-50%)}
.lb .lb-close{top:20px;right:clamp(12px,4vw,48px);width:46px;height:46px}

/* footer */
.foot{background:var(--ink-2);color:var(--on-dark-muted);padding:var(--sp-16) 0 var(--sp-8)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-8);padding-bottom:var(--sp-12);border-bottom:1px solid var(--line-dark)}
.foot .logo{height:34px;margin-bottom:18px}
.foot .tl{color:var(--on-dark);font-family:var(--font-display);font-weight:600}
.foot h4{color:var(--on-dark);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px;font-weight:600}
.foot a{display:block;padding:5px 0;transition:var(--t-fast)}
.foot a:hover{color:var(--red)}
.foot-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:var(--sp-8);font-size:var(--fs-sm)}


/* reveal */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal-d="1"]{transition-delay:.08s}[data-reveal-d="2"]{transition-delay:.16s}
[data-reveal-d="3"]{transition-delay:.24s}[data-reveal-d="4"]{transition-delay:.32s}

/* responsive */
@media(max-width:900px){
  .shead{grid-template-columns:1fr;gap:var(--sp-4)}
  .svc,.ctaf .wrap,.band .wrap,.about{grid-template-columns:1fr}
  .about{gap:var(--sp-8)}.about .im{aspect-ratio:16/10;order:-1}
  .diffs,.pf,.pf.pf--8,.pf.pf--4{grid-template-columns:1fr 1fr}
  .hero-stats,.nums{grid-template-columns:1fr 1fr;gap:var(--sp-6)}
  .foot-top{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .nav{display:none}.burger{display:flex}.hdr .cta{display:none}
  .hero{justify-content:center;padding-top:104px;padding-bottom:var(--sp-12)}
  .hero h1{margin:var(--sp-4) 0}
  .pad{padding:var(--sp-16) 0}
  .diffs,.pf,.pf.pf--8,.pf.pf--4{grid-template-columns:1fr}
  .step{grid-template-columns:1fr;gap:8px}.step .no{font-size:1.4rem}
  .foot-top,.foot-bot{grid-template-columns:1fr}
  .clients-row{gap:26px}
}
@media(max-width:560px){
  .hero-stats,.nums{grid-template-columns:1fr}
  .lb .lb-prev,.lb .lb-next{top:auto;bottom:24px;transform:none}
  .lb .lb-prev{left:24px}.lb .lb-next{right:24px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}

/* hero: botão secundário legível sobre o escuro */
.hero .btn-outline{color:#fff;border-color:rgba(255,255,255,.4)}
.hero .btn-outline:hover{background:#fff;color:var(--ink);border-color:#fff}

/* COOKIES / LGPD */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:120;background:var(--ink-2);color:var(--on-dark);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px var(--gutter);border-top:2px solid var(--red);transform:translateY(120%);transition:transform var(--t-slow)}
.cookie.show{transform:translateY(0)}
.cookie p{font-size:var(--fs-sm);color:#D2D5D7;max-width:78ch;margin:0}
.cookie a{color:#fff;text-decoration:underline}
.cookie-act{display:flex;gap:10px;flex:0 0 auto}
.cookie .btn{padding:11px 22px}
.cookie .btn-outline{color:var(--on-dark);border-color:#3A4247}
.cookie .btn-outline:hover{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}
@media(max-width:700px){.cookie{flex-direction:column;align-items:flex-start;gap:14px}.cookie-act{width:100%}.cookie-act .btn{flex:1;justify-content:center}}

/* ===== SLOTS DE IMAGEM (placeholder até gerar) + componentes visuais ===== */
.imgslot{position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--surface-2)}
.imgslot img{width:100%;height:100%;object-fit:cover;display:block;filter:var(--img-filter)}
.imgslot.empty{border:1.5px dashed #C9C9C4;background:repeating-linear-gradient(45deg,#F2F2EF,#F2F2EF 12px,#ECECE8 12px,#ECECE8 24px)}
.imgslot.empty img{display:none}
.imgslot.empty::before{content:"⊕";position:absolute;top:50%;left:50%;transform:translate(-50%,-140%);font-size:1.5rem;color:var(--red);font-weight:700}
.imgslot .slot-tag{position:absolute;top:50%;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.03em;color:var(--steel);white-space:nowrap;display:none}
.imgslot.empty .slot-tag{display:block}
.dark .imgslot.empty,.feature .imgslot.empty{background:repeating-linear-gradient(45deg,#15181C,#15181C 12px,#111417 12px,#111417 24px);border-color:#2C3238}
.dark .imgslot.empty .slot-tag,.feature .imgslot.empty .slot-tag{color:#8B9096}

/* cards visuais (segmentos com imagem) */
.vcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:var(--sp-4)}
.vcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;transition:var(--t-base);position:relative}
.vcard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--t-base);z-index:2}
.vcard:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.vcard:hover::before{transform:scaleX(1)}
.vcard .imgslot{aspect-ratio:4/3;border-radius:0}
.vcard .vc-body{padding:var(--sp-6)}
.vcard h3{font-size:1.2rem;margin-bottom:8px}
.vcard p{color:var(--steel);font-size:var(--fs-sm)}

/* faixa de destaque (feature) full-bleed */
.feature{position:relative;min-height:58vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.feature .imgslot{position:absolute;inset:0;border-radius:0}
.feature .imgslot img{filter:var(--img-filter) brightness(.58)}
.feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,16,19,.25),rgba(14,16,19,.85));z-index:1}
.feature .wrap{position:relative;z-index:2;padding:var(--sp-16) var(--gutter)}
.feature .eyebrow{color:#fff}
.feature h2{font-size:var(--fs-h2);color:#fff;max-width:22ch;margin-top:14px}
.feature p{color:#D2D5D7;max-width:54ch;margin-top:14px}

/* split (texto + imagem lateral) */
.split{display:grid;grid-template-columns:1fr .92fr;gap:var(--sp-16);align-items:center}
.split .imgslot{aspect-ratio:3/4}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin-top:var(--sp-6);padding:0;list-style:none}
.checklist li{display:flex;gap:10px;font-size:var(--fs-sm);color:var(--graphite);align-items:flex-start;line-height:1.4}
.checklist li::before{content:"✓";color:var(--red);font-weight:800;font-family:var(--font-display);flex:0 0 auto}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:var(--sp-8)}.split .imgslot{aspect-ratio:16/10;order:-1}}
@media(max-width:560px){.checklist{grid-template-columns:1fr}}

/* ===== ENTRADA DO HERO (conteúdo, com leve desfoque) + HEADER animado ===== */
.hero [data-reveal]{transform:translateY(40px);filter:blur(8px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
.hero [data-reveal].in{transform:none;filter:blur(0)}

@keyframes hdrIn{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
.hdr .logo,.hdr .nav a,.hdr .cta,.hdr .burger{opacity:0;animation:hdrIn .6s var(--ease) forwards}
.hdr .logo{animation-delay:.15s}
.hdr .burger{animation-delay:.2s}
.hdr .nav a:nth-child(1){animation-delay:.28s}
.hdr .nav a:nth-child(2){animation-delay:.36s}
.hdr .nav a:nth-child(3){animation-delay:.44s}
.hdr .nav a:nth-child(4){animation-delay:.52s}
.hdr .nav a:nth-child(5){animation-delay:.60s}
.hdr .cta{animation-delay:.66s}

@media(prefers-reduced-motion:reduce){
  .hero-bg img{animation:none!important}
  .hero [data-reveal]{filter:none!important}
  .hdr .logo,.hdr .nav a,.hdr .cta,.hdr .burger{opacity:1!important;animation:none!important}
}
