/*
    ================================================================
    Weblea · weblea.es · /css/style.css
    © 2026 Weblea — Todos los derechos reservados
    Hecho a mano, sin plantillas. No copiar sin permiso.
    ================================================================
*/

:root{--ink-950:#080e15;--ink-900:#101b27;--cobalt-500:#2c5aa0;--cobalt-600:#234785;--paper-0:#f8f6f1;color-scheme:light}html.dark{color-scheme:dark}html{text-rendering:optimizeLegibility}body{font-family:'Manrope',system-ui,sans-serif;font-feature-settings:'ss01' 1}.font-display{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-optical-sizing:auto}::selection{background:var(--cobalt-500);color:#f8f6f1}.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}html.dark .grain{opacity:.06;mix-blend-mode:overlay}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c9d3de;border-radius:999px;border:2px solid #f8f6f1}html.dark ::-webkit-scrollbar-thumb{background:#29405c;border-color:#0b1420}*{scrollbar-width:thin;scrollbar-color:#c9d3de transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cobalt-500);outline-offset:3px;border-radius:4px}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none;background:transparent}.scroll-progress span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#2c5aa0 0%,#4e8ad1 50%,#82b0e6 100%);box-shadow:0 0 12px rgba(78,138,209,.55);transition:width .08s linear;will-change:width}.nav-link{position:relative}.nav-link::after{content:'';position:absolute;left:.9rem;right:.9rem;bottom:.35rem;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.65,0,.35,1)}.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}.nav-link.active{color:var(--cobalt-500)}html.dark .nav-link.active{color:#82b0e6}.btn-fill{position:relative;overflow:hidden;isolation:isolate}.btn-fill::before{content:'';position:absolute;inset:0;background:currentColor;transform:translateY(101%);transition:transform .35s cubic-bezier(.65,0,.35,1);z-index:-1}.btn-fill:hover::before,.btn-fill:focus-visible::before{transform:translateY(0)}.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.hero-seq>*{opacity:0;transform:translateY(16px);animation:heroIn .8s cubic-bezier(.16,1,.3,1) forwards}.hero-seq>*:nth-child(1){animation-delay:.05s}.hero-seq>*:nth-child(2){animation-delay:.16s}.hero-seq>*:nth-child(3){animation-delay:.32s}.hero-seq>*:nth-child(4){animation-delay:.48s}.hero-seq>*:nth-child(5){animation-delay:.62s}@keyframes heroIn{to{opacity:1;transform:translateY(0)}}.fade-in-up{opacity:0;transform:translateY(18px);animation:heroIn .9s cubic-bezier(.16,1,.3,1) .38s forwards}.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,1,.3,1)}.acc-item.is-open .acc-panel{grid-template-rows:1fr}.acc-panel>div{overflow:hidden}.acc-icon{transition:transform .4s cubic-bezier(.65,0,.35,1)}.acc-item.is-open .acc-icon{transform:rotate(45deg)}.ba-wrap{position:relative;aspect-ratio:4/3;border-radius:1rem;overflow:hidden;user-select:none;touch-action:pan-y;cursor:ew-resize;background:#101b27;isolation:isolate}@media (min-width:640px){.ba-wrap{aspect-ratio:16/10}}.ba-img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}.ba-img.ba-after{clip-path:inset(0 0 0 var(--pos,50%));will-change:clip-path}.ba-divider{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:3px;transform:translateX(-50%);background:rgba(248,246,241,.95);box-shadow:0 0 20px rgba(8,14,21,.45),0 0 6px rgba(8,14,21,.35);pointer-events:none;z-index:2}.ba-knob{position:absolute;top:50%;left:50%;width:48px;height:48px;transform:translate(-50%,-50%);border-radius:999px;background:#f8f6f1;color:#101b27;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(8,14,21,.4),0 0 0 3px rgba(248,246,241,.35);transition:transform .25s ease,box-shadow .25s ease}.ba-knob svg{width:18px;height:18px}.ba-wrap:hover .ba-knob,.ba-wrap:focus-within .ba-knob{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 10px 28px rgba(8,14,21,.5),0 0 0 4px rgba(248,246,241,.45)}.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;z-index:3;background:transparent;border:0}.ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:48px;height:48px;background:transparent}.ba-range::-moz-range-thumb{width:48px;height:48px;background:transparent;border:0}.ba-tag{position:absolute;top:.9rem;z-index:4;font-family:'Manrope',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.38rem .7rem;border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none;box-shadow:0 4px 14px rgba(8,14,21,.25)}.ba-tag-left{left:.9rem;background:rgba(8,14,21,.68);color:#f8f6f1}.ba-tag-right{right:.9rem;background:rgba(248,246,241,.9);color:#101b27}.ba-tab{color:#3a5570;background:transparent;border-color:#b9c9da;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .15s ease}html.dark .ba-tab{color:#dce4ee;border-color:#2a3f55}.ba-tab:hover{border-color:#4e8ad1;color:#2c5aa0;transform:translateY(-1px)}html.dark .ba-tab:hover{color:#82b0e6;border-color:#4e8ad1}.ba-tab.is-active{background:#101b27;color:#f8f6f1;border-color:#101b27}html.dark .ba-tab.is-active{background:#f8f6f1;color:#101b27;border-color:#f8f6f1}.tt-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.tt-track::-webkit-scrollbar{display:none}.tt-slide{scroll-snap-align:start}@media (min-width:768px){.tt-track{grid-auto-columns:50%}}@media (min-width:1024px){.tt-track{grid-auto-columns:33.333%}}.tt-arrow{transition:opacity .25s ease,border-color .25s ease,transform .15s ease}.tt-arrow:disabled,.tt-arrow.is-disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.tt-arrow:not(:disabled):hover{border-color:#4e8ad1;transform:translateY(-1px)}.glow-surface{position:relative;overflow:hidden}.glow-surface::after{content:'';position:absolute;inset:0;background:radial-gradient(280px circle at var(--gx,50%) var(--gy,30%),rgba(44,90,160,.16),transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:5}.glow-surface:hover::after{opacity:1}.wa-float::before{content:'';position:absolute;inset:0;border-radius:999px;background:#2fb355;opacity:.5;animation:waPulse 2.6s ease-out infinite;z-index:-1}@keyframes waPulse{0%{transform:scale(1);opacity:.5}70%{transform:scale(1.45);opacity:0}100%{transform:scale(1.45);opacity:0}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}html.theme-animating::view-transition-new(root){animation:none}.text-balance{text-wrap:balance}.bg-blueprint{background-image:linear-gradient(rgba(44,90,160,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(44,90,160,.12) 1px,transparent 1px);background-size:42px 42px}html.dark .bg-blueprint{background-image:linear-gradient(rgba(130,176,230,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(130,176,230,.09) 1px,transparent 1px)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.wa-float::before{display:none}}