/* Design Probat — hoja de estilos
   Fuentes alojadas en el propio servidor (sin Google Fonts: más rápido y sin cookies de terceros).
   «Archivo» y «DM Sans» cubren el alfabeto latino; para el ruso, los caracteres cirílicos
   se toman de Golos Text (títulos) y Manrope (texto) con el mismo nombre de familia. */

@font-face{font-family:"Archivo";font-weight:400;font-display:swap;src:url(../fonts/archivo-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-weight:600;font-display:swap;src:url(../fonts/archivo-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-weight:700;font-display:swap;src:url(../fonts/archivo-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-weight:800;font-display:swap;src:url(../fonts/archivo-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-weight:400;font-display:swap;src:url(../fonts/golos-text-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Archivo";font-weight:600;font-display:swap;src:url(../fonts/golos-text-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Archivo";font-weight:700;font-display:swap;src:url(../fonts/golos-text-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Archivo";font-weight:800;font-display:swap;src:url(../fonts/golos-text-cyrillic-800-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url(../fonts/dm-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-weight:500;font-display:swap;src:url(../fonts/dm-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-weight:600;font-display:swap;src:url(../fonts/dm-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url(../fonts/manrope-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"DM Sans";font-weight:500;font-display:swap;src:url(../fonts/manrope-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"DM Sans";font-weight:600;font-display:swap;src:url(../fonts/manrope-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{
  --tinta:#1C1D1F;
  --texto-2:#45464A;
  --texto-3:#5C5D61;
  --fondo:#F6F6F4;
  --fondo-2:#E9E8E3;
  --linea:#DCDBD6;
  --borde-campo:#B9B8B2;
  --acento:#3E4A2F;
  --acento-oscuro:#2E3823;
  --acento-claro:#A9B58F;
  --gris-oscuro:#BDBDB8;
  --foto:#D6D5CF;
  --foto-2:#CFCEC7;
  --ancho:1240px;
  --titulos:"Archivo",system-ui,sans-serif;
  --cuerpo:"DM Sans",system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--tinta);font-family:var(--cuerpo);font-size:17px;line-height:1.6}
img,svg{display:block;max-width:100%}
a{color:var(--tinta)}
a:hover{color:var(--acento)}
:focus-visible{outline:3px solid var(--acento);outline-offset:3px}
h1,h2,h3{font-family:var(--titulos);margin:0;letter-spacing:-0.03em}
h3{line-height:1.25}
p{margin:0}

.contenedor{max-width:var(--ancho);margin:0 auto;padding-left:24px;padding-right:24px}
.salto{position:absolute;left:-9999px}
.salto:focus{left:16px;top:16px;background:var(--fondo);padding:12px 16px;z-index:10}

/* Cabecera */
.cabecera{border-bottom:1px solid var(--linea);background:var(--fondo);position:sticky;top:0;z-index:5}
.cabecera .contenedor{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:14px;padding-bottom:14px}
.logo{display:inline-flex;align-items:center;min-height:44px}
.logo img{height:34px;width:auto}
.menu{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;font-size:15px;font-weight:500}
.menu a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.idiomas{display:flex;gap:2px;font-size:13px;font-weight:600;letter-spacing:0.06em}
.idiomas a{text-decoration:none;color:var(--texto-3);min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center}
.idiomas a[aria-current="true"]{color:var(--tinta);text-decoration:underline;text-underline-offset:4px}

/* Botones */
.boton{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 28px;font:inherit;font-weight:600;text-decoration:none;border:1px solid var(--acento);background:var(--acento);color:#fff;cursor:pointer}
.boton:hover{background:var(--acento-oscuro);color:#fff}
.boton--borde{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.boton--borde:hover{background:var(--tinta);color:var(--fondo)}
.menu .boton{padding:10px 20px;min-height:44px}

/* Foto provisional: sustituir por <img> cuando haya fotos */
.foto{background:var(--foto);display:flex;align-items:center;justify-content:center;color:var(--texto-2);font-size:14px;text-align:center;padding:16px}
.foto--2{background:var(--foto-2)}
.foto img{width:100%;height:100%;object-fit:cover}

/* Portada */
.portada{display:flex;flex-wrap:wrap;gap:48px;padding-top:72px;padding-bottom:96px}
.portada__texto{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:28px}
.antetitulo{font-size:13px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--acento)}
.portada h1{font-weight:700;font-size:clamp(38px,5.4vw,76px);line-height:1.03;letter-spacing:-0.035em}
.portada p{max-width:520px;font-size:19px;color:var(--texto-2)}
.acciones{display:flex;flex-wrap:wrap;gap:14px}
.portada__foto{flex:1 1 520px;min-width:0;min-height:520px}

/* Títulos de sección */
.seccion{padding-top:96px;padding-bottom:96px}
.seccion__cabeza{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:52px}
.seccion h2{font-weight:700;font-size:clamp(32px,3.6vw,52px);line-height:1.05;max-width:680px}
.seccion__cabeza p{max-width:440px;color:var(--texto-2)}

/* Servicios */
.oscuro{background:var(--tinta);color:var(--fondo)}
.oscuro .seccion__cabeza p{color:var(--gris-oscuro)}
.servicios{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:#3A3B3E;border:1px solid #3A3B3E}
.servicio{background:var(--tinta);padding:36px 28px;display:flex;flex-direction:column;gap:14px}
.servicio__num{font-family:var(--titulos);font-size:14px;color:var(--acento-claro)}
.servicio h3{font-size:24px;font-weight:600;letter-spacing:-0.02em}
.servicio p{color:var(--gris-oscuro);font-size:16px}

/* Proyectos */
.proyectos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px}
.proyecto{display:flex;flex-direction:column;gap:14px;margin:0}
.proyecto .foto{aspect-ratio:4/3}
.proyecto figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}
.proyecto strong{font-family:var(--titulos);font-size:20px;font-weight:600}
.proyecto span{color:var(--texto-2);font-size:15px}

/* Proceso */
.claro{background:var(--fondo-2)}
.pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:32px;list-style:none;margin:0;padding:0}
.paso{border-top:2px solid var(--tinta);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.paso__num{font-family:var(--titulos);font-weight:700;font-size:40px;line-height:1;color:var(--acento)}
.paso h3{font-size:21px;font-weight:600;letter-spacing:-0.02em}
.paso p{color:var(--texto-2);font-size:16px}

/* Contacto */
.contacto{display:flex;flex-wrap:wrap;gap:64px}
.contacto__info{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:24px}
.contacto__info>p{color:var(--texto-2);max-width:440px}
.datos{display:flex;flex-direction:column;gap:14px;margin:0}
.datos dt{font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:var(--texto-3)}
.datos dd{margin:0}
.formulario{flex:1 1 520px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:20px}
.campo{display:flex;flex-direction:column;gap:8px}
.campo--ancho,.formulario .ancho{grid-column:1/-1}
.campo label{font-size:14px;font-weight:600}
.campo input,.campo select,.campo textarea{font:inherit;color:var(--tinta);padding:13px 14px;border:1px solid var(--borde-campo);background:#fff;min-height:48px;border-radius:0;width:100%}
.campo textarea{resize:vertical;min-height:140px}
.acepto{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--texto-2)}
.acepto input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--acento)}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Pie */
.pie{background:var(--tinta);color:var(--gris-oscuro);font-size:14px}
.pie .contenedor{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:40px;padding-bottom:40px}
.pie img{height:28px;width:auto}
.pie nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.pie a{color:var(--gris-oscuro)}
.pie a:hover{color:#fff}

/* Páginas sencillas (gracias, legal) */
.sencilla{padding-top:96px;padding-bottom:120px;max-width:760px}
.sencilla h1{font-size:clamp(34px,4vw,56px);font-weight:700;line-height:1.05;margin-bottom:24px}
.sencilla h2{font-size:26px;font-weight:600;margin:48px 0 12px}
.sencilla p{color:var(--texto-2);margin-bottom:16px}

@media (max-width:640px){
  body{font-size:16px}
  .cabecera{position:static}
  .menu{gap:4px 18px}
  .portada{padding-top:40px;padding-bottom:64px;gap:32px}
  .portada__foto{min-height:300px}
  .seccion{padding-top:64px;padding-bottom:64px}
  .logo img{height:28px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
