@font-face{
  font-family: "Amasis MT Pro";
  src: url("../fonts/AmasisMTPro-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "Amasis MT Pro";
  src: url("../fonts/AmasisMTPro-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root{
  --altus-primary:#193038;         /* carbón azul verdoso */
  --altus-accent:#E65017;          /* naranja energía */
  --altus-secondary:#40888B;       /* teal */
  --altus-bg:#E3ECEE;              /* gris hielo */
  --altus-neutral:#B0A99A;         /* gris cálido */
  --altus-deep:#5A2A1D;            /* acento profundo */
  --altus-accent-2:#A63F1E;        /* naranja oscuro */

  --text:#0e1b20;
  --muted:#4a5860;
  --surface:#ffffff;
  --border:rgba(0,0,0,.08);

  --radius:14px;
  --shadow:0 8px 30px rgba(0,0,0,.08);
}

:root.dark{
  --text:#E6EEF0;
  --muted:#BFD1D6;
  --surface:#0F1A1E;
  --border:rgba(255,255,255,.12);
  --altus-bg:#0E1B20;
}

/* Reset mínimo + accesibilidad */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:"Amasis MT Pro", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  color:var(--text); background:var(--surface);
}
img{max-width:100%; height:auto; display:block}
a{color:var(--altus-secondary); text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1180px; padding:0 20px; margin:0 auto}
.skip-link{position:absolute; left:-9999px}
.skip-link:focus{left:16px; top:16px; background:#fff; padding:8px 12px; z-index:1000}

/* Nav */
.nav{position:sticky; top:0; z-index:100; backdrop-filter:saturate(140%) blur(8px); background:color-mix(in oklab, var(--surface) 85%, transparent)}
.nav__wrap{display:flex; align-items:center; justify-content:space-between; height:72px}
.nav__brand img{filter: drop-shadow(0 2px 8px rgba(0,0,0,.12))}
.nav__toggle{display:none; background:none; border:0; width:44px; height:44px; border-radius:12px}
.nav__toggle-bar,
.nav__toggle-bar::before,
.nav__toggle-bar::after{
  content:""; display:block; height:2px; background:var(--text); border-radius:2px; transition:.25s; width:22px; margin:0 auto;
}
.nav__toggle-bar::before{transform:translateY(-6px)}
.nav__toggle-bar::after{transform:translateY(4px)}
.nav__menu{}
.nav__list{display:flex; gap:14px; align-items:center; list-style:none; padding:0; margin:0}
.nav__list a{padding:8px 10px; border-radius:10px}
.nav__list a[aria-current="true"]{background:color-mix(in oklab, var(--altus-secondary) 14%, transparent); text-decoration:none}

/* Botones */
.btn{display:inline-block; background:var(--altus-accent); color:#fff; border:1px solid transparent; border-radius:12px; padding:12px 18px; font-weight:600; box-shadow:var(--shadow)}
.btn:hover{filter:brightness(.95); text-decoration:none}
.btn--ghost{background:transparent; color:var(--altus-secondary); border-color:var(--altus-secondary)}
.btn--sm{padding:8px 12px; font-size:.92rem}
.btn--lg{padding:14px 22px}
.btn--full{width:100%}

/* Theme toggle */
.mode-toggle{border:1px solid var(--border); background:transparent; color:var(--text); border-radius:12px; padding:8px 10px}

/* Hero */
.hero{
  background:
    radial-gradient(1200px 600px at 85% -10%, color-mix(in oklab, var(--altus-accent) 20%, transparent) 0, transparent 60%),
    radial-gradient(1200px 700px at -10% 30%, color-mix(in oklab, var(--altus-secondary) 26%, transparent) 0, transparent 60%),
    linear-gradient(135deg, var(--altus-bg) 0%, var(--altus-secondary) 40%, var(--altus-primary) 70%, var(--altus-accent) 100%);
  color:#fff;
}
.hero__grid{display:grid; grid-template-columns:1.1fr .9fr; gap:32px; padding:72px 0}
.hero__title{font-family:Manrope, "Amasis MT Pro", sans-serif; font-weight:800; font-size:clamp(2rem, 3.8vw, 3.2rem); line-height:1.05; margin:0 0 12px}
.hero__title2{font-family:Manrope, "Amasis MT Pro", sans-serif; font-weight:800; font-size:clamp(1rem, 2.8vw, 3.2rem); line-height:1.05; margin:0 0 12px}
.hero__subtitle{font-size:1.08rem; max-width:60ch; opacity:.95}
.hero__ctas{display:flex; gap:12px; margin:22px 0}
.hero__trust{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}
.badge{background:rgba(255,255,255,.16); padding:6px 10px; border-radius:999px; font-size:.86rem}
.hero__viz{position:relative; min-height:280px}
.orb{position:absolute; border-radius:50%; filter:blur(24px) saturate(130%); opacity:.8}
.orb--a{right:10%; top:10%; width:220px; height:220px; background:var(--altus-accent)}
.orb--b{left:0; bottom:0; width:260px; height:260px; background:var(--altus-secondary)}
.orb--c{right:0; bottom:-10%; width:180px; height:180px; background:var(--altus-accent-2)}

/* Secciones */
.section{padding:70px 0}
.section--alt{background:linear-gradient(180deg, color-mix(in oklab, var(--altus-bg) 80%, transparent) 0%, transparent 100%)}
.section__title{font-family:Manrope, "Amasis MT Pro", sans-serif; font-size:clamp(1.6rem, 2.8vw, 2.2rem); margin:0 0 10px}
.section__lead{color:var(--muted); margin:0 0 24px}

/* Propuesta de valor */
.value__list{display:grid; gap:18px; grid-template-columns:repeat(3,1fr); list-style:none; padding:0; margin:34px 0}
.value__item{padding:18px; border:1px solid var(--border); border-radius:var(--radius); background:color-mix(in oklab, var(--surface) 88%, transparent); box-shadow:var(--shadow)}
.value__icon{font-size:1.4rem}

/* Servicios */
.services{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.service-card{border:1px solid var(--border); background:var(--surface); border-radius:var(--radius); padding:18px; display:grid; gap:8px; box-shadow:var(--shadow)}
.service-card__icon{font-size:1.4rem}
.service-card__cta{font-weight:600}
.service-card--soon{position:relative}
.service-card--soon .pill{
  position:absolute; top:16px; right:16px; font-size:.75rem; background:var(--altus-accent); color:#fff; padding:4px 8px; border-radius:999px
}

/* Casos */
.cases{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.case{border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); padding:22px; text-align:center; box-shadow:var(--shadow)}
.case__kpi{font-family:Manrope, "Amasis MT Pro", sans-serif; font-size:2rem; margin:0 0 6px; color:var(--altus-accent)}

/* Tecnología */
.tech{display:grid; grid-template-columns:1.2fr .8fr; gap:24px; align-items:center}
.logo-chip{display:inline-block; padding:8px 12px; border-radius:999px; border:1px solid var(--border); margin:6px; background:color-mix(in oklab, var(--surface) 92%, transparent)}

/* CTA */
.cta{background:
  linear-gradient(135deg, var(--altus-primary) 0%, color-mix(in oklab, var(--altus-secondary) 60%, var(--altus-primary)) 60%, var(--altus-accent) 100%); color:#fff}
.cta__wrap{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:46px 0}
.cta__title{font-family:Manrope, "Amasis MT Pro", sans-serif; margin:0 0 6px}

/* Contacto */
.contact{display:grid; grid-template-columns:1fr 1.1fr; gap:28px}
.form{border:1px solid var(--border); background:var(--surface); padding:18px; border-radius:var(--radius); box-shadow:var(--shadow)}
.form__row{display:grid; gap:8px; margin-bottom:14px}
input, textarea{
  width:100%; padding:12px 12px; border:1px solid var(--border); border-radius:12px; background:color-mix(in oklab, var(--surface) 94%, transparent); color:var(--text)
}
input:focus, textarea:focus{outline:2px solid color-mix(in oklab, var(--altus-secondary) 50%, transparent)}
.check{display:flex; gap:8px; align-items:flex-start; font-size:.95rem; margin:8px 0 12px}
.form__error{font-size:.85rem; color:#b00020; min-height:1.1em}
.toast{margin-top:10px; background:color-mix(in oklab, var(--altus-secondary) 18%, transparent); padding:10px 12px; border-radius:10px}

/* Footer */
.footer{border-top:1px solid var(--border); background:color-mix(in oklab, var(--altus-primary) 8%, var(--surface))}
.footer__grid{display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; padding:24px 0}
.footer__brand p{color:var(--muted); margin:.4rem 0 0}
.footer__links{display:flex; gap:16px; list-style:none; padding:0; margin:0}
.to-top{position:fixed; right:18px; bottom:18px; border-radius:50%; width:44px; height:44px; border:1px solid var(--border); background:var(--surface); box-shadow:var(--shadow); display:none}

/* Utilidades */
.list{margin:.6rem 0 0 1.2rem}
.pill{display:inline-block}
.hidden{display:none}

/* Responsive */
@media (max-width: 980px){
  .hero__grid{grid-template-columns:1fr}
  .value__list{grid-template-columns:1fr}
  .services{grid-template-columns:repeat(2,1fr)}
  .cases{grid-template-columns:1fr 1fr}
  .tech{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .nav__toggle{display:block}
  .nav__menu{position:absolute; inset:72px 0 auto 0; background:var(--surface); border-bottom:1px solid var(--border); display:none}
  .nav__menu.open{display:block}
  .nav__list{flex-direction:column; align-items:flex-start; padding:12px 20px}
}
@media (max-width: 620px){
  .services{grid-template-columns:1fr}
  .cases{grid-template-columns:1fr}
}
