/* ============ Ember — shared styles (nav, footer, hover utilities) ============ */

/* ---- hover utilities (used across pages) ---- */
.hv-cta{transition:box-shadow .25s,transform .25s}
.hv-cta:hover{color:#F7F7F5;box-shadow:0 16px 52px rgba(252,90,108,0.6);transform:translateY(-2px)}
.hv-ghost{transition:border-color .25s,background .25s}
.hv-ghost:hover{color:#F7F7F5;border-color:#FC5A6C;background:rgba(252,90,108,0.08)}
.hv-card{transition:transform .3s,border-color .3s,box-shadow .3s}
.hv-card:hover{transform:translateY(-6px);border-color:rgba(252,90,108,0.45);box-shadow:0 24px 60px rgba(3,10,22,0.5),0 0 44px rgba(252,90,108,0.14)}
.hv-slide{transition:border-color .3s,transform .3s}
.hv-slide:hover{border-color:rgba(252,90,108,0.4);transform:translateX(4px)}
.hv-white{transition:color .2s}
.hv-white:hover{color:#F7F7F5}
.hv-accent{transition:color .2s}
.hv-accent:hover{color:#FC5A6C}

/* ---- nav ---- */
@keyframes navPillIn{from{opacity:0}to{opacity:1}}
.site-nav-fix{position:fixed;top:0;left:0;right:0;z-index:80}
.site-nav-sticky{position:sticky;top:0;z-index:60}
.site-nav{width:100%;font-family:'Manrope',system-ui,sans-serif;padding:14px clamp(16px,3vw,32px);pointer-events:none;box-sizing:border-box}
.site-nav .pill{position:relative;max-width:1180px;margin:0 auto;height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 12px 0 18px;border-radius:999px;pointer-events:auto}
.site-nav .pill-bg{position:absolute;inset:0;border-radius:999px;background:rgba(13,26,45,0.64);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(247,247,245,0.12);box-shadow:0 14px 44px rgba(3,10,22,0.5), inset 0 1px 0 rgba(255,255,255,0.14);animation:navPillIn .35s ease both;display:none}
.site-nav.scrolled .pill-bg{display:block}
.site-nav .brand{position:relative;display:flex;align-items:center;gap:10px;text-decoration:none}
.site-nav .brand img{width:34px;height:34px;display:block}
.site-nav .brand span{font-size:22px;font-weight:800;color:#F7F7F5;letter-spacing:-0.02em}
.site-nav .links{position:relative;display:flex;align-items:center;gap:26px}
.site-nav .links a{text-decoration:none;font-size:14.5px;font-weight:600;color:#C6D1DE;letter-spacing:0.01em;transition:color .2s}
.site-nav .links a:hover{color:#F7F7F5}
.site-nav .links a.active{color:#FC5A6C;font-weight:800}
.site-nav .nav-cta{text-decoration:none;background:linear-gradient(90deg,#FC5A6C,#E73F5E 55%,#9F3963);color:#F7F7F5 !important;font-size:14.5px;font-weight:800 !important;padding:11px 24px;border-radius:999px;letter-spacing:0.01em;box-shadow:0 4px 20px rgba(252,90,108,0.35);transition:box-shadow .25s,transform .25s}
.site-nav .nav-cta:hover{color:#F7F7F5 !important;box-shadow:0 6px 28px rgba(252,90,108,0.55);transform:translateY(-1px)}
.site-nav .burger{position:relative;background:rgba(13,26,45,0.5);border:1px solid rgba(247,247,245,0.18);border-radius:999px;width:44px;height:44px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0}
.site-nav .burger span{display:block;width:18px;height:2px;background:#F7F7F5;border-radius:2px}
.site-nav .menu{pointer-events:auto;margin:10px auto 0;max-width:1180px;background:rgba(13,26,45,0.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(247,247,245,0.1);border-radius:24px;padding:12px 24px 24px;display:none;flex-direction:column;gap:4px}
.site-nav.open .menu{display:flex}
.site-nav .menu a{text-decoration:none;font-size:17px;font-weight:600;color:#C6D1DE;padding:12px 4px;border-bottom:1px solid rgba(247,247,245,0.06)}
.site-nav .menu a.active{color:#FC5A6C;font-weight:800}
.site-nav .menu .nav-cta{font-size:16px;padding:14px;text-align:center;margin-top:14px;border-bottom:none}
@media (max-width:920px){
  .site-nav .links{display:none}
  .site-nav .burger{display:flex}
}

/* ---- footer ---- */
.site-footer{background:transparent;border-top:1px solid rgba(247,247,245,0.07);font-family:'Manrope',system-ui,sans-serif;color:#C6D1DE}
.site-footer .wrap{max-width:1180px;margin:0 auto;padding:56px 24px 30px;display:flex;flex-direction:column;gap:40px}
.site-footer .top{display:flex;flex-wrap:wrap;gap:36px;align-items:center;justify-content:space-between}
.site-footer .brand{text-decoration:none;display:flex;align-items:center;gap:12px}
.site-footer .brand img{width:34px;height:34px}
.site-footer .brand .col{display:flex;flex-direction:column;gap:2px}
.site-footer .brand .name{font-size:20px;font-weight:800;color:#F7F7F5;letter-spacing:-0.02em;line-height:1}
.site-footer .brand .tag{font-size:12.5px;color:rgba(198,209,222,0.65)}
.site-footer .fnav{display:flex;flex-wrap:wrap;gap:26px;align-items:center}
.site-footer .fnav a{text-decoration:none;font-size:14px;font-weight:600;color:#C6D1DE;transition:color .2s}
.site-footer .fnav a:hover{color:#F7F7F5}
.site-footer .social{display:flex;gap:10px}
.site-footer .social a{text-decoration:none;font-size:12px;font-weight:700;color:#C6D1DE;border:1px solid rgba(247,247,245,0.14);border-radius:999px;padding:8px 14px;transition:border-color .2s,color .2s}
.site-footer .social a:hover{color:#F7F7F5;border-color:#FC5A6C}
.site-footer .bottom{padding-top:22px;border-top:1px solid rgba(247,247,245,0.07);display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between}
.site-footer .copy{font-size:12.5px;color:rgba(198,209,222,0.55)}
.site-footer .legal{display:flex;flex-wrap:wrap;gap:20px}
.site-footer .legal a{text-decoration:none;font-size:12.5px;color:rgba(198,209,222,0.55);transition:color .2s}
.site-footer .legal a:hover{color:#FC5A6C}

/* ============ Rediseño premium (fase 1): textura, materiales y micro-interacciones ============ */

/* Tipografía de display: Space Grotesk en titulares, Manrope en cuerpo */
h1,h2,h3,.punch{font-family:'Space Grotesk','Manrope',system-ui,sans-serif}

/* Grano/ruido global: textura táctil premium, fija y sin capturar eventos */
.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.07;mix-blend-mode:overlay;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='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Eyebrow: micro-etiqueta sobre los títulos de sección */
.eyebrow{display:inline-flex;align-items:center;gap:8px;align-self:center;font-size:11px;font-weight:800;letter-spacing:0.22em;text-transform:uppercase;color:#FD8088;background:rgba(252,90,108,0.08);border:1px solid rgba(252,90,108,0.28);border-radius:999px;padding:6px 15px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.eyebrow::before{content:"";width:5px;height:5px;border-radius:999px;background:#FC5A6C;box-shadow:0 0 8px rgba(252,90,108,0.8)}
.sec-head{display:flex;flex-direction:column;align-items:center;gap:16px}

/* Feedback físico de pulsación en los CTA */
.hv-cta:active{transform:translateY(-1px) scale(.98)}
.site-nav .nav-cta:active{transform:scale(.97)}

/* Botón-en-botón: flecha en círculo anidado con tensión cinética */
.cta-ico{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:rgba(255,255,255,0.16);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);transition:transform .3s cubic-bezier(.32,.72,0,1),background .3s}
.hv-cta:hover .cta-ico{transform:translate(3px,-1px) scale(1.05);background:rgba(255,255,255,0.24)}

@media (prefers-reduced-motion: reduce){
  .grain{opacity:.04}
  .cta-ico{transition:none}
}

/* ============ Rediseño premium (fase 3): efectos de firma ============ */

/* Transición de página nativa (Chrome/Edge): la web navega como una app */
@media (prefers-reduced-motion: no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation-duration:.28s}
  ::view-transition-new(root){animation-duration:.28s}
}

/* Selección de texto y foco de teclado con la marca */
::selection{background:rgba(252,90,108,0.35);color:#F7F7F5}
:focus-visible{outline:2px solid #FC5A6C;outline-offset:3px;border-radius:4px}

/* Scrollbar fino y oscuro */
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:#0A1524}
::-webkit-scrollbar-thumb{background:#22375A;border-radius:8px;border:3px solid #0A1524}
::-webkit-scrollbar-thumb:hover{background:#FC5A6C}

/* Subrayado deslizante en los enlaces del nav */
.site-nav .links a{position:relative}
.site-nav .links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:linear-gradient(90deg,#FC5A6C,#FE9AA4);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s cubic-bezier(.32,.72,0,1)}
.site-nav .links a:hover::after,.site-nav .links a.active::after{transform:scaleX(1)}
.site-nav .links a.nav-cta::after{display:none}

/* Borde-foco que sigue al cursor (spotlight) en tarjetas y formularios */
.hv-card,.spot,.pillar,.chan,.rule,.tip,.reason,.chip,.faq-item,form[data-w3f]{position:relative}
.hv-card::before,.spot::before,.pillar::before,.chan::before,.rule::before,.tip::before,.reason::before,.chip::before,.faq-item::before,form[data-w3f]::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(252,90,108,0.13),transparent 65%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:1}
.hv-card:hover::before,.spot:hover::before,.pillar:hover::before,.chan:hover::before,.rule:hover::before,.tip:hover::before,.reason:hover::before,.chip:hover::before,.faq-item:hover::before,form[data-w3f]:hover::before{opacity:1}

/* Ken Burns sutil en fotos dentro de tarjetas al hacer hover */
.slot-img{transition:transform .9s cubic-bezier(.32,.72,0,1)}

@media (prefers-reduced-motion: reduce){
  .site-nav .links a::after{transition:none}
  .slot-img{transition:none}
  .hv-card::before,.spot::before,.pillar::before,.chan::before,.rule::before,.tip::before,.reason::before,.chip::before,.faq-item::before,form[data-w3f]::before{display:none}
}
