/* ============================================================
   MARTINO GESTIÓN · Sistema visual (rediseño)
   Consultora ISO + digitalización · luminoso, autoridad, limpio
   Type:  Newsreader (serif display) · Schibsted Grotesk (sans UI)
   Color: warm white + ROJO marca #C1272D · ocre #B0742A · ink #15202B
   ============================================================ */

*{ margin:0; padding:0; box-sizing:border-box; }

:root{
  --paper:#FAF8F4;
  --paper-2:#FFFFFF;
  --ink:#15202B;
  --ink-soft:#44515E;
  --muted:#717C88;
  --line:#E8E3D9;
  --line-2:#EFEBE3;
  --accent:#C1272D;
  --accent-d:#971C22;
  --accent-t:#F8E7E8;
  --accent-t2:#FBEFEF;
  --ondark:#E9BD84;
  --gold:#B0742A;
  --gold-t:#F4ECDC;
  --shadow-sm:0 1px 2px rgba(21,32,43,.04), 0 4px 16px rgba(21,32,43,.05);
  --shadow-md:0 6px 30px rgba(21,32,43,.08), 0 2px 8px rgba(21,32,43,.04);
  --shadow-lg:0 24px 60px rgba(14,76,89,.14);
  --r:14px;
  --r-lg:22px;
  --maxw:1180px;
  --pad:clamp(20px, 5vw, 40px);
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Schibsted Grotesk", system-ui, -apple-system, sans-serif;
}

html{ scroll-behavior:smooth; }
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--accent); color:#fff; }

.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
.section{ padding:clamp(64px, 9vw, 120px) 0; }
.section.tight{ padding:clamp(48px,6vw,80px) 0; }

/* ---------- type ---------- */
.serif{ font-family:var(--serif); }
h1,h2,h3{ font-family:var(--serif); font-weight:500; letter-spacing:-0.015em; line-height:1.08; color:var(--ink); }
.display{ font-size:clamp(40px, 6vw, 76px); line-height:1.02; letter-spacing:-0.02em; }
h2.title{ font-size:clamp(30px, 4vw, 50px); line-height:1.06; }
h3{ font-size:clamp(20px, 2vw, 25px); line-height:1.15; }
.lead{ font-size:clamp(18px,1.5vw,21px); line-height:1.6; color:var(--ink-soft); font-weight:400; }
.body{ font-size:17px; line-height:1.72; color:var(--ink-soft); }
.small{ font-size:14px; line-height:1.6; color:var(--muted); }
em.accent{ font-style:italic; color:var(--accent); }
.serif em{ font-style:italic; }

.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--sans); font-size:12.5px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--accent);
}
.eyebrow::before{ content:""; width:22px; height:1.5px; background:var(--accent); display:inline-block; }
.eyebrow.center{ justify-content:center; }
.eyebrow.on-dark{ color:var(--ondark); }
.eyebrow.on-dark::before{ background:var(--ondark); }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-size:16px; font-weight:600; letter-spacing:-0.01em;
  padding:15px 26px; border-radius:100px; cursor:pointer; border:1px solid transparent;
  transition:transform .18s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.btn .arw{ transition:transform .2s ease; }
.btn:hover .arw{ transform:translateX(4px); }
.btn-primary{ background:var(--accent); color:#fff; box-shadow:0 6px 18px rgba(14,76,89,.22); }
.btn-primary:hover{ background:var(--accent-d); transform:translateY(-2px); box-shadow:0 12px 26px rgba(14,76,89,.28); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }
.btn-light{ background:#fff; color:var(--ink); }
.btn-light:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,0,.18); }
.btn-lg{ padding:18px 32px; font-size:17px; }

.textlink{ color:var(--accent); font-weight:600; display:inline-flex; align-items:center; gap:7px; }
.textlink .arw{ transition:transform .2s ease; }
.textlink:hover .arw{ transform:translateX(4px); }

/* ---------- logo ---------- */
.logo{ display:inline-flex; align-items:center; gap:12px; }
.logo .mark{ position:relative; width:34px; height:34px; flex-shrink:0; }
.logo .mark .planet{ position:absolute; inset:6px; border-radius:50%;
  background:radial-gradient(circle at 32% 30%, #E0545B 0%, var(--accent) 55%, var(--accent-d) 100%); }
.logo .mark .ring{ position:absolute; inset:0; border-radius:50%;
  border:1.6px solid var(--accent); transform:rotate(-28deg) scaleY(.42); opacity:.85; }
.logo .wordmark{ font-family:var(--sans); font-weight:700; letter-spacing:.02em; font-size:16px; line-height:1; color:var(--ink); }
.logo .wordmark b{ font-weight:700; }
.logo .wordmark span{ font-weight:500; color:var(--ink-soft); }
/* on dark */
.on-dark .logo .wordmark, .logo.inv .wordmark{ color:#fff; }
.logo.inv .wordmark span{ color:#A8B4BD; }
.logo.inv .mark .planet{ background:radial-gradient(circle at 32% 30%, #EE767C 0%, #C1272D 60%, #971C22 100%); }
.logo.inv .mark .ring{ border-color:#E89A9E; }

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(250,248,244,.82); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent; transition:border-color .3s ease, background .3s ease;
}
.site-header.scrolled{ border-bottom-color:var(--line); background:rgba(250,248,244,.92); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:74px; }
.nav-links{ display:flex; align-items:center; gap:4px; }
.nav-links a{ font-size:15px; font-weight:500; color:var(--ink-soft); padding:9px 15px; border-radius:8px; transition:color .2s, background .2s; position:relative; }
.nav-links a:hover{ color:var(--ink); background:rgba(14,76,89,.06); }
.nav-links a.active{ color:var(--accent); font-weight:600; }
.nav-cta{ display:flex; align-items:center; gap:14px; }
.nav-toggle{ display:none; }

/* mobile drawer */
.mobile-drawer{ position:fixed; inset:0; z-index:99; background:var(--paper);
  display:flex; flex-direction:column; padding:90px var(--pad) 40px; gap:6px;
  transform:translateY(-100%); opacity:0; pointer-events:none; transition:transform .35s ease, opacity .3s ease; }
.mobile-drawer.open{ transform:translateY(0); opacity:1; pointer-events:auto; }
.mobile-drawer a{ font-family:var(--serif); font-size:30px; color:var(--ink); padding:12px 0; border-bottom:1px solid var(--line); }
.mobile-drawer .btn{ margin-top:24px; justify-content:center; }
.nav-toggle{ background:none; border:1px solid var(--line); width:44px; height:44px; border-radius:10px;
  font-size:18px; align-items:center; justify-content:center; padding:0; }

/* ---------- footer ---------- */
.site-footer{ background:var(--ink); color:#C7CFD6; padding:72px 0 32px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.site-footer h4{ font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#8B96A0; margin-bottom:16px; }
.site-footer ul{ list-style:none; display:flex; flex-direction:column; gap:11px; }
.site-footer ul a{ color:#C7CFD6; font-size:15px; transition:color .2s; }
.site-footer ul a:hover{ color:#fff; }
.footer-blurb{ font-size:15px; line-height:1.65; color:#94A0AA; max-width:30ch; margin-top:18px; }
.footer-bottom{ display:flex; align-items:center; justify-content:space-between; gap:20px;
  margin-top:54px; padding-top:24px; border-top:1px solid rgba(255,255,255,.1); }
.footer-bottom .small{ color:#7E8A94; }
.footer-bottom a{ color:#7E8A94; }
.footer-bottom a:hover{ color:#fff; }

/* ---------- reusable bits ---------- */
.tag{ display:inline-flex; align-items:center; gap:7px; padding:6px 13px; border-radius:100px;
  font-size:13px; font-weight:600; letter-spacing:.01em; background:var(--accent-t); color:var(--accent); }
.card{ background:var(--paper-2); border:1px solid var(--line-2); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); }
.hr{ height:1px; background:var(--line); border:0; }

.slot{ border-radius:var(--r-lg); overflow:hidden; background:var(--accent-t2); }
image-slot{ --bg:#EAE6DD; }

/* planet decorative */
.planet-bg{ position:absolute; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle at 34% 30%, #E0545B 0%, var(--accent) 52%, var(--accent-d) 100%);
  opacity:.9; }

/* ---------- reveal anim ---------- */
@media (prefers-reduced-motion:no-preference){
  .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
  .reveal.in{ opacity:1; transform:none; }
  .reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; }
  .reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .footer-grid{ grid-template-columns:1fr 1fr; gap:32px; }
  .nav-links{ display:none; }
  .nav-toggle{ display:inline-flex; }
}
@media (max-width:560px){
  .footer-grid{ grid-template-columns:1fr; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
}
