/* ==========================================================================
   Talenthia NET — Hoja de estilos
   Paleta y tipografía recuperadas del sitio original (Outfit + teal/carmesí/dorado)
   ========================================================================== */

/* ---- Fuentes autoalojadas (Outfit) ---- */
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/outfit-400.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/outfit-600.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/outfit-700.woff2') format('woff2')}

/* ---- Tokens ---- */
:root{
  /* Marca — valores tomados del sitio actual (tema Ollie) */
  --teal:#12647a;        /* main: títulos, enlaces, botón outline */
  --teal-900:#0B4A5C;
  --teal-700:#1A5A6D;
  --crimson:#ae3543;     /* primary: botones fill */
  --crimson-600:#94303c;
  --gold:#D8943C;
  --gold-600:#C07E28;
  --plum:#382844;
  --cream:#F4E2CA;
  --cyan-100:#B1E7F6;
  /* Neutros */
  --ink:#232323;         /* texto base (primary-alt-accent) */
  --muted:#586A6E;
  --bg:#FFFFFF;
  --surface:#F4F7F8;
  --line:#E6ECEC;
  /* Sistema */
  --font:'Outfit',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --container:1160px;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 10px 30px rgba(15,100,124,.12);
  --shadow-lg:0 24px 60px rgba(15,100,124,.20);
  --ring:0 0 0 4px rgba(216,148,60,.35);
  --tr:.28s cubic-bezier(.22,.61,.36,1);
}

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);
  font-size:1.0625rem;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-decoration:none;transition:color var(--tr)}
a:hover{color:var(--crimson)}
h1,h2,h3,h4{line-height:1.15;font-weight:700;color:var(--plum);margin:0 0 .5em}
h1{font-size:clamp(2.2rem,1.4rem + 3.4vw,3.5rem);letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,1.2rem + 2.2vw,2.5rem);letter-spacing:-.015em}
h3{font-size:clamp(1.25rem,1.05rem + 1vw,1.6rem)}
p{margin:0 0 1rem}
strong{font-weight:600;color:var(--plum)}
ul{margin:0 0 1rem;padding-left:1.15rem}
li{margin:.35rem 0}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}

/* ---- Layout ---- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:1.25rem}
.section{padding:clamp(3.25rem,2rem + 5vw,6rem) 0}
.section--surface{background:var(--surface)}
.section--tight{padding-top:clamp(2rem,1.4rem + 2vw,3rem)}
.center{text-align:center}
.measure{max-width:62ch}
.measure.center{margin-inline:auto}
.lead{font-size:clamp(1.1rem,1rem + .5vw,1.3rem);color:var(--muted)}

/* ---- Botones ---- */
.btn{
  --btn-bg:var(--crimson);--btn-fg:#fff;
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:inherit;font-size:1rem;font-weight:600;line-height:1;
  padding:.9rem 1.5rem;border-radius:999px;border:2px solid transparent;
  background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;
  transition:transform var(--tr),box-shadow var(--tr),background var(--tr),color var(--tr);
  will-change:transform;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow);color:var(--btn-fg)}
.btn:active{transform:translateY(0)}
.btn--gold{--btn-bg:var(--gold)}
.btn--gold:hover{--btn-bg:var(--gold-600)}
.btn--crimson:hover{--btn-bg:var(--crimson-600)}
.btn--outline{--btn-bg:transparent;--btn-fg:var(--teal);border-color:var(--teal)}
.btn--outline:hover{--btn-bg:var(--teal);--btn-fg:#fff;border-color:var(--teal)}
.btn--dark{--btn-bg:var(--plum)}
.btn--block{width:100%;justify-content:center}

/* ---- Header / Nav ---- */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;gap:1.5rem;min-height:74px}
.brand{display:flex;align-items:center;gap:.6rem;flex:0 0 auto}
.brand img{height:34px;width:auto}
.brand span{font-weight:700;font-size:1.15rem;color:var(--plum);letter-spacing:-.01em}
.nav{margin-left:auto;display:flex;align-items:center;gap:1.5rem}
.nav a{color:var(--plum);font-weight:500;position:relative;padding:.25rem 0}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--gold);transition:width var(--tr)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--crimson)}
.nav a:hover::after,.nav a[aria-current="page"]::after{width:100%}
.nav .nav-cta{display:none}
.header-cta{display:flex;gap:.6rem;flex:0 0 auto}
.header-cta .btn{padding:.7rem 1.15rem;font-size:.95rem}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:.4rem}
.nav-toggle svg{width:28px;height:28px;stroke:var(--plum)}
@media (max-width:900px){
  .nav,.header-cta{display:none}
  .nav-toggle{display:inline-flex}
  .site-header.is-open .nav{
    display:flex;position:absolute;inset:74px 0 auto 0;flex-direction:column;
    align-items:stretch;gap:.25rem;background:#fff;padding:1rem 1.25rem 1.5rem;
    border-bottom:1px solid var(--line);box-shadow:var(--shadow);
  }
  .site-header.is-open .nav a{padding:.7rem 0;border-bottom:1px solid var(--line)}
  /* Botones CTA dentro del menú móvil */
  .site-header.is-open .nav .nav-cta{
    display:inline-flex;justify-content:center;margin-top:.5rem;padding:.9rem 1.5rem;
    border-bottom:2px solid transparent;
  }
  .site-header.is-open .nav .nav-cta.btn--crimson{color:#fff}
  .site-header.is-open .nav .nav-cta.btn--outline{color:var(--teal);border-color:var(--teal)}
  .site-header.is-open .nav .nav-cta.btn--outline:hover{color:#fff}
  .nav a.nav-cta::after{display:none}
}

/* ---- Hero (versión clara, como el sitio actual: fondo blanco, H1 #12647a, texto #232323) ---- */
.hero{position:relative;overflow:hidden;background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line)}
.hero .container{position:relative;z-index:2;padding-top:clamp(3.5rem,2rem + 6vw,7rem);padding-bottom:clamp(3.5rem,2rem + 6vw,7rem)}
.hero h1{color:var(--teal);max-width:16ch}
.hero .lead{color:var(--ink);max-width:56ch}
.hero .lead strong{color:var(--ink)}
.hero-eyebrow{font-size:.95rem;font-weight:500;color:var(--ink);margin:0 0 .75rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.hero-badge{
  display:inline-flex;align-items:center;gap:.5rem;background:var(--surface);
  border:1px solid var(--line);color:var(--teal);font-weight:500;font-size:.9rem;
  padding:.45rem 1rem;border-radius:999px;margin-bottom:1.25rem;
}

/* ---- Grids / tarjetas ---- */
.grid{display:grid;gap:1.5rem}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:860px){.grid--3,.grid--2{grid-template-columns:1fr}}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.75rem;box-shadow:0 1px 0 rgba(15,100,124,.03);
  transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.card .ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:1rem;background:var(--surface);color:var(--teal)}
.card .ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}
.card h3{margin-bottom:.4rem}
.card p{color:var(--muted);margin-bottom:1rem}
.card a{font-weight:600}

/* Split texto + imagen */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,1rem + 3vw,3.5rem);align-items:center}
.split--reverse .split-media{order:-1}
@media (max-width:860px){.split{grid-template-columns:1fr}.split--reverse .split-media{order:0}}
.split-media img{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%}
.split-media{position:relative}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--plum),var(--teal));color:#fff;border-radius:var(--radius);padding:clamp(2rem,1.2rem + 3vw,3.25rem)}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.88)}
.cta-band .hero-actions{margin-top:1.5rem}
/* Botón outline blanco sobre fondo oscuro */
.cta-band .btn--outline{--btn-fg:#fff;border-color:rgba(255,255,255,.65)}
.cta-band .btn--outline:hover{--btn-bg:rgba(255,255,255,.14);--btn-fg:#fff;border-color:#fff}

/* Lista con check dorado */
.checklist{list-style:none;padding:0}
.checklist li{position:relative;padding-left:2rem;margin:.6rem 0}
.checklist li::before{
  content:"";position:absolute;left:0;top:.5em;width:1.1em;height:1.1em;border-radius:50%;
  background:var(--gold);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9.6 16.6 5 12l1.4-1.4 3.2 3.2 7.9-7.9L19 7.4z'/%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 24 24'%3E%3Cpath fill='%23fff' d='M9.6 16.6 5 12l1.4-1.4 3.2 3.2 7.9-7.9L19 7.4z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ---- Contacto ---- */
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,1rem + 3vw,3rem)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.info-list{list-style:none;padding:0;margin:1.25rem 0 0}
.info-list li{display:flex;gap:.75rem;align-items:flex-start;margin:.9rem 0}
.info-list svg{width:22px;height:22px;flex:0 0 22px;stroke:var(--teal);fill:none;stroke-width:1.8;margin-top:.2rem}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,1rem + 2vw,2.5rem);box-shadow:var(--shadow)}
.form-embed{border:2px dashed var(--line);border-radius:var(--radius-sm);padding:2rem;text-align:center;color:var(--muted);background:var(--surface)}
.form-embed strong{display:block;color:var(--plum);margin-bottom:.35rem}
.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.field label{font-weight:600;font-size:.92rem;color:var(--plum)}
.field input,.field select,.field textarea{
  font:inherit;color:var(--ink);background:#fff;border:1.5px solid var(--line);
  border-radius:10px;padding:.7rem .85rem;transition:border-color var(--tr),box-shadow var(--tr);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:var(--ring)}
.field .req{color:var(--crimson)}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--muted);margin:0 0 1.25rem}
.consent input{margin-top:.25rem}

/* ---- Legales ---- */
.legal{max-width:820px;margin-inline:auto}
.legal h2{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line)}
.legal h3{margin-top:1.75rem}
.legal .meta{color:var(--muted);font-size:.95rem}
.legal a{word-break:break-word}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem 1.25rem}
.toc ul{columns:2;margin:0}
@media (max-width:520px){.toc ul{columns:1}}

/* ---- Footer ---- */
.site-footer{background:#12647a;color:rgba(255,255,255,.82);padding:clamp(2.5rem,2rem + 3vw,4rem) 0 1.5rem}
.site-footer a{color:rgba(255,255,255,.82)}
.site-footer a:hover{color:var(--gold)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr;gap:1.5rem}}
.footer-brand p{margin-top:0;max-width:46ch}
.footer-title{color:#fff;font-weight:600;margin-bottom:.75rem}
.footer-nav{list-style:none;padding:0}
.footer-social{display:flex;gap:.6rem;margin-top:1rem}
.footer-social a{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1);transition:background var(--tr)}
.footer-social a:hover{background:var(--gold)}
.footer-social svg{width:20px;height:20px;fill:currentColor}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:2.5rem;padding-top:1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;font-size:.9rem}

/* ---- Reveal on scroll ---- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1)}
.reveal.is-visible{opacity:1;transform:none}

/* ---- Animaciones ---- */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .btn:hover,.card:hover{transform:none!important}
}
