/* =================== Variables y base =================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');

:root{
  --beltza: #111111;
  --white: #ffffff;
  --grisa: #99999b;
  --gris-iluna: #3c3c3b;
  --gris-argia: #f0f0f0;

  --urdina: #1a73e8;     
  --gorria: #ad0b28;     

  --text: #111111;
  --btn: #111111;
  --btn-text: #ffffff;

  --maxw: 70rem;

 
}

*{ box-sizing: border-box; }
html,body{ margin:0; }
body{
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--beltza);
  font-weight: 400;
}

/* Links */
a{ color: var(--beltza); text-decoration: none; }
a:hover{ color: var(--gris-iluna); }

/* Headings */
h1,h2,h3,h4,h5{ color: var(--beltza); font-weight: 600;font-family: "Manrope", sans-serif; }

/* Botones */
.btn{
  display:inline-block;
  border-radius:0;
  padding:.85rem 1.6rem;
  font-weight:400;
  background: var(--btn);
  color: var(--btn-text);
  border:2px solid transparent;
  line-height:1;
  transition: filter .15s ease, transform .1s ease;
}
.btn:hover{ filter: brightness(1.08); }
.btn:active{ transform: translateY(1px); }
.btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 .2rem #000, 0 0 0 .35rem #fff;
}
.btn-primary{
  font-size:14px; letter-spacing:2px;
  color: var(--white);
  background-color: var(--beltza);
  border-color: var(--beltza);
}
.btn-primary:hover{
  background-color: var(--beltza);
  border-color: var(--beltza);
}
.btn-secondary{
  
  color: var(--beltza);
  background-color: var(--white);
  border-color: var(--white);
}
.btn-secondary:hover{
  background-color: var(--beltza);
  border-color: var(--white);
}

/* =================== Header / Navbar =================== */
header .menu-nagusia{
  position: fixed;
  top: 20px; left: 0; width: 100%;
  z-index: 1000;
  background-color: rgba(255,255,255,0.75); 
  transition: background-color .25s ease, box-shadow .2s ease;
    padding: 15px;
}
.header-container{ width: 90%; max-width: 1200px; margin: 0 auto; } /* centra al 90% */

.navbar-toggler{
  line-height:1;
  color: var(--beltza);
  border: var(--bs-border-width) solid currentColor;
}

/* Icono hamburguesa adaptado a esquema Bootstrap */
.navbar-light .navbar-toggler-icon{
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba%280,0,0,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.navbar-dark .navbar-toggler-icon{
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Estado scrolled (si usas el JS) */
.fixed-top.scrolled,
.menu-nagusia.scrolled{
  background-color: rgba(255,255,255,1);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
    top:0
}
.menu-nagusia.scrolled .top-header{ display:none; }

.menu-nagusia .navbar-brand{ max-width: 350px; padding:0; margin-right:30px; }
.menu-nagusia .navbar-brand img{ max-width:350px; height:auto; }
.navbar-fixed-top.scrolled .navbar-brand img {
  max-width: 125px;
}
.navbar-expand-xl .navbar-collapse{
     align-items: center;
}
.navbar-collapse{
  display:flex; 
    align-items:flex-end;
}
  .navbar-collapse ul{
  margin-left: auto;
}

.navbar-expand-xl .navbar-nav a.nav-link{
  position:relative; padding:5px 10px; margin:0 10px;
  font-size:16px; color: var(--beltza);
    font-weight: 600; text-transform: uppercase;
}
.navbar-expand-xl .navbar-nav a.nav-link.active{ background: var(--beltza); color: var(--white); }

.navbar-expand-xl .navbar-nav a.nav-link {
  text-decoration: none;
  font-size: 16px;
	background: none;
  position: relative;
	 padding: 5px 10px;
	 margin: 0 10px;
    color: var(--beltza);
	
}
.navbar-expand-xl .navbar-nav a.nav-link::after  {
-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
  -o-transition: all 0.3s;
	transition: all 0.3s;
	height: 0;
  left: 0;
  top: 0;
  width: 100%;
	
}
.navbar-expand-xl .navbar-nav a.nav-link:hover:after {
  height: 100%;
}

.navbar-expand-xl .navbar-nav a.nav-link::before,
.navbar-expand-xl .navbar-nav a.nav-link::after {
  background: var(--beltza);
  content: '';
  position: absolute;
  z-index: -1;
}

.navbar-expand-xl .navbar-nav a.nav-link:hover {
  color: var(--white);
}
.navbar-expand-xl .navbar-nav a.nav-link.active {
  color: var(--white);
	background: var(--beltza);
}
.navbar-expand-xl.navbar-fixed-top.scrolled a.nav-link {
  color: var(--beltza);
     margin-bottom: 1px;
}
.navbar-expand-xl.navbar-fixed-top.scrolled a.nav-link.active, .navbar-expand-xl.navbar-fixed-top.scrolled a.nav-link:hover {
  color: var(--white);
}
/* Top header */
.top-header{ display:flex; align-items:center; padding:10px; margin-bottom:20px; }
.top-header .top-info{ display:flex; margin:0 20px; }
.top-header .top-info a{ display:flex; align-items:flex-start; margin:0 15px; color: var(--white); font-size:16px; }
.top-header .top-info a:hover{ color: var(--gris-argia); }
.top-header .top-info i{ margin-right:8px; color: var(--white); font-size:16px; }
.sareak{ margin-left:35px; color: var(--white); }
.sareak a{ margin:0 8px; }
.sareak i{ font-size:18px; color: var(--white); }
.contacto-dat {
  margin-left: 15px;
    color: var(--beltza);
}
.contacto-dat i {
    color: var(--beltza);
     margin: 0 5px;
}

.contacto-dat a {
 color: var(--beltza);
     margin-right: 10px;
}
.contacto-dat a:hover, .contacto-dat a:hover i {
    color: var(--gorria);
}
/* Selector idiomas */
.form-select.hizkuntzak{
  width:auto; background-color:transparent; color: var(--white);
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  padding:.1rem 2.25rem .1rem .75rem; font-size:15px;
}
.form-select.hizkuntzak option{ background:#fff; color: var(--beltza); }

/* =================== Hero / slider =================== */
.home-slider{
  position:relative;
  height: 60vh; min-height: 60dvh; 
}
.bg-bideo{ position:absolute; inset:0; overflow:hidden; }
.bg-bideo img{ width:100%; height:100%; object-fit:cover; }
#bideoa{
  position:absolute; inset:0 auto auto 0;
  height:100dvh; min-height:100dvh; width:100%; object-fit:cover;
}

.caption-blokeak{
  position: absolute;
  bottom: 0;      
  left: 18%;         

  
  background: var(--gorria);
  color: #fff;
  padding: 4.5rem 2rem;
  border-left: 14px solid #fff; /* franja blanca */
  box-shadow: 0 8px 24px rgba(0,0,0,.30);
  max-width: 40rem;               
}
.caption-blokeak h2{
  font-size: clamp(1.4rem, 3.2vw, 2rem);
    line-height: 1.2;
    margin: 0;
    color: var(--white);
     font-weight: 500;
}

/* hasiera mezua */
.hasiera-band {

padding-block: clamp(2rem, 6vw, 5rem);   
  padding-inline: clamp(1rem, 4vw, 3rem); 
}

.hasiera-inner {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
  color: var(--beltza);
  line-height: 1.4;
  font-size: clamp(1rem, 2vw, 1.5rem);
}
.hasiera-band p.lead {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
  color: var(--beltza);
  font-size: clamp(0.9rem, 2vw, 1.1rem);
    font-weight: 400;
     margin-top: 4rem;
}

.hasiera-inner .strong {
  font-weight: 700;
}

.hasiera-inner::before,
.hasiera-inner::after {
content: "O";
  position: absolute;
  top: 70%;                
  transform: translateY(-50%);
  font-size: clamp(2rem, 4vw, 3.8rem);
  color: rgba(0, 0, 0, 0.25);
  pointer-events: none;
  z-index: -1;  
     font-weight: 600
}

.hasiera-inner::before {
  left: -8%;
}

.hasiera-inner::after {
  right: -8%;
}


.section-title {
  padding: clamp(2rem, 6vw, 4rem) 1rem 0;
  text-align: center;
}


.title-box {
  position: relative;
  background: var(--gris-argia);
  display: inline-block;
  padding: 1.3rem 3rem;
  overflow: visible;
    
}



.title-box::after {
 content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 16px;                 
  background: var(--gorria);
  transform: skewX(18deg);     
  transform-origin: top;
}
.title-box::before {
 content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 16px;                  
  background: var(--gorria);
  transform: skewX(-18deg);     
  transform-origin: top;
}

.title-box::before {
  left: -16px;
}

.title-box::after {
  right: -16px;
}


.title-box h2 {
  margin: 0;
  font-size: clamp(1.2rem, 3vw, 1.8rem);
  font-weight: 700;
  color: var(--beltza);
    font-family: "Manrope", sans-serif;
}

.title-barrukoa{
     margin-bottom: 20px;
    padding: 0;
}
.title-barrukoa .title-box{
}
.title-barrukoa .title-box h2 {
  margin: 0;
  font-size: 15px;
  font-weight: 500;
    
    font-size: clamp(1.2rem, 3vw, 1.8rem);
}
.zerbitzuak .title-barrukoa .title-box{
      background-color:   var(--white);
}
.lanak .title-barrukoa .title-box::before, .lanak .title-barrukoa .title-box::after {
 
  width: 8px;
  background: var(--white);
}

.zerbitzuak .services-list {
  
  font-size: clamp(1.2rem, 3vw, 1.8rem);
    padding: 0 30px;
  
}
.projects {
  margin: 0 auto;
  padding: 5rem 20px;
  background-color:   var(--gris-argia);
 display: grid;
  gap: 4rem;

  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .projects {
    grid-template-columns: repeat(2, 1fr);
  }
}
.projects-box{
  background-color: var(--white);  
     display:flex;
     justify-content: space-between;
    flex-wrap: wrap;
 
}
.projects-box .zerbitzuak{
    width: 100%;
       padding: 0 30px;
    
}
.projects-box .zerbitzuak .azalpen-testua{
    max-width: 1200px;
     margin: 0 auto;
    
}
.zerbitzuak .project-media img {
  width: 60%;
}
.projects-box .lanak{
    width: 48%;
    padding: 0 30px;
     flex-direction: column;
     background-color:   var(--gris-argia);
}
.lanak .project-media img {
  width: 50%;
}
.projects-box .lanak-list{
    width: 46%;
    padding: 0 20px;
     flex-direction: column;
}
.lanak-list .title-barrukoa .title-box{
      background-color:   var(--white);
}
.azalpen-list{
     display: flex;
     flex-direction: column;
     margin-top: 30px;
  
}
.list-item:first-child{
     border-top: 2px solid var(--gris-argia);
    
}
.list-item{
     border-bottom: 2px solid var(--gris-argia);
     padding: 20px 0;
    
}
.list-azalpena{
     margin-bottom: 0;
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    
}
.list-item.bikain{
    display: flex;
    align-items: flex-start
    
}
.list-item.bikain img{
   max-width: 200px;
     margin: 0 20px 20px 0;
     
    
}
.list-title{
    font-family: "Manrope", sans-serif;
    font-weight: 300;
     font-size: clamp(1.1rem, 1.4vw, 1.5rem);
     color: var(--gorria);
}
.title-barrukoa .title-box::before, .title-barrukoa .title-box::after {
 
  width: 8px;
  background: var(--gris-argia);
}
/* Card */
.project-card {
  
   background-color:   var(--gris-argia);
    margin-bottom: 2rem;
}

/* Imagen */
.project-media {
  margin: 0;box-shadow: 0 4px 12px rgba(0,0,0,.18);

}

.project-media img {
  display: block;
  width: 100%;
  height: auto;
}

/* Bloque título + banda roja */
.project-meta {
  position: relative;
  padding: 1.5rem 1.5rem 1.2rem 2.2rem; 
    background-color:   var(--gris-argia);
}

/* Banda roja vertical bajo la imagen */
.project-meta::before {
  content: "";
  position: absolute;
  left: 1.1rem;       
  top: 0;
  bottom: 0;       
  width: 6px;
  background: var(--gorria);
}


.project-title {
  margin: 0;
  font-size: clamp(1.2rem, 3vw, 1.5rem);
  color:  var(--beltza);
    font-family: "Manrope", sans-serif;
}

.project-name {
  font-weight: 400;
  color: var(--gorria);
}
.project-txt{
    font-size: clamp(1rem, 3vw, 1.2rem);
     margin-top: 20px;
    
}


.hero-parallax::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 1;
}



/* Reset accesible */
.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
}

/* CONTENEDOR PRINCIPAL */
.services-block {
  position: relative;
  padding:5rem 2rem;
     margin: 0 auto

}

/* CÍRCULOS SUPERIORES */
.circles {
  display: flex;
  gap: 0.7rem;
  margin-bottom: 2rem;
}

.circles span {
  width: 25px;
  height: 25px;
  border: 5px solid var(--beltza);
  border-radius: 50%;
  display: inline-block;
}

/* LISTA DE SERVICIOS */
.services-list {
  list-style: none;
  padding: 0;
  margin: 3rem 0 3rem 0;
  font-size: clamp(1.2rem, 2.3vw, 9rem);
  color: var(--grisa);
  line-height: 1.4;
  font-weight: 600;
     text-align: center;
}

.services-list li {
  margin: 0.4rem 0;
}

.services-list .red {
  color: var(--gorria);
  font-weight: 700;
}
.services-list .gris-iluna{
   color: var(--gris-iluna);  
}

/* ENLACE MÁS INFO */
.more-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--beltza);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
   justify-content: flex-end;
     margin-top: 3rem;
    
}

.more-link:hover,
.more-link:focus-visible {
  text-decoration: underline;
}


.more-link i {
 font-size: clamp(1.2rem, 14.3vw, 10rem);
}



/****/
/* =================== Img-top =================== */


.hero-parallax {
  position: relative;
  min-height: clamp(14rem, 30dvh, 24rem); 
  display: grid;
  place-items: center;
  overflow: hidden;
}

.hero-parallax__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-parallax__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

/* Overlay para contraste AA */
.hero-parallax::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 1;
}

/* Contenido centrado */
.hero-parallax__content {
  position: relative;
  z-index: 2;
  width: min(90vw, 1200px);
  margin-inline: auto;
  text-align: center;
  color: var(--white);
  padding-top: 4rem;
}
.hero-parallax h1 {
  margin: 0;
  text-transform: uppercase;
  font-weight: 600;
  font-size: clamp(1.25rem, 3.5vw, 2.25rem);
     color: var(--white);
    
}
/* =================== Contacto =================== */
/* —— Layout general —— */
.kontaktua { padding: clamp(2rem, 6vw, 4rem) 0; }

.kontaktua-box{
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
}
.datuak__logo img{
  background-color: var(--white);
     padding: 1.5rem;
     max-width: 300px;
}
/* 2 columnas >= 992px; una columna en móvil/tablet */
@media (min-width: 992px){
  .kontaktua-box{
    grid-template-columns: minmax(260px, 1fr) minmax(320px, 1.25fr);
  }
}

/* —— Columna izquierda: datuak —— */
.datuak{
  background-color: var(--gorria);
  color: var(--white);
  display: grid;
  align-content: center;
  justify-items: center;
  padding: clamp(1.25rem, 3vw, 2rem) 1rem;
  text-align: left;
}
.datuak__logo{
  height: auto;
  margin: 2rem auto clamp(1rem, 3vw, 1.75rem);
    background-color: var(--white);
     padding: 1.5rem;
}


.contact2 {
  font-style: normal; /* por defecto <address> es itálica */
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}

.contact2__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem; /* separación entre elementos */
}

.contact2__item {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--white);
}

.contact2__item a {
  color: var(--white);
  text-decoration: none;
  word-break: break-word; /* evita desbordes en móviles */
}


/* Responsive: centra en móviles */
@media (max-width: 576px) {
  .contact2__list {
    text-align: center;
  }
}

/* —— Columna derecha: formulario —— */
.formularioa{
  width: 100%;
  margin: 0;
  align-self: center;
}
section.kontaktua h2{
  font-size: clamp(1.25rem, 2.2vw, 1.75rem);
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}
section.kontaktua p{
    font-size: clamp(1rem, 1.1vw, 1.125rem);
  line-height: 1.6; margin-bottom: 1.5rem;
    
}
/* Sección sarrera */
.sarrera {
  background-color: var(--beltza);
  padding: clamp(3rem, 6vw, 5rem) 1rem;
  text-align: center;
}

.sarrera .container {
  width: min(92vw, 70rem);
  margin: 0 auto;
}

.sarrera-azalpena{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;                 
}

.sarrera h3{
  margin: 0;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 300;
  color: var(--white);        
}

.sarrera p {
  color: var(--white);
  font-size: clamp(1rem, 1.1vw, 1.125rem);
  line-height: 1.7;           
  margin: 0;                  
}
@keyframes aparecer {
  0% {
    opacity: 0;
    transform: scale(0.8) translateY(40px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.sarrera-azalpena img {
  width: min(100%, 350px);
  max-width: 350px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 50%;
  display: block;
  margin: 2rem 0;
  opacity: 0;
  
 
  animation: aparecer 1s ease-out forwards;
  animation-timeline: view();
  animation-range: entry 0% cover 40%;
}




.sarrera .btn:hover {
  filter: brightness(0.92);
}

.sarrera .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 .2rem #000, 0 0 0 .4rem #fff; /* foco doble, visible en fondo oscuro */
}

/* Limita ancho del formulario y centra */
.kontaktua-form{
  width: min(92%, 720px);
  margin-inline: auto;
}

/* Accesibilidad: foco visible en controles (si no usas Bootstrap) */
.form-control:focus,
textarea.form-control:focus{
  outline: none;
  box-shadow: 0 0 0 .2rem rgba(0,0,0,.6);
  border-color: transparent;
}

/* Botón */
.btn.btn-primary{
  background-color: var(--beltza);
  border-color: var(--beltza);
}
.btn.btn-primary:hover{
  filter: brightness(1.08);
}

/* Utilidad: oculto accesible */
.sr-only{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
/* =================== Servicios =================== */
.tabs-intro { margin: 3rem 0; }

.tabs-intro .side-column {
  display: flex;
  gap: 1.5rem;
}
.tabs-intro .side-column .nav-tabs {
  display: flex;
  flex-direction: column;
  width: 30%;
  margin-top: 0 !important;
  border-bottom: 0;
  border-right: 1px solid #eee;
}

.tabs-intro .side-column .tab-content {
  width: 70%;
  padding: 0 0 0 1rem;
}

.tabs-intro .nav-item .nav-link {
  color: var(--gris-iluna);
  border: 0;
  border-bottom: 2px solid var(--gris-argia);
  border-radius: 0;
  margin: 0 10px;
  font-size: 20px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: .6rem;
  font-weight: 300;
  padding: 16px 0;
  background: transparent;
    
}


.tabs-intro .nav-item .nav-link img {
  max-width: 70px;
  height: auto;
     margin-right: 10px;
}



/* ----------------- Responsive ----------------- */
/* En pantallas pequeñas: tabs arriba en fila y contenido debajo */
@media (max-width: 992px){
  .tabs-intro .side-column {
    flex-direction: column;
  }
  .tabs-intro .side-column .nav-tabs {
    width: 100%;
    flex-direction: row;
    gap: .5rem;
    border-right: 0;
    border-bottom: 1px solid #eee;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .tabs-intro .nav-item .nav-link {
    margin: 0;
    border-bottom: 2px solid transparent; /* se ve mejor en scroll horizontal */
    white-space: nowrap;
    padding: 12px 8px;
    font-size: 16px;
  }
  .tabs-intro .nav-item .nav-link.active {
    border-bottom-color: var(--beltza);
  }
  .tabs-intro .side-column .tab-content {
    width: 100%;
    padding: 1rem 0 0 0;
  }
  .tabs-intro .nav-item .nav-link img {
    max-width: 36px;
  }
}

/* Respetar usuarios con preferencia de reducir movimiento */
@media (prefers-reduced-motion: reduce){
  .tabs-intro .nav-item .nav-link { transition: none; }
}

/* =================== Footer =================== */
.site-footer{ background:#efefef; color: var(--text); }
.footer__wrap{
  width: min(92vw, var(--maxw));
  margin-inline:auto;
  display:grid; grid-template-columns:1fr 1fr; gap: clamp(1rem, 2vw, 2rem);
  align-items:stretch; padding-block: clamp(1.5rem, 3vw, 2rem);
}
.footer__info{ padding: clamp(1rem, 2vw, 1.25rem) clamp(0.5rem, 2vw, 1rem); }
.footer__info img{ margin-bottom:30px;max-width: 200px; }
.contact{ font-style:normal; }
.contact__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.9rem;position: relative }
.contact__list::before {
  content: "";
  position: absolute;
  left: -2rem;
  top: 0;
  bottom: 0;
  width: 6px;
  background: var(--gorria);
}

.contact__item{ display:grid; grid-template-columns:1.25rem auto; align-items:center; gap:.6rem; line-height:1.5; }
.icon{ width:1.25rem; height:1.25rem; display:inline-grid; place-items:center; font-size:20px; }
.footer__map .map__iframe{ width:100%; height:100%; min-height:280px; border:0; display:block; }
.map__fallback{ margin:.5rem; font-size:.95rem; }
@media print{ .map__iframe{ display:none; } .map__fallback{ display:block; } }
@media (max-width: 900px){ .footer__wrap{ grid-template-columns:1fr; } .footer__info{ padding-right:0;margin-left: 20px; } }

/* =================== Utilidades a11y =================== */
.sr-only{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
@media (max-width: 1199.98px) {
  .menu-nagusia .navbar-brand img {
    max-width: 125px;
  }
    .navbar-collapse ul{
  margin: 10px 0;
        width: 100%;
}
     .navbar-collapse {
 flex-direction: column;
}
     .navbar-collapse ul li{
  margin-bottom: 2px;
}
    header .menu-nagusia{
         top:0;
        background-color: rgba(255,255,255,1);
    }
    .navbar-expand-xl .navbar-collapse{
        align-items: flex-start;
    }
    .hasiera-inner {
  max-width: 800px;
}
    .projects-box .lanak-list, .projects-box .lanak {
  width: 100%;
}
    
}
@media (max-width: 768px){
    
.hasiera-inner::before {
  display: none;
}

.hasiera-inner::after {
 display: none;
}
    .footer__info img{
         max-width: 150px;
    }
    .lanak .project-media img {
  width: 100%;
}

   
}