/* Tema Home — portada dividida: la primera pantalla es la elección entre
   MOVA Organizaciones (navy + teal, Space Grotesk) y MOVA Personas (salvia +
   terracota, Playfair). Se carga después de styles.css. */
:root{
  --navy-deep:#182534;
  --navy:#223346;
  --navy-soft:#4A5F76;
  --green:#A8B5A6;
  --green-dark:#5E6F5C;
  --paper:#F5F2EC;
  --mist:#E8ECE6;
  --line:#E3E0D6;
  --org:#2E7480;
  --org-soft:#63B3BE;
  --per:#A65F43;
  --per-soft:#C87958;
  --serif:'Playfair Display', Georgia, serif;
}
body{ background:var(--paper); }

/* ---------- Frase de entrada ---------- */
.s-lead{ background:var(--paper); text-align:center; padding:34px 20px 30px; }
.s-lead h1{ font-size:clamp(23px,3vw,34px); font-weight:700; line-height:1.2; letter-spacing:-0.025em; color:var(--navy); opacity:0; animation:heroUp .7s ease .05s both; }

/* ---------- Portada dividida ---------- */
.s-split{ display:flex; position:relative; padding:0; min-height:max(580px, calc(100svh - 190px)); }
.s-half{ position:relative; flex:1 1 0; min-width:0; display:flex; align-items:center; text-decoration:none; color:inherit; transition:flex-grow .55s cubic-bezier(.2,.7,.2,1); opacity:0; animation:heroUp .8s ease .15s both; }
.s-half--org{ z-index:2; }
.s-half-bg{ position:absolute; inset:0; overflow:hidden; }
.s-half-inner{ position:relative; z-index:1; width:100%; max-width:560px; padding:56px clamp(28px,5vw,76px); }
.s-half--org .s-half-inner{ margin-left:auto; padding-right:clamp(64px,7vw,104px); }
.s-half--per .s-half-inner{ margin-right:auto; padding-left:clamp(64px,7vw,104px); }

.s-name{ display:block; font-weight:600; font-size:15px; margin-bottom:14px; }
.s-half h2{ font-size:clamp(30px,3.5vw,48px); line-height:1.08; margin-bottom:18px; }
.s-half p.s-text{ font-size:16.5px; line-height:1.6; margin-bottom:24px; max-width:440px; }
.s-chips{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin-bottom:32px; }
.s-chips li{ font-size:13px; font-weight:600; padding:7px 14px; border-radius:999px; }
.s-cta{ display:inline-block; font-weight:600; font-size:15px; padding:14px 26px; border-radius:var(--radius-sm); transition:transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.s-half:hover .s-cta, .s-half:focus-visible .s-cta{ transform:translateY(-2px); box-shadow:var(--shadow-md); filter:brightness(1.08); }
.s-half:focus-visible{ outline:3px solid var(--org-soft); outline-offset:-6px; }

/* Organizaciones: navy con retícula y brillo teal */
.s-half--org{ color:var(--pure); }
.s-half--org .s-half-bg{
  background:
    radial-gradient(640px circle at 85% 12%, rgba(99,179,190,.24), transparent 62%),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px) 0 0/52px 52px,
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0/52px 52px,
    var(--navy-deep);
}
.s-half--org .s-name{ color:var(--org-soft); }
.s-half--org h2{ font-weight:700; letter-spacing:-0.03em; }
.s-half--org p.s-text{ color:#CBD2DC; font-weight:300; }
.s-half--org .s-chips li{ border:1px solid rgba(255,255,255,.24); color:#E4E9EF; }
.s-half--org .s-cta{ background:var(--org); color:var(--pure); }

/* Personas: salvia y papel con formas suaves */
.s-half--per{ color:#2B3832; }
.s-half--per .s-half-bg{ background:linear-gradient(135deg, var(--paper) 0%, #EEF0E8 55%, var(--mist) 100%); }
.s-half--per .s-half-bg::before{ content:''; position:absolute; right:-13%; bottom:-24%; width:min(54%,400px); aspect-ratio:1/1.15; border:1.5px solid rgba(94,111,92,.32); border-radius:50% 50% 0 0; box-shadow:inset 0 0 0 26px rgba(168,181,166,.14), inset 0 0 0 27px rgba(94,111,92,.18); }
.s-half--per .s-half-bg::after{ content:''; position:absolute; right:14%; top:9%; width:76px; height:76px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #E2A07F, var(--per-soft)); opacity:.85; }
.s-half--per .s-name{ color:var(--per); }
.s-half--per h2{ font-family:var(--serif); font-weight:500; letter-spacing:-0.015em; color:#2B3832; }
.s-half--per p.s-text{ color:#4A5850; }
.s-half--per .s-chips li{ border:1px solid rgba(94,111,92,.4); color:#4A5850; }
.s-half--per .s-cta{ background:var(--per); color:var(--pure); }

/* Sello en la unión */
.s-seal{ position:absolute; z-index:3; right:-66px; top:50%; transform:translateY(-50%); width:132px; height:132px; border-radius:50%; background:var(--pure); box-shadow:0 10px 30px rgba(15,23,32,.28); color:var(--navy); display:grid; place-items:center; pointer-events:none; }
.s-seal svg{ width:116px; height:116px; }
.s-seal .seal-ring{ transform-origin:100px 100px; transform-box:view-box; animation:sealSpin 90s linear infinite; }

@media (hover:hover) and (min-width:861px){
  .s-half:hover{ flex-grow:1.28; }
}

/* ---------- Contacto (dos caminos) ---------- */
.h-contact .section-head{ margin-bottom:36px; }
.h-contact .section-head h2{ color:var(--pure); }
.h-contact .section-head p{ color:#CBD2DC; }
.h-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.h-contact-card{ --accent:var(--org-soft); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-top:3px solid var(--accent); border-radius:var(--radius); padding:30px; display:flex; flex-direction:column; }
.h-contact-card--per{ --accent:var(--per-soft); }
.h-cname{ font-weight:600; font-size:14.5px; color:var(--accent); margin-bottom:8px; }
.h-contact-card h3{ font-size:22px; font-weight:700; margin-bottom:10px; }
.h-contact-card--per h3{ font-family:var(--serif); font-weight:500; }
.h-contact-card > p{ font-size:14.5px; color:#CBD2DC; margin-bottom:22px; }
.h-contact-card .btn-primary{ align-self:flex-start; margin-bottom:20px; background:var(--org); }
.h-contact-card--per .btn-primary{ background:var(--per); }
.h-contact-card .btn-primary:hover{ filter:brightness(1.1); background:var(--org); }
.h-contact-card--per .btn-primary:hover{ background:var(--per); }
.h-links{ display:flex; flex-wrap:wrap; gap:6px 22px; margin-top:auto; font-size:14px; }
.h-links a{ color:var(--pure); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.3); padding-bottom:1px; transition:color .2s ease, border-color .2s ease; }
.h-links a:hover{ color:var(--green); border-color:var(--green); }
.h-contact-foot{ margin-top:28px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); font-size:13.5px; color:#A8AEA8; }

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .s-split{ flex-direction:column; min-height:0; }
  .s-half{ flex:none; }
  .s-half--org .s-half-inner, .s-half--per .s-half-inner{ max-width:none; margin:0; padding:56px 24px 64px; }
  .s-seal{ right:auto; left:50%; top:auto; bottom:-48px; transform:translateX(-50%); width:108px; height:108px; }
  .s-seal svg{ width:94px; height:94px; }
  .s-half--per .s-half-inner{ padding-top:84px; }
  .s-half--org .s-half-inner{ padding-bottom:96px; }
  .h-contact-grid{ grid-template-columns:1fr; }
}
@media (max-width:620px){
  .s-lead{ padding:26px 20px 22px; }
  .h-contact-card{ padding:24px 22px; }
}
