:root{--ivory:#f4f0e7;--paper:#fbfaf7;--ink:#151515;--stone:#77736c;--line:#d5d0c6;--red:#9b1c2b;--dark:#191918;--max:1380px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(251,250,247,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(21,21,21,.08)}.brand{font-size:14px;font-weight:800;letter-spacing:.15em}.brand span{color:var(--red);margin-left:8px;font-size:10px}.nav{display:flex;gap:24px;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.nav a:hover{color:var(--red)}.menu-toggle{display:none;border:0;background:none;font-size:25px}.hero{padding:76px 4vw 0;min-height:100vh;display:grid;grid-template-columns:42% 58%;align-items:stretch;background:var(--ivory)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:8vw 4vw 8vw 0}.eyebrow,.kicker{font-size:10px;letter-spacing:.18em;font-weight:800;margin:0 0 18px;color:var(--red);text-transform:uppercase}.hero h1{font-size:clamp(70px,10vw,155px);line-height:.82;letter-spacing:-.07em;margin:0 0 38px}.hero h1 em{font-style:normal;color:var(--red)}.lead{font-size:clamp(18px,2vw,25px);max-width:520px}.button{margin-top:24px;border-bottom:1px solid var(--ink);padding:14px 0;width:max-content;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.button span{margin-left:30px;color:var(--red)}.hero-image{margin:0;position:relative;height:48vh;min-height:340px;max-height:520px;overflow:hidden;align-self:center}.hero-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(15%)}.hero-image figcaption{position:absolute;bottom:22px;left:22px;right:22px;background:rgba(244,240,231,.9);padding:10px 14px;font-size:10px;letter-spacing:.12em;font-weight:800}.hero-image figcaption span{float:right;color:var(--red)}.section{max-width:var(--max);margin:auto;padding:130px 4vw}.intro-grid{display:grid;grid-template-columns:90px 1fr 1.2fr;gap:35px}.section-number{font-family:Georgia,serif;font-size:15px;color:var(--red);padding-top:8px}.section h2{font-size:clamp(48px,6vw,86px);line-height:.95;letter-spacing:-.055em;margin:0}.prose{font-size:16px;max-width:700px}.prose p{margin-top:0;margin-bottom:24px}.dark-section{max-width:none;background:var(--dark);color:#f7f3ea;padding-left:8vw;padding-right:8vw}.section-heading{display:grid;grid-template-columns:90px 1fr;gap:35px;margin-bottom:80px}.dark-section .eyebrow{color:#d66b77}.manifesto-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:6vw;align-items:center}.manifesto-text h3{font-size:clamp(38px,5vw,72px);line-height:.95;letter-spacing:-.05em;margin:0 0 35px}.manifesto-text h3 span{color:#d66b77}.manifesto-text p{max-width:650px}.association-image{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.association-image img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#292927}.image-note{position:absolute;bottom:15px;left:15px;background:#f7f3ea;color:#111;padding:8px 12px;font-size:9px;letter-spacing:.15em;font-weight:800}.equipment-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #4c4a46;margin-top:55px}.equipment-row div{padding:22px 12px 0;border-right:1px solid #4c4a46}.equipment-row strong{display:block;color:#d66b77;font-size:12px}.equipment-row span{font-size:12px}.activities{background:var(--paper)}.feature-card{display:grid;grid-template-columns:1.3fr 1fr;margin-bottom:100px;background:var(--ivory)}.feature-card.reverse{grid-template-columns:1fr 1.3fr}.feature-card.reverse .feature-image{order:2}.feature-image{min-height:520px}.media-stack{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;height:100%;min-height:520px;gap:4px;background:#ddd}.media-stack img{width:100%;height:100%;object-fit:cover}.media-stack img:first-child{grid-row:1/3}.feature-copy{padding:70px}.feature-copy h3,.project-grid h3{font-size:clamp(42px,5vw,70px);line-height:.95;letter-spacing:-.05em;margin:0 0 25px}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.project-grid{display:grid;grid-template-columns:2fr 1fr;gap:8vw;border-top:1px solid var(--line);padding:75px 0}.project-grid.project-grid{}.project-grid>div:first-child{max-width:700px}.project-stat{display:flex;align-items:flex-end;justify-content:center;flex-direction:column;text-align:right}.project-stat strong{font-size:clamp(70px,9vw,130px);line-height:.8;letter-spacing:-.08em;color:var(--red)}.project-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-top:18px}.documentary{background:var(--ivory);padding:75px 6vw;border:0}.gallery-section{background:var(--ivory);max-width:none}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-grid figure{margin:0;overflow:hidden;position:relative}.gallery-grid figure:first-child img.gallery01{object-fit:contain;background:#ddd8ce;}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-grid figure:hover img{transform:scale(1.03)}.gallery-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:12px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:10px}.gallery-help{font-size:11px;color:var(--stone);margin-top:20px}.gallery-help code{color:var(--red)}.contacts{background:var(--paper)}.contact-links{border-top:1px solid var(--line)}.contact-links a{display:grid;grid-template-columns:70px 1.2fr 1fr 40px;gap:20px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.contact-links a:hover{color:var(--red)}.contact-links span{font-size:10px;color:var(--red)}.contact-links strong{font-size:24px}.contact-links small{color:var(--stone)}.contact-links b{font-size:20px;text-align:right}.news{background:var(--ivory);max-width:none}.news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:110px 1fr 40px;gap:25px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.news-item:hover h3{color:var(--red)}.news-item time{font-size:10px;letter-spacing:.12em;color:var(--red);font-weight:800}.news-item h3{font-size:25px;margin:0 0 6px;line-height:1.1}.news-item p{margin:0;max-width:800px;color:#5f5c56;font-size:14px}.social-band{background:var(--red);color:#fff;padding:90px 8vw;display:flex;justify-content:space-between;align-items:end}.social-band .eyebrow{color:#fff}.social-band h2{font-size:clamp(40px,6vw,80px);line-height:.9;letter-spacing:-.06em;margin:0}.socials{display:flex;flex-direction:column;gap:12px;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.footer{background:#111;color:#ddd;padding:35px 4vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.footer div:nth-child(2){text-align:center}.footer div:nth-child(2) a{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:none}.footer span{display:block;color:#777;margin-top:5px}.footer a:hover{color:#fff}
@media(max-width:900px){.site-header{height:64px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);padding:20px 4vw;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{padding-top:64px;display:block}.hero-copy{padding:80px 0 50px}.hero-image{height:48vh;min-height:300px}.hero-image figcaption span{display:block;float:none;margin-top:4px}.section{padding:90px 6vw}.intro-grid{display:block}.section-number{margin-bottom:20px}.intro-grid h2{margin-bottom:45px}.section-heading{display:block;margin-bottom:50px}.section-heading .section-number{margin-bottom:15px}.manifesto-grid,.feature-card,.feature-card.reverse,.project-grid{display:block}.association-image{margin-top:45px}.equipment-row{grid-template-columns:1fr 1fr}.equipment-row div{min-height:80px}.feature-image,.media-stack{min-height:350px}.feature-copy{padding:45px 30px}.feature-card.reverse .feature-image{order:initial}.project-stat{text-align:left;align-items:flex-start;margin-top:40px}.documentary .project-stat{margin-bottom:50px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.contact-links a{grid-template-columns:40px 1fr 30px}.contact-links small{display:none}.news-item{grid-template-columns:70px 1fr 20px}.social-band{display:block;padding:70px 6vw}.socials{margin-top:40px}.footer{grid-template-columns:1fr}.footer div:last-child{text-align:left}}

.gallery-empty{grid-column:1/-1;padding:50px;text-align:center;border:1px dashed var(--line);color:#777;font-size:.8rem}
.project-strip{display:flex;gap:8px;margin-top:10px;max-width:55%;overflow:auto}
.project-strip img{width:75px;height:55px;object-fit:cover;cursor:pointer;opacity:.7}
.project-strip img:hover{opacity:1}
.image-placeholder,.gallery-empty{height:100%;min-height:300px;display:grid;place-items:center;text-align:center;padding:30px;color:var(--stone);background:#ddd9d0;font-size:12px;letter-spacing:.04em}.image-placeholder strong,.gallery-empty strong{color:var(--red)}
.media-stack:has(.image-placeholder){display:block}.media-stack .image-placeholder{height:100%;min-height:520px}
@media(max-width:900px){.media-stack .image-placeholder{min-height:350px}}

.media-stack{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;background:#d9d4ca;overflow:auto;padding:8px}.media-stack img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}.media-stack:has(img:only-child){grid-template-columns:1fr}.gallery-grid figure{overflow:hidden}.gallery-grid figure img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.media-stack{grid-template-columns:1fr}.media-stack img{min-height:280px}}

.static-project-image{position:relative;overflow:hidden;background:#ddd}.static-project-image img{width:100%;height:100%;object-fit:cover;display:block}.image-credit{position:absolute;left:12px;bottom:12px;background:rgba(244,240,231,.9);color:#222;padding:6px 9px;font-size:.65rem;letter-spacing:.03em}.project-copy>a{display:inline-block;margin-top:10px}

/* Fotografías históricas de proyectos */
.project-with-image{align-items:stretch;}
.project-copy-block{padding:clamp(35px,5vw,80px);display:flex;flex-direction:column;justify-content:center;}
.project-copy-block h3{font-family:"Playfair Display",serif;font-size:clamp(2.8rem,5vw,5.8rem);line-height:.95;letter-spacing:-.04em;margin:0 0 25px;}
.project-photo{margin:0;min-height:460px;background:#d8d3c9;overflow:hidden;display:flex;flex-direction:column;}
.project-photo img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover;filter:saturate(.82) contrast(.96);}
.project-photo figcaption{font-size:.62rem;line-height:1.4;color:#666;background:#eee9df;padding:10px 14px;}
.project-with-image:nth-of-type(odd) .project-photo img{object-position:center;}
.project-with-image.documentary .project-photo img{object-position:center 35%;max-height:420px;object-fit:contain;background:#d8d3c9;}
@media(max-width:900px){
 .manifesto-grid{grid-template-columns:1fr;gap:40px}.association-image{min-height:0}.project-with-image{grid-template-columns:1fr!important;}
 .project-photo{min-height:0;}
 .project-photo img{min-height:360px;height:55vw;}
 .project-copy-block{padding:12vw 7vw;}
}

/* Logo oficial de Ego Ruderico */
.brand-logo{display:flex;align-items:center;height:54px}
.brand-logo img{display:block;width:auto;height:72px;max-width:330px;object-fit:contain}
.brand-logo span{display:none}

/* Asociación: composición más ordenada y jerárquica */
.association-main{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.association-main .manifesto-grid{align-items:center}
.equipment-title{margin-top:85px;margin-bottom:0;padding-top:35px;border-top:1px solid #4c4a46}
.equipment-title h3{font-family:Georgia,serif;font-size:clamp(28px,3.5vw,48px);line-height:1;margin:0;max-width:700px;letter-spacing:-.03em}
.equipment-title .kicker{color:#d66b77;margin-bottom:12px}

/* La foto horizontal de Asociación se ve completa */
.association-image{display:flex;align-items:center;justify-content:center;overflow:hidden}
.association-image img{max-width:100%;width:100%;height:auto;max-height:520px;object-fit:contain}

/* Estatua del Cid: algo más contenida visualmente */
.documentary .project-photo{min-height:390px;max-width:92%;justify-self:start}
.documentary .project-photo img{min-height:350px;height:390px;object-fit:cover}

/* Galeria01 es vertical: mostramos la fotografía completa */
.gallery-grid figure:has(img.gallery01){background:#e2ddd3}
.gallery-grid figure:has(img.gallery01) img.gallery01{object-fit:contain;object-position:center;background:#e2ddd3}

/* Email del pie: más visible */
.footer a[href^="mailto:"]{font-size:15px;font-weight:800;letter-spacing:.03em;text-transform:none;color:#fff;border-bottom:1px solid #777;padding-bottom:5px;display:inline-block}
.footer a[href^="mailto:"]:hover{color:#fff;border-color:#fff}

@media(max-width:900px){
  .brand-logo img{height:72px;max-width:165px}
  .equipment-title{margin-top:55px}
  .documentary .project-photo{max-width:100%}
}

/* Ajustes finales */
.brand-logo img{display:block;width:auto;height:76px;max-width:340px;object-fit:contain}

.hero-image{position:relative;width:100%;height:46vh;min-height:300px;max-height:500px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero-image img{width:100%;height:100%;object-fit:contain;display:block;background:#d8d3c9}

.manifesto-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:6vw;align-items:center}

.project-with-image.documentary{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:5vw}
.project-with-image.documentary .project-photo{display:flex;align-items:center;justify-content:center;min-height:0}
.project-with-image.documentary .project-photo img{display:block;width:100%;height:auto;max-height:400px;object-fit:contain;background:#d8d3c9}
.gallery-grid figure{margin:0;min-width:0}
.gallery-grid img{width:100%;height:260px;display:block;object-fit:cover}
.gallery-grid figure:first-child img{object-fit:contain;background:#ddd8ce}
.footer .copyright{text-align:right}

@media(max-width:900px){
 .brand-logo img{height:62px;max-width:280px}
 .hero-image{height:38vh;min-height:240px;max-height:400px}
 .project-with-image.documentary{grid-template-columns:1fr;gap:30px}
 .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
}
@media(max-width:600px){
 .brand-logo img{height:52px;max-width:235px}
 .hero-image{height:32vh;min-height:210px}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== CORRECCIÓN DE ESTRUCTURA Y CENTRADO v3 ===== */
.section{
  width:100%;
  max-width:var(--max);
  margin-left:auto;
  margin-right:auto;
}
.dark-section{
  width:100%;
  max-width:none;
}
.dark-section > .section-heading,
.dark-section > .association-main{
  width:min(100%, var(--max));
  margin-left:auto;
  margin-right:auto;
}
.activities{
  width:100%;
  max-width:var(--max);
  margin-left:auto;
  margin-right:auto;
  background:var(--paper);
}
.activities > .section-heading,
.activities > .feature-card,
.activities > .project-grid{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
.feature-card{
  max-width:100%;
}
.feature-card.reverse{
  max-width:100%;
}
.project-grid{
  max-width:100%;
}
.association-main{
  width:100%;
}
.manifesto-grid{
  width:100%;
  max-width:var(--max);
  margin-left:auto;
  margin-right:auto;
}
.association-image{
  width:100%;
}

/* Ajuste solicitado: Estatua del Cid ligeramente más grande */
@media(min-width:901px){
  .hero-image{
    height:42vh;
    min-height:280px;
    max-height:470px;
  }
}

/* ===== AJUSTE VISUAL DEL INICIO v5 ===== */
@media(min-width:901px){
  .site-header{
    height:92px;
  }

  .brand-logo{
    height:82px;
  }

  .brand-logo img{
    height:94px;
    max-width:390px;
  }

  .hero{
    padding-top:92px;
    grid-template-columns:34% 66%;
    min-height:100vh;
  }

  .hero-copy{
    padding:6vw 3vw 6vw 0;
  }

  .hero h1{
    font-size:clamp(56px,7.2vw,112px);
    margin-bottom:28px;
  }

  .hero .lead{
    font-size:clamp(16px,1.35vw,20px);
    max-width:430px;
    line-height:1.55;
  }

  .hero-image{
    height:58vh;
    min-height:390px;
    max-height:650px;
  }
}

@media(max-width:900px){
  .brand-logo img{
    height:76px;
    max-width:300px;
  }
}

.footer div:last-child {
  text-align: right;
}

/* ===== SLIDER DEL HÉROE ===== */
.hero-slider img{
  opacity:1;
  transition:opacity .18s ease;
}
.hero-slider img.slider-fade{
  opacity:0;
}



/* ===== REDES SOCIALES · PARTE INFERIOR ===== */
.social-band{
  background:var(--dark);
  color:#f7f3ea;
  padding:95px 8vw 100px;
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);
  gap:7vw;
  align-items:center;
}
.social-intro .eyebrow{color:#d66b77}
.social-intro h2{
  font-size:clamp(42px,5.5vw,78px);
  line-height:.9;
  letter-spacing:-.06em;
  margin:0 0 28px;
}
.social-intro p:not(.eyebrow){
  max-width:470px;
  margin:0;
  color:#bdb9b1;
  font-size:14px;
}
.social-cards{display:flex;flex-direction:column;gap:12px}
.social-card{
  display:grid;
  grid-template-columns:52px 1fr 30px;
  gap:18px;
  align-items:center;
  padding:20px 22px;
  background:#242422;
  border:1px solid #3c3a36;
  transition:background .25s,transform .25s,border-color .25s;
}
.social-card:hover{background:#302f2c;border-color:#5a5751;transform:translateX(4px)}
.social-icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:#111;color:#fff;
  font-size:25px;font-weight:700;
}
.instagram-icon{font-size:36px;font-family:Arial,Helvetica,sans-serif}
.social-card span{display:block;color:#d66b77;font-size:9px;letter-spacing:.15em;font-weight:800;margin-bottom:3px}
.social-card strong{display:block;color:#fff;font-size:18px;line-height:1.15}
.social-card small{display:block;color:#99958d;font-size:10px;margin-top:5px}
.social-card b{font-size:20px;text-align:right;color:#d66b77}
@media(max-width:900px){
  .social-band{display:block;padding:75px 6vw 80px}
  .social-cards{margin-top:45px}
}
