*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:InterVariable,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-size:16px}
html.dark{color-scheme:dark}
body{margin:0;color:var(--color-text-default);background-color:var(--color-bg-page);-webkit-font-smoothing:antialiased;letter-spacing:-0.025em}

:root{--color-primary:rgb(1 97 239);--color-secondary:rgb(1 84 207);--color-accent:rgb(109 40 217);--color-text-heading:rgb(16 16 16);--color-text-default:rgb(16 16 16);--color-text-muted:rgb(16 16 16 / 66%);--color-bg-page:rgb(255 255 255);--color-bg-page-dark:rgb(3 6 32);--font-sans:'InterVariable';--font-heading:'InterVariable'}
.dark{--color-primary:rgb(1 97 239);--color-secondary:rgb(1 84 207);--color-accent:rgb(109 40 217);--color-text-heading:rgb(247 248 248);--color-text-default:rgb(229 236 246);--color-text-muted:rgb(229 236 246 / 66%);--color-bg-page:rgb(3 6 32)}

a{color:inherit;text-decoration:inherit}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
p{margin:0}
img{display:block;max-width:100%;height:auto}
button{cursor:pointer;font-family:inherit;font-size:100%;line-height:inherit}
ul,ol{list-style:none;margin:0;padding:0}
svg{display:inline-block;vertical-align:middle}

.skip-link{position:absolute;top:-100%;left:0;z-index:9999;padding:0.75rem 1.5rem;background:var(--color-primary);color:#fff;font-weight:600;text-decoration:none;transition:top 0.15s}
.skip-link:focus{top:0;outline:2px solid var(--color-primary);outline-offset:2px}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.breadcrumb{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;font-size:0.8125rem;color:var(--color-text-muted);max-width:1280px;margin:0 auto;width:100%}
.breadcrumb a{color:var(--color-primary);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb-sep{color:var(--color-text-muted);user-select:none}
.breadcrumb span:last-child{color:var(--color-text-default);font-weight:500}
.text-primary{color:var(--color-primary)}
.text-secondary{color:var(--color-secondary)}
.text-muted{color:var(--color-text-muted)}
.text-heading{color:var(--color-text-heading)}
.text-default{color:var(--color-text-default)}
.dark .dark\:text-blue-200{color:rgb(191 219 254)}
.bg-page{background-color:var(--color-bg-page)}
.bg-primary{background-color:var(--color-primary)}
.tracking-tight{letter-spacing:-0.025em}
@media(min-width:1536px){.\32xl\:text-\[20px\]{font-size:20px}}

.container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
@media(min-width:640px){.container{padding-left:1.5rem;padding-right:1.5rem}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.875rem 1.5rem;font-size:1rem;font-weight:500;line-height:1.375;border-radius:9999px;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;text-decoration:none;cursor:pointer;text-align:center;border-width:1px}
.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.btn-primary:hover{background:var(--color-secondary)}
.btn-secondary{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}
.btn-secondary:hover{background:rgb(243 244 246);color:#000}
.dark .btn-secondary{color:rgb(203 213 225);border-color:rgb(100 116 139)}
.dark .btn-secondary:hover{background:rgb(30 41 59);color:#fff}

.section{position:relative}
.section-overlay{position:absolute;inset:0;pointer-events:none;z-index:-1}
.section-overlay>div{position:absolute;inset:0}
.section-content{position:relative;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;padding-top:3rem;padding-bottom:3rem}
@media(min-width:768px){.section-content{padding-left:1.5rem;padding-right:1.5rem;padding-top:4rem;padding-bottom:4rem}}
@media(min-width:1024px){.section-content{padding-top:5rem;padding-bottom:5rem}}
.section-content-max-w-5xl{max-width:64rem}
.section-content-max-w-6xl{max-width:72rem}
.section-content-max-w-7xl{max-width:80rem}
.section-title{font-size:1.875rem;font-weight:700;line-height:1.25;letter-spacing:-0.05em;margin-bottom:1rem}
@media(min-width:768px){.section-title{font-size:2.25rem}}
.section-subtitle{font-size:1.25rem;color:var(--color-text-muted);margin-top:0.5rem;line-height:1.75rem}
.section-badge{font-size:0.875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-primary);margin-bottom:0.5rem}

.flex{display:flex}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-2{gap:0.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,1fr)}
@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}
.space-y-4>*+*{margin-top:1rem}
.max-w-3xl{max-width:48rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}
.max-w-7xl{max-width:80rem}
.mx-auto{margin-left:auto;margin-right:auto}
.text-center{text-align:center}
.text-left{text-align:left}
.relative{position:relative}
.absolute{position:absolute}
.inset-0{top:0;right:0;bottom:0;left:0}
.hidden{display:none}
@media(min-width:768px){.md\:block{display:block}.md\:hidden{display:none}}
.w-full{width:100%}
.rounded-lg{border-radius:0.5rem}
.rounded-md{border-radius:0.375rem}
.shadow-lg{box-shadow:0 4px 30px rgba(0,0,0,0.1)}
.border{border-width:1px}
.sticky{position:sticky}
.top-0{top:0}
.z-40{z-index:40}
.overflow-hidden{overflow:hidden}
.scroll-mt-\[72px\]{scroll-margin-top:72px}
.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}
@media(min-width:768px){.md\:mb-12{margin-bottom:3rem}}
.pt-12{padding-top:3rem}.pb-10{padding-bottom:2.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.md\:-mt-\[76px\]{margin-top:-76px}
@media(min-width:768px){.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:pb-16{padding-bottom:4rem}.md\:pt-\[76px\]{padding-top:76px}}
.header{width:100%;border-bottom:1px solid transparent;position:sticky;top:0;z-index:40;background:var(--color-bg-page);transition:opacity 0.2s}
.header.scroll{background:var(--color-bg-page)}
@media(min-width:768px){.header.scroll{background:rgba(255,255,255,0.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dark .header.scroll{background:rgba(3,6,33,0.9)}}
.header.scroll{border-bottom:1px solid rgba(140,152,164,0.13)}
.dark .header.scroll{border-color:rgba(107,114,128,0.2);box-shadow:none}
.header-inner{position:relative;margin-left:auto;margin-right:auto;max-width:80rem;padding:0.75rem 1rem;width:100%}
@media(min-width:768px){.header-inner{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:0.75rem 1.5rem}}
.header-logo{display:flex;align-items:center;gap:0.5rem;font-weight:700;font-size:1.5rem;text-decoration:none}
@media(min-width:768px){.header-logo{font-size:1.25rem}}
.nav-desktop{display:none}
@media(min-width:768px){.nav-desktop{display:flex;justify-self:center;overflow:visible}}
.nav-list{display:flex;flex-direction:column;font-weight:500;width:100%}
@media(min-width:768px){.nav-list{flex-direction:row;justify-content:center;align-self:center;font-size:0.9375rem;width:auto}}
.nav-link{padding:0.75rem 1rem;font-size:0.9375rem;font-weight:500;white-space:nowrap;color:var(--color-text-muted);transition:color 0.15s;text-decoration:none;display:flex;align-items:center}
@media(min-width:768px){.nav-link{font-size:0.9375rem}}
.nav-link:hover{color:var(--color-primary)}
.dark .nav-link:hover{color:#fff}
.dropdown{position:relative}
.dropdown-menu{display:none;font-weight:500;min-width:200px;padding-left:1rem}
@media(min-width:768px){.dropdown-menu{position:absolute;background:rgba(255,255,255,0.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:0.25rem;box-shadow:0 20px 13px -8px rgba(0,0,0,0.03),0 8px 5px -4px rgba(0,0,0,0.08);padding-left:0}.dark .dropdown-menu{background:var(--color-bg-page-dark)}}
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:block}
.dropdown-link{display:block;padding:0.5rem 1.25rem;color:var(--color-text-muted);text-decoration:none;transition:background 0.15s}
.dropdown-link:hover{background:rgb(243 244 246);color:#000}
.dark .dropdown-link:hover{background:rgb(55 65 81);color:#fff}
.dropdown-link:first-child{border-radius:0.25rem 0.25rem 0 0}
.dropdown-link:last-child{border-radius:0 0 0.25rem 0.25rem}
.nav-actions{display:none}
@media(min-width:768px){.nav-actions{display:flex;justify-self:end;align-items:center;gap:0.25rem}}
.mobile-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:3rem;height:3rem;cursor:pointer;background:none;border:none}
@media(min-width:768px){.mobile-toggle{display:none}}
.mobile-toggle span{display:block;width:1.5rem;height:2px;background:var(--color-text-default);border-radius:9999px;opacity:0.8;transition:all 0.2s;margin:0.25rem 0}
.mobile-toggle.expanded span:nth-child(1){transform:rotate(45deg) translateY(0.375rem)}
.mobile-toggle.expanded span:nth-child(2){opacity:0}
.mobile-toggle.expanded span:nth-child(3){transform:rotate(-45deg) translateY(-0.375rem)}
.nav-mobile{display:none;position:fixed;top:4rem;left:0;right:0;bottom:0;background:var(--color-bg-page);padding:1rem;z-index:50;flex-direction:column;gap:1rem}
.nav-mobile.open{display:flex}
.nav-mobile .nav-link{font-size:1.25rem;padding:0.75rem 0}

.faq-section{display:flex;flex-direction:column;gap:1rem} .faq-section .faq-item{background:var(--color-bg-page);border:1px solid rgba(255,255,255,0.16);padding:1rem;border-radius:0.5rem;box-shadow:0 4px 30px rgba(0,0,0,0.06);overflow:hidden}
.dark .faq-item{background:rgb(15 23 42)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-chevron{width:1.25rem;height:1.25rem;transition:transform 0.18s}
.faq-item[open] .faq-chevron{transform:rotate(180deg)}
.faq-answer{margin-top:0.75rem;color:var(--color-text-muted);font-size:0.875rem;line-height:1.7}
@media(min-width:768px){.faq-answer{font-size:1rem}}
.faq-question{font-weight:600;font-size:1rem;margin:0}
@media(min-width:768px){.faq-question{font-size:1.125rem}}

.cta-title{font-size:2.25rem;font-weight:700;line-height:1.2;letter-spacing:-0.02em;margin-bottom:1rem}
@media(min-width:768px){.cta-title{font-size:2.5rem}}

.footer{border-top:1px solid rgb(229 231 235);position:relative}
.dark .footer{border-color:rgb(30 41 59)}
.footer-inner{position:relative;margin-left:auto;margin-right:auto;max-width:80rem;padding-left:1rem;padding-right:1rem}
@media(min-width:640px){.footer-inner{padding-left:1.5rem;padding-right:1.5rem}}
.footer-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;row-gap:2rem;padding-top:2rem;padding-bottom:2rem}
@media(min-width:640px){.footer-grid{gap:2rem}}
@media(min-width:768px){.footer-grid{padding-top:3rem;padding-bottom:3rem}}
.footer-brand{grid-column:span 12}
@media(min-width:1024px){.footer-brand{grid-column:span 4}}
.footer-col{grid-column:span 6}
@media(min-width:768px){.footer-col{grid-column:span 3}}
@media(min-width:1024px){.footer-col{grid-column:span 2}}
.footer-col-title{font-weight:500;margin-bottom:0.5rem;color:var(--color-text-heading)}
.dark .footer-col-title{color:rgb(209 213 219)}
.footer-col-list{font-size:0.875rem;display:flex;flex-direction:column;gap:0.5rem}
.footer-link{color:var(--color-text-muted);transition:color 0.15s;text-decoration:none}
.footer-link:hover{color:rgb(55 65 81);text-decoration:underline}
.dark .footer-link:hover{color:#fff}
.footer-bottom{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 0;border-top:1px solid rgb(229 231 235)}
@media(min-width:768px){.footer-bottom{flex-direction:row;align-items:center;justify-content:space-between;padding:2rem 0}}
.dark .footer-bottom{border-color:rgb(30 41 59)}
.social-links{display:flex;margin-left:-0.5rem}
@media(min-width:768px){.social-links{margin-left:-1rem}}
.social-link{display:inline-flex;align-items:center;padding:0.625rem;border-radius:0.5rem;color:var(--color-text-muted);transition:all 0.15s;font-size:0.875rem}
.social-link:hover{background:rgb(243 244 246)}
.dark .social-link:hover{background:rgb(55 65 81)}
.social-link svg{width:1.25rem;height:1.25rem}
.footer-legal{font-size:0.75rem;color:var(--color-text-muted)}
.footer-tagline{font-size:0.875rem;color:var(--color-text-muted);margin:0.5rem 0 0.75rem;max-width:22rem}

.error-page{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:4rem 1rem}
.error-code{font-size:8rem;font-weight:700;color:var(--color-primary);line-height:1}
.error-msg{font-size:1.875rem;font-weight:600;margin-top:1rem}
.error-sub{color:var(--color-text-muted);margin-top:1rem;margin-bottom:2rem}

.policy-content{line-height:1.7;font-size:1rem;margin-bottom:3rem}
.policy-content h1{font-size:2rem;font-weight:700;margin:2.5rem 0 1rem}
.policy-content h2{font-size:1.5rem;font-weight:600;margin:2rem 0 0.75rem}
.policy-content h3{font-size:1.25rem;font-weight:600;margin:1.5rem 0 0.5rem}
.policy-content p{margin-bottom:0.75rem}
.policy-content ul,.policy-content ol{margin-left:1.5rem;margin-bottom:0.75rem;padding-left:1rem}
.policy-content ul li{list-style-type:disc}
.policy-content ol li{list-style-type:decimal}
.policy-content a{text-decoration:underline}
.policy-content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:0.9rem}
.policy-content th,.policy-content td{border:1px solid rgb(209 213 219);padding:0.5rem 0.75rem;text-align:left;vertical-align:top}
.policy-content th{font-weight:600;background:rgb(243 244 246)}
.policy-content tr:nth-child(even){background:rgb(249 250 251)}
.policy-content hr{border:none;border-top:1px solid rgb(209 213 219);margin:2rem 0}
.policy-content code{font-family:monospace;background:rgb(243 244 246);padding:0.125rem 0.375rem;border-radius:0.25rem;font-size:0.875rem}
.policy-content pre{background:rgb(243 244 246);padding:1rem;border-radius:0.5rem;overflow-x:auto;margin:1rem 0;font-size:0.875rem}
.dark .policy-content th,.dark .policy-content td{border-color:rgb(71 85 105)}
.dark .policy-content th{background:rgb(30 41 59)}
.dark .policy-content tr:nth-child(even){background:rgb(15 23 42)}
.dark .policy-content hr{border-color:rgb(71 85 105)}
.dark .policy-content code{background:rgb(30 41 59)}
.dark .policy-content pre{background:rgb(30 41 59)}

.contact-form{display:flex;flex-direction:column;gap:1rem}
.contact-form .btn-primary{align-self:center}
.form-group{display:flex;flex-direction:column;gap:0.25rem}
.form-label{font-size:0.875rem;font-weight:600;color:var(--color-text)}
.form-required{color:var(--color-primary)}
.form-input,.form-textarea{width:100%;padding:0.625rem 0.75rem;border:1px solid rgb(209 213 219);border-radius:0.5rem;background:var(--color-bg-card);color:var(--color-text);font-size:0.9375rem;transition:border-color 0.15s;outline:none;box-sizing:border-box}
.form-input:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,0.15)}
.form-textarea{resize:vertical;min-height:7rem;font-family:inherit}
.dark .form-input,.dark .form-textarea{background:rgb(15 23 42);border-color:rgb(71 85 105)}
.dark .form-input:focus,.dark .form-textarea:focus{border-color:rgb(96 165 250);box-shadow:0 0 0 3px rgba(96,165,250,0.15)}
.form-checkbox{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.875rem;color:var(--color-text-muted);cursor:pointer;padding:0.25rem 0.5rem;border-radius:0.375rem;transition:background .15s}
.form-checkbox:hover{background:rgb(0 0 0 / 0.04)}
.dark .form-checkbox:hover{background:rgb(255 255 255 / 0.06)}
.form-checkbox input[type=checkbox],.form-checkbox input[type=radio]{margin-top:0.125rem;width:1rem;height:1rem;flex-shrink:0;-webkit-appearance:none;appearance:none;border:2px solid rgb(156 163 175);border-radius:50%;background:transparent;cursor:pointer;position:relative;transition:border-color .15s,background .15s}
.form-checkbox input[type=checkbox]:checked,.form-checkbox input[type=radio]:checked{border-color:var(--color-primary);background:var(--color-primary)}
.form-checkbox input[type=checkbox]::after,.form-checkbox input[type=radio]::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:0.375rem;height:0.375rem;border-radius:50%;background:#fff;transition:transform .15s}
.form-checkbox input[type=checkbox]:checked::after,.form-checkbox input[type=radio]:checked::after{transform:translate(-50%,-50%) scale(1)}
.form-checkbox input[type=checkbox]:hover,.form-checkbox input[type=radio]:hover{border-color:var(--color-primary)}
.form-checkbox-original input[type=checkbox]{-webkit-appearance:checkbox;appearance:auto;border:none;border-radius:0;background:none;width:1rem;height:1rem}
.form-checkbox-original input[type=checkbox]::after{display:none}
.form-checkbox-original:hover{background:transparent!important}
.form-link{color:var(--color-primary);text-decoration:underline}
.form-link:hover{opacity:0.85}
.form-success{padding:1rem;background:rgb(220 252 231);border:1px solid rgb(74 222 128);border-radius:0.5rem;color:rgb(22 101 52);text-align:center;font-weight:500;margin-bottom:1rem}
.form-error{padding:1rem;background:rgb(254 242 242);border:1px solid rgb(248 113 113);border-radius:0.5rem;color:rgb(153 27 27);text-align:center;font-weight:500;margin-bottom:1rem}
.dark .form-success{background:rgb(20 83 45);border-color:rgb(34 197 94);color:rgb(187 247 208)}
.dark .form-error{background:rgb(127 29 29);border-color:rgb(239 68 68);color:rgb(254 202 202)}

@media(max-width:767px){
  .header.scroll,.nav-mobile{background:var(--color-bg-page)}
  .header.h-screen{height:100vh}
  .header.expanded{background:var(--color-bg-page)}
}
.sp-dot{display:inline-block;width:0.5rem;height:0.5rem;border-radius:50%;margin-right:0.25rem;vertical-align:middle;background:#6b7280}
.sp-dot.none{background:#22c55e}
.sp-dot.minor{background:#eab308}
.sp-dot.major{background:#f97316}
.sp-dot.critical{background:#ef4444}
.booking-step{display:none}
.booking-step.active{display:block;animation:bookingFadeIn 0.35s ease}
@keyframes bookingFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.booking-divider{border:none;border-top:1px solid rgb(209 213 219);margin:1.5rem 0}
.dark .booking-divider{border-color:rgb(71 85 105)}

/* ===== Home: storytelling del sistema ===== */
:root{--color-surface:rgb(248 250 252);--color-border:rgb(226 232 240);--color-success:rgb(22 163 74)}
.dark{--color-surface:rgb(15 23 42);--color-border:rgb(30 41 59);--color-success:rgb(74 222 128)}
.section-head{text-align:center;max-width:48rem;margin:0 auto 2.5rem}
@media(min-width:768px){.section-head{margin-bottom:3rem}}
.section-head .section-subtitle{margin-top:0.75rem}
.card-title{font-size:1.125rem;font-weight:700;line-height:1.35;color:var(--color-text-heading)}
.card-desc{color:var(--color-text-muted);margin-top:0.5rem;line-height:1.6}

.hero-section{overflow:hidden}
.hero-section::before{content:'';position:absolute;inset:-20% -10% auto;height:70%;background:radial-gradient(ellipse at center,rgb(1 97 239 / 0.22),transparent 65%);pointer-events:none;z-index:-1}
.hero-inner{text-align:center;padding-top:3.5rem;padding-bottom:3rem}
@media(min-width:768px){.hero-inner{padding-top:6rem;padding-bottom:5rem}}
.hero-eyebrow{display:inline-block;font-size:0.8125rem;font-weight:600;letter-spacing:0.02em;color:rgb(147 197 253);border:1px solid var(--color-border);border-radius:9999px;padding:0.375rem 0.875rem;margin-bottom:1.5rem;max-width:100%}
.hero-title{font-size:2.5rem;font-weight:700;line-height:1.1;letter-spacing:-0.045em;margin-bottom:1.25rem;color:var(--color-text-heading)}
@media(min-width:640px){.hero-title{font-size:3.25rem}}
@media(min-width:1024px){.hero-title{font-size:4rem}}
.hero-highlight{background:linear-gradient(90deg,rgb(96 165 250),rgb(167 139 250));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:44rem;margin:0 auto 2rem;line-height:1.7}
@media(min-width:768px){.hero-subtitle{font-size:1.25rem}}
.hero-actions{display:flex;flex-direction:column;gap:0.75rem;max-width:22rem;margin:0 auto}
@media(min-width:640px){.hero-actions{flex-direction:row;justify-content:center;max-width:none}}
.trust-list{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem 1.5rem;margin-top:2.5rem;font-size:0.875rem;color:var(--color-text-muted)}
.trust-list li{display:inline-flex;align-items:center;gap:0.375rem}
.trust-list svg{width:1rem;height:1rem;color:var(--color-success);flex-shrink:0}
.trust-list-center{margin-top:3rem}

.problem-grid{display:grid;gap:1rem}
@media(min-width:640px){.problem-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}
.problem-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0.75rem;padding:1.5rem}
.problem-bridge{max-width:44rem;margin:2.5rem auto 0;text-align:center;font-size:1.125rem;font-weight:500;line-height:1.7;color:var(--color-text-heading)}

.scroll-mt-\[128px\]{scroll-margin-top:128px}

.check-list{display:flex;flex-direction:column;gap:0.625rem}
.check-list li{position:relative;padding-left:1.625rem;line-height:1.55}
.check-list li::before{content:'';position:absolute;left:0;top:0.3rem;width:1rem;height:1rem;border-radius:9999px;background:var(--color-success) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23031020' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/0.625rem no-repeat}

.plans-grid{display:grid;gap:1.25rem}
@media(min-width:640px){.plans-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.plans-grid{grid-template-columns:repeat(3,1fr)}}
.plan-card{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1.75rem 1.5rem}
.plan-featured{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),0 20px 50px -20px rgb(1 97 239 / 0.5)}
.plan-flag{position:absolute;top:-0.75rem;left:1.5rem;font-size:0.75rem;font-weight:700;background:var(--color-primary);color:#fff;padding:0.25rem 0.625rem;border-radius:9999px}
.plan-name{font-size:1.1875rem;font-weight:700;line-height:1.3;margin-top:0.5rem;color:var(--color-text-heading)}
.plan-price{margin-top:1rem;color:var(--color-text-muted);font-size:0.875rem}
.plan-price strong{font-size:2rem;font-weight:700;letter-spacing:-0.03em;color:var(--color-text-heading)}
.plan-desc{margin:0.75rem 0 1.25rem;color:var(--color-text-muted);line-height:1.6;font-size:0.9375rem}
.plan-card .check-list{font-size:0.9375rem;margin-bottom:1.5rem}
.plan-btn{margin-top:auto;width:100%}
.plans-note{text-align:center;margin-top:2rem;font-size:0.875rem;color:var(--color-text-muted)}
.plans-note .form-link{margin-left:0.5rem}

.sector-grid{display:grid;gap:1rem}
@media(min-width:768px){.sector-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}
.sector-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:0.75rem;background:rgb(1 97 239 / 0.15);color:rgb(147 197 253);flex-shrink:0}
html:not(.dark) .sector-icon{color:var(--color-primary)}
.sector-icon svg{width:1.5rem;height:1.5rem}


.cta-card{margin:0 auto;background:linear-gradient(135deg,rgb(1 97 239 / 0.18),rgb(109 40 217 / 0.18));border:1px solid var(--color-border);border-radius:1rem;padding:2.5rem 1.5rem}
@media(min-width:768px){.cta-card{padding:3.5rem 2rem}}
@media(min-width:768px) and (max-width:1099px){.nav-actions .nav-link{display:none}.nav-desktop .nav-link{padding:0.75rem 0.5rem}}

/* ===== Diseño v2: superficies, fondos y movimiento ===== */
:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;--glow-blue:rgb(1 97 239 / 0.35);--glow-violet:rgb(109 40 217 / 0.35)}
.dark{--color-surface:rgb(13 20 48 / 0.62);--color-border:rgb(148 163 184 / 0.14)}

/* Barra de progreso de lectura */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));pointer-events:none}

/* Header flotante de cristal */
.header{background:transparent!important;border-bottom:none!important;padding:0.5rem 0.75rem 0}
@media(min-width:768px){.header{padding:0.75rem 1.5rem 0}}
.header-inner{border:1px solid var(--color-border);border-radius:1rem;background:rgb(3 6 32 / 0.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:0.5rem 0.75rem;transition:background .3s,box-shadow .3s}
@media(min-width:768px){.header-inner{padding:0.5rem 0.75rem 0.5rem 1.25rem}}
.header.scroll .header-inner{background:rgb(3 6 32 / 0.82);box-shadow:0 18px 40px -20px rgb(0 0 0 / 0.8)}
html:not(.dark) .header-inner{background:rgb(255 255 255 / 0.75)}
.btn-primary{box-shadow:0 10px 30px -12px var(--glow-blue)}
.btn-primary:hover{box-shadow:0 14px 36px -10px rgb(1 97 239 / 0.6)}

/* Fondos de puntos y rejilla */
.bg-dots::before,.bg-grid::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent)}
.bg-dots::before{background-image:radial-gradient(rgb(148 163 184 / 0.16) 1px,transparent 1.2px);background-size:22px 22px}
.bg-grid::before{background-image:linear-gradient(rgb(148 163 184 / 0.06) 1px,transparent 1px),linear-gradient(90deg,rgb(148 163 184 / 0.06) 1px,transparent 1px);background-size:56px 56px}

/* Etiquetas de sección estilo terminal */
.section-badge{display:inline-flex;align-items:center;gap:0.75rem;font-family:var(--font-mono);font-size:0.75rem;font-weight:600;letter-spacing:0.18em;color:rgb(147 197 253);margin-bottom:1rem}
html:not(.dark) .section-badge{color:var(--color-primary)}
.section-badge::before{content:'';width:2rem;height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.section-title{letter-spacing:-0.045em}
@media(min-width:768px){.section-title{font-size:2.75rem;line-height:1.1}}

/* Tarjetas de cristal con foco que sigue al cursor */
.spot{position:relative;isolation:isolate;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.spot::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgb(96 165 250 / 0.13),transparent 45%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:-1}
.spot:hover::after{opacity:1}
.problem-card,.plan-card{transition:border-color .25s}
.problem-card:hover{border-color:rgb(96 165 250 / 0.35)}
/* Hero */
.hero-section{min-height:calc(100vh - 7rem);display:flex;align-items:center}
.hero-section::before{display:none}
.hero-inner{width:100%}
.hero-glow{position:absolute;inset:-10% 0 auto;height:80%;z-index:-1;pointer-events:none;background:radial-gradient(40% 50% at 70% 30%,var(--glow-violet),transparent 70%),radial-gradient(45% 55% at 25% 40%,var(--glow-blue),transparent 70%);filter:blur(10px);opacity:0.7}
.hero-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.04em;background:rgb(13 20 48 / 0.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero-eyebrow-dot{width:0.5rem;height:0.5rem;border-radius:9999px;background:var(--color-success);box-shadow:0 0 0 0 rgb(74 222 128 / 0.6);animation:pulse 2.2s infinite;flex-shrink:0}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgb(74 222 128 / 0.55)}70%{box-shadow:0 0 0 8px rgb(74 222 128 / 0)}100%{box-shadow:0 0 0 0 rgb(74 222 128 / 0)}}
.hero-title{perspective:900px;font-size:2.75rem;line-height:1.02}
@media(min-width:640px){.hero-title{font-size:4rem}}
@media(min-width:1024px){.hero-title{font-size:5.5rem}}
.hero-line{display:block}
.hero-title .word{display:inline-block;white-space:nowrap}
.hero-title .char{display:inline-block;transform-style:preserve-3d;will-change:transform}
.hero-highlight.is-split{background:none;color:inherit}
.hero-highlight.is-split .word{background:linear-gradient(90deg,rgb(96 165 250),rgb(167 139 250));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:0.22em;margin-bottom:-0.22em}
html.anim .hero-title,html.anim [data-hero]{visibility:hidden}

/* Formas 3D flotantes (paleta azul → violeta) */

/* Marquesina */
.marquee{position:relative;overflow:hidden;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:rgb(13 20 48 / 0.4);padding:1.1rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;will-change:transform}
.marquee-group{display:flex;align-items:center;flex-shrink:0}
.marquee-item{font-size:1.375rem;font-weight:700;letter-spacing:-0.03em;white-space:nowrap;color:var(--color-text-heading);padding:0 1.5rem}
@media(min-width:768px){.marquee-item{font-size:1.75rem}}
.marquee-sep{color:rgb(167 139 250);font-size:0.875rem}
html:not(.anim) .marquee-track{animation:marquee 40s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){html:not(.anim) .marquee-track{animation:none}}

/* Frase que se ilumina con el scroll */
.problem-bridge{max-width:56rem;margin-top:4rem;font-size:1.625rem;font-weight:700;line-height:1.3;letter-spacing:-0.035em}
@media(min-width:768px){.problem-bridge{font-size:2.5rem;margin-top:6rem}}
.problem-bridge .word{display:inline}
.problem-bridge em{font-style:normal;color:#fff;background:linear-gradient(90deg,var(--color-primary),var(--color-accent)) 0 100%/100% 0.18em no-repeat;padding:0 0.08em}
html:not(.dark) .problem-bridge em{color:var(--color-text-heading)}

/* Proceso fijado con ventana de demostración */
.process-wrap{display:grid;gap:2rem;align-items:center}
@media(min-width:1024px){.process-wrap{grid-template-columns:0.85fr 1.15fr;gap:3.5rem;min-height:min(640px,calc(100vh - 8rem))}}
.process-list{display:flex;flex-direction:column;gap:0.25rem}
.process-link{display:flex;gap:1.25rem;padding:0.875rem 0.5rem;border-radius:0.75rem;opacity:0.42;transition:opacity .35s}
.process-item.is-active .process-link,.process-link:hover{opacity:1}
.process-num{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;line-height:1;color:var(--color-text-muted);min-width:2.5rem;padding-top:0.125rem;transition:color .35s}
.process-item.is-active .process-num{color:var(--color-text-heading)}
.process-body{display:flex;flex-direction:column;gap:0.25rem;flex:1}
.process-label{font-size:1.1875rem;font-weight:700;color:var(--color-text-heading)}
.process-short{font-size:0.9375rem;color:var(--color-text-muted);line-height:1.5}
.process-bar{display:block;height:2px;margin-top:0.625rem;background:var(--color-border);border-radius:2px;overflow:hidden}
.process-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transform:scaleX(0);transform-origin:0 50%}
.process-item.is-done .process-bar i{transform:scaleX(1)}
.process-hint{display:none}
@media(min-width:1024px){.process-hint{display:flex;align-items:center;gap:0.75rem;justify-content:center;margin-top:2rem;font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-text-muted)}.process-hint span{width:1px;height:1.75rem;background:linear-gradient(var(--color-primary),transparent);animation:hint 1.8s ease-in-out infinite}}
@keyframes hint{0%,100%{transform:scaleY(0.4);transform-origin:top}50%{transform:scaleY(1)}}
@media(max-width:1023px){.demo-window{order:-1}}

.demo-window{border:1px solid var(--color-border);border-radius:1.25rem;background:rgb(8 12 34 / 0.85);box-shadow:0 40px 80px -40px rgb(0 0 0 / 0.9),0 0 0 1px rgb(255 255 255 / 0.02) inset,0 0 80px -30px var(--glow-blue);overflow:hidden}
.demo-top{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;border-bottom:1px solid var(--color-border)}
.demo-dots{display:flex;gap:0.375rem}
.demo-dots i{width:0.625rem;height:0.625rem;border-radius:9999px;background:rgb(148 163 184 / 0.25)}
.demo-url{font-family:var(--font-mono);font-size:0.75rem;color:var(--color-text-muted);background:rgb(148 163 184 / 0.08);border:1px solid var(--color-border);border-radius:9999px;padding:0.25rem 0.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.demo-badge{margin-left:auto;font-family:var(--font-mono);font-size:0.625rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#c4b5fd;border:1px solid rgb(167 139 250 / 0.45);background:rgb(109 40 217 / 0.15);border-radius:9999px;padding:0.25rem 0.625rem;white-space:nowrap}
.demo-body{position:relative;min-height:380px}
@media(min-width:640px){.demo-body{min-height:400px}}
.demo-pane{position:absolute;inset:0;padding:1.25rem;display:flex;flex-direction:column;gap:0.75rem;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
@media(min-width:640px){.demo-pane{padding:1.75rem}}
.demo-pane.is-active{opacity:1;visibility:visible}
.demo-title{font-weight:700;font-size:1.0625rem;color:var(--color-text-heading)}
.demo-sub{font-size:0.75rem;font-family:var(--font-mono);letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text-muted)}
.demo-row{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.625rem 0.875rem;border:1px solid var(--color-border);border-radius:0.625rem;background:rgb(148 163 184 / 0.04);font-size:0.875rem}
.demo-row span{display:flex;align-items:center;gap:0.5rem;min-width:0}
.chip{font-style:normal;font-size:0.6875rem;font-weight:700;padding:0.2rem 0.5rem;border-radius:9999px;white-space:nowrap;flex-shrink:0}
.chip-high{background:rgb(239 68 68 / 0.15);color:rgb(252 165 165)}
.chip-mid{background:rgb(234 179 8 / 0.15);color:rgb(253 224 71)}
.chip-ok{background:rgb(34 197 94 / 0.15);color:rgb(134 239 172)}
.demo-score{display:flex;align-items:center;gap:1rem;font-size:0.875rem;color:var(--color-text-muted)}
.demo-gauge{position:relative;width:3.75rem;height:3.75rem;flex-shrink:0}
.demo-gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.demo-gauge circle{fill:none;stroke-width:3.5}
.g-bg{stroke:rgb(148 163 184 / 0.15)}
.g-fg{stroke:rgb(96 165 250);stroke-linecap:round;stroke-dasharray:97.4;stroke-dashoffset:37}
.demo-gauge b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--color-text-heading)}
.demo-gantt{display:flex;flex-direction:column;gap:0.75rem}
.gantt-row{display:flex;flex-direction:column;gap:0.375rem;font-size:0.8125rem;color:var(--color-text-muted)}
.gantt-track{height:0.5rem;border-radius:9999px;background:rgb(148 163 184 / 0.1);overflow:hidden}
.gantt-track i{display:block;height:100%;border-radius:9999px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}
.demo-options{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;margin-top:auto}
.demo-option{border:1px solid var(--color-border);border-radius:0.625rem;padding:0.625rem;display:flex;flex-direction:column;gap:0.125rem;font-size:0.6875rem;color:var(--color-text-muted)}
.demo-option b{font-size:0.8125rem;color:var(--color-text-heading)}
.demo-option.is-pick{border-color:var(--color-primary);background:rgb(1 97 239 / 0.12)}
.demo-code{margin:0;font-family:var(--font-mono);font-size:0.75rem;line-height:1.9;background:rgb(0 0 0 / 0.35);border:1px solid var(--color-border);border-radius:0.625rem;padding:0.75rem 0.875rem;overflow:hidden;color:rgb(191 219 254)}
@media(min-width:640px){.demo-code{font-size:0.8125rem}}
.code-line{display:block;white-space:pre;overflow:hidden;text-overflow:ellipsis}
.ln{display:inline-block;width:1.5rem;color:rgb(148 163 184 / 0.4)}
.demo-deploy{display:flex;flex-direction:column;gap:0.5rem;font-size:0.8125rem;color:var(--color-text-muted)}
.pulse{width:0.5rem;height:0.5rem;border-radius:9999px;background:var(--color-success);animation:pulse 2.2s infinite;flex-shrink:0}
.demo-uptime{display:flex;flex-direction:column;gap:0.5rem;font-size:0.75rem;color:var(--color-text-muted);margin-top:auto}
.uptime-bars{display:flex;gap:3px;height:1.75rem;align-items:flex-end}
.uptime-bars i{flex:1;height:100%;border-radius:2px;background:rgb(74 222 128 / 0.75)}
.uptime-bars i:nth-child(17){height:70%;background:rgb(250 204 21 / 0.8)}
.demo-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem}
.demo-kpi{border:1px solid var(--color-border);border-radius:0.625rem;padding:0.625rem;font-size:0.6875rem;color:var(--color-text-muted);display:flex;flex-direction:column;gap:0.375rem}
.demo-kpi svg{width:100%;height:1.5rem;overflow:visible}
.demo-kpi path{fill:none;stroke:rgb(96 165 250);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.demo-bars{display:flex;flex-direction:column;gap:0.5rem}
.demo-bar{display:grid;grid-template-columns:4rem 1fr;align-items:center;gap:0.75rem;font-size:0.8125rem;color:var(--color-text-muted)}

/* Capítulos y CTA */
.cta-card{position:relative;overflow:hidden;isolation:isolate}
@media(min-width:768px){.cta-title{font-size:3.25rem;letter-spacing:-0.045em}}

/* Capítulos del sistema: cartas apiladas sticky (el top lo ajusta app.js para que quepan) */

/* Reserva: calendario propio */
.slot-picker{border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface);padding:1rem}
@media(min-width:640px){.slot-picker{padding:1.25rem}}
.slot-status{text-align:center;padding:2rem 0}
.slot-days{display:flex;gap:0.5rem;overflow-x:auto;padding:0.25rem 0.125rem 0.75rem;scrollbar-width:thin;scroll-snap-type:x proximity}
.slot-day{flex:0 0 auto;width:4.25rem;display:flex;flex-direction:column;align-items:center;gap:0.125rem;padding:0.625rem 0.25rem;border:1px solid var(--color-border);border-radius:0.75rem;background:transparent;color:var(--color-text-default);scroll-snap-align:start;transition:border-color .15s,background .15s}
.slot-day:hover{border-color:var(--color-primary)}
.slot-day.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.slot-day-w,.slot-day-m{font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.06em;opacity:0.75}
.slot-day-n{font-size:1.375rem;font-weight:700;line-height:1.1}
.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;margin-top:0.75rem}
@media(min-width:640px){.slot-grid{grid-template-columns:repeat(4,1fr)}}
.slot-time{padding:0.625rem 0.25rem;border:1px solid var(--color-border);border-radius:0.625rem;background:transparent;color:var(--color-text-heading);font-weight:600;font-variant-numeric:tabular-nums;transition:border-color .15s,background .15s}
.slot-time:hover{border-color:var(--color-primary)}
.slot-time.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 8px 24px -10px var(--glow-blue)}
.slot-tz{font-size:0.8125rem;margin-top:0.875rem;text-align:center}
.booking-ok{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:9999px;background:rgb(34 197 94 / 0.15);color:var(--color-success)}
.booking-ok svg{width:2rem;height:2rem}
#bookingForm .form-error{margin:0.5rem 0}

/* Origen del método (experiencia en tienda, en voz de marca) */
.origin-grid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:1024px){.origin-grid{grid-template-columns:1.1fr 0.9fr;gap:4rem}}
.origin-text{margin-top:1.25rem;font-size:1.0625rem;line-height:1.75;color:var(--color-text-muted)}
.origin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0 0}
.origin-stat{border-top:1px solid var(--color-border);padding-top:1rem}
.origin-num{font-size:2.25rem;font-weight:800;letter-spacing:-0.04em;line-height:1;color:var(--color-text-heading);display:flex;align-items:baseline;flex-wrap:wrap;gap:0.25rem}
@media(min-width:768px){.origin-num{font-size:3rem}}
.origin-num [data-countup]{background:linear-gradient(90deg,rgb(96 165 250),rgb(167 139 250));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.origin-pre{font-size:0.75rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text-muted);width:100%}
.origin-stat dd{margin:0.5rem 0 0;font-size:0.8125rem;line-height:1.45;color:var(--color-text-muted)}
@media(max-width:479px){.origin-stats{grid-template-columns:1fr}}

/* Versión ligera: menos cajas, más aire */
.sector-grid{gap:0}
@media(min-width:768px){.sector-grid{column-gap:3rem}}
.sector-item{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem 0;border-bottom:1px solid var(--color-border)}
.sector-item .sector-icon{width:2.5rem;height:2.5rem;border-radius:0.625rem}
.sector-item .sector-icon svg{width:1.25rem;height:1.25rem}
.problem-card{padding:1.25rem 1.5rem}
@media(min-width:1024px){.sector-grid{grid-template-columns:repeat(3,1fr)}}
/* Destacados de experiencia sin cifras */
.origin-big{font-size:1.375rem;line-height:1.15}
@media(min-width:768px){.origin-big{font-size:1.625rem}}
.origin-big span{background:linear-gradient(90deg,rgb(96 165 250),rgb(167 139 250));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Minimalista: relato del paso activo, problemas sin cajas, experiencia a una columna */
.process-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}
.process-more>div{overflow:hidden}
.process-item.is-active .process-more{grid-template-rows:1fr}
.process-item.is-active .process-short{display:none}
.process-story{margin-top:0.375rem;font-size:0.9375rem;line-height:1.65;color:var(--color-text-muted)}
.process-time{display:inline-block;margin-top:0.625rem;font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.04em;color:rgb(147 197 253)}
html:not(.dark) .process-time{color:var(--color-primary)}
.problem-grid{gap:0 3rem}
.problem-card{background:none;border:none;border-top:1px solid var(--color-border);border-radius:0;padding:1.5rem 0;-webkit-backdrop-filter:none;backdrop-filter:none}
.problem-card:hover{border-color:var(--color-border)}
.origin-grid{display:block;max-width:60rem}
.origin-stats{margin-top:2.5rem}
.cta-card .trust-list{margin-top:2rem;font-size:0.8125rem}

/* Más calma: marquesina discreta, subrayado que se dibuja, menos brillo */
.marquee{padding:0.875rem 0;background:transparent}
.marquee-item{font-size:1rem;font-weight:600;color:var(--color-text-muted);padding:0 1.25rem}
@media(min-width:768px){.marquee-item{font-size:1.125rem}}
.marquee-sep{font-size:0.625rem;opacity:0.6}
.problem-bridge em{background-size:100% 0.14em}
.hero-glow{opacity:0.5}
.plan-featured{box-shadow:0 0 0 1px var(--color-primary)}
.btn-primary{box-shadow:none}
.btn-primary:hover{box-shadow:0 8px 24px -12px rgb(1 97 239 / 0.6)}
@media(max-width:639px){.hero-eyebrow{display:none}}

/* Pasos: sticky nativo (sin pin de ScrollTrigger). El track reserva el
   recorrido de scroll y la ventana se queda fija dentro de él. */
.process-track{position:relative}
@media(min-width:1024px){
  .process-track{height:calc(225vh + min(640px, 100vh - 8rem))}
  .process-wrap{position:sticky;top:calc((100vh - min(640px, 100vh - 8rem)) / 2 + 2rem)}
}

/* Reserva en 3 pasos */
.booking-page .section-content{padding-top:2.5rem}
.booking-head{text-align:center;max-width:44rem;margin:0 auto 2.5rem}
.booking-h1{font-size:2.25rem;font-weight:800;line-height:1.1;letter-spacing:-0.04em;color:var(--color-text-heading)}
@media(min-width:768px){.booking-h1{font-size:3rem}}
.booking-lead{margin-top:0.875rem;font-size:1.125rem;line-height:1.6;color:var(--color-text-muted)}
.booking-perks{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem 1.25rem;margin-top:1.25rem;font-size:0.875rem;color:var(--color-text-muted)}
.booking-perks li{display:inline-flex;align-items:center;gap:0.375rem}
.booking-perks svg{width:1rem;height:1rem;color:var(--color-success)}
.booking-layout{display:grid;gap:1.5rem;align-items:start}
@media(min-width:960px){.booking-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem}}
.booking-card{border:1px solid var(--color-border);border-radius:1.25rem;background:var(--color-surface);padding:1.25rem;scroll-margin-top:6rem}
@media(min-width:640px){.booking-card{padding:2rem}}
.booking-stepper{display:flex;gap:0.5rem;margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}
.booking-stepper li{flex:1;display:flex;align-items:center;gap:0.5rem;font-size:0.8125rem;font-weight:600;color:var(--color-text-muted)}
.booking-stepper span{display:inline-flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border-radius:9999px;border:1px solid var(--color-border);font-size:0.75rem;flex-shrink:0;transition:background .2s,border-color .2s,color .2s}
.booking-stepper li.is-active{color:var(--color-text-heading)}
.booking-stepper li.is-active span{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.booking-stepper li.is-done span{background:rgb(34 197 94 / 0.15);border-color:rgb(34 197 94 / 0.5);color:var(--color-success)}
@media(max-width:479px){.booking-stepper li{font-size:0;gap:0}.booking-stepper li span{font-size:0.75rem}}
.booking-h2{font-size:1.375rem;font-weight:700;letter-spacing:-0.02em;color:var(--color-text-heading)}
.booking-sub{margin:0.375rem 0 1.25rem;font-size:0.9375rem;color:var(--color-text-muted)}
.booking-actions{display:flex;justify-content:flex-end;gap:0.75rem;margin-top:1.5rem}
.booking-actions .btn{padding:0.75rem 1.5rem}
.booking-actions .btn:disabled{opacity:0.45;cursor:not-allowed}
.booking-q{border:0;padding:0;margin:0 0 1.5rem}
.booking-q legend{font-size:0.9375rem;font-weight:600;color:var(--color-text-heading);margin-bottom:0.75rem}
.option-grid{display:grid;grid-template-columns:1fr;gap:0.5rem}
@media(min-width:560px){.option-grid{grid-template-columns:repeat(2,1fr)}}
.option-row{display:flex;gap:0.5rem;flex-wrap:wrap}
.option-card{position:relative;display:flex;cursor:pointer}
.option-card input{position:absolute;opacity:0;pointer-events:none}
.option-card span{flex:1;padding:0.75rem 1rem;border:1px solid var(--color-border);border-radius:0.75rem;font-size:0.9375rem;color:var(--color-text-default);transition:border-color .15s,background .15s}
.option-card:hover span{border-color:rgb(96 165 250 / 0.5)}
.option-card input:checked + span{border-color:var(--color-primary);background:rgb(1 97 239 / 0.14);color:var(--color-text-heading);font-weight:600}
.option-card input:focus-visible + span{outline:2px solid var(--color-primary);outline-offset:2px}
.option-pill span{padding:0.5rem 1.125rem;border-radius:9999px}
.booking-web{margin-top:0.75rem}
.booking-summary{display:flex;flex-wrap:wrap;align-items:center;gap:0.375rem 0.75rem;padding:0.875rem 1rem;margin-bottom:1.25rem;border-radius:0.75rem;background:rgb(1 97 239 / 0.1);border:1px solid rgb(1 97 239 / 0.35);font-size:0.9375rem}
.booking-summary span{color:var(--color-text-muted)}
.booking-summary strong{color:var(--color-text-heading)}
.booking-summary strong::first-letter{text-transform:uppercase}
.booking-summary .form-link{margin-left:auto;background:none;border:0;font:inherit;cursor:pointer;padding:0}
.booking-done{text-align:center;padding:1rem 0}
.booking-done .booking-h2{margin-top:1rem}
.booking-when{margin:0.5rem 0 1.75rem;font-size:1.0625rem;font-weight:600;color:var(--color-text-heading)}
.booking-when::first-letter{text-transform:uppercase}
.booking-after{display:flex;flex-direction:column;gap:0.75rem;text-align:left;max-width:28rem;margin:0.75rem auto 1.75rem}
.booking-after li{display:flex;gap:0.75rem;align-items:flex-start;font-size:0.9375rem;line-height:1.5;color:var(--color-text-muted)}
.booking-after li span{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:9999px;background:var(--color-primary);color:#fff;font-size:0.75rem;font-weight:700;flex-shrink:0}
.booking-side{border:1px solid var(--color-border);border-radius:1.25rem;padding:1.5rem}
@media(min-width:960px){.booking-side{position:sticky;top:7rem}}
.booking-gets{display:flex;flex-direction:column;gap:1rem}
.booking-gets li{display:flex;gap:0.75rem;align-items:flex-start}
.booking-gets svg{width:1.125rem;height:1.125rem;color:var(--color-success);flex-shrink:0;margin-top:0.125rem}
.booking-gets strong{display:block;font-size:0.9375rem;color:var(--color-text-heading)}
.booking-gets div span{display:block;margin-top:0.125rem;font-size:0.875rem;line-height:1.5;color:var(--color-text-muted)}
.slot-picker{background:transparent}
.booking-page [hidden]{display:none!important}
.booking-more{animation:bookingFadeIn .35s ease}
#bk_mensaje{min-height:5rem}

/* Reseñas (Trustpilot) */
.reviews-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0.5rem 0.75rem;margin-top:1rem;font-size:0.9375rem;color:var(--color-text-muted)}
.review-stars{display:inline-flex;gap:0.125rem}
.review-stars svg{width:1.125rem;height:1.125rem;fill:#00b67a}
.reviews-grid{display:grid;gap:1.25rem}
@media(min-width:768px){.reviews-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr}}
.review-card{margin:0;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface)}
.review-card blockquote{margin:0}
.review-title{font-weight:700;color:var(--color-text-heading);margin-bottom:0.5rem}
.review-text{font-size:0.9375rem;line-height:1.65;color:var(--color-text-default);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.review-card.is-open .review-text{display:block;-webkit-line-clamp:unset;line-clamp:none}
.review-actions{display:flex;gap:1rem;margin-top:-0.25rem}
.review-actions:not(:has(button:not([hidden]))){display:none}
.review-actions button{padding:0;border:0;background:none;font:inherit;font-size:0.8125rem;color:var(--color-text-muted);text-decoration:underline;cursor:pointer}
.review-actions button:hover{color:var(--color-text-heading)}
.review-card figcaption{display:flex;align-items:center;gap:0.75rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border)}
.review-card figcaption strong{display:block;font-size:0.9375rem;color:var(--color-text-heading)}
.review-card figcaption small{font-size:0.8125rem;color:var(--color-text-muted)}
.review-card figcaption a{color:inherit;text-decoration:underline}
.review-avatar{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:9999px;background:rgb(1 97 239 / 0.18);color:rgb(147 197 253);font-weight:700;flex-shrink:0}
.plan-limits{margin:1.25rem 0 1.5rem;padding-top:1rem;border-top:1px dashed var(--color-border);font-size:0.8125rem;color:var(--color-text-muted)}
.plan-limits p{font-weight:600;text-transform:uppercase;letter-spacing:0.06em;font-size:0.6875rem;margin-bottom:0.5rem}
.plan-limits ul{display:grid;gap:0.25rem}
.plan-limits li::before{content:"·";margin-right:0.4rem}
.footer-link-btn{background:none;border:0;padding:0;font:inherit;cursor:pointer;text-align:left}
.footer-cookies{display:inline-block;margin-top:0.75rem;font-size:0.875rem}
.hero-highlight,.origin-big span,.origin-num [data-countup]{padding-bottom:0.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.booking-line{margin-bottom:1rem;font-size:0.875rem;color:var(--color-text-muted)}.booking-line a{color:var(--color-text-heading);text-decoration:none}.booking-line a:hover{text-decoration:underline}

/* Hero demo: "your shop today" */
.hero-demo{max-width:58rem;margin:3.5rem auto 0;text-align:left}
.hero-demo-body{display:flex;flex-direction:column;gap:1rem;padding:1.25rem}
@media(min-width:640px){.hero-demo-body{padding:1.5rem}}
.hero-demo-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:0.625rem}
.hero-demo-kpis .demo-kpi b{font-size:1.25rem;color:var(--color-text-heading);letter-spacing:-0.02em}
@media(min-width:640px){.hero-demo-kpis .demo-kpi b{font-size:1.625rem}}
.hero-demo-trend{font-style:normal;font-size:0.6875rem;color:rgb(134 239 172)}
.hero-demo-cols{display:grid;gap:1rem}
@media(min-width:768px){.hero-demo-cols{grid-template-columns:1.1fr 1fr}}
.hero-demo-chart{display:flex;flex-direction:column;gap:0.5rem;padding:0.875rem;border:1px solid var(--color-border);border-radius:0.625rem}
.hero-demo-chart svg{width:100%;height:6.5rem}
.hero-demo-line{fill:none;stroke:rgb(96 165 250);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hero-demo-rows{display:flex;flex-direction:column;gap:0.5rem}
.hero-demo-rows .pulse{background:rgb(74 222 128)}
@media(max-width:639px){.hero-demo-kpis .demo-kpi{padding:0.5rem}.hero-demo-kpis .demo-kpi span{font-size:0.625rem}}

/* Quick form (main site) */
.qf-card{position:relative;display:grid;gap:2.5rem;padding:1.75rem;border:1px solid var(--color-border);border-radius:1.5rem;background:radial-gradient(70% 90% at 0% 0%,rgb(1 97 239 / 0.14),transparent 60%),radial-gradient(60% 80% at 100% 100%,rgb(109 40 217 / 0.14),transparent 60%),var(--color-surface);box-shadow:0 40px 90px -45px rgb(0 0 0 / 0.9)}
@media(min-width:640px){.qf-card{padding:2.5rem}}
@media(min-width:960px){.qf-card{grid-template-columns:0.8fr 1.2fr;gap:3.5rem;padding:3rem}}
.qf-intro .cta-title{text-align:left}
.qf-text{margin:1rem 0 1.5rem;font-size:1.0625rem;line-height:1.7;color:var(--color-text-muted)}
.qf-perks{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:0.625rem}
.qf-perks li{display:flex;align-items:center;gap:0.625rem;font-weight:500;color:var(--color-text-heading)}
.qf-perks svg{width:1.25rem;height:1.25rem;padding:0.2rem;border-radius:50%;background:rgb(1 97 239 / 0.18);color:rgb(147 197 253);flex-shrink:0}
.qf-or{padding-top:1.25rem;border-top:1px solid var(--color-border);font-size:0.9375rem;line-height:1.7;color:var(--color-text-muted)}
.qf-or a{color:rgb(147 197 253);font-weight:600;text-decoration:none}
.qf-or a:hover{text-decoration:underline}
.qf-form{display:flex;flex-direction:column;gap:1.5rem}
.qf-q{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:0.75rem}
.qf-q legend{display:flex;align-items:center;gap:0.625rem;margin-bottom:0.75rem;padding:0;font-size:0.9375rem;font-weight:600;color:var(--color-text-heading)}
.qf-n{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:rgb(1 97 239 / 0.18);color:rgb(147 197 253);font-family:var(--font-mono);font-size:0.75rem}
.qf-form .option-pill span{padding:0.5rem 1rem;font-size:0.875rem}
.qf-row{display:grid;gap:0.75rem}
@media(min-width:560px){.qf-row{grid-template-columns:1fr 1fr}}
.qf-form .form-input,.qf-form .form-textarea{padding:0.75rem 0.875rem;border-radius:0.75rem}
.qf-form .form-textarea{min-height:5.5rem}
.qf-form .form-input:focus,.qf-form .form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(1 97 239 / 0.22)}
.qf-privacy{font-size:0.875rem}
.qf-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.qf-submit{min-width:12rem}
@media(max-width:559px){.qf-submit{width:100%}}
.qf-done{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:18rem;text-align:center;font-size:1.0625rem;color:var(--color-text-heading)}
.qf-done-icon{display:inline-flex;width:3.5rem;height:3.5rem;padding:0.875rem;border-radius:50%;background:rgb(1 97 239 / 0.18);color:rgb(147 197 253)}
.qf-refer{max-width:28rem;padding:0.875rem 1rem;border:1px dashed var(--color-border);border-radius:0.75rem;font-size:0.9375rem;color:var(--color-text-muted)}
/* Alotik Gaming: own identity (green accent) on top of the shared site styles */
.g-body{--g-accent:#22e584;--g-accent-2:#7c5cff;--g-bg:#050a12;background:var(--g-bg);color:var(--color-text-default);min-height:100vh}
.g-body .section-badge{color:var(--g-accent)}

.g-nav{position:sticky;top:0;z-index:50;background:rgb(5 10 18 / 0.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgb(255 255 255 / 0.06)}
.g-nav-inner{max-width:80rem;margin:0 auto;padding:0.75rem 1rem;display:flex;align-items:center;gap:1.5rem}
.g-links{display:none;gap:1.5rem;margin:0 auto;font-size:0.9375rem}
.g-links a,.g-lang{color:var(--color-text-muted);text-decoration:none;transition:color .2s}
.g-links a:hover,.g-lang:hover{color:var(--color-text-heading)}
.g-nav-actions{display:flex;align-items:center;gap:1rem;margin-left:auto;font-size:0.9375rem}
@media(min-width:900px){.g-links{display:flex}.g-nav-actions{margin-left:0}}
@media(max-width:480px){.g-nav-actions .g-btn{padding:0.5rem 0.875rem;font-size:0.875rem}}

.g-logo{display:inline-flex;align-items:center;gap:0.625rem;text-decoration:none;color:var(--color-text-heading)}
.g-logo-mark{width:1.75rem;height:1.75rem;border-radius:0.4rem;background:var(--g-accent);clip-path:polygon(50% 8%,92% 86%,70% 86%,50% 48%,30% 86%,8% 86%)}
.g-logo-img{display:block;height:2.5rem;width:auto}
.g-logo-text{display:flex;flex-direction:column;font-weight:800;letter-spacing:0.14em;line-height:1;font-size:1rem}
.g-logo-text small{font-size:0.5625rem;letter-spacing:0.42em;color:var(--g-accent);margin-top:0.2rem;font-weight:700}

.g-btn.btn-primary{background:var(--g-accent);color:#04120b;border-color:var(--g-accent)}
.g-btn.btn-primary:hover{background:#4af0a0;border-color:#4af0a0}

.g-hero{position:relative;padding-top:6rem;padding-bottom:4rem;overflow:hidden}
.g-hero::before{content:"";position:absolute;inset:-20% -10% auto;height:120%;background:radial-gradient(40% 50% at 30% 30%,rgb(34 229 132 / 0.16),transparent 70%),radial-gradient(40% 50% at 75% 20%,rgb(124 92 255 / 0.2),transparent 70%);pointer-events:none;z-index:-1}
.g-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;padding:0.375rem 0.875rem;border:1px solid rgb(255 255 255 / 0.1);border-radius:9999px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.8125rem;color:var(--color-text-muted)}
.g-dot{width:0.5rem;height:0.5rem;border-radius:50%;background:var(--g-accent);box-shadow:0 0 12px var(--g-accent)}
.g-hero-title{margin:1.5rem 0 1.25rem;font-size:2.5rem;font-weight:800;line-height:1.05;letter-spacing:-0.04em;color:var(--color-text-heading)}
@media(min-width:640px){.g-hero-title{font-size:3.75rem}}
@media(min-width:1024px){.g-hero-title{font-size:5rem}}
.g-hero-sub{max-width:44rem;margin:0 auto 2rem;font-size:1.125rem;line-height:1.7;color:var(--color-text-muted)}
.g-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem}

.g-grid{display:grid;gap:1.25rem}
@media(min-width:768px){.g-grid-3{grid-template-columns:repeat(3,1fr)}}
.g-card{padding:1.5rem;border:1px solid rgb(255 255 255 / 0.08);border-radius:1rem;background:rgb(255 255 255 / 0.02);transition:border-color .25s}
.g-card:hover{border-color:rgb(34 229 132 / 0.35)}
.g-card .card-title{margin-bottom:0.5rem}


.g-featured{border-color:rgb(34 229 132 / 0.6)}
.g-featured .plan-flag{background:var(--g-accent);color:#04120b}
.g-body .check-list li::before{color:var(--g-accent)}
.g-cta{border-color:rgb(34 229 132 / 0.25)}

.g-footer{border-top:1px solid rgb(255 255 255 / 0.06);margin-top:4rem}
.g-footer-inner{max-width:80rem;margin:0 auto;padding:3rem 1rem 2rem;display:grid;gap:2rem}
@media(min-width:768px){.g-footer-inner{grid-template-columns:2fr 1fr 1fr}}
.g-footer-tag{margin-top:0.75rem;font-size:0.9375rem;color:var(--color-text-muted)}
.g-footer-by{margin-top:0.5rem;font-size:0.875rem}
.g-footer-by a{color:var(--color-text-muted)}
.g-footer-bottom{max-width:80rem;margin:0 auto;padding:1.25rem 1rem 2rem;border-top:1px solid rgb(255 255 255 / 0.06);font-size:0.75rem;line-height:1.6;color:var(--color-text-muted)}
.g-footer-bottom p+p{margin-top:0.25rem}

/* Same animations as the main site; only colours change */
.g-body .hero-highlight:not(.is-split),.g-body .hero-highlight.is-split .word{background-image:linear-gradient(90deg,var(--g-accent),var(--g-accent-2))}
.g-body .hero-eyebrow{background:transparent}
.g-marquee{background:rgb(34 229 132 / 0.04)}
.g-marquee .marquee-sep{color:var(--g-accent)}
.g-body .problem-bridge em{background-image:linear-gradient(90deg,var(--g-accent),var(--g-accent-2))}
.g-body .process-bar i,.g-body .gantt-track i{background:linear-gradient(90deg,var(--g-accent),var(--g-accent-2))}
.g-body .process-item.is-active .process-num{color:var(--g-accent)}
.g-body .demo-window{box-shadow:0 40px 80px -40px rgb(0 0 0 / 0.9),0 0 80px -30px rgb(34 229 132 / 0.4)}
.g-body .demo-kpi path,.g-body .g-fg{stroke:var(--g-accent)}
.g-body .process-hint span{background:linear-gradient(var(--g-accent),transparent)}
/* "How we start" has 3 steps instead of the main site's 5 */
@media(min-width:1024px){.g-process .process-track{height:calc(225vh + min(640px, 100vh - 8rem))}}

/* "Ideal for" line on each plan */
.g-ideal{margin:-0.25rem 0 1rem;font-size:0.8125rem;color:var(--g-accent)}

/* Mobile menu */
.g-menu-btn{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid rgb(255 255 255 / 0.12);border-radius:0.625rem;background:none;color:var(--color-text-heading);cursor:pointer}
.g-menu-btn svg{width:1.25rem;height:1.25rem}
@media(max-width:899px){
  .g-menu-btn{display:inline-flex}
  .g-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;margin:0;padding:0.5rem 1rem 1rem;background:rgb(5 10 18 / 0.97);border-bottom:1px solid rgb(255 255 255 / 0.08)}
  .g-links.is-open{display:flex}
  .g-links a{padding:0.875rem 0.25rem;border-bottom:1px solid rgb(255 255 255 / 0.06);font-size:1rem}
}
@media(max-width:480px){.g-lang{display:none}.g-links .g-lang-mobile{display:block}}
.g-lang-mobile{display:none}
.g-num{display:block;margin-bottom:0.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.8125rem;color:var(--g-accent)}

/* Hero: the game screenshot behind the title, under a dark blurred layer */
.g-hero{isolation:isolate;min-height:min(100vh,56rem);display:flex;align-items:center}
.g-hero>.section-content{width:100%}
.g-hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.g-hero-bg img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.12);filter:blur(2px) saturate(1.15);will-change:transform}
.g-hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(65% 60% at 50% 45%,rgb(5 10 18 / 0.86),rgb(5 10 18 / 0.6) 70%,rgb(5 10 18 / 0.45)),linear-gradient(to bottom,rgb(5 10 18 / 0.75),transparent 22%,transparent 62%,var(--g-bg))}

/* Quick form */
.g-form-card{position:relative;display:grid;gap:2.5rem;padding:1.75rem;border:1px solid rgb(34 229 132 / 0.22);border-radius:1.5rem;background:radial-gradient(70% 90% at 0% 0%,rgb(34 229 132 / 0.1),transparent 60%),radial-gradient(60% 80% at 100% 100%,rgb(124 92 255 / 0.12),transparent 60%),rgb(8 15 24 / 0.9);box-shadow:0 40px 90px -45px rgb(0 0 0 / 0.9)}
@media(min-width:640px){.g-form-card{padding:2.5rem}}
@media(min-width:960px){.g-form-card{grid-template-columns:0.8fr 1.2fr;gap:3.5rem;padding:3rem}}
.g-form-intro .cta-title{text-align:left}
.g-form-text{margin:1rem 0 1.5rem;font-size:1.0625rem;line-height:1.7;color:var(--color-text-muted)}
.g-form-perks{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:0.625rem}
.g-form-perks li{display:flex;align-items:center;gap:0.625rem;font-weight:500;color:var(--color-text-heading)}
.g-form-perks svg{width:1.25rem;height:1.25rem;padding:0.2rem;border-radius:50%;background:rgb(34 229 132 / 0.15);color:var(--g-accent);flex-shrink:0}
.g-form-or{padding-top:1.25rem;border-top:1px solid rgb(255 255 255 / 0.08);font-size:0.9375rem;line-height:1.7;color:var(--color-text-muted)}
.g-form-or a{color:var(--g-accent);font-weight:600;text-decoration:none}
.g-form-or a:hover{text-decoration:underline}
.g-form{display:flex;flex-direction:column;gap:1.5rem}
.g-q{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:0.75rem}
.g-q legend{display:flex;align-items:center;gap:0.625rem;margin-bottom:0.75rem;padding:0;font-size:0.9375rem;font-weight:600;color:var(--color-text-heading)}
.g-q-n{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:rgb(34 229 132 / 0.14);color:var(--g-accent);font-family:var(--font-mono);font-size:0.75rem}
.g-form .option-pill span{padding:0.5rem 1rem;font-size:0.875rem;background:rgb(255 255 255 / 0.02)}
.g-form .option-pill small{margin-left:0.25rem;font-size:0.75rem;font-weight:400;color:var(--color-text-muted)}
.g-form .option-card:hover span{border-color:rgb(34 229 132 / 0.5)}
.g-form .option-card input:checked+span{border-color:var(--g-accent);background:rgb(34 229 132 / 0.14);color:var(--color-text-heading)}
.g-form .option-card input:focus-visible+span{outline-color:var(--g-accent)}
.g-form-row{display:grid;gap:0.75rem}
@media(min-width:560px){.g-form-row{grid-template-columns:1fr 1fr}}
.g-form .form-input,.g-form .form-textarea{padding:0.75rem 0.875rem;border-color:rgb(255 255 255 / 0.12);border-radius:0.75rem;background:rgb(255 255 255 / 0.03)}
.g-form .form-textarea{min-height:5.5rem}
.g-form .form-input:focus,.g-form .form-textarea:focus{border-color:var(--g-accent);box-shadow:0 0 0 3px rgb(34 229 132 / 0.18)}
.g-privacy{font-size:0.875rem}
.g-form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.g-submit{min-width:12rem}
@media(max-width:559px){.g-submit{width:100%}}
.g-form-done{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:18rem;text-align:center;font-size:1.0625rem;color:var(--color-text-heading)}
.g-form-done-icon{display:inline-flex;width:3.5rem;height:3.5rem;padding:0.875rem;border-radius:50%;background:rgb(34 229 132 / 0.15);color:var(--g-accent)}

.g-form-refer{max-width:28rem;padding:0.875rem 1rem;border:1px dashed rgb(34 229 132 / 0.35);border-radius:0.75rem;font-size:0.9375rem;color:var(--color-text-muted)}
.g-included{margin:0.75rem 0 1.25rem;font-size:0.8125rem;color:var(--color-text-muted)}

/* ---- Alotik standalone site ---- */
/* Games: 5 cards, 2 per row on tablets and a 3 + 2 layout on desktop */
@media(min-width:640px){.g-games{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.g-games{grid-template-columns:repeat(6,1fr)}.g-games .g-game{grid-column:span 2}.g-games .g-game:nth-child(4){grid-column:2 / span 2}}
.g-game .card-title{color:var(--g-accent)}
/* The single offer, centred */
.g-offer{max-width:36rem;margin:0 auto}
.g-offer .plan-card{padding:2rem}
.g-offer .plan-name{font-size:1.5rem}
.g-offer .check-list{margin:1.25rem 0}
.g-offer .plan-btn{width:100%;justify-content:center}
/* Two reviews: side by side, centred */
@media(min-width:768px){.g-reviews{max-width:56rem;margin:0 auto}}
/* Legal pages */
.g-legal{padding:8rem 0 4rem}
.g-legal .policy-content{max-width:48rem;margin:0 auto}
.g-404{min-height:70vh;display:flex;align-items:center;text-align:center}
