/* =====================================================================
   INICIO "performance" (11/11/2026) - GENERADO por preview-performance/tools/port_css.py a partir
   de la maqueta (preview-performance/performance.css). Para cambiar el diseño: editar la maqueta,
   regenerar este archivo y agregar abajo solo los ajustes propios de producción.
   Todo vive bajo .gv-perf; clases que chocaban con el tema base llevan prefijo gp-.
   ===================================================================== */
.gv-perf{ --bg:#FFFFFF; --soft:#EEF1F6; --ink:#0B1630; --mute:#5D6880; --line:#DCE2EC;
  --accent:#2E52A0; --on-accent:#FFFFFF; --pos:#1B3B7A;
  --accent-lt:#9DBBFF; --spark:#F5C518; --on-spark:#0B1630;
  --dark:#0B1A3A; --dark-2:#132654; --dark-line:#24386A; --on-dark:#FFFFFF; --dark-mute:#9DABC9;
  --tint:#1B3B7A;
  --blob-bg:#0B1A3A; --blob1:#2F6BEA; --blob2:#6F9BFF; --blob3:#1B3B7A;
  
  --gl-deep:#040C24; --gl-mid:#2F6BEA; --gl-hot:#9DBBFF; --gl-rim2:#4C7DFF; }
.gv-perf{ --r:14px;
  --pad:clamp(16px,3vw,40px);
  --gap:10px;
  --sec:clamp(72px,10vw,150px);
  --sans:'Archivo',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
  --hdr:74px; }
.gv-perf *{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-padding-top:74px; }
.gv-perf{ background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.5; font-weight:400;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  transition:background-color .4s, color .4s; }
body.gv-loading{ overflow:hidden; }
.gv-perf a{ color:inherit; text-decoration:none; }
.gv-perf button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
.gv-perf img, .gv-perf svg, .gv-perf video, .gv-perf canvas{ display:block; max-width:100%; }
.gv-perf ul, .gv-perf ol{ list-style:none; }
.gv-perf :focus-visible{ outline:2.5px solid var(--ink); outline-offset:3px; border-radius:6px; }
.gv-perf .dark-block :focus-visible, .gv-perf .finder :focus-visible, .gv-perf .stage :focus-visible{ outline-color:var(--accent-lt); }
.gv-perf .wrap{ padding-inline:var(--pad); max-width:1680px; margin-inline:auto; }
.gv-perf .section{ margin-top:var(--sec); }
.gv-perf .mono{ font-family:var(--mono); font-weight:500; font-size:11px; letter-spacing:.08em; text-transform:uppercase; line-height:1.4; }
.gv-perf .mega{ font-family:var(--sans); font-weight:900; font-style:italic; font-stretch:62%; text-transform:uppercase; line-height:.82; letter-spacing:-.02em; }
.gv-perf .gp-label{ display:inline-block; margin-bottom:16px; color:var(--mute); }
.gv-perf .gp-label--accent{ color:var(--accent-lt); }
.gv-perf .sec-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px 48px; flex-wrap:wrap; margin-bottom:clamp(24px,3vw,40px); }
.gv-perf .sec-title{ font-size:clamp(52px,8.2vw,148px); max-width:14ch; }
.gv-perf .sec-sub{ max-width:34ch; font-size:17px; color:var(--mute); }
.gv-perf [data-skew]{ transform:skewY(var(--skew,0deg)); transform-origin:left center; will-change:transform; }
.gv-perf .sw{ display:inline-block; white-space:nowrap; overflow:hidden; vertical-align:top; padding:.08em .05em .26em .12em; margin:-.08em 0 -.26em -.12em; }
.gv-perf .sc{ display:inline-block; transform:translateY(135%) rotate(7deg); transform-origin:left bottom; transition:transform 1s var(--ease); transition-delay:calc(var(--i) * 24ms); }
.gv-perf .split-in .sc{ transform:none; }
.gv-perf .gp-chip{ display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 12px; border-radius:8px;
  background:#fff; color:var(--ink); font-family:var(--sans); font-weight:700; font-size:13px;
  letter-spacing:0; white-space:nowrap; }
.gv-perf .gp-chip svg{ width:13px; height:13px; }
.gv-perf .gp-chip.v{ background:var(--accent); color:var(--on-accent); }
.gv-perf .gp-chip.k{ background:var(--ink); color:#fff; }
.gv-perf .gp-btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:54px; padding:0 28px; border-radius:999px; font-weight:800; font-size:15px; letter-spacing:.01em;
  overflow:hidden; isolation:isolate; will-change:transform; white-space:nowrap; }
.gv-perf .gp-btn .t{ display:inline-block; transition:transform .3s var(--ease); }
.gv-perf .gp-btn.v{ background:var(--accent); color:var(--on-accent); }
.gv-perf .gp-btn.k{ background:var(--ink); color:#fff; }
.gv-perf .gp-btn.w{ background:#fff; color:#0E0E0E; }
.gv-perf .gp-btn::before{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit;
  transform:translateY(101%); transition:transform .45s var(--ease); }
.gv-perf .gp-btn.v::before{ background:var(--ink); }
.gv-perf .gp-btn.k::before, .gv-perf .gp-btn.w::before{ background:var(--accent); }
.gv-perf .gp-btn:hover::before{ transform:none; }
.gv-perf .gp-btn.v:hover{ color:#fff; }
.gv-perf .gp-btn.k:hover, .gv-perf .gp-btn.w:hover{ color:var(--on-accent); }
.gv-perf .gp-btn-sm{ height:40px; padding:0 18px; font-size:13px; }
.gv-perf .actions-row{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-top:28px; }
.gv-perf .actions-row--left{ justify-content:flex-start; }
.gv-perf .arrow{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; flex-shrink:0;
  background:var(--accent); color:var(--on-accent); transition:transform .35s var(--ease); }
.gv-perf .arrow svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.gv-perf .blobs{ position:absolute; inset:0; overflow:hidden; background:var(--blob-bg); }
.gv-perf .blobs i{ position:absolute; border-radius:50%; mix-blend-mode:screen; animation:gvp-blobFloat 13s ease-in-out infinite alternate;
  background:radial-gradient(closest-side, var(--bc) max(50%, calc(100% - 180px)), transparent);
  background:radial-gradient(closest-side, var(--bc) max(50%, calc(100% - 180px)), color-mix(in srgb, var(--bc) 62%, transparent) max(70%, calc(100% - 110px)), color-mix(in srgb, var(--bc) 26%, transparent) max(86%, calc(100% - 45px)), transparent); }
.gv-perf .blobs i:nth-child(1){ width:70%; height:70%; left:-12%; top:-14%; --bc:var(--blob1); }
.gv-perf .blobs i:nth-child(2){ width:58%; height:58%; right:-16%; top:22%; --bc:var(--blob2); animation-duration:16s; }
.gv-perf .blobs i:nth-child(3){ width:54%; height:54%; left:18%; bottom:-24%; --bc:var(--blob3); animation-duration:19s; opacity:.75; }
.gv-perf .blobs::after, .gv-perf .grain::after{ content:""; position:absolute; inset:0; opacity:.32; mix-blend-mode:overlay; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.gv-perf .blobs--ink{ background:var(--dark); }
.gv-perf .blobs--ink i{ opacity:.38; }
.gv-perf .blobs--ink i:nth-child(1){ --bc:var(--blob2); }
.gv-perf .blobs--ink i:nth-child(3){ --bc:var(--blob1); opacity:.22; }
@keyframes gvp-blobFloat{50%{ transform:translate(12%,8%) scale(1.15); } 100%{ transform:translate(-8%,14%) scale(.94); }}
.gv-perf .dark-glow{ position:relative; isolation:isolate; }
.gv-perf .dark-glow::before{ content:""; position:absolute; z-index:0; pointer-events:none; width:560px; height:560px; border-radius:50%;
  left:var(--mx,50%); top:var(--my,50%); transform:translate(-50%,-50%);
  background:radial-gradient(circle, color-mix(in srgb, var(--accent-lt) 20%, transparent), transparent 62%);
  opacity:0; transition:opacity .4s; }
.gv-perf .dark-glow:hover::before{ opacity:1; }
.gv-perf .rv{ opacity:0; transform:translateY(42px); transition:opacity 1s var(--ease), transform 1s var(--ease); transition-delay:calc(var(--d,0) * 80ms); }
.gv-perf .rv.in{ opacity:1; transform:none; }
.gv-perf .loader{ position:fixed; inset:0; z-index:300; background:var(--dark); color:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:38px; padding:var(--pad);
  transition:opacity .7s var(--ease), visibility .7s; }
.gv-perf .loader.out{ opacity:0; visibility:hidden; }
.gv-perf .loader.gone{ display:none; }
.gv-perf .loader-logo{ width:68px; height:auto; padding:11px 12px; background:#fff; border-radius:16px; box-shadow:0 18px 40px -18px rgba(0,0,0,.6); }
.gv-perf .loader > div{ width:min(320px,64vw); display:flex; flex-direction:column; gap:14px; }
.gv-perf .loader-bar{ order:1; position:relative; height:2px; border-radius:2px; background:rgba(157,187,255,.14); }
.gv-perf .loader-bar i{ position:absolute; inset:0; border-radius:2px; transform-origin:left; transform:scaleX(var(--p,0));
  background:linear-gradient(90deg, rgba(157,187,255,.25), var(--accent-lt)); box-shadow:0 0 14px rgba(157,187,255,.5); }
.gv-perf .loader-n{ order:2; display:flex; justify-content:space-between; font:500 11px/1 var(--mono); letter-spacing:.22em;
  color:var(--dark-mute); font-variant-numeric:tabular-nums; }
.gv-perf .loader-n::after{ content:"100"; opacity:.35; }
.gv-perf .gv-off *, .gv-perf .gv-off *::before, .gv-perf .gv-off *::after{ animation-play-state:paused !important; }
.gv-perf .marq{ display:inline-flex; align-items:center; gap:44px; width:max-content; will-change:transform; white-space:nowrap; }
.gv-perf .marq > *{ flex-shrink:0; }
.gv-perf .marq-tire{ flex-shrink:0; width:18px; height:18px; border-radius:50%;
  border:4px solid currentColor; box-shadow:inset 0 0 0 3px transparent; position:relative; }
.gv-perf .marq-tire::after{ content:""; position:absolute; inset:2px; border-radius:50%; border:1.5px dashed currentColor; animation:gvp-spin 4s linear infinite; }
@keyframes gvp-spin{to{ transform:rotate(360deg); }}
.gv-perf .hero3d{ position:relative; margin-top:-24px; }
.gv-perf .stage{ background:#090909; }
.gv-perf .hero-pin{ position:relative; }
.gv-perf .stage{ position:relative; height:100vh; height:100svh; overflow:hidden; color:#fff; }
.gv-perf.pin .hero-pin{ height:200vh; }
.gv-perf.pin .stage{ position:sticky; top:0; height:100vh; }
.gv-perf .stage-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.2) brightness(.5); transform:scale(1.04); }
.gv-perf .stage-tint{ position:absolute; inset:0; background:var(--tint); mix-blend-mode:color; opacity:.9; transition:background-color .4s; }
.gv-perf .stage .fallback{ opacity:.55; mix-blend-mode:screen; }
.gv-perf.has-3d .stage .fallback{ display:none; }
.gv-perf #gl{ position:absolute; inset:0; width:100%; height:100%; }
.gv-perf .h-title{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center; pointer-events:none; padding:var(--pad); will-change:transform,opacity; }
.gv-perf .h-title .mono{ color:var(--accent-lt); margin-bottom:20px; font-size:12px; }
.gv-perf .h-title h2{ font-size:clamp(64px,13.5vw,260px); display:flex; flex-direction:column; align-items:center; text-shadow:0 12px 50px rgba(0,0,0,.55); }
.gv-perf .h-line{ display:block; white-space:nowrap; }
.gv-perf .h-line.o{ color:transparent; -webkit-text-stroke:2px #fff; }
.gv-perf .h-plans{ display:inline-flex; align-items:center; gap:12px; margin-top:clamp(16px,2.6vh,28px);
  opacity:0; transform:translateY(14px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.gv-perf .h-plans.is-in{ opacity:1; transform:none; }
.gv-perf .h-plan{ position:relative; width:64px; height:64px; display:grid; place-items:center; }
.gv-perf .h-plan svg{ position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg);
  fill:rgba(8,18,44,.25); stroke:rgba(255,255,255,.62); stroke-width:1.5;
  stroke-dasharray:189; stroke-dashoffset:189; transition:stroke-dashoffset 1.4s var(--ease) var(--od,0ms); }
.gv-perf .h-plans.is-in .h-plan svg{ stroke-dashoffset:0; }
.gv-perf .h-plan-n{ position:relative; display:inline-flex; font:900 italic 30px/1 var(--sans); font-stretch:62%; color:#fff; font-variant-numeric:tabular-nums; }
.gv-perf .h-plans-l{ margin-left:4px; font-size:16px; font-weight:600; color:#c9d6f2; }
.gv-perf .odo-col{ display:inline-block; height:1em; overflow:hidden; padding-right:.07em; margin-right:-.03em; }
.gv-perf .odo-strip{ display:flex; flex-direction:column; transform:translateY(0); transition:transform 1.6s cubic-bezier(.16,.84,.24,1); transition-delay:var(--od,0ms); }
.gv-perf .odo-strip span{ display:block; height:1em; }
.gv-perf .h-plans.is-in .odo-strip{ transform:translateY(calc(var(--to) * -1em)); }
.gv-perf .h-copy{ position:absolute; z-index:3; left:var(--pad); bottom:clamp(64px,10vh,110px); max-width:620px; opacity:0; transform:translateY(40px); pointer-events:none; }
.gv-perf .h-copy-title{ font-size:clamp(60px,7.6vw,128px); margin:0 0 6px; }
.gv-perf .ship-road{ position:relative; height:40px; max-width:540px; margin:0 0 18px; }
.gv-perf .ship-road::before{ content:""; position:absolute; left:0; right:0; bottom:7px; height:3px; border-radius:2px;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.6) 0 22px, transparent 22px 40px);
  animation:gvp-shipRoad .8s linear infinite; }
@keyframes gvp-shipRoad{to{ background-position:-40px 0; }}
.gv-perf .ship-truck{ position:absolute; bottom:9px; left:calc(var(--ship,1) * (100% - 64px)); width:64px; color:var(--spark);
  animation:gvp-shipBump .45s ease-in-out infinite alternate; }
.gv-perf .ship-truck svg{ display:block; width:64px; height:auto; }
@keyframes gvp-shipBump{to{ transform:translateY(-1.5px); }}
.gv-perf .h-copy-sub{ font-size:clamp(18px,1.7vw,26px); font-weight:800; line-height:1.2; color:#fff; margin:0 0 26px; }
.gv-perf .h-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.gv-perf .h-ui{ position:absolute; z-index:2; left:var(--pad); right:calc(var(--pad) + 76px); bottom:22px; display:flex; justify-content:space-between; align-items:center; pointer-events:none; }
.gv-perf .scroll-ind{ display:flex; align-items:center; gap:12px; }
.gv-perf .scroll-ind i{ width:64px; height:2px; background:rgba(255,255,255,.22); position:relative; overflow:hidden; }
.gv-perf .scroll-ind i::after{ content:""; position:absolute; inset:0; background:var(--accent-lt); transform-origin:left; transform:scaleX(var(--p,0)); }
@keyframes gvp-pulse{50%{ opacity:.2; }}
.gv-perf .finder{ position:relative; z-index:5; max-width:1180px; margin:calc(var(--sec) * -.22) auto 0;
  background:var(--dark); color:var(--on-dark); border-radius:var(--r); padding:16px 22px 18px;
  display:grid; grid-template-columns:auto 1fr 150px; grid-template-areas:"head head head" "read form guide";
  gap:12px 26px; align-items:end; overflow:hidden;
  box-shadow:0 30px 60px -34px rgba(0,0,0,.6); }
.gv-perf .finder > *{ position:relative; z-index:1; }
.gv-perf .finder-head{ grid-area:head; display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.gv-perf .finder-tag{ height:30px; padding:0 12px; font-size:12px; }
.gv-perf .finder-tabs{ display:flex; gap:6px; flex-wrap:wrap; }
.gv-perf .finder-tab{ height:32px; padding:0 14px; border-radius:999px; border:1.5px solid var(--dark-line); color:var(--dark-mute); font-weight:700; font-size:12px; transition:.25s var(--ease); }
.gv-perf .finder-tab:hover{ color:var(--on-dark); border-color:var(--on-dark); }
.gv-perf .finder-tab.is-active{ background:var(--on-dark); border-color:var(--on-dark); color:var(--dark); }
.gv-perf .finder-readout{ grid-area:read; }
.gv-perf .finder-readout .mono{ color:var(--dark-mute); }
.gv-perf .size-out{ display:flex; font:900 italic clamp(40px,4vw,56px)/.9 var(--sans); font-stretch:62%; letter-spacing:-.01em; color:#fff; margin-top:4px; font-variant-numeric:tabular-nums; }
.gv-perf .size-out span{ display:inline-block; }
.gv-perf .size-out span.flip{ animation:gvp-flip .45s var(--ease) both; }
.gv-perf .size-out .sep{ color:var(--accent-lt); opacity:.9; padding:0 .04em; }
@keyframes gvp-flip{from{ transform:translateY(-70%) rotateX(80deg); opacity:0; }}
.gv-perf .finder-guide{ grid-area:guide; align-self:end; justify-self:end; width:100%; max-width:150px; background:#fff; border-radius:10px; padding:5px; }
.gv-perf .finder-guide img{ width:100%; height:auto; }
.gv-perf .finder-form{ grid-area:form; display:flex; align-items:flex-end; gap:8px; }
.gv-perf .finder-fields{ flex:1; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.gv-perf .finder-fields[hidden]{ display:none; }
.gv-perf .finder-fields--free{ grid-template-columns:1fr; }
.gv-perf .finder-fields label{ display:flex; flex-direction:column; gap:5px; }
.gv-perf .finder-fields label .mono{ color:var(--dark-mute); }
.gv-perf .finder select, .gv-perf .finder input{ width:100%; height:48px; border-radius:10px; border:1.5px solid var(--dark-line); background:var(--dark-2); color:var(--on-dark);
  font:800 19px var(--sans); font-stretch:75%; padding:0 12px; appearance:none; -webkit-appearance:none; transition:border-color .2s; }
.gv-perf .finder input{ font-size:15px; font-stretch:100%; font-weight:600; }
.gv-perf .finder select{ background-image:linear-gradient(45deg,transparent 50%,var(--accent-lt) 50%),linear-gradient(135deg,var(--accent-lt) 50%,transparent 50%); background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%; background-size:6px 6px; background-repeat:no-repeat; }
.gv-perf .finder select:focus, .gv-perf .finder input:focus{ outline:none; border-color:var(--accent-lt); }
.gv-perf .finder-submit{ flex-shrink:0; height:48px; padding:0 22px; border-radius:10px; font-size:15px; }
.gv-perf .finder-submit::before{ border-radius:10px; }
.gv-perf .finder-submit.v{ background:var(--spark); color:var(--on-spark); }
.gv-perf .finder-submit.v::before{ background:var(--on-dark); }
.gv-perf .finder-submit.v:hover{ color:var(--dark); }
.gv-perf .hscroll{ position:relative; margin-top:clamp(16px,3vw,40px); }
.gv-perf .hs-sticky{ display:flex; flex-direction:column; justify-content:center; gap:clamp(20px,3vh,36px); }
.gv-perf.pin .hs-sticky{ position:sticky; top:0; height:100vh; overflow:hidden; padding-top:var(--hdr); }
.gv-perf .hs-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:16px 40px; flex-wrap:wrap; width:100%; }
.gv-perf .hs-head .sec-title{ font-size:clamp(48px,7vw,124px); max-width:none; }
.gv-perf .hs-meta{ text-align:right; }
.gv-perf .hs-meta .mono{ margin-bottom:10px; color:var(--mute); }
.gv-perf .hs-prog{ width:min(260px,40vw); height:2px; background:var(--line); position:relative; margin-left:auto; }
.gv-perf .hs-prog i{ position:absolute; inset:0; background:var(--ink); transform-origin:left; transform:scaleX(var(--p,0)); }
.gv-perf .hs-viewport{ overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px; }
.gv-perf .hs-viewport::-webkit-scrollbar{ display:none; }
.gv-perf.pin .hs-viewport{ overflow:visible; scroll-snap-type:none; }
.gv-perf .hs-track{ position:relative; display:flex; gap:clamp(26px,3vw,52px); padding:8px var(--pad) 34px; width:max-content; will-change:transform; }
.gv-perf .hs-track .gp-card{ flex:0 0 clamp(250px,21vw,330px); scroll-snap-align:start; }
.gv-perf .gp-card{ display:flex; flex-direction:column; gap:12px; perspective:900px; transform-origin:50% 100%; will-change:transform; }
.gv-perf .gp-card-img{ position:relative; aspect-ratio:1; border-radius:var(--r); background:transparent;
  transform-style:preserve-3d; transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:transform .6s var(--ease); will-change:transform; }
.gv-perf .gp-card-link{ position:absolute; inset:0; z-index:1; border-radius:inherit; }
.gv-perf .gp-card-roll{ position:absolute; inset:9%; transform-style:preserve-3d; will-change:transform; pointer-events:none; }
.gv-perf .gp-card-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain;
  transform:translateZ(60px) rotate(var(--rot,0deg)) scale(var(--sc,1)); transition:transform .8s var(--ease);
  filter:drop-shadow(0 26px 24px rgba(0,0,0,.18)); pointer-events:none; }
.gv-perf .gp-card:hover .gp-card-photo{ --rot:-8deg; --sc:1.06; }
.gv-perf .gp-card-floor{ position:absolute; left:20%; right:20%; bottom:2%; height:7%; border-radius:50%; pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(11,26,58,.27), rgba(11,26,58,.12) 42%, rgba(11,26,58,.03) 64%, rgba(11,26,58,0) 76%);
  transform:scale(var(--fl,1)); opacity:var(--flo,1); transition:transform .8s var(--ease), opacity .8s var(--ease); }
.gv-perf .gp-card:hover .gp-card-floor{ --fl:.82; --flo:.7; }
.gv-perf .gp-card-shine{ display:none; }
.gv-perf .cw-badge{ position:absolute; top:12px; left:12px; z-index:2; display:inline-flex; align-items:center; gap:3px;
  padding:4px 8px 4px 6px; border-radius:5px; background:linear-gradient(90deg, #ff2d9e, #7b2ff7); color:#fff;
  font-size:.62rem; font-weight:800; letter-spacing:.02em; text-transform:uppercase; line-height:1.2; white-space:nowrap;
  box-shadow:0 4px 10px rgba(123,47,247,.35); pointer-events:none; transform:translateZ(40px); }
.gv-perf .cw-badge svg{ width:10px; height:10px; flex-shrink:0; filter:drop-shadow(0 0 3px rgba(255,255,255,.65)); }
.gv-perf .gp-card-brand{ display:block; height:26px; width:auto; max-width:120px; object-fit:contain; object-position:left center; }
.gv-perf .qv-btn{ position:absolute; left:12px; right:12px; bottom:12px; z-index:2; height:46px; border-radius:12px;
  background:var(--ink); color:#fff; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  transform:translateZ(30px) translateY(14px); opacity:0; transition:transform .35s var(--ease), opacity .35s var(--ease), background .2s, color .2s; }
.gv-perf .qv-btn:hover{ background:var(--accent); color:var(--on-accent); }
.gv-perf .gp-card:hover .qv-btn, .gv-perf .gp-card:focus-within .qv-btn{ opacity:1; transform:translateZ(30px); }
.gv-perf .gp-card-info{ display:flex; flex-direction:column; gap:8px; padding:0 2px; }
.gv-perf .gp-card-info h3{ font-weight:800; font-size:14px; line-height:1.25; letter-spacing:.005em; }
.gv-perf .gp-card-row{ display:flex; justify-content:space-between; align-items:flex-end; gap:10px; }
.gv-perf .gp-card-price{ font-weight:900; font-size:22px; font-stretch:80%; letter-spacing:-.01em; line-height:1; }
.gv-perf .gp-card-cuotas{ display:block; margin-top:4px; color:var(--pos); font-weight:700; font-size:12px; }
.gv-perf .gv-stockbar{ display:flex; align-items:center; gap:10px; padding:9px 12px; margin-top:4px;
  background:#e6f0fb; border:1px solid #d2e1f3; border-radius:10px; color:#10275a; text-align:left; line-height:1.2; }
.gv-perf .gv-stockbar svg{ width:22px; height:22px; flex-shrink:0; color:#1b3b7a; }
.gv-perf .gv-stockbar-sep{ flex-shrink:0; width:1px; height:26px; background:#b6c9e2; }
.gv-perf .gv-stockbar-text{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.gv-perf .gv-stockbar-title{ font-size:.72rem; font-weight:500; color:#4a5f86; }
.gv-perf .gv-stockbar-qty{ font-size:.86rem; font-weight:800; color:#10275a; font-variant-numeric:tabular-nums; }
.gv-perf .prod-marq{ margin-top:clamp(28px,4vw,48px); overflow:hidden; white-space:nowrap; border-block:1.5px solid var(--ink); }
.gv-perf .prod-marq .marq{ gap:12px; padding:12px 0; }
.gv-perf .pm-item{ display:inline-flex; align-items:center; gap:12px; height:64px; padding:0 22px 0 8px; border-radius:999px; background:var(--soft); }
.gv-perf .pm-item img{ width:52px; height:52px; object-fit:contain; }
.gv-perf .pm-item span{ font:900 italic 24px/1 var(--sans); font-stretch:62%; text-transform:uppercase; }
.gv-perf .pm-item i{ font-style:normal; font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--mute); }
.gv-perf .pm-item b{ font-family:var(--mono); font-size:11px; font-weight:500; color:var(--pos); }
.gv-perf .promo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.gv-perf .promo{ position:relative; display:block; aspect-ratio:1024/1440; border-radius:var(--r); overflow:hidden; background:var(--dark); }
.gv-perf .promo img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.gv-perf .promo:hover img{ transform:scale(1.06); }
.gv-perf .promo-in{ position:absolute; inset:auto 0 0; padding:clamp(18px,2vw,28px); color:#fff; display:flex; flex-direction:column; align-items:flex-start; gap:14px;
  background:linear-gradient(transparent, rgba(0,0,0,.72)); }
.gv-perf .promo-in .mega{ font-size:clamp(40px,3.8vw,68px); }
.gv-perf .promo-in .mono{ color:#fff; opacity:.85; }
.gv-perf .promo-chip{ position:absolute; left:16px; bottom:16px; }
.gv-perf [data-lift]{ transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
.gv-perf [data-lift]:hover{ transform:translateY(-10px) rotate(-1.2deg); box-shadow:0 30px 50px -30px rgba(0,0,0,.45); }
.gv-perf .feature{ position:relative; display:flex; align-items:flex-end; overflow:hidden; color:#fff; isolation:isolate;
  height:clamp(440px,82vh,860px); border-radius:var(--r);
  clip-path:inset(var(--clip,0%) var(--clip,0%) var(--clip,0%) var(--clip,0%) round var(--r)); }
.gv-perf .feature-bg{ position:absolute; inset:-14% 0; z-index:-1; transform:translateY(var(--py,0%)); will-change:transform; }
.gv-perf .feature-bg img{ width:100%; height:100%; object-fit:cover; transform:scale(1.04); }
.gv-perf .feature::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, transparent 35%, rgba(0,0,0,.72)); }
.gv-perf .feature-in{ width:100%;
  padding:calc(clamp(20px,3vw,44px) + var(--clip,0%) * .55) calc(clamp(20px,3vw,44px) + var(--clip,0%));
  display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; }
.gv-perf .feature-title{ font-size:clamp(46px,6.2vw,116px); max-width:17ch; margin-top:14px; }
.gv-perf .feature-logo{ height:clamp(34px,4vw,58px); width:auto; margin-top:18px; filter:drop-shadow(0 4px 18px rgba(0,0,0,.5)); }
.gv-perf .feature-sub{ max-width:30ch; font-size:18px; font-weight:600; }
.gv-perf #marca-goodyear .feature-bg img{ object-position:50% 64%; }
.gv-perf .brand-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap); margin:var(--gap) 0; }
.gv-perf .brand-card{ position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:18px; min-height:230px;
  padding:20px; border-radius:var(--r); background:var(--soft); overflow:hidden; }
.gv-perf .brand-stage{ flex:1; display:grid; place-items:center; padding:12px; }
.gv-perf .brand-stage img{ max-height:54px; width:auto; transition:transform .6s var(--ease); }
.gv-perf .brand-card:hover .brand-stage img{ transform:scale(1.08); }
.gv-perf .brand-foot{ display:flex; justify-content:space-between; align-items:center; }
.gv-perf .brand-cta{ color:var(--ink); }
.gv-perf .brand-card:hover .arrow, .gv-perf .cat:hover .arrow{ transform:rotate(-45deg) scale(1.12); }
.gv-perf .cats{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); perspective:1200px; }
.gv-perf .cat{ position:relative; aspect-ratio:3/4; border-radius:var(--r); overflow:hidden; isolation:isolate;
  padding:clamp(16px,1.8vw,24px); display:flex; flex-direction:column; justify-content:space-between;
  transform:rotateX(var(--crx,25deg)) translateY(var(--cty,90px)); transform-origin:50% 100%; opacity:var(--co,0);
  transition:transform 1.1s var(--ease), opacity 1.1s var(--ease); transition-delay:calc(var(--d) * 110ms); }
.gv-perf .cats.in .cat{ --crx:0deg; --cty:0px; --co:1; }
.gv-perf .cat .blobs{ z-index:-2; }
.gv-perf .cat--accent{ color:#fff; }
.gv-perf .cat--soft{ background:var(--soft); color:var(--ink); }
.gv-perf .cat--ink{ color:#fff; }
.gv-perf .cat-img{ position:absolute; z-index:-1; left:6%; right:6%; top:50%; width:88%; height:auto; transform:translateY(-46%);
  transition:transform .9s var(--ease); filter:drop-shadow(0 30px 30px rgba(0,0,0,.3)); }
.gv-perf .cat:hover .cat-img{ transform:translateY(-46%) scale(1.09) rotate(-2deg); }
.gv-perf .cat h3{ font-size:clamp(46px,4.6vw,84px); }
.gv-perf .cat-foot{ display:flex; justify-content:space-between; align-items:center; }
.gv-perf .dark-block{ position:relative; border-radius:var(--r); overflow:hidden; background:var(--dark); color:var(--on-dark); padding:clamp(28px,5vw,80px) clamp(20px,4vw,64px) clamp(70px,8vw,110px); }
.gv-perf .dark-block .blobs{ z-index:-1; opacity:.8; }
.gv-perf .dark-in{ position:relative; z-index:1; display:grid; grid-template-columns:1.5fr 1fr; gap:40px; align-items:center; }
.gv-perf .dark-title{ font-size:clamp(58px,8.2vw,150px); margin-bottom:28px; }
.gv-perf .dark-copy p{ max-width:56ch; color:var(--dark-mute); font-size:17px; margin-bottom:30px; }
.gv-perf .dark-visual{ display:flex; flex-direction:column; align-items:center; gap:22px; }
.gv-perf .dark-icon{ width:min(260px,60%); height:auto; background:#fff; padding:clamp(16px,2vw,28px); border-radius:28px; box-shadow:0 30px 60px -20px rgba(0,0,0,.6); animation:gvp-floaty 7s ease-in-out infinite; }
@keyframes gvp-floaty{50%{ transform:translateY(-14px) rotate(-3deg); }}
.gv-perf .years{ display:flex; align-items:baseline; gap:12px; }
.gv-perf .years strong{ font-size:clamp(90px,10vw,170px); color:#fff; }
.gv-perf .years .mono{ color:var(--dark-mute); max-width:12ch; }
.gv-perf .scroll-cue{ position:absolute; z-index:1; left:50%; bottom:28px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--dark-mute); }
.gv-perf .scroll-cue i{ width:2px; height:34px; background:var(--dark-line); position:relative; overflow:hidden; }
.gv-perf .scroll-cue i::after{ content:""; position:absolute; left:0; right:0; height:40%; background:var(--accent-lt); animation:gvp-cue 1.8s var(--ease) infinite; }
@keyframes gvp-cue{from{ top:-40%; } to{ top:100%; }}
.gv-perf .feature--static{ height:clamp(380px,72vh,760px); }
.gv-perf .steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:var(--gap); margin-top:var(--gap); counter-reset:none; }
.gv-perf .step{ position:relative; background:var(--soft); border-radius:var(--r); padding:22px; min-height:250px; display:flex; flex-direction:column; gap:10px; overflow:hidden; isolation:isolate; }
.gv-perf .step-n{ font-size:84px; color:transparent; -webkit-text-stroke:1.5px var(--ink); margin-bottom:auto; }
.gv-perf .step svg{ width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.gv-perf .step h3{ font-weight:800; font-size:18px; line-height:1.15; }
.gv-perf .step p{ font-size:14px; color:var(--mute); }
.gv-perf .fill{ position:relative; isolation:isolate; overflow:hidden; transition:transform .45s var(--ease); }
.gv-perf .fill::before{ content:""; position:absolute; inset:0; z-index:-1; background:var(--accent); transform:translateY(101%); transition:transform .5s var(--ease); }
.gv-perf .fill:hover::before{ transform:none; }
.gv-perf .fill:hover{ color:var(--on-accent); }
.gv-perf .fill:hover p, .gv-perf .fill:hover li, .gv-perf .fill:hover span{ color:var(--on-accent); }
.gv-perf .step.fill:hover{ transform:translateY(-8px) rotate(-1.2deg); }
.gv-perf .step.fill:hover .step-n{ -webkit-text-stroke-color:var(--on-accent); }
.gv-perf .about{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,64px); align-items:center; }
.gv-perf .feature--photo{ height:clamp(380px,70vh,720px); }
.gv-perf .dealer{ position:absolute; left:16px; bottom:16px; display:flex; align-items:center; gap:16px; padding:12px 18px;
  background:#fff; border-radius:12px; box-shadow:0 14px 34px -14px rgba(0,0,0,.5); }
.gv-perf .dealer span{ font-size:12px; font-weight:600; line-height:1.15; color:var(--mute); max-width:9ch; }
.gv-perf .dealer img{ height:22px; width:auto; }
.gv-perf .about-copy .sec-title{ font-size:clamp(48px,6vw,108px); margin-bottom:24px; }
.gv-perf .about-copy > p{ font-size:17px; max-width:58ch; margin-bottom:24px; }
.gv-perf .network{ border-top:1.5px solid var(--ink); padding-top:18px; margin-bottom:30px; }
.gv-perf .network .gp-label{ margin-bottom:8px; }
.gv-perf .network p{ color:var(--mute); max-width:58ch; }
.gv-perf .stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.gv-perf .stat{ background:var(--soft); border-radius:var(--r); padding:18px; display:flex; flex-direction:column; gap:10px; }
.gv-perf .stat-n{ font-size:clamp(54px,5.6vw,96px); font-variant-numeric:tabular-nums; }
.gv-perf .stat .mono{ color:var(--mute); }
.gv-perf .branches{ display:grid; grid-template-columns:repeat(5,1fr); gap:var(--gap); }
.gv-perf .branch{ border:1.5px solid var(--ink); border-radius:var(--r); padding:18px; display:flex; flex-direction:column; gap:22px; min-height:300px; }
.gv-perf .branch .mono{ color:var(--mute); }
.gv-perf .branch h3{ font-size:clamp(34px,2.6vw,46px); margin-top:6px; }
.gv-perf .branch ul{ display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--mute); margin-top:auto; }
.gv-perf .branch li:last-child{ font-size:12px; overflow-wrap:anywhere; }
.gv-perf .branch-map{ align-self:flex-start; border-bottom:1.5px solid currentColor; padding-bottom:2px; }
.gv-perf .branch.fill:hover .branch-map{ color:var(--on-accent); }
.gv-perf .contact{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,64px); align-items:start; }
.gv-perf .contact-info .sec-title{ font-size:clamp(70px,11vw,200px); margin-bottom:36px; }
.gv-perf .contact-info > p{ font-size:17px; color:var(--mute); margin-bottom:22px; }
.gv-perf .c-item{ display:flex; align-items:center; gap:16px; padding:14px 16px; border-radius:var(--r); border:1.5px solid var(--line); margin-bottom:8px; }
.gv-perf .c-item strong{ display:block; font-weight:800; }
.gv-perf .c-item div span{ font-size:14px; color:var(--mute); overflow-wrap:anywhere; }
.gv-perf .c-ico{ width:46px; height:46px; border-radius:50%; background:var(--soft); display:grid; place-items:center; flex-shrink:0; }
.gv-perf .c-ico svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.gv-perf .c-ico--wa{ width:52px; height:52px; background:#25D366; box-shadow:0 6px 14px rgba(37,211,102,.35); }
.gv-perf .c-ico--wa .wa-official{ width:39px; height:45px; fill:#fff; color:#fff; stroke:none; }
.gv-perf .social{ display:flex; gap:12px; margin-top:20px; }
.gv-perf .social a{ width:54px; height:54px; display:flex; align-items:center; justify-content:center; color:#1b3b7a; border-radius:16px; transition:transform .3s var(--ease); }
.gv-perf .social a:hover{ transform:translateY(-4px); color:#d9a900; }
.gv-perf .social .gp-social-icon{ width:27px; height:27px; fill:currentColor; }
.gv-perf .c-form{ background:var(--soft); border-radius:var(--r); padding:clamp(20px,3vw,40px); display:flex; flex-direction:column; gap:14px; }
.gv-perf .c-form h3{ font-size:clamp(40px,4vw,64px); margin-bottom:6px; }
.gv-perf .c-form label{ display:flex; flex-direction:column; gap:7px; }
.gv-perf .c-form label .mono{ color:var(--mute); }
.gv-perf .c-form input, .gv-perf .c-form textarea{ width:100%; border:1.5px solid var(--line); border-radius:12px; background:var(--bg); padding:14px; font:500 16px var(--sans); color:var(--ink); resize:vertical; transition:border-color .2s; }
.gv-perf .c-form input:focus, .gv-perf .c-form textarea:focus{ outline:none; border-color:var(--ink); }
.gv-perf .gp-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gv-perf .c-form .gp-btn{ align-self:flex-start; margin-top:4px; }
@keyframes gvp-pop{from{ transform:scale(.9) translateY(40px) rotate(1.5deg); opacity:0; }}
@media (max-width:1200px){
  .gv-perf .branches{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:1040px){
  .gv-perf .finder{ grid-template-columns:1fr 120px; grid-template-areas:"head head" "read guide" "form form"; }
  .gv-perf .finder-guide{ max-width:120px; }
  .gv-perf .promo-grid{ grid-template-columns:repeat(2,1fr); }
  .gv-perf .promo-grid .promo:last-child{ grid-column:1/-1; aspect-ratio:16/10; }
  .gv-perf .brand-row{ grid-template-columns:repeat(2,1fr); }
  .gv-perf .cats{ grid-template-columns:1fr 1fr; }
  .gv-perf .cats .cat:last-child{ grid-column:1/-1; aspect-ratio:16/9; }
  .gv-perf .dark-in{ grid-template-columns:1fr; }
  .gv-perf .dark-visual{ flex-direction:row; justify-content:flex-start; flex-wrap:wrap; gap:18px; }
  .gv-perf .dark-icon{ width:120px; padding:14px; border-radius:20px; }
  .gv-perf .steps{ grid-template-columns:repeat(2,1fr); }
  .gv-perf .steps .step:last-child{ grid-column:1/-1; }
  .gv-perf .about, .gv-perf .contact{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .gv-perf{ --hdr:64px; }
  .gv-perf .h-title{ justify-content:flex-start; padding-top:calc(var(--hdr) + 7vh); }
  .gv-perf .h-title h2{ font-size:clamp(58px,19vw,120px); }
  .gv-perf .h-plans{ gap:9px; }
  .gv-perf .h-plan{ width:50px; height:50px; }
  .gv-perf .h-plan-n{ font-size:24px; }
  .gv-perf .h-plans-l{ font-size:14px; }
  .gv-perf .h-copy{ left:var(--pad); right:var(--pad); bottom:70px; }
  .gv-perf .h-copy-title{ font-size:clamp(44px,13vw,68px); margin:0 0 4px; }
  .gv-perf .ship-road{ height:34px; margin-bottom:12px; }
  .gv-perf .ship-truck, .gv-perf .ship-truck svg{ width:52px; }
  .gv-perf .ship-truck{ left:calc(var(--ship,1) * (100% - 52px)); }
  .gv-perf .h-copy-sub{ margin-bottom:18px; }
  .gv-perf .h-copy{ bottom:84px; }
  .gv-perf .size-out{ font-size:clamp(38px,11vw,52px); }
  .gv-perf .finder-form{ flex-direction:column; align-items:stretch; }
  .gv-perf .finder-submit{ width:100%; }
  .gv-perf .years strong{ font-size:clamp(72px,22vw,110px); }
  .gv-perf .scroll-cue{ display:none; }
  .gv-perf .dark-block{ padding-bottom:clamp(28px,6vw,48px); }
  .gv-perf .finder-fields{ grid-template-columns:repeat(3,1fr); }
  .gv-perf .finder select{ font-size:17px; padding:0 10px; background-position:calc(100% - 14px) 50%,calc(100% - 8px) 50%; }
  .gv-perf .hs-meta{ text-align:left; }
  .gv-perf .hs-prog{ margin-left:0; }
  .gv-perf .hs-track .gp-card{ flex-basis:72vw; }
  .gv-perf .promo-grid{ grid-template-columns:1fr; }
  .gv-perf .promo-grid .promo:last-child{ aspect-ratio:1024/1440; }
  .gv-perf .brand-row{ grid-template-columns:1fr 1fr; }
  .gv-perf .brand-row{ gap:10px; }
  .gv-perf .brand-card{ min-height:0; padding:18px 14px 14px; gap:14px; }
  .gv-perf .brand-stage{ padding:6px 4px; min-height:64px; }
  .gv-perf .brand-stage img{ max-height:40px; max-width:100%; }
  .gv-perf .brand-foot{ gap:8px; }
  .gv-perf .brand-cta{ font-size:10px; letter-spacing:.06em; }
  .gv-perf .brand-foot .arrow{ width:34px; height:34px; }
  .gv-perf .brand-foot .arrow svg{ width:16px; height:16px; }
  .gv-perf .arrow{ width:38px; height:38px; }
  .gv-perf .cats{ grid-template-columns:1fr; }
  .gv-perf .cats .cat, .gv-perf .cats .cat:last-child{ aspect-ratio:4/3.4; }
  .gv-perf .feature{ height:clamp(420px,72svh,620px); }
  .gv-perf .steps{ grid-template-columns:1fr; }
  .gv-perf .step{ min-height:0; }
  .gv-perf .step-n{ font-size:60px; }
  .gv-perf .stats{ grid-template-columns:1fr 1fr 1fr; }
  .gv-perf .stat{ padding:12px; }
  .gv-perf .branches{ grid-template-columns:1fr; }
  .gv-perf .branch{ min-height:0; }
  .gv-perf .gp-form-row{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  .gv-perf *, .gv-perf *::before, .gv-perf *::after{ animation:none !important; transition:none !important; }
  .gv-perf .rv, .gv-perf .sc, .gv-perf .cat, .gv-perf .h-plans{ opacity:1 !important; transform:none !important; }
  .gv-perf [data-skew]{ transform:none !important; }
  .gv-perf .h-copy{ opacity:1 !important; transform:none !important; pointer-events:auto !important; }
  .gv-perf .feature{ clip-path:none !important; }
}
.gv-perf .pc{ position:relative; margin-top:var(--sec); }
.gv-perf .pc-stage{ position:relative; overflow:hidden; padding:8px 0 clamp(28px,5vw,48px);
  background:radial-gradient(ellipse 50% 50% at 27% 60%, #eef2f8, rgba(255,255,255,0) 70%); }
.gv-perf.pin .pc-stage{ position:sticky; top:0; height:100vh; padding:calc(var(--hdr) + 20px) 0 0; display:flex; flex-direction:column; }
.gv-perf .pc-head{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.gv-perf.pin .pc-stage > .wrap{ width:100%; }
.gv-perf .pc-head .gp-label{ margin-bottom:0; }
.gv-perf .pc-title{ font-size:clamp(34px,3.4vw,56px); }
.gv-perf .pc-dots{ display:flex; gap:6px; margin-top:4px; }
.gv-perf .pc-dots button{ width:36px; height:14px; padding:5px 0; background:none; border:0; cursor:pointer; }
.gv-perf .pc-dots button::before{ content:""; display:block; height:3px; border-radius:2px; background:rgba(11,22,48,.14); transition:background .6s var(--ease); }
.gv-perf .pc-dots button.on::before{ background:var(--ink); }
.gv-perf .pc-scene{ position:relative; display:flex; flex-direction:column; margin-top:12px; }
.gv-perf.pin .pc-scene{ display:block; flex:1; height:auto; min-height:0; margin-top:0; }
.gv-perf .pc-visual{ position:relative; order:2; height:min(96vw, 420px); margin-top:6px; }
.gv-perf.pin .pc-visual{ position:absolute; order:0; height:auto; margin:0; left:0; right:46%; top:1%; bottom:3%; }
.gv-perf .pc-copy-wrap{ position:relative; z-index:2; order:1; }
.gv-perf.pin .pc-copy-wrap{ position:absolute; left:auto; right:0; top:50%; transform:translateY(-50%); width:min(560px, 42%); }
.gv-perf .pc-copies{ display:grid; }
.gv-perf .pc-copy{ grid-area:1 / 1; }
.gv-perf .pc-cta{ margin-top:16px; width:100%; }
.gv-perf.pin .pc-cta{ width:auto; }
.gv-perf .pc-r1, .gv-perf .pc-r2, .gv-perf .pc-r3{ opacity:var(--o,0); transform:translateY(calc((1 - var(--o,0)) * 22px)); will-change:opacity, transform; }
.gv-perf .pc-r1{ --o:var(--r1,0); }
.gv-perf .pc-r2{ --o:var(--r2,0); }
.gv-perf .pc-r3{ --o:var(--r3,0); }
.gv-perf .pc-copy:not(.is-on){ pointer-events:none; }
.gv-perf .pc-brand{ display:block; height:22px; width:auto; margin-bottom:12px; }
.gv-perf .pc-name{ font-size:clamp(38px,3.6vw,62px); max-width:14ch; }
.gv-perf .pc-size{ margin-top:8px; font-weight:800; font-size:clamp(17px,1.4vw,21px); font-stretch:85%; letter-spacing:.01em; font-variant-numeric:tabular-nums; color:var(--pos); }
.gv-perf .pc-desc{ margin-top:16px; max-width:50ch; font-size:15.5px; line-height:1.55; color:var(--mute); }
.gv-perf .pc-specs{ margin-top:16px; max-width:520px; border-top:1px solid var(--line); }
.gv-perf .pc-specs div{ display:grid; grid-template-columns:150px 1fr; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); font-size:14px; }
.gv-perf .pc-specs dt{ color:var(--mute); }
.gv-perf .pc-buy{ margin-top:18px; display:flex; align-items:center; gap:12px 22px; flex-wrap:wrap; }
.gv-perf .pc-price{ display:flex; flex-direction:column; gap:4px; }
.gv-perf .pc-amount{ font-weight:900; font-size:clamp(26px,2.2vw,34px); font-stretch:80%; letter-spacing:-.01em; line-height:1; font-variant-numeric:tabular-nums; }
.gv-perf .pc-cuotas{ color:var(--pos); font-weight:700; font-size:13px; }
.gv-perf .pc-buy .gv-stockbar{ margin:0; flex:0 0 auto; }
.gv-perf.pin .pc-stage[data-fit="1"] .pc-brand, .gv-perf.pin .pc-stage[data-fit="2"] .pc-brand, .gv-perf.pin .pc-stage[data-fit="3"] .pc-brand, .gv-perf.pin .pc-stage[data-fit="4"] .pc-brand{ height:18px; margin-bottom:8px; }
.gv-perf.pin .pc-stage[data-fit="1"] .pc-name, .gv-perf.pin .pc-stage[data-fit="2"] .pc-name, .gv-perf.pin .pc-stage[data-fit="3"] .pc-name{ font-size:clamp(32px,3vw,48px); }
.gv-perf.pin .pc-stage[data-fit="1"] .pc-desc{ margin-top:10px; font-size:14px; line-height:1.5; }
.gv-perf.pin .pc-stage[data-fit="1"] .pc-specs, .gv-perf.pin .pc-stage[data-fit="2"] .pc-specs{ margin-top:10px; }
.gv-perf.pin .pc-stage[data-fit="1"] .pc-specs div, .gv-perf.pin .pc-stage[data-fit="2"] .pc-specs div{ padding:5px 0; font-size:13px; }
.gv-perf.pin .pc-stage[data-fit="1"] .pc-buy, .gv-perf.pin .pc-stage[data-fit="2"] .pc-buy, .gv-perf.pin .pc-stage[data-fit="3"] .pc-buy, .gv-perf.pin .pc-stage[data-fit="4"] .pc-buy{ margin-top:12px; }
.gv-perf.pin .pc-stage[data-fit="1"] .pc-cta, .gv-perf.pin .pc-stage[data-fit="2"] .pc-cta, .gv-perf.pin .pc-stage[data-fit="3"] .pc-cta, .gv-perf.pin .pc-stage[data-fit="4"] .pc-cta{ margin-top:12px; }
.gv-perf.pin .pc-stage[data-fit="2"] .pc-desc, .gv-perf.pin .pc-stage[data-fit="3"] .pc-desc, .gv-perf.pin .pc-stage[data-fit="4"] .pc-desc{ display:none; }
.gv-perf.pin .pc-stage[data-fit="3"] .pc-specs, .gv-perf.pin .pc-stage[data-fit="4"] .pc-specs{ display:none; }
.gv-perf.pin .pc-stage[data-fit="4"] .pc-name{ font-size:30px; }
.gv-perf.pin .pc-stage[data-fit="4"] .pc-size{ margin-top:4px; font-size:16px; }
.gv-perf .pc-gl{ position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.gv-perf .pc-head, .gv-perf .pc-scene{ position:relative; z-index:1; }
.gv-perf .pc-fallback{ position:absolute; left:50%; bottom:6%; height:88%; width:auto; max-width:92%; object-fit:contain;
  transform:translateX(-50%); opacity:var(--fb,0); filter:drop-shadow(0 22px 20px rgba(0,0,0,.2)); }
.gv-perf .pc-stage.is-3d .pc-fallback{ display:none; }
.gv-perf:not(.pin) .pc-specs{ display:none; }
.gv-perf:not(.pin) .pc-title{ font-size:clamp(28px,8vw,40px); }
.gv-perf:not(.pin) .pc-name{ font-size:clamp(28px,8vw,40px); }
.gv-perf:not(.pin) .pc-brand{ height:16px; margin-bottom:6px; }
.gv-perf:not(.pin) .pc-size{ margin-top:4px; font-size:16px; }
.gv-perf:not(.pin) .pc-desc{ margin-top:8px; font-size:14px; line-height:1.5; max-width:none; }
.gv-perf:not(.pin) .pc-buy{ margin-top:12px; gap:10px 16px; }
.gv-perf:not(.pin) .pc-copy{ padding:0 2px; }
.gv-perf:not(.pin) .pc-amount{ font-size:24px; }
.gv-perf:not(.pin) .pc-buy .gv-stockbar{ padding:7px 10px; }
@media (prefers-reduced-motion:reduce){
  .gv-perf .pc-r1, .gv-perf .pc-r2, .gv-perf .pc-r3{ transform:none !important; }
}

/* ---------- Ajustes propios de producción ---------- */
/* Contenedor: lo que en la maqueta era body. overflow-x:clip (no hidden) para no romper sticky. */
.gv-perf{ position:relative; overflow-x:clip; }
.gv-perf, .gv-perf *, .gv-perf *::before, .gv-perf *::after{ box-sizing:border-box; }
/* El tema base estiliza etiquetas sueltas (títulos, links, campos): se heredan de .gv-perf */
.gv-perf h1, .gv-perf h2, .gv-perf h3, .gv-perf h4, .gv-perf p, .gv-perf ol, .gv-perf ul, .gv-perf li,
.gv-perf figure, .gv-perf label, .gv-perf strong{ font-family:inherit; letter-spacing:inherit; color:inherit; }
.gv-perf h1, .gv-perf h2, .gv-perf h3, .gv-perf h4{ text-transform:none; font-weight:inherit; }
.gv-perf input, .gv-perf select, .gv-perf textarea, .gv-perf button{ font-family:inherit; letter-spacing:normal; box-shadow:none; }
/* La pantalla de carga va por encima del header (z 1000), WhatsApp (1100) y Cyber Week (9999) */
.gv-perf .loader{ z-index:10050; }
/* Mundos de marca abiertos: se oculta la home (antes lo hacía gervasini-brand-worlds.css con .gervasini-home) */
body.gervasini-brand-mode .gv-perf{ display:none !important; }
/* Botón "Ver producto" de la tarjeta (en la maqueta era "Vista rápida"): solo visual, el link es toda la foto */
.gv-perf .qv-btn{ display:grid; place-items:center; pointer-events:none; }
/* Flyers cargados en el panel (Banners promocionales): se muestran completos */
.gv-perf .promo--flyer{ background:#fff; }
.gv-perf .promo--flyer img{ object-fit:contain; }
/* Mensajes del formulario de contacto */
.gv-perf .form-feedback{ padding:12px 14px; border-radius:12px; font-weight:600; font-size:14px; }
.gv-perf .form-feedback--success{ background:#e5f6e2; color:#1f6b27; }
.gv-perf .form-feedback--error{ background:#fde6e3; color:#b3261e; }
