
/* Turística Delta — versión alineada a manual de marca
   Colores (aprox. HEX de RGB del manual):
   Blue #0079C2 / #008BD2
   Green #37AF78 / #8FC477
   Orange #F49600  Yellow #FECC2F
   Gray #EDEDED
   Nota: Tipografía institucional DIN (modificada). Para web se recomienda
   licenciar FF DIN o usar una alternativa de sistema (Inter/Montserrat) temporal.
*/
:root{
  --blue:#0079C2;
  --blue2:#008BD2;
  --green:#37AF78;
  --green2:#8FC477;
  --orange:#F49600;
  --yellow:#FECC2F;
  --ink:#1F2937;
  --muted:#6b7280;
  --bg:#FAFAFA;
  --card:#ffffff;
  --ring: rgba(0,121,194,0.25);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
a{color:var(--blue); text-decoration:none} a:hover{text-decoration:underline}
.container{ width:min(1100px, 92vw); margin:0 auto }
header.site{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.9); backdrop-filter: blur(10px); border-bottom:1px solid #eee }
.nav{ display:flex; align-items:center; justify-content:space-between; padding:10px 0 }
.nav img{ height:40px }
.nav a{ margin-left:18px; font-weight:700; color:#374151 }
.nav .cta{ background: linear-gradient(90deg, var(--orange), var(--blue)); color:#fff; padding:10px 16px; border-radius:12px; box-shadow:0 6px 20px rgba(0,0,0,0.08) }
.hero{
  position:relative;
  background: radial-gradient(1000px 400px at 20% 10%, rgba(0,121,194,.12), transparent 60%),
              radial-gradient(1000px 400px at 80% 10%, rgba(244,150,0,.12), transparent 60%),
              linear-gradient(180deg, #fff, #f9fafb 60%, #f7f7f9);
  padding: clamp(64px, 12vw, 120px) 0;
}
.hero .title{ font-size: clamp(32px, 6vw, 56px); line-height:1.1; margin:0 0 14px 0 }
.hero .kicker{ color:var(--orange); font-weight:800; letter-spacing:.12em; text-transform:uppercase; font-size:.9rem }
.hero p{ color:#4b5563; max-width:58ch }
.hero .buttons{ display:flex; gap:12px; margin-top:20px; flex-wrap:wrap }
.btn{ display:inline-block; padding:12px 16px; border-radius:12px; font-weight:800; border:1px solid #e5e7eb; background:#fff }
.btn.primary{ border:none; background:linear-gradient(90deg, var(--orange), var(--blue)); color:white }
.section{ padding:72px 0 }
.grid{ display:grid; gap:24px }
.cards{ grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) }
.card{ background:var(--card); border:1px solid #eee; border-radius:16px; padding:20px; box-shadow:0 10px 30px rgba(0,0,0,.04) }
.card h3{ margin-top:0 }
.badge{ display:inline-block; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:4px 10px; border-radius:999px; background:#eef3fb; color:#0f4c81; border:1px solid #d9e7f9 }
.section h2{ font-size: clamp(28px, 4.2vw, 40px); margin:0 0 10px }
.section p.lead{ color:#4b5563; max-width:62ch }
.list{ list-style:none; padding:0; margin:0; display:grid; gap:10px }
.kpis{ display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap:18px; margin-top:22px }
.kpi{ background:var(--card); border:1px solid #eee; border-radius:14px; padding:16px; text-align:center }
.kpi .num{ font-weight:900; font-size:28px }
.project{ display:grid; gap:18px; grid-template-columns:1.2fr .8fr; align-items:center }
.project:nth-child(even){ grid-template-columns:.8fr 1.2fr }
.project .visual{ background:linear-gradient(135deg, rgba(0,121,194,.12), rgba(244,150,0,.12)); border:1px solid #eee; border-radius:16px; min-height:220px; display:flex; align-items:center; justify-content:center }
.footer{ background:#0f172a; color:#cbd5e1; padding:44px 0; margin-top:40px }
.footer a{ color:#cbd5e1 }
input, textarea{ width:100%; padding:12px 14px; border:1px solid #e5e7eb; border-radius:12px; background:#fff; font:inherit }
input:focus, textarea:focus{ outline: 3px solid rgba(0,121,194,0.3); border-color: var(--blue) }
form .row{ display:grid; gap:14px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) }
.small{ font-size:.9rem; color:#6b7280 }
hr.sep{ border:0; border-top:1px dashed #e5e7eb; margin:26px 0 }
@media (max-width: 880px){ .project{ grid-template-columns:1fr } }

/* v17 mobile/menu fixes */
:root{ --safe-top: env(safe-area-inset-top); }
header.site-header{ position: sticky; top:0; z-index:1000; padding-top: var(--safe-top); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.header-logo img{ max-height:44px; height:auto; }
@media (max-width:768px){
  .nav-links, header nav, header .site-nav, header .main-nav { display:none !important; }
  .burger{ display:block !important; }
}
footer img{ max-height:64px; height:auto; }

/* v27 Equalize project visuals */
.project{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;margin-bottom:24px}
.project .visual,.project .content{width:100%}
.proj-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
@media (max-width:768px){.project{grid-template-columns:1fr}}
