/* Simplify Eurogroup - hoja de estilos única (sin frameworks) */

/* ---------- Fuentes (locales) ---------- */
@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Heebo;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/heebo-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Myriad Cond';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/MyriadProBoldCondensed.woff) format('woff')}
@font-face{font-family:FA;font-style:normal;font-weight:900;font-display:block;src:url(../fonts/fa-solid-900.woff2) format('woff2')}

/* ---------- Variables y base ---------- */
:root{
  --green:#22a54a; --gray:#444; --orange:#f59610; --blue:#154f8c; --yellow:#fcd200; --red:#b40d0d;
  --text:#4b4f58; --bg:#f5f5f5; --link:#0170b9;
  --f-head:Montserrat,sans-serif; --f-body:Heebo,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.65 -apple-system,"system-ui","Segoe UI",Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}
img{max-width:100%;height:auto;border:0;vertical-align:middle}
a{color:var(--link);text-decoration:none;transition:color .2s}
a:hover{color:#3a3a3a}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}
.fa{font-family:FA;font-weight:900;font-style:normal;line-height:1;display:inline-block;-webkit-font-smoothing:antialiased}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:10px 16px;z-index:100}
.skip-link:focus{left:10px;top:10px}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 30px}
:focus-visible{outline:2px solid #0170b9;outline-offset:2px}

/* ---------- Cabecera ---------- */
.site-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid #e5e5e5}
.site-header__inner{max-width:1240px;margin:0 auto;padding:0 20px;height:94px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:15px;color:inherit}
.brand__logo{width:61px;height:50px}
.brand__text{display:block}
.brand__title,.brand__tagline{display:block;font-family:'Myriad Cond',Impact,'Arial Narrow',sans-serif;font-weight:700;text-transform:uppercase;white-space:nowrap}
.brand__title{font-size:35px;line-height:35px;color:#3a3a3a}
.brand__tagline{font-size:19.5px;line-height:29px;color:#66ae3d}
.main-nav ul{display:flex}
.main-nav a{display:block;padding:0 15px;line-height:70px;color:var(--link)}
.main-nav a:hover,.main-nav a[aria-current]{color:#3a3a3a}
.main-nav__section{display:none}
.nav-toggle{display:none;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.nav-toggle span{position:absolute;left:10px;right:10px;height:2px;background:#3a3a3a;transition:transform .25s,opacity .2s}
.nav-toggle span:nth-child(1){top:14px}.nav-toggle span:nth-child(2){top:21px}.nav-toggle span:nth-child(3){top:28px}
.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:748px;display:flex;align-items:center;overflow:hidden;background:#222;color:#fff}
.hero__slides{position:absolute;inset:0}
.hero__slide{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity .5s ease}
.hero__slide--1{background-image:url(../img/hero-1.jpg)}
.hero__slide--2{background-image:url(../img/hero-2.jpg)}
.hero__slide.is-active{opacity:1;animation:kenburns 6s linear forwards}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.2)}}
.hero__inner{position:relative;width:100%;display:flex;align-items:center}
.hero__main{flex:0 0 75%;padding:0 20px 0 40px;border-right:1px solid #fff}
.hero__title{font:700 50px/1em var(--f-head);letter-spacing:-1px;text-align:right;text-shadow:0 0 10px rgba(0,0,0,.87);margin:0 0 107px}
.hero__iso{width:510px;max-width:100%;padding:10px;text-align:right}
.hero__side{flex:1;padding:10px;display:flex;align-items:center}
.hero__icon{font-size:50px;margin-left:29px;color:#fff;transition:transform .3s}
.hero__icon:hover{transform:rotate(15deg)}

/* ---------- Menú de botones ---------- */
.tiles{position:relative;z-index:2;max-width:1200px;margin:-40px auto 0;background:#212121;box-shadow:0 0 10px rgba(0,0,0,.5)}
.tiles__list{display:flex}
.tile{flex:1 1 0;min-width:0;border-top:15px solid var(--c);transition:transform .2s ease-in-out}
.tile:hover,.tile:focus-within{transform:translateY(-15px)}
.tile--green{--c:#22a54a}.tile--gray{--c:#444}.tile--orange{--c:#f59610}.tile--blue{--c:#154f8c}.tile--yellow{--c:#fcd200}
.tile a{min-height:183px;padding:24px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;color:#fff;background:#212121}
.tile a:hover{color:var(--yellow)}
.tile__icon{width:48px;height:48px;transition:transform .3s}
.tile a:hover .tile__icon,.tile a:focus .tile__icon{transform:scale(1.1)}
.tile__icon--logo{width:min(170px,80%);height:auto;aspect-ratio:1839/560;padding:7px 12px;background:#fff;border-radius:8px;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.tile__label{display:block;font-size:15px;line-height:1.35}

/* ---------- Introducción ---------- */
.intro{padding-top:60px}
.intro__cols{display:flex;gap:30px;align-items:flex-start}
.intro__left{flex:0 0 45%}
.intro__right{flex:1;padding-top:6px;font:300 18px/1.7 var(--f-body);color:#333}
.intro__right p+p{margin-top:31px}
.intro__right b{font-weight:700}
.intro__title{font:700 54px/1.1 var(--f-head);color:#c0c0c0;margin-bottom:30px}
.intro__img{width:100%;height:auto;aspect-ratio:469/284;object-fit:cover;border-radius:8px}
.values{padding-top:60px;padding-bottom:70px}
.values__list{display:flex;gap:30px}
.values__list li{flex:1}
.values__list img{display:block;margin-bottom:20px}
.values__list p{font:500 18px/1.4 var(--f-body);color:#000;max-width:310px}

/* ---------- Bloques de sección ---------- */
.block{padding:100px 0;--ico:var(--green);--ttl:#000;--txt:#000}
.block--cambio{background:var(--bg)}
.block--arqueologia{background:#fff;--ico:#444;--ttl:#444}
.block--viveros{background:var(--bg);--ico:var(--orange)}
.block--gestiones{background:#164f8d;--ico:#fff;--ttl:#fff;--txt:#fff}
.block--ingenieria{background:var(--yellow);--ico:var(--red)}
.block--calidad{background:#fff;--ico:#efe54d;--ttl:#363636}
.block + .block{margin-top:0}
.h-big{font:600 clamp(30px,8.05vw,116px)/1.3 var(--f-head);text-transform:uppercase;color:var(--ttl);overflow-wrap:break-word;hyphens:manual;margin-bottom:70px}
.h-big--long{font-size:clamp(30px,min(8.05vw,80px),80px)}
.h-big--sub{font-size:clamp(28px,min(6vw,80px),80px);margin-top:50px}
.block--cambio .container + .band{margin:30px 0 0}
.viveros__logo{display:block;width:min(360px,70%);height:auto;margin-bottom:30px}
.calidad__img{display:block;max-width:600px;width:100%;height:auto;margin:-20px 0 50px;border-radius:8px}
.more{padding:0 20px;margin-top:10px}
.more .card__title{margin-bottom:10px;text-transform:none}

/* ---------- Tarjetas ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);margin:0 -10px}
.cards--4{grid-template-columns:repeat(4,1fr)}
.card{padding:0 20px 50px;color:var(--txt)}
.cards--lists .card{padding-bottom:30px}
.card__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;margin-bottom:20px}
.card__img--placeholder{display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;background:repeating-linear-gradient(135deg,#e3e3e3 0 14px,#ececec 14px 28px);color:#7a7a7a;font:600 13px/1.3 var(--f-head);text-transform:uppercase;letter-spacing:.04em}
.card__title{font:700 16px/1.35 var(--f-head);text-transform:uppercase;color:var(--ttl);margin-bottom:12px}
.card__text{font:400 15px/1.6 var(--f-body);color:var(--txt)}
.block--gestiones .card__text,.block--gestiones .card__title{color:#fff}

/* listas con iconos */
.list li{position:relative;padding:0 0 8px 34px;font:400 15px/21px var(--f-body);color:var(--txt)}
.list li::before{content:"\f058";font:900 17px/21px FA;position:absolute;left:3px;top:0;color:var(--ico)}
.block--ingenieria .list li::before,.block--calidad .list li::before{content:"\f0a9"}
.list--sub{margin-top:8px}
.list--sub li{padding-left:34px}
.list--sub li::before{content:"\f105";font-size:15px;left:8px}
.list a{color:inherit}
.list a:hover{color:var(--link)}
.block--gestiones .list a:hover{color:var(--yellow)}

/* ---------- Bandas con imagen fija ---------- */
.band{position:relative;min-height:536px;padding:137px 0 60px;background:center top/cover no-repeat;display:flex;flex-direction:column}
@media (min-width:1025px){.band{background-attachment:fixed}}
.band--niebla{background-image:url(../img/banda-niebla.jpg);background-color:#fff;min-height:536px}
.band--helechos{background-image:url(../img/banda-helechos.jpg);background-color:#1c3b1c;padding-top:204px}
.band--agua{background-image:url(../img/banda-agua.jpg);background-color:#164f8d;min-height:901px}
.band__text{width:100%;max-width:994px;margin:0 auto;padding:0 20px;font:400 24px/1.35 var(--f-head);color:#fff}
.band__text b{font-weight:700}
.band__text--dark{text-align:center;color:#000;font-weight:300;font-size:22px}
.band--agua .band__text{font-size:22px}
.band__text--box{max-width:none;padding:57px max(20px,calc((100% - 994px)/2)) 95px;background:rgba(0,0,0,.2)}
.block--cambio .band{margin-top:0}
.block--cambio .band--niebla{margin-bottom:100px}

/* ---------- Ayuntamientos / socios / pie ---------- */
.towns{padding:74px 0 60px}
.towns__title{font:600 32px/1.3 var(--f-head);color:#474747;text-align:center;margin-bottom:30px}
.towns__grid,.partners__grid{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center}
.towns__grid li{width:25%;padding:20px 30px;text-align:center}
.towns__grid img{max-width:100%;max-height:130px;width:auto;height:auto;margin:0 auto}
.partners{background:#2f2f2f;padding:80px 0 40px}
.partners__title{font:600 32px/1.3 var(--f-head);text-transform:uppercase;color:#fff;text-align:center;margin-bottom:40px}
.partners__grid li{width:25%;padding:10px 20px;text-align:center}
.partners__grid img{width:176px;max-width:100%;height:auto;margin:0 auto}
.footer-bottom{background:#2f2f2f;color:#fff;padding:0 0 60px}
.footer-bottom__inner{max-width:1200px;margin:0 auto;padding:60px 30px 0;border-top:1px solid #4a4a4a;display:flex;gap:30px}
.site-footer .partners{padding-bottom:50px}
.footer-bottom__legal{flex:0 0 50%;font:400 15px/1.65 var(--f-body);padding-top:20px}
.footer-bottom__legal p{margin-bottom:26px}
.footer-bottom a{color:#fff}
.footer-bottom__legal a:hover{color:var(--yellow)}
.footer-bottom__contact{flex:1}
.footer-bottom h2{font:600 32px/1.3 var(--f-head);margin-bottom:20px}
.footer-bottom__contact p{font:400 15px/1.65 var(--f-body);margin-bottom:20px;max-width:520px}

/* ---------- Botones y formularios ---------- */
.btn{display:inline-block;padding:12px 24px;border:0;border-radius:3px;background:#5cb85c;color:#fff;font:700 15px/15px var(--f-body);cursor:pointer;transition:background .2s}
.btn:hover{background:#449d44;color:#fff}
.page-content{max-width:1140px;margin:0 auto;padding:60px 30px 100px;min-height:50vh}
.page-content h1{font:600 32px/1.3 var(--f-head);color:#3a3a3a;margin-bottom:20px}
.page-content p{margin-bottom:20px;font:400 16px/1.7 var(--f-body)}
.page-content--wide{max-width:900px}
.form{margin-top:30px}
.field{margin-bottom:22px;border:0;padding:0}
.field>label,.field legend{display:block;margin-bottom:6px;font:600 15px/1.4 var(--f-body);color:#333;padding:0}
.field b{color:#c0392b}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{width:100%;padding:11px 14px;border:1px solid #ccc;border-radius:3px;background:#fff;font:400 16px/1.4 var(--f-body);color:#222}
.field input:focus,.field textarea:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px rgba(34,165,74,.2)}
.field--error input,.field--error textarea{border-color:#c0392b}
.field__error{display:block;margin-top:5px;color:#c0392b;font-size:14px}
.field--captcha input{max-width:120px}
.field--checks{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 20px}
.field--checks legend{grid-column:1/-1}
.check{display:flex;gap:8px;align-items:flex-start;font:400 15px/1.4 var(--f-body);color:#333}
.check input{margin-top:3px;accent-color:var(--green)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn--submit{padding:14px 34px;font-size:16px}
.notice{padding:16px 20px;border-radius:3px;margin:20px 0;font:500 16px/1.5 var(--f-body)}
.notice--ok{background:#e6f5ea;border:1px solid #22a54a;color:#14622c}
.notice--error{background:#fbeaea;border:1px solid #c0392b;color:#8e2418}

/* ---------- Animaciones de entrada ---------- */
.js [data-anim]{opacity:0}
.js [data-anim].is-in{opacity:1;animation:1.25s both var(--a,fadeIn)}
[data-anim=fadeIn]{--a:fadeIn}[data-anim=fadeInLeft]{--a:fadeInLeft}[data-anim=rotateIn]{--a:rotateIn}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInLeft{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:none}}
@keyframes rotateIn{from{opacity:0;transform:rotate(-200deg)}to{opacity:1;transform:none}}
.js .hero__icon.is-in{animation-fill-mode:backwards}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-anim].is-in{animation:none}
  .hero__slide.is-active{animation:none}
}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  .hero{min-height:560px}
  .hero__main{flex-basis:78%}
  .hero__title{font-size:42px;margin-bottom:60px}
  .tiles{margin-left:20px;margin-right:20px}
  .intro__title{font-size:44px}
  .cards,.cards--4{grid-template-columns:repeat(2,1fr)}
  .band--niebla,.band--helechos{background-image:url(../img/banda-niebla-mini.jpg)}
  .band--helechos{background-image:url(../img/banda-helechos-mini.jpg)}
  .towns__grid li,.partners__grid li{width:33.333%}
  .hero__slide--1{background-image:url(../img/hero-1-mini.jpg)}
  .hero__slide--2{background-image:url(../img/hero-2-mini.jpg)}
}
@media (max-width:921px){
  .site-header__inner{height:auto;min-height:74px;padding-top:10px;padding-bottom:10px}
  .brand__title{font-size:26px;line-height:28px}
  .brand__tagline{font-size:14px;line-height:20px;white-space:normal}
  .brand__logo{width:50px;height:41px}
  .nav-toggle{display:block;flex:0 0 auto}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 8px 14px rgba(0,0,0,.12)}
  .main-nav.is-open{display:block}
  .main-nav ul{flex-direction:column;padding:6px 0}
  .main-nav a{padding:0 24px;line-height:46px}
  .main-nav__section{display:block}
}
@media (max-width:700px){
  .tiles__list{flex-wrap:wrap;justify-content:center}
  .tile{flex:0 0 33.333%}
}

/* ---------- Móvil ---------- */
@media (max-width:767px){
  .hero{min-height:440px;padding:40px 0}
  .hero__inner{flex-direction:column;align-items:stretch}
  .hero__main{flex:none;border-right:0;padding:0 20px}
  .hero__title{font-size:35px;margin-bottom:30px;text-align:left}
  .hero__iso{width:100%;text-align:left;padding:10px 0}
  .hero__iso img{width:240px;height:auto}
  .hero__side{display:none}
  .tiles{margin-left:0;margin-right:0}
  .tile{flex:0 0 50%}
  .tile a{min-height:150px;padding:18px 10px;gap:14px}
  .intro{padding-top:40px}
  .intro__cols{flex-direction:column;gap:24px}
  .intro__left{flex:none;width:100%}
  .intro__title{font-size:38px}
  .intro__right{font-size:17px}
  .values{padding-top:40px}
  .values__list{flex-direction:column}
  .container{padding:0 20px}
  .block{padding:60px 0}
  .h-big{margin-bottom:40px}
  .h-big--sub{margin-top:20px}
  .cards,.cards--4{grid-template-columns:1fr;margin:0}
  .card{padding:0 0 40px}
  .more{padding:0}
  .band,.band--agua{min-height:0;padding:70px 0}
  .band--helechos{padding-top:70px}
  .band__text,.band--agua .band__text,.band__text--dark{font-size:18px}
  .band__text--box{padding:40px 20px}
  .block--cambio .band--niebla{margin-bottom:60px}
  .towns__grid li,.partners__grid li{width:50%;padding:12px 14px}
  .towns__title,.partners__title,.footer-bottom h2{font-size:24px}
  .partners{padding:50px 0 20px}
  .footer-bottom__inner{flex-direction:column;padding:40px 20px 0}
  .field--checks{grid-template-columns:1fr}
  .page-content{padding:40px 20px 70px}
}
@media (max-width:420px){
  .brand__tagline{display:none}
  .tile__label{font-size:14px}
}
