/* IGIT · dirección "Atlas" */
:root{
  --noite:#0A1E30;
  --navy:#12304A;
  --navy-claro:#183B5A;
  --laranxa:#E2703A;
  --branco:#FFFFFF;
  --texto-suave:rgba(255,255,255,.80);
  --liña:rgba(255,255,255,.14);
  --raiado:repeating-linear-gradient(90deg,var(--laranxa) 0 3px,transparent 3px 6px);
  --maxw:1280px;
  --marxe:32px;
  --seccion:96px;
  --radio:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:'Lato',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:18px;line-height:1.55;color:var(--branco);background:var(--noite);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
a{color:inherit}
img,svg{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--marxe)}
.num{font-variant-numeric:tabular-nums}
.salto{position:absolute;left:-9999px;top:0;z-index:100;background:var(--laranxa);color:var(--noite);padding:12px 20px;font-weight:700}
.salto:focus{left:var(--marxe);top:12px}
:focus-visible{outline:2px solid var(--laranxa);outline-offset:3px}

h1{font-size:clamp(2.5rem,1.6rem + 3.6vw,4.25rem);line-height:1.02;font-weight:900;letter-spacing:-.01em}
h1 .accent{color:inherit}
h2{font-size:clamp(1.875rem,1.4rem + 1.9vw,2.75rem);line-height:1.1;font-weight:900}
.lead{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);color:var(--texto-suave);max-width:40em}

/* ---------- botóns ---------- */
.btn{
  display:inline-flex;align-items:center;font:inherit;font-size:16px;font-weight:700;line-height:1.2;
  padding:16px 24px;border-radius:var(--radio);border:1px solid transparent;text-decoration:none;
  transition:background-color .2s,color .2s,border-color .2s;
}
.btn-laranxa{background:var(--laranxa);color:var(--noite)}
.btn-laranxa:hover{background:var(--branco)}
.btn-bordo{border-color:rgba(255,255,255,.5);color:var(--branco)}
.btn-bordo:hover{border-color:var(--branco);background:var(--navy)}
.btn-branco{border-color:var(--branco);padding:12px 20px;font-size:15px}
.btn-branco:hover{background:var(--branco);color:var(--noite)}

/* ---------- cabeceira ---------- */
.cab{
  position:sticky;top:0;z-index:50;
  background:rgba(10,30,48,.88);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--liña);
}
.cab .wrap{display:flex;align-items:center;gap:24px;min-height:80px}
.marca{display:flex;flex:none}
.marca img{height:40px;width:auto}
.nav-links{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav-links a{font-size:15px;font-weight:700;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav-links a:hover{border-bottom-color:var(--laranxa)}
.nav-links .btn-branco{padding:12px 20px;border:1px solid var(--branco)}
.nav-links .btn-branco:hover{border-color:var(--branco)}
.lang{display:flex;gap:2px}
.lang button{
  font:inherit;font-size:14px;font-weight:700;color:var(--texto-suave);background:none;
  border:1px solid transparent;border-radius:var(--radio);padding:6px 8px;cursor:pointer;min-width:36px;min-height:36px;
}
.lang button:hover{color:var(--branco)}
.lang button.active{color:var(--branco);border-color:var(--liña)}
.burger{
  display:none;background:none;border:1px solid var(--liña);border-radius:var(--radio);
  width:44px;height:44px;padding:0;cursor:pointer;color:var(--branco);
}
.burger span{display:block;width:20px;height:2px;background:currentColor;margin:4px auto}

/* ---------- portada ---------- */
.portada{padding:56px 0 var(--seccion)}
.portada .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center}
.portada-texto{display:flex;flex-direction:column;gap:28px}
.portada-texto p{font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);color:var(--texto-suave);max-width:30em}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.mapa svg{width:100%;height:auto;max-height:640px}

/* ---------- cifras ---------- */
.cifras{border-top:1px solid var(--liña);border-bottom:1px solid var(--liña)}
.cifras ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-top:32px;padding-bottom:32px}
.cifras li{display:flex;flex-direction:column;gap:6px}
.cifras .num{font-size:clamp(2.25rem,1.9rem + 1vw,3rem);font-weight:900;line-height:1}
.cifras .txt{font-size:15px;color:var(--texto-suave)}

/* ---------- seccións ---------- */
.seccion{padding:var(--seccion) 0}
.cabeza{display:flex;flex-direction:column;gap:20px;max-width:44em}

/* capas */
.facemos .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:56px;align-items:start}
.facemos .cabeza p{font-size:18px;color:var(--texto-suave)}
.capas{border-bottom:1px solid var(--liña)}
.capas li{border-top:1px solid var(--liña)}
.capas h3{font-size:inherit;font-weight:inherit}
.capa-btn{
  display:flex;gap:20px;align-items:flex-start;width:100%;padding:22px 0;text-align:left;
  font:inherit;font-size:clamp(1.375rem,1.2rem + .5vw,1.625rem);font-weight:700;line-height:1.25;
  color:var(--branco);background:none;border:0;cursor:pointer;
}
.capa-btn:hover .capa-tit{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.capa-ind{flex:none;width:22px;height:22px;margin-top:3px;border:2px solid var(--laranxa);border-radius:var(--radio)}
.capa-btn[aria-expanded="true"] .capa-ind{background:var(--raiado)}
.capa-panel{padding:0 0 24px 42px}
.capa-panel p{font-size:17px;color:var(--texto-suave);max-width:40em}

/* actividades */
.acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px;margin-top:48px}
.acts li,.feats li{border-top:3px solid var(--laranxa);padding-top:16px}
.acts li{font-size:clamp(1.125rem,1rem + .4vw,1.375rem);font-weight:700;line-height:1.3}

/* iniciativas */
.iniciativas{background:var(--navy)}
.inis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}
.ini{
  display:flex;flex-direction:column;gap:16px;height:100%;padding:32px;text-decoration:none;
  background:var(--noite);border:1px solid var(--liña);border-radius:var(--radio);transition:border-color .2s;
}
.ini:hover{border-color:var(--laranxa)}
.ini-badge{font-size:14px;font-weight:700;color:var(--laranxa)}
.ini-title{font-size:clamp(1.625rem,1.4rem + .8vw,2rem);font-weight:900;line-height:1.1}
.ini-desc{font-size:17px;color:var(--texto-suave)}
.ini-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.ini-link svg{width:16px;height:16px;flex:none}

/* quen somos */
.feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:48px}
.feats li{display:flex;flex-direction:column;gap:8px}
.feat-big{font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);font-weight:900;line-height:1.15}
.feat-l{font-size:16px;font-weight:700}
.feats p{font-size:16px;line-height:1.5;color:var(--texto-suave)}

/* contacto */
.contacto{border-top:1px solid var(--liña)}
.contacto .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px}
.contacto .cabeza{max-width:32em}
.contacto .cabeza p{font-size:18px;color:var(--texto-suave)}
.medios{display:flex;flex-direction:column;gap:20px}
.medios a{display:flex;flex-direction:column;gap:2px;text-decoration:none;font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);font-weight:700}
.medios a:hover .medio-val{text-decoration:underline;text-underline-offset:4px}
.medio-l{font-size:14px;font-weight:400;color:var(--texto-suave)}

/* pé */
.pe{border-top:1px solid var(--liña);padding:48px 0;font-size:14px;color:var(--texto-suave)}
.pe .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.pe img{height:72px;width:auto}
.pe strong{display:block;color:var(--branco);margin-bottom:4px}

/* ---------- movemento ---------- */
.js .reveal{opacity:0;transition:opacity .6s ease}
.js .reveal.in{opacity:1}
.js .mapa{animation:fundido .8s ease both}
.js .m-trazo path{stroke-dasharray:1;stroke-dashoffset:1;animation:debuxo 1.6s ease-in-out .2s forwards}
.js .m-raiado{animation:fundido .8s ease 1.2s both}
@keyframes fundido{from{opacity:0}to{opacity:1}}
@keyframes debuxo{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transition:none}
  .js .mapa{animation:none}
  .js .m-trazo path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
  .js .m-raiado{animation:none}
  *{transition:none!important}
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav-links{gap:20px}
  .acts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .cab .wrap{flex-wrap:wrap}
  .lang{margin-left:auto}
  .burger{display:block}
  .nav-links{
    display:none;order:5;flex-basis:calc(100% + 2 * var(--marxe));flex-direction:column;align-items:stretch;gap:0;
    margin:0 calc(-1 * var(--marxe));padding:8px var(--marxe) 24px;border-top:1px solid var(--liña);
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:14px 0;border-bottom:1px solid var(--liña);font-size:17px}
  .nav-links a:hover{border-bottom-color:var(--laranxa)}
  .nav-links .btn-branco{margin-top:20px;justify-content:center;border:1px solid var(--branco);padding:14px 20px}
  .portada .wrap,.facemos .wrap{grid-template-columns:minmax(0,1fr)}
  .facemos .wrap{gap:32px}
}
@media (max-width:720px){
  :root{--marxe:20px;--seccion:64px}
  .portada{padding-top:40px}
  .cifras ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
  .inis{grid-template-columns:minmax(0,1fr)}
  .ini{padding:24px}
  .acts{grid-template-columns:minmax(0,1fr);gap:28px}
  .capa-panel{padding-left:42px}
}
@media (max-width:480px){
  .feats{grid-template-columns:minmax(0,1fr)}
}
