/* Khepri Digital Landing — v1.0.0 */

/* ---------- Fuentes locales ---------- */
@font-face{font-family:'Sora';font-style:normal;font-weight:400 600;font-display:swap;src:url("../fonts/sora-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-weight:400 600;font-display:swap;src:url("../fonts/sora-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500 700;font-display:swap;src:url("../fonts/space-grotesk-vietnamese.woff2") format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500 700;font-display:swap;src:url("../fonts/space-grotesk-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500 700;font-display:swap;src:url("../fonts/space-grotesk-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Base ---------- */
html{scroll-behavior:smooth}
body.khepri-page{margin:0;background:#FCFBFE}
.khepri-landing{background:#FCFBFE;font-family:'Sora',system-ui,sans-serif;color:#17131F;font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;overflow-x:clip}
.khepri-landing *,.khepri-landing *::before,.khepri-landing *::after{box-sizing:border-box}
:where(.khepri-landing img){max-width:100%;height:auto}
.khepri-landing a{text-decoration:none;transition:color .2s,background .2s,border-color .2s,transform .2s,box-shadow .2s}
:where(.khepri-landing a){color:#7C3AED}
:where(.khepri-landing a:hover){color:#6D28D9}
.kh-accent{color:#7C3AED}
.kh-eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;color:#7C3AED}
.kh-h2{margin:0;font-family:'Space Grotesk',sans-serif;font-size:clamp(26px,4vw,38px);line-height:1.12;font-weight:700;letter-spacing:-.02em;text-wrap:balance}
.kh-h2-sm{font-size:clamp(24px,3.5vw,32px)}
.kh-section-head{display:flex;flex-direction:column;gap:12px;text-align:center;align-items:center}
.kh-check{display:inline-flex;align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.5;color:#4B4457}
.kh-check-mark{color:#7C3AED;font-weight:700}

@keyframes kh-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes kh-fadeup{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.kh-fadeup{animation:kh-fadeup .8s cubic-bezier(.22,1,.36,1) both}

/* Fondos animados de los banners */
@keyframes kh-drift-a{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(50px,-34px) scale(1.16)}}
@keyframes kh-drift-b{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-56px,26px) scale(1.1)}}
@keyframes kh-pulse{0%,100%{opacity:.55}50%{opacity:1}}
.kh-blob{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;will-change:transform}
.kh-blob-1{width:340px;height:340px;left:6%;top:16%;background:rgba(124,58,237,.16);animation:kh-drift-a 14s ease-in-out infinite}
.kh-blob-2{width:300px;height:300px;right:4%;top:38%;background:rgba(139,92,246,.13);animation:kh-drift-b 18s ease-in-out infinite}

/* Revelado al hacer scroll (JS añade .kh-in) */
.kh-js [data-reveal]{opacity:0;transform:translateY(26px) scale(.97);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.kh-js [data-reveal].kh-in{opacity:1;transform:translateY(0) scale(1)}

/* ---------- Nav ---------- */
.kh-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(20px,5vw,64px);background:rgba(252,251,254,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,19,31,.07)}
body.admin-bar .kh-nav{top:32px}
.kh-nav-brand{display:flex;align-items:center;gap:12px}
.kh-nav-logo{height:38px;width:auto}
.kh-nav-name{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;letter-spacing:.14em}
.kh-nav-cta{display:inline-flex;align-items:center;gap:8px;background:#7C3AED;color:#fff;font-weight:600;font-size:13.5px;padding:10px 18px;border-radius:999px;white-space:nowrap}
.kh-nav-cta:hover{background:#6D28D9;color:#fff}

/* ---------- Hero ---------- */
.kh-hero{position:relative;overflow:hidden;padding:clamp(64px,10vw,120px) clamp(20px,5vw,64px) clamp(56px,8vw,96px);text-align:center}
.kh-dots{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:block}
.kh-hero-veil{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 45%,rgba(252,251,254,.9),rgba(252,251,254,.4) 60%,rgba(252,251,254,0) 100%);pointer-events:none}
.kh-hero-glow{position:absolute;top:-220px;left:50%;transform:translateX(-50%);width:720px;height:520px;background:radial-gradient(closest-side,rgba(124,58,237,.12),transparent);pointer-events:none;animation:kh-pulse 8s ease-in-out infinite}
.kh-hero-inner{position:relative;max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:24px}
.kh-hero-badge{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(23,19,31,.1);border-radius:999px;padding:6px 16px 6px 6px;box-shadow:0 2px 10px rgba(23,19,31,.05);font-size:13px;color:#4B4457}
.kh-hero-avatar{width:32px;height:32px;border-radius:999px;object-fit:cover}
.kh-hero-title{margin:0;font-family:'Space Grotesk',sans-serif;font-size:clamp(38px,7vw,68px);line-height:1.04;font-weight:700;letter-spacing:-.03em;text-wrap:balance}
.kh-hero-sub{margin:0;font-size:clamp(16px,2.2vw,19px);line-height:1.6;color:#4B4457;max-width:560px;text-wrap:pretty}
.kh-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}
.kh-hero-checks{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin-top:6px}

/* ---------- Botones ---------- */
.kh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:16px;padding:16px 28px;border-radius:14px}
.kh-btn-primary{background:#7C3AED;color:#fff;box-shadow:0 10px 30px rgba(124,58,237,.35)}
.kh-btn-primary:hover{background:#6D28D9;color:#fff;transform:translateY(-2px)}
.kh-btn-ghost{background:#fff;color:#17131F;font-weight:600;border:1px solid rgba(23,19,31,.12)}
.kh-btn-ghost:hover{border-color:#7C3AED;color:#7C3AED}
.kh-btn-lg{font-size:17px;padding:18px 32px}
.kh-textlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:#7C3AED}
.kh-textlink:hover{color:#6D28D9}

/* ---------- Quiénes somos ---------- */
.kh-about{padding:clamp(48px,7vw,88px) clamp(20px,5vw,64px);background:#fff;border-top:1px solid rgba(23,19,31,.06);border-bottom:1px solid rgba(23,19,31,.06)}
.kh-about-inner{max-width:960px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(32px,5vw,64px);justify-content:center}
.kh-about-photo{position:relative;flex:0 1 300px;min-width:240px}
.kh-about-photo-bg{position:absolute;inset:14px -14px -14px 14px;background:linear-gradient(135deg,rgba(124,58,237,.18),rgba(124,58,237,.04));border-radius:24px}
.kh-about-photo img{position:relative;width:100%;border-radius:24px;display:block;object-fit:cover;aspect-ratio:1/1}
.kh-about-text{flex:1 1 380px;min-width:280px;display:flex;flex-direction:column;gap:16px}
.kh-about-p{margin:0;font-size:16.5px;line-height:1.7;color:#4B4457;text-wrap:pretty}

/* ---------- Servicios ---------- */
.kh-services{padding:clamp(56px,8vw,96px) clamp(20px,5vw,64px)}
.kh-services-inner{max-width:1060px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.kh-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px}
.kh-card{position:relative;display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid rgba(23,19,31,.09);border-radius:22px;padding:34px 28px 28px;box-shadow:0 2px 12px rgba(23,19,31,.04);transition:box-shadow .25s,transform .25s}
.kh-card:hover{box-shadow:0 18px 44px rgba(124,58,237,.16);transform:translateY(-4px)}
.kh-card-featured{border:1.5px solid rgba(124,58,237,.55);box-shadow:0 14px 40px rgba(124,58,237,.14)}
.kh-card-ribbon{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#8B5CF6,#6D28D9);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.14em;padding:6px 16px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 14px rgba(124,58,237,.35)}
.kh-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kh-card-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#8B5CF6,#5B21B6);color:#fff;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;letter-spacing:.04em;box-shadow:0 6px 16px rgba(124,58,237,.3)}
.kh-card-offer{background:rgba(124,58,237,.09);color:#7C3AED;font-size:10.5px;font-weight:700;letter-spacing:.1em;padding:5px 11px;border-radius:999px}
.kh-card-title{margin:0;font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:700;letter-spacing:-.01em}
.kh-card-desc{margin:0;font-size:14.5px;line-height:1.65;color:#4B4457;text-wrap:pretty}
.kh-card-features{display:flex;flex-direction:column;gap:9px;flex:1}
.kh-card-price{display:flex;align-items:center;gap:10px;border-top:1px solid rgba(23,19,31,.08);padding-top:16px}
.kh-price-label{font-size:12.5px;color:#9A93A6;text-transform:uppercase;letter-spacing:.06em}
.kh-price{font-family:'Space Grotesk',sans-serif;font-size:23px;font-weight:700;color:#7C3AED;white-space:nowrap}
.kh-price-before{font-size:13.5px;color:#9A93A6;text-decoration:line-through;white-space:nowrap}

/* Panel de precio con giro ARS ⇄ USD */
.kh-price-flip{flex:1;min-width:0;perspective:600px}
.kh-price-inner{display:grid;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,.1,.25,1)}
.kh-price-face{grid-area:1/1;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.kh-price-back{transform:rotateX(180deg)}
.kh-flip .kh-price-inner{transform:rotateX(180deg)}
.kh-usd-toggle{flex:none;font-family:'Space Grotesk',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.1em;color:#7C3AED;background:#fff;border:1.5px solid rgba(124,58,237,.55);border-radius:999px;padding:6px 11px;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.kh-usd-toggle:hover{background:rgba(124,58,237,.08);transform:translateY(-1px)}
.kh-flip .kh-usd-toggle{background:#7C3AED;color:#fff;border-color:#7C3AED}
.kh-card-cta{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:#fff;border:1.5px solid #7C3AED;color:#7C3AED;font-weight:600;font-size:14px;padding:13px 18px;border-radius:12px}
.kh-card-featured .kh-card-cta{background:#7C3AED;color:#fff}
.kh-card-cta:hover{background:#6D28D9;border-color:#6D28D9;color:#fff}

/* ---------- Proceso + CTA ---------- */
.kh-process{padding:0 clamp(20px,5vw,64px) clamp(56px,8vw,96px)}
.kh-process-inner{max-width:1060px;margin:0 auto clamp(56px,8vw,96px);display:flex;flex-direction:column;gap:36px}
.kh-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px}
.kh-step{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid rgba(23,19,31,.08);border-radius:18px;padding:24px;transition:border-color .25s,transform .25s}
.kh-step:hover{border-color:rgba(124,58,237,.4);transform:translateY(-3px)}
.kh-step-num{font-size:13px;font-weight:800;color:#7C3AED}
.kh-step-title{margin:0;font-size:17px;font-weight:700}
.kh-step-desc{margin:0;font-size:14px;line-height:1.6;color:#4B4457;text-wrap:pretty}
.kh-cta-panel{position:relative;overflow:hidden;max-width:1060px;margin:0 auto;background:#17131F;border-radius:28px;padding:clamp(48px,7vw,80px) clamp(24px,5vw,64px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.kh-cta-glow{position:absolute;bottom:-260px;left:50%;transform:translateX(-50%);width:640px;height:440px;background:radial-gradient(closest-side,rgba(124,58,237,.4),transparent);pointer-events:none;animation:kh-pulse 7s ease-in-out infinite}
.kh-cta-panel .kh-dots{opacity:.55}
.kh-cta-logo{position:relative;width:130px;height:auto;animation:kh-float 5s ease-in-out infinite}
.kh-cta-title{position:relative;margin:0;color:#fff;font-family:'Space Grotesk',sans-serif;font-size:clamp(28px,4.5vw,44px);font-weight:700;letter-spacing:-.02em;text-wrap:balance}
.kh-cta-sub{position:relative;margin:0;color:rgba(255,255,255,.7);font-size:16px;line-height:1.6;max-width:460px;text-wrap:pretty}
.kh-cta-panel .kh-btn{position:relative;box-shadow:0 10px 30px rgba(124,58,237,.45)}
.kh-cta-panel .kh-btn-primary:hover{background:#8B5CF6}
.kh-cta-social{position:relative;display:flex;gap:20px;flex-wrap:wrap;justify-content:center}
.kh-cta-social a{color:rgba(255,255,255,.6);font-size:14px}
.kh-cta-social a:hover{color:#fff}

/* ---------- Footer ---------- */
.kh-footer{background:#0F0C16;padding:40px clamp(20px,5vw,64px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.kh-footer-brand{display:flex;align-items:center;gap:12px}
.kh-footer-brand img{height:34px;width:auto}
.kh-footer-brand span{color:#fff;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em}
.kh-footer-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.kh-footer-links a{color:rgba(255,255,255,.6);font-size:13.5px}
.kh-footer-links a:hover{color:#fff}
.kh-footer-copy{color:rgba(255,255,255,.35);font-size:12.5px}

/* ---------- Botón flotante WhatsApp ---------- */
.kh-wa-fab{position:fixed;bottom:22px;right:22px;z-index:60;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:999px;background:#25D366;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.kh-wa-fab:hover{transform:scale(1.08);color:#fff}

/* ---------- 404 ---------- */
.kh-404{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:clamp(24px,5vw,64px)}
.kh-404-inner{position:relative;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.kh-404-logo{width:110px;height:auto;animation:kh-float 5s ease-in-out infinite}
.kh-404-code{font-family:'Space Grotesk',sans-serif;font-size:clamp(64px,14vw,110px);font-weight:700;line-height:1;color:#7C3AED;letter-spacing:-.04em}
.kh-404-title{margin:0;font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,4vw,34px);font-weight:700;letter-spacing:-.02em}
.kh-404-sub{margin:0;font-size:16px;line-height:1.65;color:#4B4457;text-wrap:pretty}

/* ---------- Móvil ---------- */
@media (max-width:640px){
	.kh-nav{padding-top:10px;padding-bottom:10px}
	.kh-nav-logo{height:32px}
	.kh-nav-name{font-size:13px;letter-spacing:.1em}
	.kh-hero-actions{width:100%;flex-direction:column;align-items:stretch}
	.kh-hero-actions .kh-btn{width:100%}
	.kh-card{padding:28px 22px 24px}
	.kh-cta-logo{width:104px}
	.kh-blob{filter:blur(44px)}
	.kh-blob-1{width:220px;height:220px}
	.kh-blob-2{width:190px;height:190px}
	.kh-wa-fab{width:52px;height:52px;bottom:16px;right:16px}
	.kh-footer{justify-content:center;text-align:center}
	body.admin-bar .kh-nav{top:46px}
}

/* Táctil: sin efectos hover que "queden pegados" */
@media (hover:none){
	.kh-card:hover,.kh-step:hover,.kh-btn-primary:hover,.kh-wa-fab:hover{transform:none}
}

/* ---------- Accesibilidad / rendimiento ---------- */
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	.kh-fadeup,.kh-cta-logo,.kh-404-logo,.kh-blob,.kh-hero-glow,.kh-cta-glow{animation:none}
	.kh-js [data-reveal]{opacity:1;transform:none;transition:none}
	.kh-price-inner{transition:none}
	.khepri-landing a{transition:none}
}
