/* G2 brand customizations */
.g2-brand { margin-bottom: 1.5rem; }
.g2-brand img { display:block; width:clamp(110px, 14vw, 185px); height:auto; image-rendering:auto; }
.gallery > a { cursor:zoom-in; }
.gallery .modal.visible { cursor:zoom-out; }
.gallery .modal .inner img { object-fit:contain; }
@media screen and (max-width: 736px) { .g2-brand img { width: 125px; } }

/* G2 Vinil Art — componentes de avance; mantiene la identidad original */
.g2-nav{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:1rem 0 2rem}.g2-nav a{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid currentColor}.g2-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0}.g2-service{border:1px solid rgba(0,0,0,.12);padding:1.25rem;min-width:0}.g2-service h3{font-size:1rem;margin:.5rem 0}.g2-service p{font-size:.85rem;margin:0}.g2-num{font-size:.75rem;opacity:.55}.g2-albums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.g2-album{padding:0;border:0;position:relative;cursor:pointer;min-height:180px;overflow:hidden;text-align:left;background:#333;color:white}.g2-album img{width:100%;height:220px;object-fit:cover;display:block;filter:brightness(.65);transition:transform .3s}.g2-album:hover img,.g2-album:focus-visible img{transform:scale(1.05)}.g2-album span{position:absolute;bottom:1rem;left:1rem;right:1rem;font-size:1rem;font-weight:700;text-shadow:0 1px 5px #222}.g2-album small{display:block;font-size:.7rem;font-weight:400}.g2-note{font-size:.75rem;opacity:.65}.g2-contact-placeholder{border-left:3px solid currentColor;padding:1rem;background:rgba(125,125,125,.07)}.g2-modal[hidden]{display:none}.g2-modal{position:fixed;inset:0;background:rgba(10,12,15,.88);z-index:100000;overflow:auto;padding:3vh 3vw}.g2-modal-box{position:relative;background:#fff;color:#242424;max-width:950px;margin:auto;padding:2rem}.g2-modal h2{padding-right:2rem}.g2-close{position:absolute;top:.6rem;right:.7rem;border:0;background:transparent;font-size:2rem;cursor:pointer}.g2-subalbums{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.g2-subalbums button{font-size:.75rem;padding:.5rem .75rem;border:1px solid #aaa;background:#fff;cursor:pointer}.g2-subalbums button[aria-pressed=true]{background:#333;color:#fff}.g2-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.g2-photos a img{width:100%;height:220px;object-fit:cover}.g2-photos a{display:block}.g2-photos a:focus-visible{outline:3px solid #333}@media(max-width:736px){.g2-services,.g2-albums{grid-template-columns:1fr 1fr}.g2-service{padding:.8rem}.g2-album img{height:160px}.g2-modal-box{padding:1rem}.g2-photos a img{height:140px}}@media(max-width:440px){.g2-services{grid-template-columns:1fr}.g2-albums{gap:.5rem}.g2-album span{font-size:.8rem}.g2-album img{height:140px}}

/* Entrega 01: interacción accesible de álbumes y ajustes mobile-first */
.g2-photo-button{border:0;background:transparent;padding:0;cursor:zoom-in;display:block;width:100%}.g2-photo-button img{width:100%;height:220px;object-fit:cover;display:block}.g2-photo-button:focus-visible,.g2-viewer button:focus-visible{outline:3px solid #399b95;outline-offset:3px}.g2-viewer[hidden],.g2-photos[hidden],.g2-subalbums[hidden]{display:none}.g2-viewer-image{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#17191b;min-height:200px}.g2-viewer-image img{max-width:calc(100% - 100px);max-height:65vh;object-fit:contain}.g2-viewer-image button{border:0;color:white;background:rgba(255,255,255,.12);font-size:2.2rem;min-width:42px;min-height:52px;cursor:pointer}.g2-back{margin:0 0 1rem;padding:.5rem .8rem;cursor:pointer}.g2-viewer #g2-counter{font-size:.8rem;margin:.7rem 0}.g2-nav a{display:inline-flex;align-items:center;min-height:44px}.g2-album{min-height:140px}.g2-album:focus-visible{outline:3px solid #399b95;outline-offset:3px}#contacto .actions{display:flex;flex-wrap:wrap;gap:.75rem}#contacto .actions li{padding:0}@media(max-width:736px){.g2-photo-button img{height:145px}.g2-viewer-image img{max-width:calc(100% - 88px);max-height:60vh}.g2-modal{padding:1.5vh 1.5vw}.g2-modal-box{padding:1rem}.g2-nav{gap:.25rem .7rem}}@media(max-width:440px){.g2-album span{line-height:1.3}.g2-service p{line-height:1.55}.g2-viewer-image{gap:.1rem}.g2-viewer-image img{max-width:calc(100% - 82px)}}@media(prefers-reduced-motion:reduce){.g2-album img{transition:none}}

/* Prueba CMYK: ilustración transparente desbordando el primer bloque. */
#wrapper > section.intro { position: relative; z-index: 2; }
#wrapper > section.intro > .content { overflow: visible; position: relative; z-index: 3; }
#wrapper > section.intro .g2-hero-art { overflow: visible; pointer-events: none; }
#wrapper > section.intro .g2-hero-art img {
  width: 112%; height: calc(100% + 125px); max-width: none;
  object-fit: contain; object-position: center top;
}
@media screen and (max-width: 736px) {
  #wrapper > section.intro .g2-hero-art img {
    width: 100%; height: calc(100% + 65px); object-position: center top;
  }
}


/* G2 · Prueba editorial CMYK 01. Solo tipografia, ritmo y acentos. */
:root { --g2-ink:#171717; --g2-magenta:#ec008c; --g2-cyan:#00b9d7; --g2-yellow:#f3d21c; }
#wrapper > section > header h2 {
  font-size:clamp(2.35rem, 4.4vw, 5.1rem);
  line-height:.99; letter-spacing:-.055em; font-weight:800;
  text-transform:none; overflow-wrap:break-word;
}
#wrapper > section > header > p {
  font-size:clamp(.95rem, 1.55vw, 1.3rem); line-height:1.4;
  letter-spacing:-.015em; text-transform:none;
}
#wrapper > section > .content > p:first-child {
  font-size:clamp(1.12rem, 1.7vw, 1.5rem); line-height:1.5;
  letter-spacing:-.02em;
}
#wrapper > section.intro header > p {
  font-size:clamp(1.45rem, 2.9vw, 3rem); font-weight:800;
  line-height:1.08; letter-spacing:-.045em; text-transform:none;
}
#nosotros .content h3 {
  font-size:clamp(1.8rem, 3.1vw, 3.15rem); line-height:1.1;
  letter-spacing:-.045em; text-transform:none;
}
.g2-service { border-top:4px solid var(--g2-ink); transition:border-color .2s ease; }
.g2-service:nth-child(4n + 1) { border-top-color:var(--g2-magenta); }
.g2-service:nth-child(4n + 2) { border-top-color:var(--g2-cyan); }
.g2-service:nth-child(4n + 3) { border-top-color:var(--g2-yellow); }
.g2-service h3 { font-size:clamp(1.25rem, 1.9vw, 1.9rem); line-height:1.08; letter-spacing:-.045em; text-transform:none; font-weight:800; }
.g2-num { font-weight:800; letter-spacing:.12em; }
.g2-album span { font-size:clamp(1.12rem, 1.8vw, 1.8rem); letter-spacing:-.035em; line-height:1.05; }
.g2-album small { font-size:.72rem; letter-spacing:0; margin-top:.45rem; }
.g2-nav a { font-weight:800; letter-spacing:.08em; }
@media(max-width:736px) {
  #wrapper > section > header h2 { font-size:clamp(2.15rem, 9vw, 3.7rem); }
  #wrapper > section.intro header > p { font-size:clamp(1.4rem, 6vw, 2.35rem); }
  .g2-service h3 { font-size:clamp(1.25rem, 4.5vw, 1.65rem); }
  .g2-album span { font-size:clamp(1rem, 4vw, 1.3rem); }
}
@media(prefers-reduced-motion:reduce) { .g2-service { transition:none; } }

/* G2 · Prueba CMYK 02: botones y fondo limpio, sin modificar columnas 50/50. */
/* Elimina exclusivamente la trama geométrica de la plantilla. */
#wrapper::before, #wrapper > section > header { background-image:none !important; }
/* Botones CMYK: estados contrastados y consistentes. */
#wrapper a.button, #wrapper button.button, .g2-subalbums button, .g2-back {
  border-radius:0; box-shadow:none; font-weight:800; letter-spacing:.025em;
  transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;
}
#wrapper a.button.primary { background:var(--g2-magenta); color:#fff !important; border-color:var(--g2-magenta); }
#wrapper a.button.primary:hover, #wrapper a.button.primary:focus-visible { background:#bc006f; box-shadow:0 0 0 3px var(--g2-yellow); }
#wrapper a.button:not(.primary) { background:var(--g2-cyan); color:var(--g2-ink) !important; border-color:var(--g2-cyan); }
#wrapper a.button:not(.primary):hover, #wrapper a.button:not(.primary):focus-visible { background:var(--g2-yellow); box-shadow:0 0 0 2px var(--g2-ink); }
.g2-subalbums button[aria-pressed=true] { background:var(--g2-magenta); color:#fff; border-color:var(--g2-magenta); }
.g2-subalbums button:focus-visible,.g2-back:focus-visible { outline:3px solid var(--g2-cyan); outline-offset:3px; }
@media(prefers-reduced-motion:reduce){#wrapper a.button,.g2-subalbums button,.g2-back{transition:none}}

/* G2 · Servicios desplegables y acceso a álbumes: prueba 03 */
.g2-service { align-self:start; overflow:visible; }
.g2-service-detail summary { list-style:none; cursor:pointer; position:relative; }
.g2-service-detail summary::-webkit-details-marker { display:none; }
.g2-service-detail summary:focus-visible { outline:3px solid var(--g2-cyan,#00b9d7); outline-offset:5px; }
.g2-service-detail summary h3 { margin:.5rem 0; }
.g2-service-detail summary p { margin:0; }
.g2-more-hint { display:block; margin-top:.85rem; font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; opacity:.65; }
.g2-service-extra { padding-top:1rem; }
.g2-service-extra p { margin:0 0 1rem; font-size:calc(.85rem + 2px); line-height:1.55; }
.g2-service-link { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; min-height:44px; padding:.6rem 1rem; border:0; background:var(--g2-magenta,#ec008c); color:white; font-size:.72rem; font-weight:800; letter-spacing:.06em; cursor:pointer; text-transform:uppercase; transition:background .2s ease,transform .2s ease; }
.g2-service:nth-child(4n + 2) .g2-service-link { background:var(--g2-cyan,#00b9d7); color:#161616; }
.g2-service:nth-child(4n + 3) .g2-service-link { background:var(--g2-yellow,#f3d21c); color:#171717; }
.g2-service:nth-child(4n + 4) .g2-service-link { background:var(--g2-magenta,#ec008c); color:white; }
.g2-service-link:hover,.g2-service-link:focus-visible { filter:brightness(.9); transform:translateY(-2px); }
.g2-service-link:focus-visible { outline:3px solid #171717; outline-offset:3px; }
.g2-service-detail:not([open]) .g2-service-extra { display:none; }
@media (hover:hover) and (pointer:fine) {
 .g2-service-detail:not([open]):hover .g2-service-extra,
 .g2-service-detail:not([open]):focus-within .g2-service-extra { display:block; animation:g2-service-reveal .2s ease-out; }
}
@keyframes g2-service-reveal { from {opacity:0;transform:translateY(5px)} to {opacity:1;transform:translateY(0)} }
@media (prefers-reduced-motion:reduce) { .g2-service-link {transition:none} .g2-service-detail .g2-service-extra {animation:none !important} }

/* Corrección 03b: el contenido de details cerrado no puede revelarse con CSS hover.
   El estado open se controla con JS en escritorio y con summary nativo en móvil. */
@media (hover:hover) and (pointer:fine) {
 .g2-service-detail:not([open]):hover .g2-service-extra,
 .g2-service-detail:not([open]):focus-within .g2-service-extra { display:none; }
}

/* G2 06: la altura se anima con Web Animations API (también al cerrar).
   No depende de interpolate-size ni de ::details-content. */
.g2-service-detail { overflow:hidden; }
.g2-service-extra { transform-origin:top; }
.g2-service-detail[open] .g2-service-extra { animation:g2-fade-in .42s cubic-bezier(.2,.75,.2,1) both; }
@keyframes g2-fade-in { from {opacity:0;transform:translateY(9px)} to {opacity:1;transform:translateY(0)} }
.g2-service-link { transition:background-color .25s ease,color .25s ease,transform .3s cubic-bezier(.2,.75,.2,1); }
.g2-service-link:hover,.g2-service-link:focus-visible {filter:none;transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce) {
 .g2-service-detail[open] .g2-service-extra {animation:none}
 .g2-service-link {transition:none}
}

/* G2 07: videos de Cartelería dentro del visor existente. */
.g2-viewer-image video{max-width:calc(100% - 100px);max-height:65vh;width:auto;height:auto;background:#17191b}
.g2-viewer-image video[hidden],.g2-viewer-image img[hidden]{display:none}
.g2-video-thumb{min-height:145px;background:#e9f8f7;color:#183c3b;border:2px solid #29bfc3;font-weight:700;font-size:1rem;cursor:pointer}
@media(max-width:736px){.g2-viewer-image video{max-width:calc(100% - 88px);max-height:60vh}}
@media(max-width:440px){.g2-viewer-image video{max-width:calc(100% - 82px)}}


/* G2 07 · Galería estable y adaptable, sin alterar el diseño de la página. */
.g2-modal { box-sizing:border-box; display:flex; align-items:center; justify-content:center; padding:clamp(8px,2vw,24px); overscroll-behavior:contain; }
.g2-modal[hidden] { display:none !important; }
.g2-modal *, .g2-modal *::before, .g2-modal *::after { box-sizing:border-box; }
.g2-modal-box { width:min(100%,1020px); max-width:1020px; max-height:calc(100dvh - 24px); overflow-y:auto; margin:auto; padding:clamp(16px,2.5vw,30px); border-top:6px solid var(--g2-magenta); overscroll-behavior:contain; }
.g2-modal h2 { font-size:clamp(1.5rem,3vw,2.4rem); line-height:1.15; margin:0 48px 1rem 0; }
.g2-close { display:grid; place-items:center; width:44px; height:44px; padding:0; right:12px; top:12px; color:#171717; background:var(--g2-yellow); font-size:1.8rem; line-height:1; z-index:2; }
.g2-photos { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr)); gap:12px; align-items:stretch; }
.g2-photos[hidden], .g2-viewer[hidden], .g2-subalbums[hidden] { display:none !important; }
.g2-photo-button { appearance:none; display:block; position:relative; width:100%; height:150px; min-width:0; margin:0; padding:0; border:0; border-radius:0; overflow:hidden; background:#f2f2f2; box-shadow:none; cursor:zoom-in; }
.g2-photo-button img { display:block; position:static; width:100%; height:100%; max-width:none; margin:0; object-fit:cover; object-position:center; }
.g2-video-thumb { display:flex; align-items:center; justify-content:center; min-height:150px; height:150px; padding:12px; background:#e3f7f9; border:2px solid var(--g2-cyan); color:#171717; font-weight:800; cursor:pointer; }
.g2-viewer { width:100%; }
.g2-back { display:inline-flex; align-items:center; min-height:44px; padding:10px 15px; background:var(--g2-cyan); color:#171717; border:0; margin:0 0 12px; font-weight:800; }
.g2-viewer-image { display:grid; grid-template-columns:52px minmax(0,1fr) 52px; align-items:center; justify-items:center; gap:8px; width:100%; height:clamp(260px,60dvh,610px); min-height:0; padding:12px; background:#f3f3f3; touch-action:pan-y; }
.g2-viewer-image > img, .g2-viewer-image > video { grid-column:2; grid-row:1; position:static; display:block; width:100%; height:100%; max-width:100%; max-height:100%; min-width:0; min-height:0; object-fit:contain; margin:0; background:transparent; }
.g2-viewer-image > img[hidden], .g2-viewer-image > video[hidden] { display:none !important; }
.g2-viewer-image > .g2-prev, .g2-viewer-image > .g2-next { display:grid; place-items:center; grid-row:1; width:48px; min-width:48px; height:52px; min-height:52px; padding:0; margin:0; border:0; border-radius:0; background:var(--g2-cyan); color:#171717; font-size:2rem; font-weight:800; line-height:1; cursor:pointer; box-shadow:none; }
.g2-viewer-image > .g2-prev { grid-column:1; }
.g2-viewer-image > .g2-next { grid-column:3; background:var(--g2-yellow); }
.g2-viewer-image > button:hover { filter:brightness(.94); }
.g2-viewer #g2-counter { text-align:center; font-weight:700; margin:10px 0 0; font-size:.9rem; }
.g2-modal .g2-note { margin:12px 0 0; }
.g2-modal button:focus-visible { outline:3px solid var(--g2-magenta); outline-offset:2px; }
@media(max-width:600px) {
 .g2-modal { padding:6px; }
 .g2-modal-box { max-height:calc(100dvh - 12px); padding:14px; }
 .g2-photos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .g2-photo-button,.g2-video-thumb { height:128px; min-height:128px; }
 .g2-viewer-image { grid-template-columns:38px minmax(0,1fr) 38px; gap:4px; padding:5px; height:clamp(240px,55dvh,480px); }
 .g2-viewer-image > .g2-prev,.g2-viewer-image > .g2-next { width:38px; min-width:38px; height:48px; min-height:48px; font-size:1.8rem; }
}

/* G2 · Visor aislado. Reemplaza los estilos de galerías anteriores sin afectar la web. */
.g2x-overlay[hidden], .g2x-viewer[hidden], .g2x-thumbnails[hidden], .g2x-categories[hidden], .g2x-media [hidden]{display:none!important}
.g2x-overlay,.g2x-overlay *{box-sizing:border-box}
.g2x-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(15,20,24,.88);overflow:auto}
.g2x-panel{position:relative;width:min(100%,1000px);max-height:calc(100dvh - 24px);overflow-y:auto;background:#fff;border-top:6px solid var(--g2-magenta,#ec008c);padding:clamp(14px,2.5vw,28px);color:#222}
.g2x-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.g2x-header h2{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.15;margin:0;padding:0;color:#222}
.g2x-overlay button{font-family:inherit;cursor:pointer;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:normal}
.g2x-close{flex:none;width:46px;height:46px;line-height:1;font-size:32px;font-weight:700;border:0;background:var(--g2-yellow,#f3d21c);color:#161616}
.g2x-categories{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.g2x-categories button{border:1px solid var(--g2-cyan,#00b9d7);padding:10px 12px;min-height:44px;background:white;color:#222;font-weight:700}
.g2x-categories button[aria-pressed=true]{background:var(--g2-magenta,#ec008c);color:white;border-color:var(--g2-magenta,#ec008c)}
.g2x-thumbnails{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;align-items:stretch}
.g2x-thumbnails[hidden]{display:none!important}
.g2x-thumb{display:block!important;position:relative!important;width:100%!important;height:155px!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;border:0!important;background:#eee!important}
.g2x-thumb img{display:block!important;position:static!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;opacity:1!important;visibility:visible!important;transform:none!important}
.g2x-video-thumb{display:flex!important;align-items:center;justify-content:center;padding:12px!important;border:2px solid var(--g2-cyan,#00b9d7)!important;background:#e5f7fa!important;color:#222!important;font-weight:700}
.g2x-viewer{width:100%}
.g2x-back{min-height:44px;padding:10px 16px;margin:0 0 12px;background:var(--g2-cyan,#00b9d7);border:0;color:#161616;font-weight:800}
.g2x-stage{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:8px;align-items:center;width:100%;height:clamp(250px,60dvh,600px);padding:10px;background:#f1f1f1;touch-action:pan-y}
.g2x-media{min-width:0;min-height:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.g2x-media img,.g2x-media video{display:block;position:static;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;margin:0;padding:0;background:transparent}
.g2x-stage>button{display:grid;place-items:center;width:48px;height:52px;min-width:0;min-height:0;padding:0;margin:0;border:0;font-size:32px;line-height:1;font-weight:800;color:#161616;background:var(--g2-cyan,#00b9d7)}
.g2x-stage>.g2x-next{background:var(--g2-yellow,#f3d21c)}
.g2x-counter{text-align:center;margin:12px 0 0;font-weight:700;font-size:.9rem}
.g2x-note{margin:14px 0 0;font-size:.78rem;opacity:.7}
.g2x-overlay button:focus-visible{outline:3px solid var(--g2-magenta,#ec008c);outline-offset:3px}
@media(max-width:600px){.g2x-overlay{padding:6px}.g2x-panel{max-height:calc(100dvh - 12px);padding:12px}.g2x-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.g2x-thumb{height:135px!important}.g2x-stage{grid-template-columns:38px minmax(0,1fr) 38px;gap:4px;padding:4px;height:clamp(230px,56dvh,480px)}.g2x-stage>button{width:38px;height:48px;font-size:28px}}


/* G2 v07 — menú como tiras de registro de impresión: K / Y / M / C.
   Sólo el bloque señalado se despliega como cuadrado, sin desplazar vecinos. */
#wrapper > section.intro .g2-nav {
  display:flex; flex-wrap:nowrap; gap:0; align-items:center;
  width:max-content; max-width:100%; margin:1rem 0 2rem;
  overflow:visible; position:relative; isolation:isolate;
}
#wrapper > section.intro .g2-nav a {
  --g2-register-color:#111;
  box-sizing:border-box; position:relative; isolation:isolate;
  display:flex; align-items:center; justify-content:center;
  flex:0 0 auto; width:clamp(68px,5vw,84px); height:34px; min-height:0;
  padding:0 3px; margin:0; border:0; border-radius:0; box-shadow:none;
  color:#111; background:transparent; font-size:clamp(8px,.63vw,10px);
  line-height:1; font-weight:600; letter-spacing:0; text-decoration:none;
  white-space:nowrap; text-transform:uppercase; vertical-align:middle;
}
#wrapper > section.intro .g2-nav a:nth-child(1) {--g2-register-color:#050505;color:#fff;}
#wrapper > section.intro .g2-nav a:nth-child(2) {--g2-register-color:#f5d933;}
#wrapper > section.intro .g2-nav a:nth-child(3) {--g2-register-color:#aa2d76;}
#wrapper > section.intro .g2-nav a:nth-child(4) {--g2-register-color:#64a6d5;}
#wrapper > section.intro .g2-nav a::before {
  content:''; position:absolute; left:0; top:50%; width:100%; aspect-ratio:1;
  background:var(--g2-register-color); z-index:-1; pointer-events:none;
  transform:translateY(-50%) scaleY(.405); transform-origin:center;
  transition:transform 350ms cubic-bezier(.22,.72,.24,1);
}
@media (hover:hover) and (pointer:fine) {
  #wrapper > section.intro .g2-nav a:hover::before,
  #wrapper > section.intro .g2-nav a:focus-visible::before {
    transform:translateY(-50%) scaleY(1);
  }
}
#wrapper > section.intro .g2-nav a:focus-visible {outline:2px solid #111;outline-offset:4px;}
@media (hover:none), (pointer:coarse) {
  #wrapper > section.intro .g2-nav a {height:44px;}
  #wrapper > section.intro .g2-nav a::before {aspect-ratio:auto;height:100%;transform:translateY(-50%);transition:none;}
}
@media (max-width:736px) {
  #wrapper > section.intro .g2-nav {width:min(100%,340px);}
  #wrapper > section.intro .g2-nav a {flex:1 1 25%;width:25%;height:44px;font-size:clamp(7px,2vw,10px);}
  #wrapper > section.intro .g2-nav a::before {aspect-ratio:auto;height:100%;transform:translateY(-50%);transition:none;}
}
@media (prefers-reduced-motion:reduce) {
  #wrapper > section.intro .g2-nav a::before {transition:none;}
}

/* G2 v07 — ajuste de posición del registro, según referencia de portada.
   El símbolo es decorativo y permanece fijo mientras cada franja se anima. */
@media (min-width:737px) {
  #wrapper > section.intro .g2-nav {
    width:331.2px;
    margin-left:auto;
    margin-right:0;
    justify-content:flex-start;
  }
  #wrapper > section.intro .g2-nav a {
    width:82.8px;
    height:82.8px;
    flex:0 0 82.8px;
    font-size:12px;
  }
  #wrapper > section.intro .g2-nav a::before {
    transform:translateY(-50%) scaleY(.405);
  }
  #wrapper > section.intro .g2-nav::before {content:none;}
}
@media (min-width:737px) and (hover:hover) and (pointer:fine) {
  #wrapper > section.intro .g2-nav a:hover::before,
  #wrapper > section.intro .g2-nav a:focus-visible::before {
    transform:translateY(-50%) scaleY(1);
  }
}
@media (max-width:736px) {
  #wrapper > section.intro .g2-nav::before {content:none;}
}

/* Prueba de navegación fija: no altera el diseño original de las franjas CMYK. */
#wrapper > section.intro .g2-nav.g2-nav-fixed {
  position:fixed;
  top:8px;
  left:var(--g2-fixed-left, 0px);
  z-index:9000;
  margin:0;
}
@media (max-width:736px) {
  #wrapper > section.intro .g2-nav.g2-nav-fixed {
    left:50%;
    transform:translateX(-50%);
    top:4px;
  }
}

/* Registro CMYK interactivo: conserva exactamente el lugar y tamaño anteriores. */
@media (min-width:737px) {
  #wrapper > section.intro .g2-nav a.g2-register-home {
    position:absolute; left:-108px; top:50%;
    transform:translateY(-50%); width:76.8px; height:72px;
    min-height:0; padding:0; flex:none; background:transparent;
    border:0; z-index:2; cursor:pointer;
  }
  #wrapper > section.intro .g2-nav a.g2-register-home::before {content:none;}
  #wrapper > section.intro .g2-nav a.g2-register-home img {
    display:block; width:100%; height:100%; object-fit:contain;
    transform:scale(1); transition:transform 250ms ease;
  }
}
@media (min-width:737px) and (hover:hover) and (pointer:fine) {
  #wrapper > section.intro .g2-nav a.g2-register-home:hover img,
  #wrapper > section.intro .g2-nav a.g2-register-home:focus-visible img {transform:scale(1.06);}
}
@media (max-width:736px) {
  #wrapper > section.intro .g2-nav a.g2-register-home {display:none;}
}
@media (prefers-reduced-motion:reduce) {
  #wrapper > section.intro .g2-nav a.g2-register-home img {transition:none;}
}
