/* ==========================================================================
   ENIGMA STUDIOS — Hoja de estilos
   ========================================================================== */

@font-face{font-family:'Inter';font-style:normal;font-weight:300 700;font-display:swap;src:url('assets/fonts/inter-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:'Inter';font-style:normal;font-weight:300 700;font-display:swap;src:url('assets/fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02D9,U+02DB-02DD,U+02DF-02FF,U+0300-0303,U+0305-0307,U+0309-0328,U+032A-0338,U+033A-036F,U+0489,U+1E00-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('assets/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}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500 700;font-display:swap;src:url('assets/fonts/space-grotesk-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02D9,U+02DB-02DD,U+02DF-02FF,U+0300-0303,U+0305-0307,U+0309-0328,U+032A-0338,U+033A-036F,U+0489,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --bg:#07121F;
  --bg-deep:#050E18;
  --surface:#0D1B2A;
  --surface-2:#112238;
  --line:#13324A;
  --line-soft:rgba(19,50,74,.6);
  --cyan:#04B0D4;
  --cyan-bright:#22D3EE;
  --cyan-wash:rgba(4,176,212,.08);
  --heading:#E6F1F8;
  --body:#9FB3C8;
  --muted:#5E7A93;
  --font-heading:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:16px;
  --ease:cubic-bezier(.16,1,.3,1);
  --container-max:1240px;
  --gutter:clamp(20px,4vw,48px);
  --header-h:76px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--body);background:var(--bg);scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{position:relative;min-height:100vh;overflow-x:hidden;background:var(--bg)}
body.no-scroll{overflow:hidden}
:focus-visible{outline:2px solid var(--cyan-bright);outline-offset:3px;border-radius:2px}
::selection{background:var(--cyan);color:var(--bg)}
a{color:inherit;text-decoration:none;transition:color .25s var(--ease)}
a:hover{color:var(--cyan-bright)}
ul,ol{list-style:none}
img,svg,video{display:block;max-width:100%}
button,input,textarea{font:inherit;color:inherit;border:none;outline:none;background:none}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.text-center{text-align:center}
.text-cyan{color:var(--cyan-bright)}
.skip-link{position:absolute;left:12px;top:-60px;z-index:200;padding:10px 16px;border-radius:var(--radius-sm);background:var(--cyan);color:var(--bg);font-weight:600}
.skip-link:focus{top:12px;color:var(--bg)}

/* Fondo ------------------------------------------------------------------ */
.bg-circuit-grid{position:fixed;inset:0;pointer-events:none;z-index:-2;background-image:linear-gradient(to right,rgba(4,176,212,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(4,176,212,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 0%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 10%,transparent 70%)}
.bg-glow-orb{position:fixed;border-radius:50%;filter:blur(140px);pointer-events:none;z-index:-1;opacity:.1;width:520px;height:520px;background:var(--cyan)}
.bg-glow-orb-1{top:-10%;right:-10%}
.bg-glow-orb-2{bottom:-20%;left:-15%;opacity:.06}

/* Layout ----------------------------------------------------------------- */
.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}
.section{position:relative;padding-block:clamp(88px,12vw,160px);border-top:1px solid var(--line-soft)}
.section-padding{padding-block:clamp(80px,10vw,140px)}
.bg-section-alt{background:rgba(13,27,42,.35)}

.section-head{display:grid;gap:20px;margin-bottom:clamp(48px,6vw,80px)}
.eyebrow,.section-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-heading);font-size:.8rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-bright)}
.eyebrow-index{color:var(--muted);font-variant-numeric:tabular-nums}
.eyebrow-rule{width:28px;height:1px;background:var(--line)}
.section-title{font-family:var(--font-heading);font-size:clamp(2rem,4.2vw,3.5rem);font-weight:600;line-height:1.06;letter-spacing:-.035em;color:var(--heading);max-width:16ch}
.section-desc{font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.65;color:var(--body);max-width:44ch}

@media(min-width:960px){
  .section-head{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:48px}
  .section-head .eyebrow{grid-column:1/-1}
  .section-head .section-desc{justify-self:end}
}

.glass-card{background:rgba(13,27,42,.6);border:1px solid var(--line);border-radius:var(--radius-md);transition:border-color .35s var(--ease),background .35s var(--ease)}

/* Botones ---------------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:.95rem;font-weight:600;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);position:relative}
.btn-primary{background:linear-gradient(180deg,var(--cyan-bright) 0%,var(--cyan) 100%);border:1px solid var(--cyan-bright);color:#041424;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.btn-primary:hover{color:#041424;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 28px rgba(34,211,238,.35);transform:translateY(-1px)}
.btn-outline{background:rgba(7,18,31,.4);border:1px solid var(--line);color:var(--heading);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.btn-outline:hover{color:var(--heading);border-color:var(--cyan);background:rgba(4,176,212,.08)}
.btn-sm{height:40px;padding:0 16px;font-size:.875rem}
.btn-lg{height:54px;padding:0 26px;font-size:1rem}
.btn-block{width:100%}
.btn-icon{flex-shrink:0}
.btn-arrow{transition:transform .3s var(--ease)}
.btn:hover .btn-arrow{transform:translateX(3px)}

/* Header ----------------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:100;width:100%;background:rgba(7,18,31,.82);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line-soft);transition:background .4s var(--ease),border-color .4s var(--ease)}
.site-header--overlay{position:fixed;background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header.is-scrolled{background:rgba(7,18,31,.9);border-bottom-color:var(--line-soft);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}
.header-container{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header-h)}

.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.brand:hover{color:inherit}
.brand-logo{width:auto;height:36px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(4,176,212,.3))}
.brand-text{display:flex;flex-direction:column;gap:3px;line-height:1}
.brand-name{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;letter-spacing:.2em;color:#fff}
.brand-sub{font-family:var(--font-heading);font-size:.62rem;font-weight:500;letter-spacing:.42em;color:var(--cyan)}

.site-nav{display:none}
.nav-list{display:flex;align-items:center;gap:4px}
.nav-link{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--body);transition:color .25s var(--ease),background .25s var(--ease)}
.nav-link:hover,.nav-link.is-active{color:var(--heading);background:rgba(19,50,74,.45)}
.header-action{display:none}

.nav-toggle{display:grid;place-content:center;gap:5px;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--line);background:rgba(7,18,31,.5);cursor:pointer;z-index:101}
.hamburger-bar{display:block;width:18px;height:1.5px;border-radius:1px;background:var(--heading);transition:transform .3s var(--ease),opacity .2s}
.nav-toggle[aria-expanded="true"] .hamburger-bar:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .hamburger-bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .hamburger-bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.mobile-nav{position:fixed;inset:var(--header-h) 0 0 0;background:rgba(7,18,31,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line-soft);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;overflow-y:auto}
.mobile-nav.is-open{opacity:1;visibility:visible;transform:none}
.mobile-nav-inner{display:flex;flex-direction:column;min-height:100%;padding-block:24px 32px}
.mobile-nav-list{display:flex;flex-direction:column;margin-bottom:28px}
.mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line-soft);font-family:var(--font-heading);font-size:1.5rem;font-weight:500;letter-spacing:-.02em;color:var(--heading)}
.mobile-nav-link::after{content:'→';color:var(--muted);font-size:1.1rem}
.mobile-nav-action{margin-top:auto}
.mobile-nav-action .btn{height:56px}

/* Hero ------------------------------------------------------------------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(var(--header-h) + 40px);overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-1;background:var(--bg)}
.hero-media video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease}
.hero-media video.is-ready{opacity:1}
.hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,31,.7) 0%,rgba(7,18,31,.1) 28%,rgba(7,18,31,.25) 55%,rgba(7,18,31,.96) 100%),linear-gradient(90deg,rgba(7,18,31,.75) 0%,rgba(7,18,31,0) 65%)}
.hero-content{max-width:880px;padding-bottom:clamp(40px,6vh,72px)}
.badge-chip{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px;padding:8px 14px 8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(7,18,31,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.82rem;font-weight:500;letter-spacing:.02em;color:var(--heading)}
.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--cyan-bright);box-shadow:0 0 0 0 rgba(34,211,238,.6);animation:pulse-ring 2.4s infinite ease-out}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(34,211,238,.6)}70%{box-shadow:0 0 0 8px rgba(34,211,238,0)}100%{box-shadow:0 0 0 0 rgba(34,211,238,0)}}
.hero-title{font-family:var(--font-heading);font-size:clamp(2.4rem,6.2vw,5.25rem);font-weight:600;line-height:1.02;letter-spacing:-.045em;color:var(--heading)}
.hero-title em{font-style:normal;color:var(--cyan-bright);text-shadow:0 0 32px rgba(34,211,238,.3)}
.hero-subtitle{max-width:52ch;margin-top:24px;font-size:clamp(1.02rem,1.3vw,1.2rem);line-height:1.6;color:#B4C5D6}
.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.hero-strip{border-top:1px solid rgba(19,50,74,.8);background:linear-gradient(180deg,rgba(7,18,31,0),rgba(7,18,31,.6))}
.hero-strip ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-strip li{display:flex;align-items:center;gap:12px;padding:20px 0;font-size:.9rem;color:var(--heading)}
.hero-strip li+li{padding-left:0}
.hero-strip svg{flex-shrink:0;color:var(--cyan-bright)}
.hero-strip-num{font-family:var(--font-heading);font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}
@media(max-width:639px){.hero-strip li{padding:14px 0;font-size:.85rem}.hero-buttons .btn{flex:1 1 100%}}
@media(min-width:1024px){
  .hero-strip ul{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hero-strip li{padding:26px 24px;border-left:1px solid rgba(19,50,74,.8)}
  .hero-strip li:first-child{padding-left:0;border-left:0}
}

/* Grid de líneas finas (servicios, negocios, etc.) ------------------------ */
.hairline-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.hairline-grid>*{background:var(--bg)}

/* Servicios -------------------------------------------------------------- */
.services-grid{grid-template-columns:1fr}
.service-card{position:relative;display:flex;flex-direction:column;padding:clamp(28px,3.4vw,48px);transition:background .4s var(--ease)}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan-bright),transparent);opacity:0;transition:opacity .4s var(--ease)}
.service-card:hover{background:#0A1826}
.service-card:hover::before{opacity:1}
.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(32px,4vw,56px)}
.service-num{font-family:var(--font-heading);font-size:.8rem;letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums}
.service-icon-box{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--cyan-wash);color:var(--cyan-bright);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.service-card:hover .service-icon-box{background:var(--cyan);border-color:var(--cyan-bright);color:var(--bg)}
.service-title{font-family:var(--font-heading);font-size:clamp(1.35rem,2vw,1.75rem);font-weight:600;line-height:1.15;letter-spacing:-.025em;color:var(--heading);margin-bottom:14px}
.service-text{font-size:.98rem;line-height:1.65;color:var(--body);margin-bottom:28px;max-width:46ch}
.service-features{display:flex;flex-direction:column;margin-top:auto;border-top:1px solid var(--line-soft)}
.service-features li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:.9rem;color:var(--heading)}
.service-features li::before{content:'';width:14px;height:14px;flex-shrink:0;background:var(--cyan-bright);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3 3 7-7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3 3 7-7'/%3E%3C/svg%3E") center/contain no-repeat}
@media(min-width:768px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* A quién ayudo ---------------------------------------------------------- */
.who-we-help-grid{grid-template-columns:1fr}
.business-chip{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.8vw,36px);transition:background .4s var(--ease)}
.business-chip:hover{background:#0A1826}
.business-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);color:var(--cyan-bright);transition:border-color .35s var(--ease)}
.business-chip:hover .business-icon{border-color:var(--cyan)}
.business-name{font-family:var(--font-heading);font-size:1.2rem;font-weight:600;letter-spacing:-.02em;color:var(--heading);margin-bottom:6px}
.business-detail{font-size:.94rem;line-height:1.6;color:var(--body)}
@media(min-width:640px){.who-we-help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.who-we-help-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Proyectos -------------------------------------------------------------- */
.projects-grid{display:grid;grid-template-columns:1fr;gap:clamp(20px,2.4vw,32px)}
.project-card{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg)}
.project-card:hover{border-color:rgba(4,176,212,.5)}
.project-media{position:relative;aspect-ratio:4/3;display:grid;place-items:center;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 120%,rgba(4,176,212,.22),transparent 60%),var(--bg-deep);overflow:hidden}
.project-media::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(30deg,rgba(4,176,212,.07) 0 1px,transparent 1px 28px),repeating-linear-gradient(150deg,rgba(4,176,212,.07) 0 1px,transparent 1px 28px);mask-image:radial-gradient(ellipse at 50% 60%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 60%,#000 20%,transparent 75%)}
.project-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.project-status{position:absolute;top:16px;left:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:rgba(7,18,31,.85);font-family:var(--font-heading);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--heading);white-space:nowrap}
.project-status::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan-bright)}
.project-status--example::before{background:transparent;border:1px solid var(--muted)}
.project-placeholder{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 22px;border:1px dashed rgba(94,122,147,.6);border-radius:var(--radius-sm);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.project-placeholder img{position:static;width:34px;height:auto;opacity:.7}
.project-body{display:flex;flex-direction:column;flex-grow:1;padding:clamp(24px,2.6vw,32px)}
.project-kind{font-family:var(--font-heading);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-bright);margin-bottom:10px}
.project-title{font-family:var(--font-heading);font-size:1.45rem;font-weight:600;line-height:1.15;letter-spacing:-.025em;color:var(--heading);margin-bottom:12px}
.project-description{font-size:.95rem;line-height:1.65;color:var(--body);margin-bottom:24px;flex-grow:1}
.project-tags{display:flex;flex-wrap:wrap;gap:6px}
.tech-tag{padding:5px 10px;border-radius:4px;border:1px solid var(--line);font-size:.76rem;font-weight:500;color:var(--body)}
@media(min-width:900px){.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Proceso ---------------------------------------------------------------- */
.timeline-container{display:grid;grid-template-columns:1fr;counter-reset:step}
.timeline-track{display:none}
.timeline-step{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;padding-bottom:40px}
.timeline-step::before{content:'';position:absolute;left:27px;top:56px;bottom:0;width:1px;background:var(--line)}
.timeline-step:last-child{padding-bottom:0}
.timeline-step:last-child::before{display:none}
.step-marker{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:var(--bg);transition:border-color .4s var(--ease),box-shadow .4s var(--ease)}
.timeline-step:hover .step-marker{border-color:var(--cyan);box-shadow:0 0 22px rgba(4,176,212,.25)}
.step-number{font-family:var(--font-heading);font-size:.95rem;font-weight:600;color:var(--cyan-bright);font-variant-numeric:tabular-nums}
.step-content{padding-top:12px}
.step-title{font-family:var(--font-heading);font-size:1.4rem;font-weight:600;letter-spacing:-.025em;color:var(--heading);margin-bottom:10px}
.step-text{font-size:.95rem;line-height:1.65;color:var(--body);max-width:40ch}
@media(min-width:1024px){
  .timeline-container{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
  .timeline-track{display:block;position:absolute;left:28px;right:28px;top:28px;height:1px;background:linear-gradient(90deg,var(--line),var(--cyan) 50%,var(--line))}
  .timeline-container{position:relative}
  .timeline-step{grid-template-columns:1fr;gap:28px;padding-bottom:0}
  .timeline-step::before{display:none}
  .step-marker{position:relative;z-index:1}
  .step-content{padding-top:0}
}

/* Por qué ---------------------------------------------------------------- */
.why-layout{display:grid;grid-template-columns:1fr;gap:clamp(48px,6vw,96px)}
.founder{display:flex;flex-direction:column;gap:32px}
.founder-quote{font-family:var(--font-heading);font-size:clamp(1.9rem,3.6vw,3rem);font-weight:500;line-height:1.1;letter-spacing:-.035em;color:var(--heading);text-wrap:balance}
.founder-quote span{color:var(--cyan-bright)}
.founder-sign{display:flex;align-items:center;gap:16px;padding-top:24px;border-top:1px solid var(--line-soft)}
.founder-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.founder-avatar img{width:22px;height:auto}
.founder-name{font-family:var(--font-heading);font-weight:600;color:var(--heading)}
.founder-role{font-size:.85rem;color:var(--muted)}
.why-grid{grid-template-columns:1fr}
.why-card{padding:clamp(24px,2.6vw,36px)}
.why-icon-box{display:grid;place-items:center;width:40px;height:40px;margin-bottom:22px;color:var(--cyan-bright)}
.why-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:600;letter-spacing:-.02em;color:var(--heading);margin-bottom:10px}
.why-text{font-size:.94rem;line-height:1.65;color:var(--body)}
@media(min-width:640px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.why-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.founder{position:sticky;top:calc(var(--header-h) + 40px)}}

/* Contacto --------------------------------------------------------------- */
.contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,40px)}
.contact-direct-info{display:flex;flex-direction:column;gap:16px}
.contact-wa{position:relative;display:flex;flex-direction:column;gap:20px;padding:clamp(28px,3.2vw,40px);border-radius:var(--radius-lg);border:1px solid rgba(4,176,212,.45);background:radial-gradient(ellipse at 100% 0%,rgba(4,176,212,.2),transparent 60%),var(--surface);overflow:hidden}
.contact-wa-label{font-family:var(--font-heading);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-bright)}
.contact-wa-number{font-family:var(--font-heading);font-size:clamp(2rem,4vw,2.75rem);font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--heading);font-variant-numeric:tabular-nums}
.contact-wa-text{font-size:.95rem;color:var(--body);max-width:36ch}
.contact-wa .btn{align-self:flex-start}
.contact-channel-card{display:flex;align-items:center;gap:16px;padding:20px 22px}
a.contact-channel-card:hover{border-color:var(--cyan);color:inherit}
.channel-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);color:var(--cyan-bright)}
.channel-text{display:flex;flex-direction:column;min-width:0}
.channel-label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.channel-value,.channel-link{font-family:var(--font-heading);font-size:1rem;font-weight:500;color:var(--heading);overflow-wrap:anywhere}

.contact-form-wrapper{padding:clamp(28px,3.4vw,48px);border-radius:var(--radius-lg)}
.form-title{font-family:var(--font-heading);font-size:1.6rem;font-weight:600;letter-spacing:-.025em;color:var(--heading);margin-bottom:6px}
.form-subtitle{font-size:.95rem;color:var(--body);margin-bottom:32px}
.contact-form{display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;grid-template-columns:1fr;gap:20px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-label{font-size:.82rem;font-weight:500;color:var(--heading)}
.form-input,.form-textarea{width:100%;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:rgba(7,18,31,.7);font-size:1rem;color:var(--heading);transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.form-input::placeholder,.form-textarea::placeholder{color:#4B637B}
.form-input:hover,.form-textarea:hover{border-color:#1C4563}
.form-input:focus,.form-textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(4,176,212,.18)}
.form-textarea{resize:vertical;min-height:130px}
.form-checkbox-group{display:flex;align-items:flex-start;gap:12px}
.form-checkbox{width:18px;height:18px;margin-top:3px;flex-shrink:0;accent-color:var(--cyan);cursor:pointer}
.form-checkbox-label{font-size:.9rem;line-height:1.5;color:var(--body);cursor:pointer}
.form-checkbox-label a,.form-privacy-note a{color:var(--cyan-bright);text-decoration:underline;text-underline-offset:3px}
.form-privacy-note{font-size:.8rem;line-height:1.5;color:var(--muted);text-align:center}
.btn-submit{height:56px}
.btn-loader{display:none;width:20px;height:20px;border:2px solid #041424;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.btn-submit.is-submitting .btn-text{opacity:0}
.btn-submit.is-submitting .btn-loader{display:block;position:absolute}
.form-feedback{display:none;padding:16px 18px;border-radius:var(--radius-sm);font-size:.95rem;line-height:1.5}
.form-feedback.is-success{display:block;background:rgba(4,176,212,.1);border:1px solid var(--cyan);color:var(--heading)}
.form-feedback.is-error{display:block;background:rgba(239,68,68,.1);border:1px solid #ef4444;color:#fca5a5}
@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}

/* Footer ----------------------------------------------------------------- */
.site-footer{position:relative;background:var(--bg-deep);border-top:1px solid var(--line-soft);padding-top:clamp(64px,8vw,96px);overflow:hidden}
.footer-container{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:56px}
.footer-brand-col{display:flex;flex-direction:column;gap:16px}
.footer-tagline{font-size:.95rem;color:var(--body);max-width:30ch}
.footer-location{font-size:.85rem;color:var(--muted)}
.footer-col-title{display:block;margin-bottom:18px;font-family:var(--font-heading);font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.footer-nav-list,.footer-contact-list{display:flex;flex-direction:column;gap:12px}
.footer-link,.footer-contact-link{font-size:.95rem;color:var(--heading)}
.footer-link:hover,.footer-contact-link:hover{color:var(--cyan-bright)}
.footer-mark{display:block;overflow:hidden;font-family:var(--font-heading);font-size:clamp(2.5rem,11vw,11rem);font-weight:700;line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px var(--line);text-align:center;white-space:nowrap;user-select:none;transform:translateY(12%)}
.footer-bottom{border-top:1px solid var(--line-soft);padding-block:24px}
.footer-bottom-container{display:flex;justify-content:center}
.copyright-text{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;font-size:.82rem;color:var(--muted);text-align:center}
.footer-divider{color:var(--line)}
.footer-bottom-link{color:var(--body)}
@media(min-width:768px){.footer-container{grid-template-columns:2fr 1fr 1fr 1.4fr;gap:32px}}

/* WhatsApp flotante ------------------------------------------------------ */
.floating-whatsapp{position:fixed;right:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);z-index:99;display:flex;align-items:center;gap:12px}
.floating-icon-wrapper{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(180deg,var(--cyan-bright),var(--cyan));color:#041424;box-shadow:0 0 0 1px rgba(34,211,238,.6),0 10px 30px rgba(4,176,212,.35);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.floating-whatsapp:hover .floating-icon-wrapper{transform:translateY(-2px);box-shadow:0 0 0 1px var(--cyan-bright),0 0 32px rgba(34,211,238,.5)}
.floating-tooltip{display:none;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:rgba(13,27,42,.95);font-size:.85rem;font-weight:500;color:var(--heading);white-space:nowrap;opacity:0;transform:translateX(6px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.floating-whatsapp:hover .floating-tooltip{opacity:1;transform:none}
@media(min-width:768px){.floating-tooltip{display:block}}

/* Revelado --------------------------------------------------------------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.reveal.is-visible{opacity:1;transform:none}
.hero .reveal{transition-duration:1.2s}

/* Desktop ---------------------------------------------------------------- */
@media(min-width:1024px){
  .site-nav{display:block}
  .header-action{display:block}
  .nav-toggle{display:none}
  .mobile-nav{display:none}
}

/* Páginas legales -------------------------------------------------------- */
.legal-main{padding-block:clamp(56px,7vw,96px) clamp(80px,9vw,128px);min-height:calc(100vh - 200px)}
.legal-main>.container{max-width:880px}
.legal-header{margin-bottom:40px}
.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);font-size:.88rem;font-weight:500;color:var(--body)}
.back-link:hover{border-color:var(--cyan);color:var(--heading)}
.legal-title{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,3.25rem);font-weight:600;line-height:1.05;letter-spacing:-.035em;color:var(--heading);margin-bottom:12px}
.legal-meta{font-size:.9rem;color:var(--muted)}
.summary-box{margin-bottom:40px;padding:28px;border-radius:var(--radius-md);border:1px solid rgba(4,176,212,.4);background:var(--cyan-wash)}
.summary-box-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--cyan-bright)}
.summary-box-text{font-size:.98rem;line-height:1.7;color:var(--heading)}
.legal-content-card{display:flex;flex-direction:column;gap:40px;padding:clamp(28px,4vw,56px);border-radius:var(--radius-lg)}
.legal-section{display:flex;flex-direction:column;gap:14px}
.legal-section-title{padding-bottom:12px;border-bottom:1px solid var(--line-soft);font-family:var(--font-heading);font-size:1.35rem;font-weight:600;letter-spacing:-.02em;color:var(--heading)}
.legal-paragraph{font-size:.98rem;line-height:1.8;color:var(--body)}
.legal-list{display:flex;flex-direction:column;gap:8px;padding-left:20px}
.legal-list li{list-style:disc;font-size:.96rem;line-height:1.7;color:var(--body)}
.legal-list li::marker{color:var(--cyan)}
.placeholder-badge{display:inline-block;padding:2px 8px;border-radius:4px;border:1px dashed #eab308;background:rgba(234,179,8,.12);font-size:.9rem;font-weight:600;color:#facc15}
.legal-contact-box{display:flex;flex-direction:column;gap:8px;padding:20px 24px;border-radius:var(--radius-sm);border:1px solid var(--line);background:rgba(7,18,31,.7)}
.legal-contact-item{font-size:.94rem;color:var(--heading)}
.legal-contact-item strong{color:var(--cyan-bright);font-weight:600}
.legal-contact-item a{color:var(--cyan-bright)}
.footer-legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:24px}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
  .hero-media video{display:none}
}
