:root { --deep:#0A2342; --deep2:#0E2E57; --ink:#0B1B2E; --muted:#4A5A6D; --line:#DCE3EC; --sunk:#F2F5F9; --blue:#0E64A8; --blue-ink:#0A4F88; --teal:#17B8B0; --teal-soft:#E0F6F4; --on-deep:#EAF1FA; --on-deep-muted:#A9BDD6;
  --f-display:"Newsreader","Iowan Old Style","Palatino Linotype",Georgia,serif; --f-body:"Hanken Grotesk","Segoe UI",system-ui,-apple-system,sans-serif; --max:1120px; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; font-family:var(--f-body); color:var(--ink); background:#fff; line-height:1.65; font-size:1.0625rem; }
img { max-width:100%; height:auto; display:block; }
a { color:var(--blue-ink); }
.wrap { width:min(var(--max),100% - 2.5rem); margin-inline:auto; }
h1,h2,h3 { font-family:var(--f-display); font-weight:500; line-height:1.15; letter-spacing:-.01em; margin:0; }
p { margin:0 0 1rem; }
.skip { position:absolute; left:-999px; } .skip:focus { left:1rem; top:1rem; background:#fff; padding:.5rem 1rem; z-index:99; }

/* Barra */
.top { position:sticky; top:0; z-index:50; background:rgba(10,35,66,.94); backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.08); }
.top .wrap { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:.7rem; }
.brand { display:flex; align-items:center; gap:.7rem; color:#fff; text-decoration:none; font-family:var(--f-display); font-size:1.05rem; letter-spacing:.02em; }
.brand img { width:44px; height:auto; }
.nav { display:flex; align-items:center; gap:1.4rem; }
.nav a { color:var(--on-deep); text-decoration:none; font-size:.95rem; font-weight:500; }
.nav a:hover { color:var(--teal); }
.lang { display:inline-flex; border:1px solid rgba(255,255,255,.25); border-radius:999px; overflow:hidden; font-size:.82rem; }
.lang a { padding:.25rem .7rem; color:var(--on-deep-muted); } .lang a[aria-current] { background:var(--teal); color:#06302D; font-weight:700; }
@media (max-width:760px) { .nav a:not(.lang a):not(.cta-sm) { display:none; } }
.cta-sm { background:var(--teal); color:#06302D !important; padding:.4rem .95rem; border-radius:999px; font-weight:700 !important; }

/* Hero */
.hero { background:radial-gradient(1200px 520px at 80% -10%, rgba(23,184,176,.22), transparent 60%), linear-gradient(180deg,var(--deep) 0%, var(--deep2) 100%); color:#fff; padding:clamp(3.5rem,9vw,7rem) 0 clamp(3.5rem,8vw,6rem); position:relative; overflow:hidden; }
.hero .grid { display:grid; grid-template-columns:1.25fr .75fr; gap:3rem; align-items:center; }
.eyebrow { display:inline-block; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--teal); margin-bottom:1.1rem; }
.hero h1 { font-size:clamp(2.2rem,5.2vw,3.9rem); font-weight:400; max-width:18ch; text-wrap:balance; }
.hero h1 em { font-style:italic; color:var(--teal); }
.hero p.lead { color:var(--on-deep-muted); font-size:1.18rem; max-width:52ch; margin-top:1.4rem; }
.hero .mark { display:grid; place-items:center; }
.hero .mark img { width:min(100%,380px); filter:drop-shadow(0 20px 50px rgba(0,0,0,.35)); }
.btns { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.8rem 1.4rem; border-radius:999px; font-weight:700; text-decoration:none; font-size:1rem; border:1.5px solid transparent; transition:transform .15s ease, background .15s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--teal); color:#06302D; } .btn-primary:hover { background:#2fd0c8; }
.btn-ghost { border-color:rgba(255,255,255,.4); color:#fff; } .btn-ghost:hover { background:rgba(255,255,255,.08); }
@media (max-width:860px) { .hero .grid { grid-template-columns:1fr; } .hero .mark { order:-1; justify-items:start; } .hero .mark img { width:180px; } }

/* Secciones */
section { padding:clamp(3.2rem,7vw,5.5rem) 0; }
.alt { background:var(--sunk); }
.sec-head { max-width:46rem; margin-bottom:2.4rem; }
.kicker { font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--blue-ink); }
.sec-head h2 { font-size:clamp(1.8rem,3.6vw,2.7rem); margin-top:.5rem; }
.sec-head p { color:var(--muted); margin-top:.9rem; font-size:1.1rem; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.3rem; }
.card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:1.6rem 1.5rem; box-shadow:0 1px 2px rgba(11,27,46,.04); }
.card .ico { width:44px; height:44px; border-radius:12px; background:var(--teal-soft); display:grid; place-items:center; margin-bottom:1rem; color:#0b6d68; }
.card h3 { font-size:1.35rem; margin-bottom:.5rem; } .card p { color:var(--muted); margin:0; font-size:1rem; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
@media (max-width:860px) { .two { grid-template-columns:1fr; gap:2rem; } }
.about p { font-size:1.12rem; color:#233449; }
.facts { display:grid; gap:.8rem; margin-top:1.4rem; }
.facts div { display:flex; gap:.8rem; align-items:baseline; border-top:1px solid var(--line); padding-top:.8rem; }
.facts dt { font-weight:700; min-width:9rem; color:var(--blue-ink); font-size:.95rem; } .facts dd { margin:0; }

/* Publicación */
.pub { display:grid; grid-template-columns:260px 1fr; gap:2.4rem; align-items:center; background:#fff; border:1px solid var(--line); border-radius:22px; padding:1.6rem; box-shadow:0 18px 40px -22px rgba(11,27,46,.3); }
.pub img { border-radius:12px; box-shadow:0 14px 30px -12px rgba(11,27,46,.45); }
.pub h3 { font-size:1.9rem; } .pub .meta { color:var(--muted); font-size:.95rem; margin:.4rem 0 1rem; }
.tags { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0 1.4rem; } .tags span { font-size:.8rem; font-weight:600; padding:.25rem .7rem; border-radius:999px; background:var(--teal-soft); color:#0b6d68; }
@media (max-width:700px) { .pub { grid-template-columns:1fr; } .pub img { max-width:200px; } }
.btn-dark { background:var(--deep); color:#fff; } .btn-dark:hover { background:var(--deep2); }

/* Principios */
.prin { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:2rem 2.4rem; }
.prin div { border-left:3px solid var(--teal); padding-left:1.1rem; } .prin h3 { font-size:1.25rem; margin-bottom:.35rem; } .prin p { color:var(--muted); margin:0; font-size:1rem; }

/* Equipo */
.team { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.3rem; }
.person { border:1px solid var(--line); border-radius:18px; padding:1.4rem; background:#fff; } .person b { font-family:var(--f-display); font-size:1.25rem; font-weight:500; display:block; } .person span { color:var(--muted); font-size:.95rem; }

/* Contacto */
.contact { background:linear-gradient(180deg,var(--deep),var(--deep2)); color:#fff; }
.contact .sec-head p { color:var(--on-deep-muted); } .contact .kicker { color:var(--teal); }
.contact-box { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
@media (max-width:760px) { .contact-box { grid-template-columns:1fr; } }
.contact-box a, .contact-box div { display:block; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:1.3rem 1.4rem; color:#fff; text-decoration:none; }
.contact-box small { display:block; color:var(--on-deep-muted); text-transform:uppercase; letter-spacing:.1em; font-size:.74rem; margin-bottom:.3rem; } .contact-box strong { font-size:1.15rem; font-weight:600; }
.contact-box a:hover { border-color:var(--teal); }

footer { background:#071a31; color:var(--on-deep-muted); padding:2.2rem 0; font-size:.92rem; }
footer .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; align-items:center; } footer a { color:var(--on-deep); text-decoration:none; margin-right:1.2rem; } footer a:hover { color:var(--teal); }
footer img { width:150px; opacity:.95; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .btn { transition:none; } }

.brand .m { display:block; width:42px; height:44px; background:url(/assets/logo-editorial-light.png) no-repeat -49px 0 / 138px auto; }
