/* =====================================================================
   400VOLTZ • CASE CAVACO STORE | FEIMEC (#/projetos/cavaco-store) — js/case-cavaco.js
   Precisão industrial (metal, cotas, percurso de fresa) + identidade 400Voltz.
   Paleta oficial. Tipografia: Space Grotesk.
   ===================================================================== */
.cv{--g:#141414;--g2:#0E0D12;--card:#18161F;--p:#6C3BFF;--p2:#9C75FF;--a:#C7FF32;--m:#FF3D9A;--w:#F4F3F0;--mut:#A9A4B3;--metal:#B9BCC4;--line:rgba(156,117,255,.24);
  font-family:'Space Grotesk',Inter,Arial,sans-serif;color:var(--w);background:var(--g);overflow-x:clip;
  background-image:linear-gradient(rgba(185,188,196,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(185,188,196,.035) 1px,transparent 1px);background-size:64px 64px}
.cv h1,.cv h2,.cv h3{font-family:'Space Grotesk',Inter,Arial,sans-serif!important}
.cv-ic{width:24px;height:24px;flex-shrink:0;display:block}
.cv-sec{position:relative;padding:clamp(56px,7vw,104px) 0}
.cv-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;font:700 12px/1.3 'Space Grotesk',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--a)}
.cv-eyebrow:before{content:"";width:28px;height:2px;background:var(--a);box-shadow:0 0 10px rgba(199,255,50,.6);flex-shrink:0}
.cv-h2{margin:0;font-weight:700;font-size:clamp(36px,5vw,72px);line-height:.95;letter-spacing:-.05em;text-transform:uppercase}
.cv-acid{color:var(--a)}
.cv-purple{color:var(--p2);text-shadow:0 0 30px rgba(108,59,255,.55)}
.cv-body{margin:18px 0 0;max-width:620px;font-size:17px;line-height:1.65;color:#D3CFDA}
.cv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}
.cv-head .cv-body{max-width:440px;margin:0}

/* ---------- 01 HERO ---------- */
.cv-hero{position:relative;padding:28px 0 clamp(48px,6vw,88px);border-bottom:1px solid var(--line);isolation:isolate;overflow:hidden;
  background:radial-gradient(ellipse 55% 75% at 72% 48%,rgba(108,59,255,.36),transparent 70%),radial-gradient(ellipse 40% 50% at 10% 90%,rgba(255,61,154,.08),transparent 70%)}
.cv-hero-lines{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(90deg,transparent 0 119px,rgba(185,188,196,.06) 119px 120px),linear-gradient(transparent 49.9%,rgba(156,117,255,.18) 50%,transparent 50.1%)}
.cv-hero-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(24px,4vw,64px);align-items:center;min-height:min(78vh,720px)}
.cv-hero .nav-crumb{margin-bottom:34px}
.cv-title{margin:0;font-weight:700;font-size:clamp(64px,8.6vw,138px);line-height:.84;letter-spacing:-.065em;text-transform:uppercase;
  background:linear-gradient(180deg,#FFFFFF 0%,#D9DBE0 45%,#9DA1AA 62%,#F4F3F0 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 24px rgba(0,0,0,.4))}
.cv-title span{background:linear-gradient(180deg,#B79CFF,#6C3BFF 70%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(108,59,255,.55))}
.cv-headline{margin:24px 0 0;font:700 clamp(20px,2vw,30px)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.03em;text-transform:uppercase}
.cv-headline span{color:var(--a)}
.cv-sub{margin:18px 0 0;max-width:460px;font-size:clamp(17px,1.5vw,20px);line-height:1.45;color:#D9D5E0}
.cv-tags{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.cv-tags li{padding:7px 11px;border:1px solid rgba(156,117,255,.4);border-radius:999px;font-size:12px;font-weight:600;color:#D8D2E6;background:rgba(108,59,255,.08)}
.cv-hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.cv-in{opacity:0;transform:translateY(14px)}
.cv.is-open .cv-in{animation:cv-in .7s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d,0ms)}
@keyframes cv-in{to{opacity:1;transform:none}}

.cv-hero-media{position:relative;margin:0;aspect-ratio:1000/710}
.cv-hero-photo{position:absolute;inset:0;overflow:hidden;border-radius:6px;box-shadow:0 40px 90px -30px rgba(108,59,255,.75),0 0 0 1px rgba(156,117,255,.45);
  clip-path:inset(0 0 100% 0)}
.cv-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.04)}
.cv-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,0) 55%,rgba(20,20,20,.55));pointer-events:none}
.cv.is-open .cv-hero-photo{animation:cv-reveal 1.5s cubic-bezier(.45,.05,.35,1) forwards}
@keyframes cv-reveal{to{clip-path:inset(0 0 0 0)}}
.cv-blueprint{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.cv-bp-frame path{fill:none;stroke:rgba(185,188,196,.55);stroke-width:1.2;vector-effect:non-scaling-stroke}
.cv-bp-path{fill:none;stroke:var(--a);stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 6px rgba(199,255,50,.9));opacity:0}
.cv.is-open .cv-bp-path{animation:cv-draw 1.5s cubic-bezier(.45,.05,.35,1) forwards,cv-fade .9s ease 1.6s forwards}
@keyframes cv-draw{0%{opacity:1;stroke-dashoffset:1}100%{opacity:1;stroke-dashoffset:0}}
@keyframes cv-fade{to{opacity:.0}}
.cv-bp-tool{fill:#fff;filter:drop-shadow(0 0 8px var(--a)) drop-shadow(0 0 18px var(--a));opacity:0}
.cv.is-open .cv-bp-tool{animation:cv-tool 1.7s linear forwards}
@keyframes cv-tool{0%,92%{opacity:1}100%{opacity:0}}
.cv-badge{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border-radius:10px;font:700 12px/1 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(20,18,28,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(156,117,255,.7);box-shadow:0 0 24px rgba(108,59,255,.45);opacity:0;transform:translateY(10px) scale(.96)}
.cv-badge .cv-ic{width:18px;height:18px;color:var(--a)}
.cv-badge-years{left:-5%;bottom:12%;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;background:var(--a);color:#141414;border-color:var(--a);box-shadow:0 0 34px rgba(199,255,50,.45);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);border-radius:0}
.cv-badge-years strong{font-size:30px;letter-spacing:-.04em;line-height:.9}
.cv-badge-feimec{right:-3%;top:9%}
.cv-badge-exp{right:5%;bottom:-5%}
.cv.is-open .cv-badge{animation:cv-pop .55s cubic-bezier(.2,.7,.2,1) forwards}
.cv.is-open .cv-badge-years{animation-delay:1.35s}.cv.is-open .cv-badge-feimec{animation-delay:1.5s}.cv.is-open .cv-badge-exp{animation-delay:1.65s}
@keyframes cv-pop{to{opacity:1;transform:none}}
.cv-readout{position:absolute;left:0;top:-30px;display:flex;align-items:center;gap:8px;font:600 10px/1 'Space Grotesk',sans-serif;letter-spacing:.2em;color:var(--metal)}
.cv-readout i{width:7px;height:7px;border-radius:50%;background:var(--a);box-shadow:0 0 10px var(--a);animation:cv-blink 2.2s ease-in-out infinite}
@keyframes cv-blink{50%{opacity:.3}}
.cv-depth{transition:transform .45s cubic-bezier(.2,.7,.2,1);transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}

/* ---------- 02 CARDS ---------- */
.cv-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cv-card{position:relative;padding:30px 28px 32px;border:1px solid rgba(156,117,255,.45);border-radius:16px;background:linear-gradient(180deg,rgba(108,59,255,.10),transparent 45%),var(--card);transition:border-color .3s,box-shadow .3s,transform .3s}
.cv-card:hover{border-color:var(--p2);box-shadow:0 0 40px -12px rgba(108,59,255,.8);transform:translateY(-4px)}
.cv-card-top{display:flex;justify-content:space-between;align-items:center}
.cv-card-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:rgba(108,59,255,.18);border:1px solid rgba(156,117,255,.5);color:var(--a);box-shadow:inset 0 0 18px rgba(108,59,255,.35)}
.cv-card-ic .cv-ic{width:28px;height:28px}
.cv-card-n{font:700 13px/1 'Space Grotesk',sans-serif;letter-spacing:.14em;color:var(--metal)}
.cv-card-tag{margin:24px 0 8px;font:700 11px/1 'Space Grotesk',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--p2)}
.cv-card-t{margin:0 0 12px;font-size:clamp(22px,2vw,27px);line-height:1.08;letter-spacing:-.035em;font-weight:700}
.cv-card p:last-child{margin:0;font-size:15px;line-height:1.6;color:var(--mut)}

/* ---------- 03 ESTRATÉGIA ---------- */
.cv-strategy{border-top:1px solid var(--line);background:linear-gradient(90deg,rgba(108,59,255,.10),transparent 55%);outline:none;scroll-margin-top:90px}
.cv-strategy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,5vw,80px);row-gap:12px;align-items:end}
.cv-strategy-copy .cv-body:first-child{margin-top:0}
.cv-strategy-grid .cv-pillars{grid-column:1/-1;margin-top:48px}
.cv-strategy-media{position:relative;margin:0;aspect-ratio:4/5;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px rgba(156,117,255,.45),0 40px 80px -36px rgba(108,59,255,.9)}
.cv-strategy-media img{width:100%;height:100%;object-fit:cover;object-position:52% 40%;display:block}
.cv-strategy-media figcaption{position:absolute;left:14px;bottom:14px;display:flex;gap:8px;align-items:center;padding:8px 12px;background:rgba(20,20,20,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:700 10px/1 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase}
.cv-strategy-media figcaption .cv-ic{width:16px;height:16px;color:var(--a)}
.cv-pillars{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;position:relative}
.cv-pillars:before{content:"";position:absolute;left:28px;right:calc(33.333% - 28px);top:27px;height:2px;background:linear-gradient(90deg,var(--p),var(--a));transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);box-shadow:0 0 10px rgba(108,59,255,.8)}
.cv-pillars.is-on:before{transform:scaleX(1)}
.cv-pillars li{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;opacity:.25;transition:opacity .5s;transition-delay:var(--d)}
.cv-pillars.is-on li{opacity:1}
.cv-pillar-node{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--g);border:2px solid var(--p);color:var(--a);box-shadow:0 0 0 6px rgba(108,59,255,.12),0 0 24px rgba(108,59,255,.6);margin-bottom:10px;position:relative;z-index:1}
.cv-pillars strong{font-size:15px;letter-spacing:.14em;text-transform:uppercase}
.cv-pillars li>span:last-child{font-size:14px;line-height:1.5;color:var(--mut)}

/* ---------- 04 EXECUÇÃO ---------- */
.cv-exec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(230px,auto);gap:14px}
.cv-ph{margin:0;overflow:hidden;border-radius:6px;background:var(--g2);box-shadow:0 0 0 1px rgba(156,117,255,.3)}
.cv-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cv-ph:hover img{transform:scale(1.04)}
.cv-ph-main{grid-column:span 2;grid-row:span 2}
.cv-block{position:relative;padding:26px 24px;border-radius:6px;background:var(--card);border:1px solid rgba(156,117,255,.35);display:flex;flex-direction:column;gap:12px;overflow:hidden}
.cv-block:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--p),var(--a))}
.cv-block .cv-ic{width:40px;height:40px;padding:8px;border-radius:10px;background:var(--p);color:#fff}
.cv-block-n{position:absolute;right:20px;top:18px;font:700 12px/1 'Space Grotesk',sans-serif;letter-spacing:.14em;color:var(--metal)}
.cv-block h3{margin:4px 0 0;font-size:21px;line-height:1.1;letter-spacing:-.03em;text-transform:uppercase}
.cv-block p{margin:0;font-size:15px;line-height:1.55;color:var(--mut)}
.cv-block-wide{grid-column:span 2;flex-direction:row;align-items:center;gap:24px;background:radial-gradient(ellipse 60% 90% at 85% 60%,rgba(108,59,255,.35),transparent 70%),var(--card)}
.cv-block-wide>div{display:flex;flex-direction:column;gap:12px;flex:1;min-width:0}
.cv-block-phone{width:min(150px,30%);height:auto;flex-shrink:0;transform:rotate(-6deg);filter:drop-shadow(0 20px 30px rgba(0,0,0,.6));margin:-10px 0 -40px}

/* ---------- 05 DOIS ANOS ---------- */
.cv-years{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(ellipse 40% 70% at 18% 50%,rgba(108,59,255,.28),transparent 70%)}
.cv-years-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,80px);align-items:center}
.cv-years-num{font:700 clamp(180px,26vw,400px)/.78 'Space Grotesk',sans-serif;letter-spacing:-.09em;text-align:center;
  background:linear-gradient(180deg,#E4E5EA 0%,#9A9EA8 40%,#6C3BFF 75%,#2B1A66 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 40px rgba(108,59,255,.45))}
.cv-timeline{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative}
.cv-timeline:before{content:"";position:absolute;left:9px;right:calc(50% - 9px);top:9px;height:2px;background:rgba(156,117,255,.3)}
.cv-timeline:after{content:"";position:absolute;left:9px;top:5px;width:60px;height:10px;border-radius:10px;background:radial-gradient(ellipse at center,#fff 0,var(--p2) 35%,transparent 70%);filter:blur(1px);opacity:0}
.cv-timeline.is-on:after{animation:cv-pulse 2.4s cubic-bezier(.45,.05,.35,1) infinite}
@keyframes cv-pulse{0%{opacity:0;left:0}15%{opacity:1}85%{opacity:1}100%{opacity:0;left:calc(50% - 60px)}}
.cv-timeline li{position:relative;display:flex;flex-direction:column;gap:8px;padding-top:34px}
.cv-tl-dot{position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--g);border:2px solid var(--p2);box-shadow:0 0 0 5px rgba(108,59,255,.15),0 0 18px rgba(108,59,255,.7)}
.cv-timeline li:last-child .cv-tl-dot{border-color:var(--a);box-shadow:0 0 0 5px rgba(199,255,50,.12),0 0 18px rgba(199,255,50,.6)}
.cv-timeline strong{font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--a)}
.cv-timeline li>span:last-child{font-size:15px;line-height:1.55;color:#D3CFDA}

/* ---------- 06 FLUXO ---------- */
.cv-flow-sec{overflow:hidden;isolation:isolate}
.cv-flow-bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,20,20,.97) 30%,rgba(20,20,20,.82)),linear-gradient(0deg,rgba(108,59,255,.35),rgba(108,59,255,.35)),url(../assets/cases/cavaco/usinagem.webp) center/cover no-repeat;filter:saturate(.4)}
.cv-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr) 90px minmax(0,1fr);align-items:stretch}
.cv-flow-node{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px 24px;border-radius:14px;background:rgba(24,22,31,.85);border:1px solid rgba(156,117,255,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .4s,box-shadow .4s;transition-delay:calc(var(--k) * .55s + .2s)}
.cv-flow.is-on .cv-flow-node{border-color:var(--p2);box-shadow:0 0 0 1px rgba(156,117,255,.4),0 0 40px -10px rgba(108,59,255,.9)}
.cv-flow-ic{display:grid;place-items:center;width:58px;height:58px;border-radius:14px;color:var(--a);background:linear-gradient(135deg,rgba(108,59,255,.45),rgba(108,59,255,.08));border:1px solid rgba(199,255,50,.35);box-shadow:inset 0 0 20px rgba(199,255,50,.12)}
.cv-flow-ic .cv-ic{width:30px;height:30px}
.cv-flow-n{position:absolute;right:20px;top:20px;font:700 12px/1 'Space Grotesk',sans-serif;letter-spacing:.14em;color:var(--metal)}
.cv-flow-node strong{margin-top:6px;font-size:19px;letter-spacing:.06em;text-transform:uppercase}
.cv-flow-node>span:last-child{font-size:15px;line-height:1.5;color:var(--mut)}
.cv-flow-link{position:relative;display:flex;align-items:center;justify-content:center;color:var(--p2)}
.cv-flow-link i{position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(156,117,255,.35);overflow:hidden}
.cv-flow-link i:after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;background:linear-gradient(90deg,transparent,var(--a),transparent);opacity:0}
.cv-flow.is-on .cv-flow-link i:after{animation:cv-current 1s ease-in-out forwards;animation-delay:calc(var(--k) * .55s + .3s)}
@keyframes cv-current{0%{left:-40%;opacity:1}100%{left:100%;opacity:1}}
.cv-flow-link .cv-ic{position:relative;width:22px;height:22px;background:var(--g);border-radius:50%;padding:3px}

/* ---------- 07 GALERIA ---------- */
.cv-gallery-sec{outline:none;scroll-margin-top:90px;border-top:1px solid var(--line)}
.cv-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:230px;gap:12px}
.cv-gal{position:relative;padding:0;border:0;border-radius:6px;overflow:hidden;background:var(--g2);cursor:zoom-in;box-shadow:0 0 0 1px rgba(156,117,255,.3)}
.cv-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}
.cv-gal:hover img,.cv-gal:focus-visible img{transform:scale(1.04)}
.cv-gal:focus-visible{outline:2px solid var(--a);outline-offset:3px}
.cv-gal-stand{grid-column:1/3;grid-row:1/3}
.cv-gal-portal{grid-column:3;grid-row:1/3;background:radial-gradient(ellipse at center,rgba(108,59,255,.5),var(--g2) 70%)}
.cv-gal-ceiling{grid-column:4/6;grid-row:1}
.cv-gal-counter{grid-column:4;grid-row:2}
.cv-gal-crowd{grid-column:5;grid-row:2}
.cv-gal-portal img{object-fit:contain;padding:18px}
.cv-gal-cap{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;padding:26px 14px 12px;background:linear-gradient(transparent,rgba(12,10,18,.88));font:700 11px/1.2 'Space Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#fff;text-align:left}
.cv-gal-cap .cv-ic{width:15px;height:15px;color:var(--a)}
.cv-lb{padding:0;border:0;background:transparent;max-width:min(1100px,94vw);width:100%;overflow:visible;color:var(--w)}
.cv-lb::backdrop{background:rgba(8,7,12,.92);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.cv-lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px}
.cv-lb img{max-width:100%;max-height:80vh;width:auto;height:auto;display:block;border-radius:6px;box-shadow:0 0 0 1px rgba(156,117,255,.5),0 30px 80px rgba(0,0,0,.6)}
.cv-lb.swap img{animation:cv-in .4s cubic-bezier(.2,.7,.2,1)}
.cv-lb figcaption{font:700 12px/1 'Space Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase}
.cv-lb-btn{position:fixed;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(156,117,255,.6);background:rgba(20,18,28,.85);color:#fff;cursor:pointer}
.cv-lb-btn:hover,.cv-lb-btn:focus-visible{border-color:var(--a);color:var(--a);outline:none}
.cv-lb-close{top:20px;right:20px}.cv-lb-prev{left:20px;top:50%;transform:translateY(-50%)}.cv-lb-next{right:20px;top:50%;transform:translateY(-50%)}
.cv-lb-count{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);font:700 11px/1 'Space Grotesk',sans-serif;letter-spacing:.2em;color:var(--metal)}

/* ---------- 08 IMPACTO ---------- */
.cv-impact{border-top:1px solid var(--line)}
.cv-impact-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.cv-impact-grid li{grid-column:span 2;padding:26px 24px;border-radius:14px;background:var(--card);border-top:2px solid var(--p);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:transform .3s,box-shadow .3s}
.cv-impact-grid li:nth-child(n+4){grid-column:span 3}
.cv-impact-grid li:hover{transform:translateY(-4px);box-shadow:0 0 34px -12px rgba(108,59,255,.9)}
.cv-impact-grid .cv-ic{width:30px;height:30px;color:var(--a)}
.cv-impact-grid h3{margin:16px 0 8px;font-size:18px;line-height:1.15;letter-spacing:.04em;text-transform:uppercase}
.cv-impact-grid p{margin:0;font-size:15px;line-height:1.55;color:var(--mut)}
.cv-final{margin-top:40px;padding:clamp(26px,3vw,40px) clamp(28px,3.5vw,48px);border:1px solid var(--a);border-radius:14px;background:rgba(199,255,50,.05);box-shadow:0 0 30px -10px var(--a);position:relative}
.cv-final:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;background:var(--a);box-shadow:0 0 14px var(--a)}
.cv-final p{margin:0;font:700 clamp(22px,2.6vw,38px)/1.12 'Space Grotesk',sans-serif;letter-spacing:-.03em;text-transform:uppercase}
.cv-final span{color:var(--a)}

/* ---------- 09 FICHA ---------- */
.cv-sheet{border:1px solid rgba(156,117,255,.4);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 40%),var(--card);box-shadow:0 0 50px -24px rgba(108,59,255,.8)}
.cv-sheet-title{display:flex;align-items:center;gap:12px;margin:0;padding:22px 28px;border-bottom:1px solid var(--line);font:700 15px/1 'Space Grotesk',sans-serif;letter-spacing:.24em;text-transform:uppercase}
.cv-sheet-title .cv-ic{color:var(--a)}
.cv-sheet-grid{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.cv-sheet-grid>div{padding:22px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.cv-sheet-grid>div:nth-child(3n){border-right:0}
.cv-sheet-grid>div:last-child{grid-column:1/-1;border-right:0;border-bottom:0}
.cv-sheet-grid>div:last-child dd{color:var(--mut);font-size:14px}
.cv-sheet-grid dt{font:700 11px/1.3 'Space Grotesk',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--a)}
.cv-sheet-grid dd{margin:8px 0 0;font-size:15px;line-height:1.5}

/* ---------- 10 ENCERRAMENTO ---------- */
.cv-close{position:relative;isolation:isolate;overflow:hidden;padding:clamp(80px,10vw,150px) 0;border-top:1px solid var(--line)}
.cv-close-bg{position:absolute;inset:0;z-index:-1;background:
  repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.018) 3px 4px),
  linear-gradient(90deg,rgba(20,20,20,.96) 25%,rgba(20,20,20,.55) 70%,rgba(20,20,20,.75)),
  radial-gradient(ellipse 50% 80% at 78% 50%,rgba(108,59,255,.55),transparent 70%),
  #141414} /* 15/10: foto da fresa retirada do fundo a pedido */
.cv-close-bg:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 159px,rgba(185,188,196,.08) 159px 160px),linear-gradient(transparent calc(100% - 1px),rgba(199,255,50,.5) 0)}
.cv-close-t{margin:0;font-weight:700;font-size:clamp(40px,6vw,92px);line-height:.92;letter-spacing:-.055em;text-transform:uppercase}
.cv-close-t span{color:var(--a)}
.cv-close-in>p{margin:24px 0 0;max-width:560px;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:#D9D5E0}
.cv-close-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.cv-close-btns .btn-outline{background:rgba(20,20,20,.5)}

/* ---------- movimento reduzido ---------- */
.cv.is-still .cv-in,.cv.is-still .cv-badge{opacity:1;transform:none;animation:none}
.cv.is-still .cv-hero-photo{clip-path:none;animation:none}
.cv.is-still .cv-bp-path,.cv.is-still .cv-bp-tool{display:none}
@media(prefers-reduced-motion:reduce){
  .cv-in,.cv-badge{opacity:1!important;transform:none!important;animation:none!important}
  .cv-hero-photo{clip-path:none!important;animation:none!important}
  .cv-bp-path,.cv-bp-tool{display:none}
  .cv-depth,.cv-ph img,.cv-gal img,.cv-card,.cv-impact-grid li{transition:none!important;transform:none!important}
  .cv-timeline:after,.cv-readout i{animation:none!important}
  .cv-flow-link i:after{display:none}
}

/* ---------- responsivo ---------- */
@media(max-width:1100px){
  .cv-hero-grid{min-height:0}
  .cv-title{font-size:clamp(56px,8vw,100px)}
  .cv-strategy-grid,.cv-years-grid{grid-template-columns:1fr}
  .cv-impact-grid{grid-template-columns:1fr 1fr}
  .cv-impact-grid li,.cv-impact-grid li:nth-child(n+4){grid-column:auto}
  .cv-impact-grid li:last-child{grid-column:1/-1}
  .cv-flow{grid-template-columns:1fr;gap:0}
  .cv-flow-link{height:56px}
  .cv-flow-link i{left:50%;right:auto;top:0;bottom:0;width:2px;height:auto}
  .cv-flow-link i:after{left:0;right:0;width:auto;top:-40%;height:40%;background:linear-gradient(180deg,transparent,var(--a),transparent)}
  @keyframes cv-current{0%{top:-40%;opacity:1}100%{top:100%;opacity:1}}
  .cv-flow-link .cv-ic{transform:rotate(90deg)}
  .cv-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cv-gal-ceiling{grid-column:1;grid-row:3}.cv-gal-counter{grid-column:2;grid-row:3}.cv-gal-crowd{grid-column:3;grid-row:3}
}
@media(max-width:780px){
  .cv-hero-grid{grid-template-columns:1fr}
  .cv-hero-media{max-width:620px;width:94%;margin:40px auto 30px}
  .cv-head{flex-direction:column;align-items:flex-start;gap:16px}
  .cv-cards{grid-template-columns:1fr}
  .cv-exec-grid{grid-template-columns:1fr;grid-auto-rows:auto}
  .cv-ph{aspect-ratio:16/10}
  .cv-ph-main{grid-column:1/-1;grid-row:span 1;aspect-ratio:838/595}
  .cv-block,.cv-block-wide{grid-column:1/-1}
  .cv-pillars{grid-template-columns:1fr;gap:18px}
  .cv-pillars:before{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto;transform:scaleY(0);transform-origin:top}
  .cv-pillars.is-on:before{transform:scaleY(1)}
  .cv-pillars li{display:grid;grid-template-columns:56px 1fr;column-gap:16px;row-gap:4px}
  .cv-pillar-node{grid-row:span 2;margin:0}
  .cv-timeline{grid-template-columns:1fr;gap:26px}
  .cv-timeline:before{left:9px;right:auto;top:9px;bottom:30px;width:2px;height:auto}
  .cv-timeline:after{display:none}
  .cv-timeline li{padding:0 0 0 38px}
  .cv-impact-grid{grid-template-columns:1fr}
  .cv-sheet-grid{grid-template-columns:1fr}
  .cv-sheet-grid>div{border-right:0!important;padding:18px 20px}
  .cv-sheet-grid>div:nth-child(n){border-bottom:1px solid var(--line)}
  .cv-sheet-grid>div:last-child{border-bottom:0}
  .cv-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .cv-gal-stand{grid-column:1/-1;grid-row:1}
  .cv-gal-portal{grid-column:1;grid-row:2/4}
  .cv-gal-ceiling{grid-column:2;grid-row:2}.cv-gal-counter{grid-column:2;grid-row:3}
  .cv-gal-crowd{grid-column:1/-1;grid-row:4}
  .cv-badge{font-size:10px;padding:8px 11px}
  .cv-badge-years strong{font-size:22px}
  .cv-badge-years{left:-3%}
  .cv-lb-prev,.cv-lb-next{top:auto;bottom:12px;transform:none}
  .cv-lb-prev{left:16px}.cv-lb-next{right:16px}
}
@media(max-width:520px){.cv-block-wide{flex-direction:column;align-items:flex-start}.cv-block-phone{width:44%;margin:0 0 0 auto}}
@media(max-width:1100px){.cv-strategy-grid{row-gap:24px}.cv-strategy-grid .cv-pillars{margin-top:24px}}
.cv-ph-promo img{object-position:50% 32%}
@media(max-width:780px){.cv-ph-main.cv-ph-promo{aspect-ratio:836/791}}
@media(min-width:781px){.cv-ph-promo{position:relative;min-height:560px}.cv-ph-promo img{position:absolute;inset:0}}
/* 15/10: sem o "02" gigante, a seção dos dois anos ocupa uma coluna */
.cv-years-grid{grid-template-columns:1fr}
.cv-years .cv-body{max-width:820px}
.cv-years .cv-timeline{max-width:900px}
/* 15/10: impacto só com a caixa verde */
.cv-impact .cv-final{margin-top:0}
/* 15/10: texto da estratégia sem limite de largura */
.cv-strategy .cv-body{max-width:none}
/* 15/10: abertura com o notebook recortado (sem moldura de foto) */
.cv-hero-photo.cv-hero-laptop{box-shadow:none;border-radius:0;overflow:visible;display:flex;align-items:center}
.cv-hero-photo.cv-hero-laptop:after{display:none}
.cv-hero-photo.cv-hero-laptop img{height:auto;object-fit:contain;filter:drop-shadow(0 30px 50px rgba(0,0,0,.6)) drop-shadow(0 0 60px rgba(108,59,255,.45))}
.cv-hero-photo.cv-hero-laptop img{width:112%;max-width:none;margin-left:-6%}
.cv-hero-laptop ~ .cv-badge-years{left:0;bottom:-4%}
.cv-hero-laptop ~ .cv-badge-feimec{top:-1%;right:0}
.cv-hero-laptop ~ .cv-badge-exp{right:0;bottom:-4%}
@media(max-width:780px){.cv-hero-photo.cv-hero-laptop img{width:104%;margin-left:-2%}.cv-hero-laptop ~ .cv-badge-years{bottom:-10%}.cv-hero-laptop ~ .cv-badge-exp{bottom:-10%}}
/* notebook inteiro dentro da moldura (a revelação corta o que passar da borda) */
.cv-hero-photo.cv-hero-laptop img{width:100%;margin-left:0}
@media(max-width:780px){.cv-hero-photo.cv-hero-laptop img{width:100%;margin-left:0}}
