/* ============================================================
   Wagon · Base design system
   Tokens y componentes extraidos del sistema de diseno vigente
   en wagon.com.co (BaseLayout). No editar a mano: si el sistema
   cambia, re-sincronizar desde Claude Design.
   ============================================================ */

@font-face{font-family:Gilroy;src:url(/fonts/Gilroy-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Gilroy;src:url(/fonts/Gilroy-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Gilroy;src:url(/fonts/Gilroy-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/fonts/GeistMono-latin.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap;unicode-range:U+00??,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:"Geist Mono";src:url(/fonts/GeistMono-latin-ext.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap;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}

:root{
  color-scheme:dark;
  --canvas:#0d0c11;--canvas-soft:#16141b;--surface:#18161f;--surface-soft:#1f1c28;
  --surface-inverse:#f7f6f3;
  --border:#2a2732;--border-strong:#3a3644;--border-faint:#ffffff14;
  --text:#f4f3f1;--text-soft:#c9c7cf;--text-muted:#94919c;--text-faint:#6e6b77;
  --text-inverse:#151416;--text-inverse-muted:#4a4750;
  --brand:#b879fc;--brand-tint:#a556fb24;--brand-tint-2:#a556fb38;
  --brand-border:#a556fb59;--brand-hover:#c99bfd;--brand-dark:#c9a5f7;
  --pastel-red-bg:#f0784629;--pastel-red-fg:#f6b79a;
  --pastel-blue-bg:#46a0e629;--pastel-blue-fg:#9ad1f6;
  --pastel-green-bg:#3cbe5a29;--pastel-green-fg:#9ce0a8;
  --pastel-yellow-bg:#e6b43c29;--pastel-yellow-fg:#f0d79a;
  --pastel-purple-bg:#a556fb29;--pastel-purple-fg:#d4b8f7;
  --hover-surface:#ffffff0f;--nav-bg:#0d0c11cc;--dot-grid:#ffffff0d;
  --btn-primary-bg:#f7f6f3;--btn-primary-bg-hover:#fff;--btn-primary-fg:#151416;
  --font-sans:"Gilroy","SF Pro Display","Helvetica Neue",sans-serif;
  --font-mono:"Geist Mono","SF Mono",ui-monospace,monospace;
  --font-serif:var(--font-sans);
  --display:clamp(42px,6vw,80px);
  --h1:clamp(32px,4.2vw,52px);--h2:clamp(25px,3vw,38px);--h3:clamp(20px,2vw,25px);--h4:18px;
  --body:16px;--small:14px;--micro:12px;
  --container:1200px;--container-narrow:880px;--container-prose:720px;--gutter:32px;
  --r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:9999px;
  --shadow-rest:0 0 0 #0000;--shadow-hover:0 2px 8px #0000000a;--shadow-lift:0 6px 24px #0000000d;
  --dur-fast:.16s;--dur:.24s;--dur-slow:.6s;
  --ease:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.4,0,.2,1);
}
@media(max-width:768px){:root{--gutter:20px}}

*,:before,:after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-feature-settings:"ss01","cv11";scroll-behavior:smooth}
html,body{overflow-x:clip}
body{background:var(--canvas);color:var(--text);font-family:var(--font-sans);font-size:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;letter-spacing:-.005em;font-feature-settings:"ss01","cv11";font-weight:400;line-height:1.6}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img,svg{max-width:100%;display:block}
input,textarea,select,button{font:inherit;color:inherit;background:0 0;border:0;outline:0}
::selection{background:var(--brand);color:#fff}
.tabular{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}

/* --- Tipografia --- */
h1,.display{font-family:var(--font-serif);font-weight:400;font-size:var(--display);letter-spacing:-.035em;color:var(--text);line-height:.95}
h2{font-family:var(--font-serif);font-weight:400;font-size:var(--h1);letter-spacing:-.025em;line-height:1.05}
h3{font-family:var(--font-serif);font-weight:400;font-size:var(--h2);letter-spacing:-.02em;line-height:1.1}
h4{font-family:var(--font-sans);font-weight:500;font-size:var(--h3);letter-spacing:-.01em;line-height:1.25}
.lead{color:var(--text-soft);max-width:640px;font-size:19px;line-height:1.55}
.italic-accent{font-family:var(--font-serif);font-style:italic}

/* --- Layout --- */
.wrap{width:100%;max-width:var(--container);padding:0 var(--gutter);margin:0 auto}
.wrap-narrow{width:100%;max-width:var(--container-narrow);padding:0 var(--gutter);margin:0 auto}
.wrap-prose{width:100%;max-width:var(--container-prose);padding:0 var(--gutter);margin:0 auto}
.section-head{max-width:720px;margin-bottom:64px}
.section-head .eyebrow{margin-bottom:20px}

/* --- Eyebrow --- */
.eyebrow{font-family:var(--font-mono);font-size:var(--micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:500}
.eyebrow .dot{background:var(--brand);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;transform:translateY(-1px)}

/* --- Botones --- */
.btn{letter-spacing:-.005em;cursor:pointer;transition:transform var(--dur-fast) var(--ease),background var(--dur-fast),color var(--dur-fast),box-shadow var(--dur) var(--ease),border-color var(--dur-fast);white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:14px;font-weight:500;display:inline-flex}
.btn:active{transform:scale(.98)}
.btn:focus-visible{box-shadow:0 0 0 4px var(--brand-tint-2);outline:none}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);isolation:isolate;position:relative;will-change:transform}
.btn-primary:hover:not([disabled]){background:var(--btn-primary-bg-hover)}
.btn-primary:after{content:"";border-radius:inherit;opacity:0;transition:opacity .28s var(--ease);pointer-events:none;z-index:-1;background:radial-gradient(60% 80%,#a556fb40,#0000 70%);position:absolute;inset:-2px}
.btn-primary:hover:not([disabled]):after{opacity:1}
.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}
.btn-secondary:hover:not([disabled]){border-color:var(--brand);color:var(--brand-dark);box-shadow:var(--shadow-hover)}
.btn-accent{background:var(--brand-tint);color:var(--brand-dark);border-color:var(--brand-border)}
.btn-accent:hover:not([disabled]){background:var(--brand-tint-2);border-color:var(--brand)}
.btn-ghost{color:var(--text-soft);padding:10px 14px}
.btn-ghost:hover{color:var(--brand-dark);background:var(--brand-tint)}
.btn-lg{padding:16px 26px;font-size:15px}
.btn-sm{padding:9px 14px;font-size:13px}
.btn-block{width:100%}
.btn-link{color:var(--text);transition:gap var(--dur-fast) var(--ease),color var(--dur-fast);border-bottom:1px solid;align-items:center;gap:6px;padding-bottom:2px;font-size:14px;display:inline-flex}
.btn-link:hover{color:var(--brand-dark);gap:10px}
.arrow-link{color:var(--text);transition:gap var(--dur-fast),color var(--dur-fast);align-items:center;gap:6px;font-size:14px;display:inline-flex}
.arrow-link:hover{color:var(--brand-dark);gap:10px}

/* --- Pills --- */
.pill-row{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}
.pill{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}
.pill .ico{color:var(--text-muted);font-size:14px}
.pill-mono{font-family:var(--font-mono);letter-spacing:.02em;font-size:12px}

/* --- Campos de formulario --- */
.field{border:1.5px solid var(--border);border-radius:var(--r-md);transition:border-color var(--dur-fast),box-shadow var(--dur-fast);background:var(--canvas);gap:4px;padding:12px 14px;display:grid}
.field:focus-within{border-color:var(--brand-border);box-shadow:0 0 0 4px var(--brand-tint)}
.field label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px}
.field input,.field select,.field textarea{color:var(--text);width:100%;font-size:16px;resize:none}
.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}
.field-full{grid-column:1/-1}
.field-row{gap:14px;display:grid}
.field-row.cols-2{grid-template-columns:1fr 1fr}
@media(max-width:640px){.field-row.cols-2{grid-template-columns:1fr}}
.field.is-invalid{border-color:var(--pastel-red-fg)}
.field-error{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--pastel-red-fg);margin-top:6px}
.field-hint{color:var(--text-muted);font-size:13px;margin-top:8px;line-height:1.5}

/* --- Badge live (indicador en vivo) --- */
.hero-live{border:1px solid var(--brand-border);border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.04em;color:var(--brand-dark);background:linear-gradient(135deg,#a556fb14,#a556fb05);align-items:center;gap:10px;padding:7px 14px 7px 12px;font-size:11px;display:inline-flex;box-shadow:0 0 0 4px #a556fb0d}
.hero-live b{font-family:var(--font-sans);color:var(--text);letter-spacing:-.005em;font-weight:600}
.hero-live-dot{background:#16a34a;border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative}
.hero-live-dot:after{content:"";opacity:.35;background:#16a34a;border-radius:50%;animation:1.8s ease-out infinite liveDot;position:absolute;inset:-3px}
.hero-live.is-rec{border-color:#f0784659;color:var(--pastel-red-fg);background:linear-gradient(135deg,#f0784614,#f0784605)}
.hero-live.is-rec .hero-live-dot{background:#e5484d}
.hero-live.is-rec .hero-live-dot:after{background:#e5484d}
@keyframes liveDot{0%{opacity:.5;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}

/* --- Rail de pasos --- */
.rail-progress{flex-direction:column;gap:22px;margin:0;padding:0;list-style:none;display:flex;position:relative}
.rail-progress:before{content:"";background:linear-gradient(to bottom,transparent,var(--border) 8%,var(--border) 92%,transparent);width:1px;position:absolute;top:10px;bottom:10px;left:11px}
.rail-step{color:var(--text-faint);transition:color .42s var(--ease);cursor:default;align-items:center;gap:14px;padding-left:6px;display:flex;position:relative}
.rail-step:before{content:"";background:var(--surface);border:1.5px solid var(--border-strong);width:11px;height:11px;transition:background .42s var(--ease),border-color .42s var(--ease),box-shadow .42s var(--ease),transform .42s var(--ease);z-index:1;border-radius:50%;flex-shrink:0;position:relative}
.rail-step-text{flex-direction:column;gap:1px;line-height:1.1;display:flex}
.rail-step-num{font-family:var(--font-mono);letter-spacing:.08em;color:inherit;font-size:10.5px;font-weight:600}
.rail-step-label{font-family:var(--font-sans);letter-spacing:-.005em;color:var(--text-faint);opacity:.65;transition:color .42s var(--ease),opacity .42s var(--ease);font-size:11px;font-weight:500}
.rail-step.is-done{color:var(--text-muted)}
.rail-step.is-done:before{background:var(--brand);border-color:var(--brand)}
.rail-step.is-done .rail-step-label{opacity:.9;color:var(--text-muted)}
.rail-step.is-active{color:var(--brand-dark)}
.rail-step.is-active:before{background:var(--brand);border-color:var(--brand);transform:scale(1.15);box-shadow:0 0 0 5px #a556fb29}
.rail-step.is-active .rail-step-label{color:var(--text);opacity:1}

/* --- Progreso segmentado --- */
.pag-segs{display:grid;gap:10px;grid-auto-flow:column;grid-auto-columns:1fr}
.pag-seg{appearance:none;cursor:default;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:6px;padding:0;display:flex}
.pag-seg-track{background:var(--border);border-radius:99px;width:100%;height:3px;display:block;position:relative;overflow:hidden}
.pag-seg-fill{background:linear-gradient(90deg,var(--brand) 0%,var(--brand-hover) 100%);border-radius:inherit;width:0;height:100%;transition:width .52s var(--ease);display:block;box-shadow:0 0 8px #a556fb66}
.pag-seg.is-done .pag-seg-fill,.pag-seg.is-active .pag-seg-fill{width:100%}
.pag-seg-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-faint);transition:color .32s var(--ease);font-size:10px}
.pag-seg.is-done .pag-seg-label{color:var(--text-muted)}
.pag-seg.is-active .pag-seg-label{color:var(--brand-dark);font-weight:600}

/* --- Progreso de scroll --- */
.scroll-progress{z-index:300;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-hover) 100%);transform-origin:0;will-change:transform;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}

/* --- Nav --- */
.nav{z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);transition:border-color var(--dur) var(--ease);border-bottom:1px solid #0000;position:sticky;top:0}
.nav.scrolled{border-bottom-color:var(--border)}
.nav-inner{max-width:var(--container);padding:18px var(--gutter);align-items:center;justify-content:space-between;gap:24px;margin:0 auto;display:flex}
.nav .brand-logo{display:inline-flex;align-items:center;line-height:0}
.nav .brand-logo img{display:block;height:22px;width:auto}
.skip-link{z-index:1000;background:var(--text);color:var(--canvas);border-radius:var(--r-sm);transition:top var(--dur-fast) var(--ease);padding:10px 16px;font-size:14px;font-weight:500;position:absolute;top:-60px;left:12px}
.skip-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px;top:12px}

/* --- Page hero --- */
.page-hero{padding:72px 0 48px}
.page-hero .eyebrow{margin-bottom:24px}
.page-hero h1{letter-spacing:-.03em;margin-bottom:24px;font-size:clamp(40px,5.6vw,72px)}
.page-hero .lead{max-width:600px;font-size:19px}
.breadcrumb{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:24px}
.breadcrumb a:hover{color:var(--text)}

/* --- Prose (descripcion de vacante) --- */
.experience-body{max-width:720px}
.experience-body h2{font-family:var(--font-serif);letter-spacing:-.02em;margin:56px 0 20px;font-size:clamp(28px,3vw,38px);font-weight:400;line-height:1.1}
.experience-body h2:first-child{margin-top:0}
.experience-body h3{font-family:var(--font-sans);letter-spacing:-.01em;margin:36px 0 12px;font-size:20px;font-weight:500}
.experience-body p{color:var(--text-soft);margin-bottom:20px;font-size:17px;line-height:1.65}
.experience-body p strong{color:var(--text);font-weight:500}
.experience-body ul,.experience-body ol{gap:10px;margin:0 0 24px;display:grid}
.experience-body ul li,.experience-body ol li{color:var(--text-soft);gap:12px;padding-left:4px;font-size:16px;line-height:1.6;display:flex}
.experience-body ul li:before{content:"";background:var(--text);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:10px}
.experience-body ol{counter-reset:ol}
.experience-body ol li:before{counter-increment:ol;content:counter(ol,decimal-leading-zero);font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;flex-shrink:0;min-width:28px;margin-top:6px;font-size:12px}
.experience-body blockquote{border-left:2px solid var(--text);font-family:var(--font-serif);letter-spacing:-.015em;color:var(--text);margin:32px 0;padding:4px 0 4px 24px;font-size:26px;line-height:1.3}

/* --- Cards --- */
.cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:28px}
.cell-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;font-size:11px}
.cell h4{font-family:var(--font-serif);letter-spacing:-.015em;margin-bottom:10px;font-size:24px;font-weight:400;line-height:1.15}

/* --- Meta de vacante --- */
.meta-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;display:grid}
.meta-item .lbl{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:10px}
.meta-item .val{font-size:15px;font-weight:500}

/* --- FAQ --- */
.faq-list{display:grid}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:first-child{border-top:1px solid var(--border)}
.faq-q{width:100%;font-family:var(--font-serif);letter-spacing:-.015em;color:var(--text);text-align:left;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;font-size:22px;line-height:1.3;display:flex;cursor:pointer}
.faq-q .toggle{border:1px solid var(--border);width:28px;height:28px;font-family:var(--font-mono);color:var(--text);transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur) var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:inline-flex}
.faq-q:hover .toggle{background:var(--text);color:var(--canvas);border-color:var(--text)}
.faq-a{transition:grid-template-rows var(--dur-slow) var(--ease);grid-template-rows:0fr;display:grid}
.faq-a>.inner{overflow:hidden}
.faq-a .inner-content{max-width:680px;color:var(--text-soft);padding:0 0 28px;line-height:1.7}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-q .toggle{transform:rotate(45deg)}

/* --- CTA band --- */
.cta-band{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:64px 0}

/* --- Footer --- */
.site-footer{border-top:1px solid var(--border);padding:56px 0 32px;margin-top:96px}
.footer-bottom{font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;font-size:12px;display:flex}
.footer-bottom-links{flex-wrap:wrap;gap:24px;display:flex}
.footer-bottom-links a:hover{color:var(--text)}

/* --- Utilidades --- */
.stack{display:grid}
.stack-8{gap:8px}.stack-12{gap:12px}.stack-16{gap:16px}.stack-24{gap:24px}.stack-32{gap:32px}
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.divider{border-top:1px solid var(--border)}
.muted{color:var(--text-muted)}
.soft{color:var(--text-soft)}
.mono{font-family:var(--font-mono)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
