/* GG's Club · landing propia · identidad 3D (oct-2026)
   Reglas del Kit identidad 3D: Poppins de base, Fraunces cursiva como acento (una palabra, nunca números),
   todo texto y borde en cobalto, cobalto con cuadrícula en portada y cierre, canto en degradado debajo de cada pieza. */
/* "Monimer" es el nombre interno de la letra de acento: el archivo es Fraunces cursiva suave (gratis, OFL) */
@font-face{font-family:"Monimer";src:url("motor/fonts/Fraunces-Italic-Suave-o72.woff2") format("woff2");font-display:swap;size-adjust:89.6%}

:root{
  --cob:#0005F4; --lav:#EFCFFA; --mag:#ED39E9; --menta:#A2E7E2; --rosa:#FF7D83; --lila:#D3D3FF; --blanco:#fff;
  --canto:linear-gradient(110deg,#FF9EFD 0%,#FF9EA3 35%,#D3D3FF 68%,#A2E7E2 100%);
  --mensaje:linear-gradient(141deg,#F8B4E3 0%,#EFCCF4 28%,#D8DAFF 55%,#BBD6F3 78%,#A2DFE2 100%);
  --suave:radial-gradient(circle at 0% 49%,#EFCCF4 7%,#BBD6F3 67%,#FFD6D6 100%);
  --b:4px; --r:24px;
  --sans:"Poppins",system-ui,sans-serif; --serif:"Monimer",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{font-family:var(--sans);font-weight:500;color:var(--cob);background:var(--blanco);font-size:16px;line-height:1.55;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
[hidden]{display:none!important}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
main>section,.topbar,.footer{isolation:isolate}

/* ---------- Fondos ---------- */
.cobalto{background-color:var(--cob);color:var(--blanco);
  background-image:linear-gradient(rgba(255,255,255,.08) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.08) 2px,transparent 2px);
  background-size:48px 48px}
.suave{background:var(--suave)}
.lavanda{background:#F7E6FB}

/* ---------- Tipografía ---------- */
.titular{font-weight:700;font-size:clamp(34px,5.2vw,62px);line-height:1.04;letter-spacing:-.03em}
.titular em{font-family:var(--serif);font-weight:400;font-style:normal;font-size:1.35em;line-height:.8;letter-spacing:-.01em;color:var(--mag)}
.cobalto .titular em{color:var(--menta)}
.label{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin-bottom:12px;opacity:.85}
.lead{font-size:clamp(16px,1.6vw,19px);line-height:1.5;max-width:52ch;margin-top:16px}
.centro{text-align:center}
.centro .lead{margin-left:auto;margin-right:auto}

/* ---------- Canto (el volumen de cada pieza) ---------- */
.btn,.tarj,.chip--btn,.stat,.efecto__marco,.plan,.toggle{position:relative}
.btn::before,.tarj::before,.chip--btn::before,.stat::before,.efecto__marco::before,.plan::before,.toggle::before{
  content:"";position:absolute;inset:calc(var(--b) * -1);transform:translateY(var(--alto,9px));border-radius:inherit;
  background:var(--canto);border:var(--b) solid var(--cob);z-index:-1;pointer-events:none}

/* ---------- Botones y chips ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:17px;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;
  background:var(--blanco);color:var(--cob);border:var(--b) solid var(--cob);border-radius:99px;padding:6px 6px 6px 24px;--alto:9px;top:0;transition:top .15s ease}
.btn::before{transition:transform .15s ease}
.btn:hover{top:-2px}
.btn:hover::before{transform:translateY(11px)}
.btn:active{top:4px}
.btn:active::before{transform:translateY(5px)}
.btn--mag{background:var(--mag);color:var(--blanco)}
.btn--mag .go{background:var(--blanco);color:var(--mag)}
.btn--xl{font-size:19px;padding:8px 8px 8px 28px}
.btn--xl .go{width:46px;height:46px}
.go{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--mag);border:3px solid var(--cob);color:var(--blanco);font-size:18px;flex:none}
.chip{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:12px;padding:5px 11px 6px;border-radius:99px;border:3px solid var(--cob);background:var(--blanco);color:var(--cob);white-space:nowrap;line-height:1}
.chip--mag{background:var(--mag);color:var(--blanco)}
.chip--menta{background:var(--menta)}
.chip--btn{font-size:14px;padding:9px 16px 10px;text-decoration:none;--alto:5px;--b:3px}
.enlace{font-weight:700;font-size:16px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}

/* ---------- Barra de arriba ---------- */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px 14px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:3px solid var(--cob)}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:17px;letter-spacing:-.02em}
.av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:3px solid var(--cob);background:var(--mensaje);font:400 20px/1 var(--serif);color:var(--cob);flex:none;overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}
.topbar__links{display:flex;gap:28px;font-weight:700;font-size:15px}
.topbar__links a{text-decoration:none}
.topbar__links a:hover{color:var(--mag)}
.topbar__der{display:flex;align-items:center;gap:22px}
.topbar__links a{white-space:nowrap}
.topbar__web{display:inline-flex;align-items:center;gap:4px;opacity:.75}
.topbar__web:hover{opacity:1}
.menu-btn{display:none}
@media (max-width:1000px) and (min-width:861px){.topbar__links{gap:20px;font-size:14px}}
/* tablet y teléfono: 3 líneas que abren un panel con los enlaces (igual que la web de recursos) */
@media (max-width:860px){
  .topbar__links{display:none}
  .topbar__der{gap:12px}
  .menu-btn{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:44px;height:44px;flex:none;
    background:var(--blanco);border:3px solid var(--cob);border-radius:50%;cursor:pointer;padding:0}
  .menu-btn i{display:block;width:18px;height:3px;border-radius:3px;background:var(--cob);transition:transform .2s ease,opacity .2s ease}
  .topbar.is-abierto .menu-btn{background:var(--lav)}
  .topbar.is-abierto .menu-btn i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .topbar.is-abierto .menu-btn i:nth-child(2){opacity:0}
  .topbar.is-abierto .menu-btn i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .topbar.is-abierto .topbar__links{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;
    background:var(--blanco);border-bottom:3px solid var(--cob);padding:6px 20px 22px;font-size:20px;box-shadow:0 18px 30px rgba(0,5,244,.12)}
  .topbar.is-abierto .topbar__links a{padding:15px 0;border-bottom:1.5px solid var(--lav)}
  .topbar.is-abierto .topbar__links a:last-child{border-bottom:0}
}
@media (max-width:400px){.topbar .chip--btn{font-size:13px;padding:8px 13px 9px}.logo span{font-size:15px}}

/* ---------- Escenas 3D (motor del kit) ---------- */
.escena3d{position:relative;width:100%}
.escena3d .stage{position:absolute;left:0;top:0;transform-origin:0 0}
.solo-movil{display:none}
@media (max-width:760px){.solo-movil{display:block}.solo-escritorio{display:none}}

/* ---------- Portada ---------- */
.hero{padding:26px 0 70px;overflow:hidden}
.hero__escena{margin:0 auto;max-width:1160px}
.hero__pie{display:flex;align-items:center;justify-content:space-between;gap:22px 40px;flex-wrap:wrap;margin-top:6px}
.hero__pie .lead{margin:0;font-size:clamp(17px,1.8vw,21px);max-width:34ch}
.hero__btns{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-left:auto;flex-direction:row-reverse}  /* el enlace a la izquierda del botón, todo a la derecha (como lo acomodó Giuli) */
.hero .enlace{color:var(--blanco)}
@media (max-width:760px){
  .hero{padding:10px 0 56px}
  .hero__pie{flex-direction:column;align-items:stretch;text-align:center}
  .hero__pie .lead{max-width:none}
  .hero__btns{flex-direction:column;gap:18px}
  .hero__btns .btn{justify-content:space-between;align-self:stretch}
}

/* ---------- Números ---------- */
.stats{padding:56px 0 64px}
.stats__fila{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.stat{background:var(--blanco);border:var(--b) solid var(--cob);border-radius:var(--r);padding:22px 22px 20px;--alto:12px}
.stat:nth-child(1){background:var(--lav)}
.stat:nth-child(2){background:#E3FAF8}
.stat:nth-child(3){background:#FFE9EA}
/* forma plana mordiendo la esquina, como las portadas de las guías de recursos */
.stat__clip{position:absolute;inset:0;overflow:hidden;border-radius:calc(var(--r) - var(--b));pointer-events:none}
.stat__forma{position:absolute;width:44%;right:-9%;bottom:-34%;fill:var(--f,var(--mag));transform:rotate(-12deg);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.stat:hover .stat__forma{transform:rotate(-20deg) scale(1.05)}
.stat:nth-child(1) .stat__forma{--f:var(--mag)}
.stat:nth-child(2) .stat__forma{--f:var(--rosa)}
.stat:nth-child(3) .stat__forma{--f:var(--menta)}
.stat b,.stat span{position:relative;z-index:1}
.stat span{padding-right:30%}
.stat b{display:block;font-weight:700;font-size:clamp(44px,5vw,64px);line-height:1;letter-spacing:-.04em}
.stat span{display:block;font-weight:700;font-size:16px;margin-top:6px;line-height:1.3}
@media (min-width:761px) and (max-width:1000px){.stat{padding:18px 18px 20px}.stat span{padding-right:0;font-size:15px}.stat__forma{width:34%;right:-6%;bottom:-24%}}
@media (max-width:760px){
  .stats{padding:40px 0 50px}
  .stats__fila{grid-template-columns:1fr;gap:26px}
  .stat{padding:16px 20px 18px}
  .stat b{font-size:44px}
  .stat span{margin-top:4px;padding-right:36%}
  .stat__forma{width:32%;right:-4%;bottom:-26%}
}


/* ---------- Secciones ---------- */
.seccion{padding:84px 0}
.seccion__head{margin-bottom:38px}
@media (max-width:760px){.seccion{padding:58px 0}.seccion__head{margin-bottom:30px}}

/* ---------- Lo que vas a crear: carril con los tutoriales reales del club ---------- */
.seccion__head{position:relative}
.flechas{position:absolute;right:0;bottom:0;display:flex;gap:14px}
.flechas button{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--blanco);border:var(--b) solid var(--cob);font-size:20px;--alto:6px;top:0;transition:top .15s}
.flechas button::before{content:"";position:absolute;inset:calc(var(--b) * -1);transform:translateY(var(--alto));border-radius:inherit;background:var(--canto);border:var(--b) solid var(--cob);z-index:-1}
.flechas button:hover{top:-2px}
/* portadas propias de clases, talleres y recursos (como las guías de recursos) */
.carril:not([data-tipo="tutoriales"]){grid-auto-columns:min(290px,70vw)}
.efecto--portada .efecto__marco{aspect-ratio:auto;background:var(--blanco)}
.pt{border-radius:calc(var(--r) - var(--b));overflow:hidden;container-type:inline-size}
.pt__top{display:flex;justify-content:space-between;align-items:center;padding:7px 11px 7px 14px;border-bottom:var(--b) solid var(--cob);font-weight:700;font-size:15px;background:var(--blanco)}
.pt__top .emo{width:34px;height:30px}
.pt__arte{position:relative;aspect-ratio:1/.92;overflow:hidden}
.pt__forma{position:absolute;display:block;width:115%;right:-48%;bottom:-48%;overflow:visible;transform-origin:30% 30%;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.efecto--portada:hover .pt__forma{transform:rotate(-8deg) scale(1.04)}
.pt__t{position:relative;font-weight:700;font-size:13cqw;line-height:1;letter-spacing:-.035em;padding:7% 8%;max-width:92%}
/* pestañas: Tutoriales / Clases / Talleres / Recursos */
.pestanas{display:flex;gap:10px;flex-wrap:wrap;margin:-8px 0 14px}
.pestanas button{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:16px;padding:10px 20px 11px;border-radius:99px;border:3px solid var(--cob);background:var(--blanco);color:var(--cob);--b:3px;--alto:5px;top:0;transition:top .15s}
.pestanas button i{font-size:19px}
.pestanas button:hover{top:-2px}
.pestanas button.on{background:var(--cob);color:var(--blanco)}
.pestanas button.on::before{content:"";position:absolute;inset:-3px;transform:translateY(5px);border-radius:inherit;background:var(--canto);border:3px solid var(--cob);z-index:-1}
.pestana__nota{font-weight:600;font-size:16px;line-height:1.4;max-width:62ch;margin-bottom:22px;min-height:1.4em}
@media (max-width:760px){
  .pestanas{flex-wrap:nowrap;overflow-x:auto;margin:-6px -20px 12px;padding:4px 20px 10px;scrollbar-width:none}
  .pestanas::-webkit-scrollbar{display:none}
  .pestanas button{font-size:15px;padding:8px 16px 9px;flex:none}
  .pestana__nota{font-size:15px}
}
.carril{display:grid;grid-auto-flow:column;grid-auto-columns:min(400px,80vw);gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;padding:8px 20px 34px;margin:0 -20px;scrollbar-width:none;overscroll-behavior-x:contain}
.carril::-webkit-scrollbar{display:none}
.efecto{margin:0;scroll-snap-align:start;min-width:0}
.efecto__marco{aspect-ratio:16/9;border:var(--b) solid var(--cob);border-radius:var(--r);background:var(--lav);--alto:12px}
.efecto__marco img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:calc(var(--r) - var(--b))}
.efecto__marco .chip{position:absolute;top:10px;left:10px;z-index:1}
.efecto figcaption{margin-top:22px;font-weight:700;font-size:18px;line-height:1.2;letter-spacing:-.02em}
.efecto figcaption span{display:block;font-weight:500;font-size:14px;margin-top:4px;opacity:.85;letter-spacing:0}
.efecto--mas .efecto__marco{background:var(--mensaje);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:14px}
.efecto--mas b{font-weight:700;font-size:48px;line-height:1;letter-spacing:-.04em}
.efecto--mas p{font-weight:700;font-size:16px;line-height:1.2}
.efecto--mas .emo{width:58px;height:58px}
@media (max-width:760px){
  .flechas{display:none}
  .carril{gap:18px;padding-bottom:28px}
  .efecto__marco{--b:3px;--alto:9px;border-radius:18px}
  .efecto__marco img{border-radius:15px}
  .efecto figcaption{font-size:16px;margin-top:18px}
}

/* ---------- Qué hay dentro ---------- */
.dentro{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}
.tarj{background:var(--blanco);color:var(--cob);border:var(--b) solid var(--cob);border-radius:var(--r);--alto:12px}
.beneficio{padding:24px 24px 26px}
.beneficio__ico{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;border:3px solid var(--cob);font-size:28px;margin-bottom:16px}
.beneficio:nth-child(3n+1) .beneficio__ico{background:var(--lav)}
.beneficio:nth-child(3n+2) .beneficio__ico{background:var(--menta)}
.beneficio:nth-child(3n) .beneficio__ico{background:#FFD3D5}
.beneficio h3{font-weight:700;font-size:21px;line-height:1.15;letter-spacing:-.02em}
.beneficio p{font-size:15px;margin-top:8px;line-height:1.5}
@media (max-width:900px){.dentro{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.dentro{grid-template-columns:1fr;gap:30px}.beneficio{display:grid;grid-template-columns:58px 1fr;gap:4px 16px;padding:20px}.beneficio__ico{grid-row:span 2;margin:0}.beneficio p{margin-top:0}}

/* ---------- Reseñas (como comentarios de Instagram), en carril igual que los efectos ---------- */
.carril--resenas{grid-auto-columns:min(360px,82vw);align-items:start}
.resena{scroll-snap-align:start;padding:20px 22px 22px}
.resena__quien{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.resena__quien .av{width:34px;height:34px;font-size:16px;border-width:2px}
.resena__quien b{font-weight:700;font-size:15px;line-height:1.2}
.resena__quien small{display:block;font-weight:600;font-size:12px;opacity:.7}
.resena p{font-size:17px;line-height:1.45;font-weight:600}
.resena:nth-child(4n+2){background:#F7E6FB}
.resena:nth-child(4n+3){background:#E9FBF9}
@media (max-width:760px){.resena p{font-size:16px}}

/* ---------- Planes ---------- */
.toggle{display:inline-flex;gap:4px;padding:5px;border:var(--b) solid var(--cob);border-radius:99px;background:var(--blanco);--alto:7px;margin-top:26px}
.toggle button{font-weight:700;font-size:15px;padding:9px 18px 10px;border-radius:99px;color:var(--cob);display:inline-flex;align-items:center;gap:8px}
.toggle button.on{background:var(--cob);color:var(--blanco)}
.toggle small{font-size:11px;font-weight:700;background:var(--menta);color:var(--cob);padding:3px 8px;border-radius:99px}
.planes{display:grid;grid-template-columns:1fr 1fr 1.12fr;gap:26px;align-items:center;margin-top:46px;color:var(--cob)}
.plan{background:var(--blanco);border:var(--b) solid var(--cob);border-radius:28px;padding:28px 26px 30px;--alto:14px;display:flex;flex-direction:column;text-align:left}
.plan--top{background:var(--lav);padding:38px 30px 36px;--alto:18px}
.plan__badge{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:14px;padding:7px 16px 8px}
.plan h3{font-weight:700;font-size:15px;letter-spacing:.06em}
.plan__para{font-size:15px;margin-top:6px;line-height:1.4;min-height:2.8em}
.plan__precio{display:flex;align-items:baseline;gap:6px;margin-top:16px}
.plan__precio b{font-weight:700;font-size:58px;line-height:1;letter-spacing:-.04em}
.plan--top .plan__precio b{font-size:68px}
.plan__precio span{font-weight:700;font-size:17px}
.plan__equiv{font-size:13px;font-weight:700;margin-top:4px;min-height:1.5em;color:var(--mag)}
.plan ul{list-style:none;margin:20px 0 26px;display:grid;gap:9px;font-size:15px;line-height:1.35}
.plan li{display:grid;grid-template-columns:22px 1fr;gap:8px}
.plan li i{font-size:18px;margin-top:1px}
.plan li.no{opacity:.4}
.plan .btn{margin-top:auto;justify-content:space-between}
@media (max-width:960px){.planes{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto;gap:44px}.plan--top{order:-1}.plan__para{min-height:0}}

/* ---------- Preguntas: solo la pregunta a la vista; al hacer clic se abre la respuesta ---------- */
.faq{display:grid;gap:30px;max-width:860px}
.faq .tarj{padding:0}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq h3{font-weight:700;font-size:19px;line-height:1.25;letter-spacing:-.02em}
.faq__mas{position:relative;flex:none;width:36px;height:36px;border-radius:50%;border:3px solid var(--cob);background:var(--lav);transition:transform .25s ease,background .2s}
.faq__mas::before,.faq__mas::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:3px;margin:-1.5px 0 0 -7px;border-radius:2px;background:var(--cob)}
.faq__mas::after{transform:rotate(90deg)}
.faq details[open] .faq__mas{transform:rotate(45deg);background:var(--mag)}
.faq details[open] .faq__mas::before,.faq details[open] .faq__mas::after{background:var(--blanco)}
.faq__r{padding:0 26px 24px;font-size:15px;line-height:1.55}
.faq__r p+p{margin-top:10px}
.faq strong{font-weight:700}
.faq__pie{margin-top:34px;font-size:15px;font-weight:600}
.faq__pie a{font-weight:700}
@media (max-width:760px){.faq{gap:24px}.faq summary{padding:18px 18px}.faq h3{font-size:17px}.faq__r{padding:0 18px 20px}}

/* ---------- Cierre ---------- */
.cierre{padding:96px 0 104px}
.cierre .btn{margin-top:30px}
.cierre__emos{display:flex;justify-content:center;gap:18px;margin-bottom:18px}
.cierre__emos .emo{width:78px;height:78px}

.footer{padding:26px 20px 30px;font-size:13px;font-weight:600;text-align:center}
.footer__entrar{margin-top:4px;opacity:.85}
.footer a{font-weight:700}

/* ---------- Botón fijo abajo en el teléfono ---------- */
.fijo{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:none;align-items:center;justify-content:space-between;gap:12px;
  background:var(--blanco);border:var(--b) solid var(--cob);border-radius:99px;padding:7px 7px 7px 20px;box-shadow:0 7px 0 -1px #FF9EA3,0 7px 0 3px var(--cob);
  transform:translateY(140%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.fijo.ver{transform:none}
.fijo p{font-weight:700;font-size:14px;line-height:1.2}
.fijo p span{display:block;font-weight:600;font-size:12px;opacity:.8}
.fijo .btn{font-size:15px;padding:4px 4px 4px 16px;--alto:0px}
.fijo .btn::before{display:none}
.fijo .btn .go{width:34px;height:34px;font-size:15px}
@media (max-width:760px){.fijo{display:flex}}

/* ---------- Emojis propios ---------- */
.emo{display:inline-block;width:64px;height:64px}
.emo svg{width:100%;height:100%;overflow:visible}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.btn::before,.fijo{transition:none}}
