:root{--navy:#061433;--navy2:#0a1c43;--ink:#101827;--steel:#77766f;--paper:#f5f5f2;--white:#fff;--line:#d8d9d6;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:84px;padding:0 max(28px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(6,20,51,.97);color:#fff;position:fixed;top:0;left:0;right:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.14)}.brand,.footer-brand{display:flex;align-items:center;gap:13px}.brand{padding:8px 14px 8px 10px;border-radius:3px;background:rgba(255,255,255,.06)}.brand-mark,.mini-mark{font-family:Montserrat,sans-serif;font-size:28px;font-weight:500;border:1px solid rgba(255,255,255,.5);width:42px;height:42px;display:grid;place-items:center;clip-path:polygon(50% 0,100% 100%,75% 100%,50% 42%,25% 100%,0 100%)}.brand-name{font-family:Montserrat,sans-serif;letter-spacing:.22em;font-size:17px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.25)}.nav{display:flex;gap:48px;font-size:14px}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:1px;background:#fff;transition:.3s}.nav a:hover:after{width:100%}.menu-toggle{display:none;background:none;border:0}.hero{height:100vh;min-height:560px;color:#fff;position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('../images/hero.jpeg') center center/cover no-repeat;transform:none}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,38,.86) 0%,rgba(3,14,38,.55) 48%,rgba(3,14,38,.12) 100%)}.hero-content{position:relative;width:min(var(--max),calc(100% - 56px));margin:70px auto 0;padding-right:52%;}.eyebrow{font-size:12px;letter-spacing:.26em;font-weight:600;margin:0 0 28px}.eyebrow.dark{color:var(--steel)}h1,h2{font-family:Montserrat,sans-serif;font-weight:400;letter-spacing:-.04em;margin:0}h1{font-size:clamp(52px,5.3vw,82px);line-height:.98;max-width:620px}h1 em,h2 em,blockquote em{font-family:Georgia,serif;font-weight:400}h1 em{color:#c8c6bd}.hero-copy{max-width:470px;font-size:17px;line-height:1.75;margin:32px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:17px 20px;font-size:13px;letter-spacing:.04em;min-width:245px;border:1px solid;transition:.25s;cursor:pointer}.button-light{border-color:rgba(255,255,255,.55)}.button-light:hover{background:#fff;color:var(--navy)}.button-dark{background:var(--navy);color:#fff;border-color:var(--navy)}.button-dark:hover{background:var(--navy2)}.scroll{position:absolute;right:max(28px,calc((100vw - var(--max))/2));bottom:35px;display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.15em}.scroll i{height:44px;width:1px;background:#fff}.section{max-width:var(--max);margin:auto;padding:130px 28px}.intro{display:grid;grid-template-columns:80px 1.2fr 1fr;gap:60px}.section-index{color:#969991;font-size:12px}.intro h2,.services h2,.contact h2{font-size:clamp(42px,5vw,70px);line-height:1.08}.intro-copy{padding-top:54px}.intro-copy p{line-height:1.8;color:#5d625f}.intro-copy .lead{font-size:20px;color:var(--ink)}.signature{margin-top:50px;font-family:Montserrat;letter-spacing:.18em;color:var(--navy);font-size:20px}.signature small{display:block;font-size:8px;margin-top:5px;letter-spacing:.25em}.services{max-width:none;background:var(--navy);color:#fff;padding-left:max(28px,calc((100vw - var(--max))/2));padding-right:max(28px,calc((100vw - var(--max))/2))}.services-head{display:grid;grid-template-columns:1.4fr .6fr;gap:80px;align-items:end}.services-head>p{color:#aab2c2;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid #39445f;border-bottom:1px solid #39445f}.service-card{min-height:330px;padding:32px;border-right:1px solid #39445f;position:relative}.service-card:first-child{border-left:1px solid #39445f}.service-card span{font-size:11px;color:#8f99ae}.service-card h3{font-family:Montserrat;font-weight:400;font-size:25px;margin-top:72px}.service-card p{color:#aab2c2;line-height:1.7;font-size:14px}.service-card i{font-style:normal;position:absolute;right:28px;bottom:28px;font-size:20px}.draft-note{font-size:11px;color:#768199;margin-top:22px}.statement{background:#e9e9e5;padding:120px 28px}.statement-inner{max-width:900px;margin:auto;text-align:center}.mini-mark{margin:0 auto 42px;color:var(--navy);border-color:var(--navy)}blockquote{font-family:Montserrat;font-size:clamp(32px,4vw,54px);line-height:1.25;margin:0;color:var(--navy)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-copy>p:last-child{color:#6e716d;margin-top:30px}.contact-form{display:grid;gap:24px}.contact-form label{font-size:11px;letter-spacing:.12em;color:#777;display:grid;gap:8px}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid #b9bbb7;background:transparent;padding:10px 0;font:16px Manrope;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--navy)}.contact-form .button{margin-top:10px}.form-status{font-size:13px;color:#666}footer{background:#04112b;color:#fff;padding:70px max(28px,calc((100vw - var(--max))/2)) 28px}.footer-brand b{font-family:Montserrat;letter-spacing:.18em;font-weight:500}.footer-brand small{display:block;font-size:8px;letter-spacing:.25em;margin-top:5px}.footer-links{display:flex;gap:35px;margin:55px 0;font-size:13px}.footer-bottom{border-top:1px solid #35405a;padding-top:22px;display:flex;justify-content:space-between;color:#7f899d;font-size:10px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:800px){.site-header{height:72px}.nav{position:absolute;top:72px;left:0;right:0;background:var(--navy);padding:35px 28px;display:none;flex-direction:column;gap:26px;border-top:1px solid #35405a}.nav.open{display:flex}.menu-toggle{display:grid;gap:7px}.menu-toggle span{display:block;width:28px;height:1px;background:#fff}.hero{min-height:680px}.hero-content{width:calc(100% - 40px);padding-right:0}.hero-copy{font-size:15px}.scroll{display:none}.section{padding:90px 20px}.intro{grid-template-columns:1fr;gap:25px}.section-index{display:none}.intro-copy{padding-top:0}.services{padding-left:20px;padding-right:20px}.services-head,.contact{grid-template-columns:1fr;gap:45px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:first-child{border-left:1px solid #39445f;border-right:1px solid #39445f;border-bottom:1px solid #39445f;min-height:260px}.service-card h3{margin-top:45px}.statement{padding:90px 20px}.footer-links{flex-direction:column}.footer-bottom{gap:20px;flex-direction:column}}

/* V4 — Logo negativo ARISTOS */
.brand{
  padding:0;
  background:transparent;
  border-radius:0;
}
.brand-logo{
  display:block;
  width:142px;
  height:58px;
  object-fit:contain;
  object-position:left center;
}
.footer-brand{
  display:block;
}
.footer-logo{
  display:block;
  width:155px;
  height:auto;
  object-fit:contain;
}
@media(max-width:800px){
  .brand-logo{width:122px;height:50px}
  .footer-logo{width:145px}
}

/* V5 — Identidad ARISTOS actualizada en header y footer */
.brand-logo{
  width:138px;
  height:54px;
  object-fit:contain;
  object-position:left center;
}
.footer-logo{
  width:150px;
  height:auto;
  object-fit:contain;
}
@media(max-width:800px){
  .brand-logo{width:120px;height:48px}
  .footer-logo{width:138px}
}

/* V6 — Footer: solamente isotipo ARISTOS, sin wordmark */
.footer-symbol{
  width:64px;
  height:64px;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:800px){
  .footer-symbol{width:58px;height:58px}
}

/* V7 — Logo original ARISTOS sobre la frase institucional */
.statement-logo{
  display:block;
  width:170px;
  height:auto;
  margin:0 auto 34px;
  object-fit:contain;
}
@media(max-width:800px){
  .statement-logo{
    width:145px;
    margin-bottom:28px;
  }
}

/* V9 — Logo aprobado para la frase institucional */
.statement-logo{
  display:block;
  width:120px;
  height:auto;
  margin:0 auto 26px;
  object-fit:contain;
}
@media(max-width:800px){
  .statement-logo{
    width:105px;
    margin-bottom:22px;
  }
}

/* V12 — logo de la frase con fondo transparente */
.statement-logo{
  background: transparent !important;
  box-shadow: none !important;
}


/* V13 — Normalización tipográfica ARISTOS
   Montserrat: títulos y encabezados
   Manrope: navegación, cuerpo, botones y formularios
   Georgia Italic: acentos editoriales */
html, body{
  font-family:"Manrope", Arial, sans-serif;
  font-weight:400;
}

h1, h2, h3, h4, h5, h6,
.hero-title,
.section-title,
.section-heading,
.title,
.heading,
.signature{
  font-family:"Montserrat", Arial, sans-serif;
  font-weight:400;
}

nav,
.nav,
.nav-links,
.nav-link,
.menu,
.menu a,
header a,
footer a,
button,
.btn,
.cta,
input,
textarea,
select,
label,
p,
li,
small{
  font-family:"Manrope", Arial, sans-serif;
}

nav a,
.nav a,
.nav-links a,
.menu a,
header a{
  font-weight:500;
}

button,
.btn,
.cta{
  font-weight:500;
}

em,
.hero-title em,
.section-title em,
.section-heading em,
.statement em,
.quote em,
blockquote em{
  font-family:Georgia, "Times New Roman", serif;
  font-style:italic;
  font-weight:400;
}

.eyebrow,
.kicker,
.overline,
.section-label,
.nav-label{
  font-family:"Manrope", Arial, sans-serif;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* V14: accesibilidad y anclas con encabezado fijo */
html { scroll-padding-top: 94px; }
.contact-form button:disabled { opacity: .65; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .reveal { opacity: 1; transform: none; transition: none; } }

.form-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-status{min-height:1.5em}

/* Contacto: distribución compacta en celulares */
@media (max-width: 600px) {
  #contacto.section {
    padding: 16px 12px 30px !important;
    gap: 18px !important;
    scroll-margin-top: 72px;
  }

  #contacto .contact-copy {
    margin: 0 !important;
  }

  #contacto .contact-copy > p:last-child {
    margin-top: 16px !important;
    margin-bottom: 0 !important;
  }

  #contacto .contact-form {
    margin: 0 !important;
    gap: 14px !important;
  }

  #contacto .contact-form .button {
    margin-top: 4px !important;
  }
}
/* ARISTOS - Servicios simplificados */
#servicios {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#servicios .services-head {
  width: 100%;
  display: block;
}

#servicios .services-head h2 {
  max-width: none;
  margin-top: 35px;
}

@media (max-width: 768px) {
  #servicios {
    min-height: 300px;
  }

  #servicios .services-head h2 {
    margin-top: 25px;
  }
}
/* ARISTOS - Centrar solamente el título de Servicios */

#servicios .services-head h2 {
  width: 100%;
  max-width: none;
  text-align: center;
  margin: 35px auto 0;
}

#servicios .services-head > div {
  width: 100%;
}

#servicios .services-head .eyebrow {
  text-align: left;
}
/* ARISTOS - Nueva presentación de Nosotros */

#nosotros .intro-inner {
  display: block;
  width: 100%;
}

#nosotros .intro-inner h2 {
  max-width: 1000px;
  margin: 35px 0 0;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.15;
}

#nosotros .intro-inner .eyebrow {
  text-align: left;
}

@media (max-width: 768px) {
  #nosotros .intro-inner h2 {
    font-size: clamp(28px, 7vw, 38px);
    margin-top: 25px;
  }
}
/* ARISTOS - Corrección del apartado Nosotros */

#nosotros .intro-inner {
  display: block;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

#nosotros .intro-inner h2 {
  display: block;
  width: 100%;
  max-width: 1100px;
  margin: 35px 0 0;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.2;
  overflow-wrap: normal;
}

#nosotros .intro-inner .eyebrow {
  width: 100%;
  text-align: left;
}

@media (max-width: 768px) {
  #nosotros .intro-inner {
    width: 100%;
  }

  #nosotros .intro-inner h2 {
    font-size: clamp(28px, 7vw, 38px);
    line-height: 1.25;
  }
}
/* ARISTOS - Nosotros: corregir estructura de columnas */

#nosotros.intro {
  display: block;
  width: 100%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

#nosotros .intro-inner {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
}

#nosotros .intro-inner h2 {
  display: block;
  width: 100%;
  max-width: 1050px;
  margin: 35px 0 0;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.2;
}

#nosotros .intro-inner .eyebrow {
  text-align: left;
}

@media (max-width: 768px) {
  #nosotros .intro-inner h2 {
    font-size: clamp(28px, 7vw, 38px);
    line-height: 1.25;
  }
}
/* ARISTOS - Centrar frase de Nosotros */

#nosotros .intro-inner h2 {
  width: 100%;
  max-width: 1050px;
  margin: 35px auto 0;
  text-align: center;
}

#nosotros .intro-inner .eyebrow {
  text-align: left;
}
/* ARISTOS - Alinear indicadores Nosotros y Servicios */

#nosotros .intro-inner .eyebrow {
  position: relative;
  left: -28px;
  text-align: left;
}

@media (max-width: 800px) {
  #nosotros .intro-inner .eyebrow {
    left: 0;
  }
}
/* Mantener agrupado el texto del botón principal */
.hero .button .button-text {
  display: block;
  flex: 1;
  line-height: 1.5;
}

.hero .button .button-text strong {
  font-weight: 700;
}
/* Flecha del botón principal */
.hero .button .button-arrow {
  display: inline-block;
  flex-shrink: 0;
  margin-left: auto;
  font-size: 18px;
  line-height: 1;
}
/* ARISTOS - Encabezado sólido en dispositivos móviles */

@media (max-width: 800px) {
  .site-header {
    background: #061433;
    opacity: 1;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .nav {
    background: #061433;
  }
}
