
:root{--red:#ed1b2f;--red2:#bd1424;--ink:#241b1e;--muted:#75686d;--cream:#fbf3e8;--paper:#fffdfa;--gold:#c8a15a;--line:rgba(36,27,30,.11);--shadow:0 18px 50px rgba(54,30,35,.14);--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0;overflow-x:hidden;color:var(--ink);background:linear-gradient(180deg,#fffdf9 0,#fbf3e8 42rem,#fbf3e8 100%);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}img,svg{display:block;max-width:100%}a{color:inherit}button{font:inherit}.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto;min-width:0}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,250,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(237,27,47,.11)}
.nav-shell{width:min(var(--container),calc(100% - 48px));min-height:70px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:36px;position:relative}.brand{flex:0 0 auto;text-decoration:none;color:var(--red);font-weight:950;font-size:1.02rem;letter-spacing:.08em;padding:12px 0}.main-nav{display:flex;align-items:center;gap:28px}.nav-link,.dropdown-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:7px 2px;border:0;background:transparent;text-decoration:none;color:var(--ink);font-size:.94rem;font-weight:800;cursor:pointer}.nav-link svg,.dropdown-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-link .dot{fill:currentColor;stroke:none}.nav-dropdown{position:relative}.chev{font-size:.78rem;transition:transform .2s ease}.nav-dropdown.open .chev{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 9px);left:50%;width:360px;padding:10px;display:grid;gap:3px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 44px rgba(45,24,29,.15);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.nav-dropdown.open .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.dropdown-menu a{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:8px 11px;border-radius:11px;text-decoration:none}.dropdown-menu a:hover{background:#fff2f4}.dropdown-menu strong{color:var(--red);font-size:.9rem}.dropdown-menu span{color:var(--muted);font-size:.84rem}.menu-toggle{display:none;width:46px;height:46px;border:0;border-radius:50%;background:#fff;box-shadow:0 8px 22px rgba(45,24,29,.1);cursor:pointer}.menu-toggle span{display:block;width:20px;height:2px;margin:4px auto;border-radius:99px;background:var(--red);transition:.2s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.home-hero{min-height:680px;display:grid;grid-template-columns:minmax(0,470px) minmax(0,560px);align-items:center;justify-content:space-between;gap:70px;padding:60px 0 76px}.hero-copy{min-width:0}.eyebrow{display:inline-flex;align-items:center;color:var(--red);font-size:.78rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.lightning{padding:9px 13px;border:1px solid rgba(237,27,47,.22);border-radius:999px;background:rgba(255,255,255,.62)}.name-lockup{margin-top:26px}.animated-name{display:flex;align-items:flex-end;margin:0;color:var(--red);font-size:clamp(4rem,5.2vw,5.4rem);line-height:.84;letter-spacing:-.065em;white-space:nowrap}.animated-name span{display:inline-block;opacity:0;transform:translateY(24px);animation:nameIn .62s cubic-bezier(.22,1,.36,1) forwards}.animated-name span:nth-child(1){animation-delay:.03s}.animated-name span:nth-child(2){animation-delay:.08s}.animated-name span:nth-child(3){animation-delay:.13s}.animated-name span:nth-child(4){animation-delay:.18s}.animated-name span:nth-child(5){animation-delay:.23s}.animated-name span:nth-child(6){animation-delay:.28s}.animated-name span:nth-child(7){animation-delay:.33s}.animated-name span:nth-child(8){animation-delay:.38s}@keyframes nameIn{to{opacity:1;transform:none}}.name-lockup p{margin:13px 0 0;font-size:1.02rem;font-weight:900;letter-spacing:.18em}.hero-lead{max-width:510px;margin:28px 0 0;font-size:1.1rem;line-height:1.62}.hero-meta{display:flex;flex-wrap:wrap;gap:7px 0;margin-top:22px;color:var(--muted);font-size:.82rem;font-weight:750}
.hero-meta span{
  position:relative;
  opacity:0;
  transform:translateY(10px);
  animation:keywordIn .55s cubic-bezier(.22,1,.36,1) forwards;
}
.hero-meta span:nth-child(1){animation-delay:.62s}
.hero-meta span:nth-child(2){animation-delay:.74s}
.hero-meta span:nth-child(3){animation-delay:.86s}
@keyframes keywordIn{
  to{opacity:1;transform:none}
}
.hero-meta span::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--red),var(--gold));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .28s ease;
  opacity:.75;
}
@media(hover:hover) and (pointer:fine){
  .hero-meta span:hover::before{transform:scaleX(1)}
  .hero-meta span:hover{color:var(--red)}
}

.hero-meta span:not(:last-child)::after{content:"";display:inline-block;width:4px;height:4px;margin:0 10px 2px;border-radius:50%;background:var(--red);opacity:.5}.hero-photo{width:100%;max-width:560px;justify-self:end;margin:0;overflow:hidden;border-radius:30px 8px 30px 8px;box-shadow:var(--shadow)}.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 22%}
.morph{transition:border-radius .52s cubic-bezier(.22,1,.36,1),transform .35s ease,box-shadow .35s ease}.section{padding:88px 0}.section-head{max-width:760px}.section-head h2,.social-inner h2,.story-panel h2,.detail-grid h2{margin:10px 0 14px;font-size:clamp(2.3rem,4vw,4.2rem);line-height:.98;letter-spacing:-.045em}.section-head p,.muted{color:var(--muted);font-size:1.04rem;line-height:1.62}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:44px}.journey-card{display:flex;min-width:0;flex-direction:column;text-decoration:none}.journey-photo{overflow:hidden;border-radius:24px 7px 24px 7px;box-shadow:0 12px 32px rgba(48,25,31,.1);aspect-ratio:4/5}.journey-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .55s ease}.journey-copy{padding:18px 4px 8px}.journey-copy span{color:var(--red);font-weight:950}.journey-copy h3{margin:5px 0 6px;font-size:1.48rem;line-height:1.1}.journey-copy p{margin:0;color:var(--muted);line-height:1.5}.journey-copy b{display:inline-block;margin-top:13px;font-size:.88rem}.future-card{min-height:100%;padding:28px;border-radius:24px 7px 24px 7px;background:var(--red);color:#fff}.future-card .journey-copy span,.future-card .journey-copy p{color:#fff}.future-year{min-height:240px;display:grid;place-items:center;font-size:clamp(3.7rem,5vw,5.4rem);font-weight:950}.social-section{padding:72px 0;background:var(--red);color:#fff}.social-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.eyebrow.light{color:#fff;opacity:.85}.social-inner p{margin:0;color:rgba(255,255,255,.78)}.social-links{display:flex;gap:12px;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;min-height:46px;padding:10px 15px;border-radius:999px;background:#fff;color:var(--red);text-decoration:none;font-weight:850}
.year-hero{min-height:680px;display:grid;grid-template-columns:minmax(0,440px) minmax(0,520px);justify-content:space-between;align-items:center;gap:76px;padding:46px 0 70px}.year-copy{min-width:0}.back-link{display:inline-block;margin-bottom:38px;color:var(--red);text-decoration:none;font-size:.84rem;font-weight:850}.year-number{color:var(--red);font-size:clamp(5.3rem,8vw,8.2rem);line-height:.78;font-weight:950;letter-spacing:-.07em}.year-copy h1{margin:24px 0 18px;font-size:clamp(3rem,4.8vw,4.9rem);line-height:.94;letter-spacing:-.055em}.year-copy p{margin:0;color:var(--muted);font-size:1.06rem;line-height:1.67}.year-photo{width:100%;max-width:520px;justify-self:end;margin:0;overflow:hidden;border-radius:30px 8px 30px 8px;box-shadow:var(--shadow)}.year-photo img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center center}.photo-2026{object-position:center center}.year-pager{display:flex;justify-content:space-between;gap:20px;padding:0 0 58px}.year-pager a{color:var(--red);font-weight:850;text-decoration:none}.future-panel{min-height:560px;display:grid;place-items:center;align-content:center;gap:12px;border-radius:30px 8px 30px 8px;background:var(--red);color:#fff;box-shadow:var(--shadow)}.future-panel span{font-size:clamp(4.5rem,8vw,7.2rem);font-weight:950}.future-panel strong{font-size:1.2rem;letter-spacing:.14em}.future-panel small{opacity:.82;letter-spacing:.2em}
.story-panel{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;padding:clamp(30px,5vw,54px);border-radius:32px 8px 32px 8px;background:var(--red);color:#fff}.story-panel p{margin:0;color:rgba(255,255,255,.84);line-height:1.7}.story-panel blockquote{margin:0;align-self:center;padding-left:28px;border-left:2px solid rgba(255,255,255,.58);font-size:clamp(1.25rem,2.4vw,1.9rem);line-height:1.35;font-weight:700}.detail-grid{display:grid;grid-template-columns:1fr .86fr;gap:58px;align-items:center;margin-top:82px}.detail-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}.detail-button{min-height:50px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer;transition:.2s}.detail-button.active{background:var(--red);border-color:var(--red);color:#fff}.detail-answer{margin-top:12px;padding:18px;border-radius:16px;background:rgba(237,27,47,.055)}.detail-answer strong{color:var(--red)}.detail-answer p{margin:5px 0 0;color:var(--muted);line-height:1.55}.detail-photo{overflow:hidden;border-radius:30px 8px 30px 8px;box-shadow:var(--shadow)}.detail-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%}.gallery-section{padding:86px 0;background:#fff}.gallery-tabs{display:flex;gap:12px;margin:30px 0 22px;border-bottom:1px solid var(--line)}.gallery-tab{min-height:44px;padding:10px 2px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:850;cursor:pointer}.gallery-tab.active{color:var(--red);border-bottom-color:var(--red)}.gallery-panel{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-panel.active{display:grid}.gallery-item{padding:0;border:0;overflow:hidden;border-radius:18px 5px 18px 5px;background:#eee;cursor:zoom-in}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.lightbox{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:70px 20px;background:rgba(18,12,14,.94)}.lightbox.open{display:grid}.lightbox img{max-width:92vw;max-height:82vh;object-fit:contain}.lightbox-close{position:absolute;top:18px;right:18px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.8rem;cursor:pointer}.site-footer{padding:28px 0;border-top:1px solid var(--line);background:var(--paper)}.footer-inner{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.82rem}.footer-inner strong{color:var(--ink)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.nav-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.animated-name span{transition:transform .2s ease,color .2s ease}.animated-name span:hover{transform:translateY(-7px);color:var(--red2)}.morph:hover{border-radius:8px 30px 8px 30px;transform:translateY(-3px)}.journey-card:hover .journey-photo img{transform:scale(1.04)}}
@media(max-width:1050px){.home-hero,.year-hero{grid-template-columns:minmax(0,400px) minmax(0,470px);gap:42px}.animated-name{font-size:clamp(3.55rem,6vw,4.4rem)}.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){

  .hero-copy{text-align:center}
  .hero .kicker{margin-inline:auto}
  .hero .animated-name{justify-content:center}
  .hero .surname{text-align:center}
  .hero .hero-lead{margin-left:auto;margin-right:auto}
  .hero .hero-meta{justify-content:center}
.container,.nav-shell{width:calc(100% - 28px)}.nav-shell{min-height:64px}.menu-toggle{display:block;flex:0 0 46px}.main-nav{position:absolute;top:calc(100% + 8px);left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100vh - 88px);overflow:auto;padding:8px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 42px rgba(45,24,29,.16)}.main-nav.open{display:flex}.nav-link,.dropdown-toggle{width:100%;justify-content:flex-start;padding:9px 11px;border-radius:11px}.nav-dropdown{width:100%}.dropdown-menu{position:static;width:100%;display:none;padding:4px;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;border:0;box-shadow:none;background:#fff6f7;margin:2px 0 4px}.nav-dropdown.open .dropdown-menu{display:grid}.dropdown-menu a{grid-template-columns:50px minmax(0,1fr);min-height:40px;padding:7px 9px}.home-hero,.year-hero{min-height:0;grid-template-columns:1fr;gap:24px;padding:30px 0 48px}.hero-photo,.year-photo,.future-panel{width:100%;max-width:650px;justify-self:stretch;margin-inline:auto}.animated-name{font-size:clamp(3.1rem,15.3vw,4.45rem)}.name-lockup{margin-top:18px}.name-lockup p{font-size:clamp(.76rem,3.4vw,.96rem);letter-spacing:.08em}.hero-lead{margin-top:18px;font-size:.97rem;line-height:1.5}.hero-meta{margin-top:14px;font-size:.73rem}.hero-photo img{aspect-ratio:4/4.8}.section{padding:62px 0}.section-head h2,.social-inner h2,.story-panel h2,.detail-grid h2{font-size:clamp(2.2rem,10vw,3.5rem)}.journey-grid{grid-template-columns:1fr;gap:34px}.social-inner{flex-direction:column;align-items:flex-start}.year-number{font-size:clamp(4.4rem,20vw,6.6rem)}.year-copy h1{font-size:clamp(2.55rem,11vw,4rem)}.back-link{margin-bottom:26px}.year-photo img{aspect-ratio:2/3}.story-panel,.detail-grid{grid-template-columns:1fr;gap:30px}.story-panel blockquote{padding-left:18px}.detail-grid{margin-top:58px}.future-panel{min-height:370px}.gallery-panel{grid-template-columns:1fr 1fr}.year-pager{padding-bottom:44px}}
@media(max-width:430px){.container,.nav-shell{width:calc(100% - 22px)}.animated-name{font-size:clamp(2.9rem,15vw,3.7rem)}.hero-meta{display:flex;justify-content:center;align-items:center;gap:10px 14px}.hero-meta span::after{display:none!important}
  .hero-meta span{padding:4px 0}.hero-meta span:last-child{grid-column:1/-1}.detail-buttons{grid-template-columns:1fr}.gallery-tabs{display:grid;grid-template-columns:1fr}.gallery-panel{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:5px}}
@media(max-width:360px){.container,.nav-shell{width:calc(100% - 18px)}.animated-name{font-size:2.62rem}.name-lockup p{font-size:.7rem;letter-spacing:.05em}.hero-lead{font-size:.92rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}:focus-visible{outline:3px solid rgba(237,27,47,.3);outline-offset:3px}

/* Identidad Ara Berá junto a la marca */
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.brand-symbols{display:inline-flex;align-items:center;gap:3px;font-size:.88rem;letter-spacing:0;transform:translateY(-1px)}
@media(max-width:430px){.brand{gap:7px}.brand-symbols{font-size:.78rem;gap:1px}}


.hero-meta span:focus-within::before{transform:scaleX(1)}
@media(hover:none),(pointer:coarse){
  .hero-meta span::before{
    animation:keywordLine 2.8s ease-in-out infinite;
    animation-delay:1.1s;
  }
  .hero-meta span:nth-child(2)::before{animation-delay:1.35s}
  .hero-meta span:nth-child(3)::before{animation-delay:1.6s}
  @keyframes keywordLine{
    0%,65%,100%{transform:scaleX(0)}
    18%,45%{transform:scaleX(1)}
  }
}


@media(max-width:760px){
  .hero .name-block{
    width:100%;
    text-align:center;
  }
  .hero .animated-name{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:flex-end;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .hero .surname{
    width:100%;
    text-align:center;
  }
}

.costume-visual{min-width:0}.costume-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 auto 12px;padding:5px;border:1px solid var(--line);border-radius:999px;background:#fff}.costume-view{min-height:42px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:850;cursor:pointer}.costume-view.active{background:var(--red);color:#fff}.costume-stage{position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:28px 8px 28px 8px;background:#f3eee8;box-shadow:var(--shadow)}.costume-layer{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:scale(.985);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1),visibility .45s}.costume-layer.active{opacity:1;visibility:visible;transform:scale(1)}.costume-layer img{width:100%;height:100%;object-fit:cover;object-position:center 24%}.costume-design img{object-fit:contain;object-position:center;padding:12px;background:#f3eee8}.costume-layer figcaption{position:absolute;left:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.92);font-size:.75rem;font-weight:850;box-shadow:0 6px 20px rgba(40,20,25,.12)}.costume-hint{text-align:center;color:var(--muted);font-size:.78rem;margin:10px 0 0}@media(hover:hover) and (pointer:fine){.costume-view:not(.active):hover{background:#fff1f3;color:var(--red)}.costume-stage:hover{border-radius:8px 28px 8px 28px}}@media(max-width:430px){.costume-view{font-size:.76rem;padding:7px}.costume-design img{padding:6px}}


/* Corrección real de centrado en móvil */
@media(max-width:760px){
  .home-hero .hero-copy{
    width:100%;
    text-align:center;
  }
  .home-hero .kicker{
    margin-left:auto;
    margin-right:auto;
  }
  .home-hero .name-lockup{
    width:100%;
    text-align:center;
  }
  .home-hero .animated-name{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:flex-end;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .home-hero .name-lockup > p{
    width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .home-hero .hero-lead{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .home-hero .hero-meta{
    justify-content:center;
    text-align:center;
  }
}


/* 2024 y 2025 · Diseño original / traje realizado */
.year-design-section{
  padding-top:18px;
  padding-bottom:82px;
}
.year-design-section .section-head{
  max-width:760px;
  margin-bottom:34px;
}
.design-compare{
  width:min(620px,100%);
  margin-inline:auto;
}
.design-compare .costume-stage{
  aspect-ratio:4/5;
}
.design-compare .costume-layer img{
  object-position:center 20%;
}
.design-compare .costume-design img{
  object-fit:contain;
  object-position:center;
  padding:16px;
  background:#f3eee8;
}
@media(max-width:760px){
  .year-design-section{
    padding-top:0;
    padding-bottom:58px;
  }
  .year-design-section .section-head{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .year-design-section .section-head .eyebrow{
    margin-inline:auto;
  }
  .design-compare{
    width:100%;
  }
}
@media(max-width:430px){
  .design-compare .costume-design img{
    padding:8px;
  }
}

.year-theme{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:2px 0 14px;
  padding:7px 12px;
  border:1px solid rgba(239,27,47,.18);
  border-radius:999px;
  color:var(--red);
  background:rgba(255,255,255,.58);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .year-theme{margin-left:auto;margin-right:auto;text-align:center}
}

/* Inicio · Un poquito sobre Agus */
.about-agus{
  padding-top:18px;
  padding-bottom:72px;
}
.about-agus-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);
  gap:46px;
  align-items:center;
  padding:clamp(30px,4vw,54px);
  border:1px solid rgba(157,28,36,.10);
  border-radius:34px 18px 34px 18px;
  background:rgba(255,255,255,.68);
  box-shadow:0 22px 55px rgba(87,35,28,.07);
  transition:border-radius .45s ease, transform .45s ease, box-shadow .45s ease;
}
.about-agus-card:hover{
  border-radius:18px 34px 18px 34px;
  transform:translateY(-3px);
  box-shadow:0 28px 64px rgba(87,35,28,.10);
}
.about-agus-copy{
  max-width:720px;
}
.about-agus-copy h2{
  margin:10px 0 18px;
}
.about-agus-copy p{
  margin:0 0 13px;
  line-height:1.72;
}
.about-agus-facts{
  display:grid;
  gap:12px;
}
.about-fact{
  padding:18px 20px;
  border:1px solid rgba(239,27,47,.12);
  border-radius:18px;
  background:rgba(255,250,246,.82);
}
.about-fact strong{
  display:block;
  margin-bottom:4px;
  color:var(--red);
  font-size:clamp(1.08rem,2vw,1.35rem);
}
.about-fact span{
  font-size:.88rem;
  opacity:.72;
}
@media(max-width:760px){
  .about-agus{
    padding-top:4px;
    padding-bottom:54px;
  }
  .about-agus-card{
    grid-template-columns:1fr;
    gap:26px;
    padding:28px 20px;
    text-align:center;
    border-radius:26px 14px 26px 14px;
  }
  .about-agus-copy .eyebrow{
    margin-inline:auto;
  }
  .about-agus-facts{
    grid-template-columns:1fr;
    width:min(340px,100%);
    margin-inline:auto;
  }
}
@media(prefers-reduced-motion:reduce){
  .about-agus-card{transition:none}
  .about-agus-card:hover{transform:none}
}

/* Páginas anuales · presentación centrada en móvil */
@media(max-width:760px){
  .year-hero,
  .detail-hero{
    text-align:center;
  }
  .year-hero .year-copy,
  .detail-hero .year-copy,
  .detail-hero .detail-copy{
    width:100%;
    text-align:center;
  }
  .year-hero .back-link,
  .detail-hero .back-link{
    display:inline-flex;
    width:auto;
    margin-left:auto;
    margin-right:auto;
    justify-content:center;
  }
  .year-hero .year-number,
  .detail-hero .year-number{
    width:100%;
    text-align:center;
  }
  .year-hero .year-theme,
  .detail-hero .year-theme{
    margin-left:auto;
    margin-right:auto;
  }
  .year-hero h1,
  .detail-hero h1{
    width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .year-hero .year-copy > p,
  .detail-hero .detail-copy > p{
    width:min(100%,560px);
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .year-hero .year-photo,
  .detail-hero .detail-photo,
  .detail-hero .costume-visual{
    margin-left:auto;
    margin-right:auto;
  }
}

/* Una pasión heredada */
.family-page{overflow:hidden}
.family-hero{
  min-height:520px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:70px;align-items:center;padding-top:80px;padding-bottom:80px;
}
.family-hero-copy{max-width:760px}
.family-hero h1{font-size:clamp(3.8rem,8vw,7.6rem);line-height:.82;letter-spacing:-.065em;margin:18px 0 28px}
.family-hero h1 em{font-style:normal;color:var(--red)}
.family-hero-copy p{max-width:690px;line-height:1.72;margin:0 0 14px}
.family-years{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}
.family-years span{font-weight:900;color:var(--red);font-size:1.15rem}
.family-years i{height:2px;background:linear-gradient(90deg,var(--red),rgba(239,27,47,.12));position:relative}
.family-years i:after{content:"";position:absolute;right:0;top:50%;width:10px;height:10px;border-radius:50%;background:var(--red);transform:translateY(-50%)}
.family-years small{grid-column:1/-1;text-align:center;opacity:.62;margin-top:8px}
.family-timeline{display:grid;gap:88px;padding-bottom:90px}
.family-entry{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1fr);gap:clamp(34px,6vw,84px);align-items:center;position:relative}
.family-entry-reverse .family-photo{order:2}.family-entry-reverse .family-copy{order:1}
.family-photo{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:34px 18px 34px 18px;background:#eee}
.family-photo img{width:100%;height:100%;object-fit:cover;display:block}
.family-copy{max-width:610px}
.family-period{display:inline-flex;padding:7px 12px;border:1px solid rgba(239,27,47,.17);border-radius:999px;color:var(--red);font-weight:900;font-size:.78rem;letter-spacing:.08em}
.family-copy h2{font-size:clamp(2.2rem,5vw,4.4rem);line-height:.95;letter-spacing:-.045em;margin:16px 0 20px}
.family-copy p{line-height:1.72;margin:0}
.family-entry-agus{padding-top:28px}
.family-route-link{display:inline-flex;margin-top:24px}
.family-closing{text-align:center;padding:20px 20px 90px}
.family-closing span{font-size:1.25rem}
.family-closing p{font-size:clamp(1.8rem,4vw,3.5rem);font-weight:900;letter-spacing:-.04em;margin:14px 0 6px}
.family-closing strong{color:var(--red);text-transform:uppercase;letter-spacing:.12em}
@media(max-width:900px){
  .family-hero{grid-template-columns:1fr;gap:38px;text-align:center;padding-top:55px}
  .family-hero-copy,.family-hero-copy p{margin-left:auto;margin-right:auto}
  .family-hero .eyebrow{margin-inline:auto}
  .family-years{width:min(500px,100%);margin-inline:auto}
}
@media(max-width:760px){
  .family-hero{padding-top:46px;padding-bottom:58px}
  .family-hero h1{font-size:clamp(3.5rem,17vw,5.4rem)}
  .family-timeline{gap:62px}
  .family-entry,.family-entry-reverse{grid-template-columns:1fr;gap:26px;text-align:center}
  .family-entry-reverse .family-photo,.family-entry-reverse .family-copy{order:initial}
  .family-photo{width:min(440px,100%);margin-inline:auto}
  .family-copy{margin-inline:auto}
  .family-period{margin-inline:auto}
  .family-route-link{justify-content:center}
  .family-nav-link span{white-space:normal}
}
@media(prefers-reduced-motion:reduce){
  .family-photo{transition:none}
}

/* Una pasión heredada · animación de generaciones */
.family-timeline{
  position:relative;
}
.family-progress{
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  transform:translateX(-50%);
  pointer-events:none;
  z-index:0;
}
.family-progress-line,
.family-progress-fill{
  position:absolute;
  inset:0;
  border-radius:999px;
}
.family-progress-line{
  background:rgba(239,27,47,.10);
}
.family-progress-fill{
  background:linear-gradient(180deg,var(--red),rgba(239,27,47,.28));
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .15s linear;
}

.family-entry{
  z-index:1;
}
.family-animate .family-photo,
.family-animate .family-copy{
  opacity:0;
  transition:
    opacity .8s cubic-bezier(.22,1,.36,1),
    transform .8s cubic-bezier(.22,1,.36,1);
}
.family-animate .family-photo{
  transform:translateX(-34px) scale(.985);
}
.family-animate .family-copy{
  transform:translateX(34px);
}
.family-entry-reverse.family-animate .family-photo{
  transform:translateX(34px) scale(.985);
}
.family-entry-reverse.family-animate .family-copy{
  transform:translateX(-34px);
}
.family-animate.is-visible .family-photo,
.family-animate.is-visible .family-copy{
  opacity:1;
  transform:translateX(0) scale(1);
}
.family-animate.is-visible .family-copy{
  transition-delay:.08s;
}
.family-animate .family-photo img{
  transform:scale(1.015);
  transition:transform 1.15s cubic-bezier(.22,1,.36,1);
}
.family-animate.is-visible .family-photo img{
  transform:scale(1);
}
.family-period{
  transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
}
.family-entry:hover .family-period{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(239,27,47,.08);
  background:rgba(255,255,255,.82);
}
.family-entry:hover .family-photo{
  border-radius:18px 34px 18px 34px;
}
.family-entry-agus .family-copy h2{
  position:relative;
}
.family-entry-agus .family-copy h2::after{
  content:"";
  display:block;
  width:0;
  height:3px;
  margin:14px auto 0;
  border-radius:999px;
  background:var(--red);
  transition:width .8s cubic-bezier(.22,1,.36,1) .25s;
}
.family-entry-agus.is-visible .family-copy h2::after{
  width:72px;
}

@media(max-width:900px){
  .family-progress{
    left:24px;
  }
}
@media(max-width:760px){
  .family-progress{
    display:none;
  }
  .family-animate .family-photo,
  .family-animate .family-copy,
  .family-entry-reverse.family-animate .family-photo,
  .family-entry-reverse.family-animate .family-copy{
    transform:translateY(24px);
  }
  .family-animate.is-visible .family-photo,
  .family-animate.is-visible .family-copy{
    transform:translateY(0);
  }
}
@media(prefers-reduced-motion:reduce){
  .family-progress-fill{transition:none}
  .family-animate .family-photo,
  .family-animate .family-copy,
  .family-animate .family-photo img,
  .family-period,
  .family-entry-agus .family-copy h2::after{
    transition:none !important;
    transform:none !important;
  }
  .family-animate .family-photo,
  .family-animate .family-copy{
    opacity:1 !important;
  }
}

/* Familia · nombres y encuadre */
.family-role{
  display:block;
  margin-top:16px;
  margin-bottom:-8px;
  color:var(--red);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.family-copy .family-role + h2{
  margin-top:14px;
}
/* La foto de Sofía necesita un encuadre centrado dentro de su tarjeta */
.family-photo img[src*="familia-mama-2010"]{
  object-position:center center;
}
@media(max-width:760px){
  .family-role{
    text-align:center;
  }
}

/* Línea de tiempo superior · animación 1995 → 2027 */
.family-years-animated{
  --family-progress:0;
}
.family-years-track{
  position:relative;
  height:16px;
  min-width:0;
}
.family-years-base,
.family-years-run{
  position:absolute;
  left:0;
  top:50%;
  width:100%;
  height:2px;
  border-radius:999px;
  transform:translateY(-50%);
}
.family-years-base{
  background:rgba(239,27,47,.12);
}
.family-years-run{
  background:var(--red);
  transform:translateY(-50%) scaleX(var(--family-progress));
  transform-origin:left center;
  transition:transform .08s linear;
}
.family-years-dot{
  position:absolute;
  left:calc(var(--family-progress) * 100%);
  top:50%;
  width:13px;
  height:13px;
  border:3px solid rgba(255,255,255,.95);
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 0 4px rgba(239,27,47,.10);
  transform:translate(-50%,-50%);
  transition:left .08s linear;
}
.family-year-start,
.family-year-end{
  transition:transform .4s ease, opacity .4s ease;
}
.family-years-animated.timeline-started .family-year-start{
  transform:scale(1.08);
}
.family-years-animated.timeline-complete .family-year-end{
  transform:scale(1.12);
}
@media(max-width:760px){
  .family-years-track{height:18px}
  .family-years-dot{width:12px;height:12px}
}
@media(prefers-reduced-motion:reduce){
  .family-years-animated{--family-progress:1 !important}
  .family-years-run,.family-years-dot,.family-year-start,.family-year-end{
    transition:none !important;
  }
}

/* 2027 · anuncio oficial Gran Bastonerita */
.announcement-2027{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(340px,.72fr);
  gap:clamp(44px,7vw,100px);
  align-items:center;
  padding-top:100px;
  padding-bottom:110px;
}
.announcement-2027-copy{max-width:650px}
.announcement-2027-copy h2{
  font-size:clamp(3.1rem,6.5vw,6.3rem);
  line-height:.88;
  letter-spacing:-.06em;
  margin:18px 0 30px;
}
.announcement-2027-copy h2 em{font-style:normal;color:var(--red)}
.announcement-2027-copy > p{line-height:1.75;max-width:590px}
.announcement-2027-poster{
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:28px 16px 28px 16px;
  background:#fff;
  box-shadow:0 24px 70px rgba(35,22,22,.10);
  opacity:1;
  transform:none;
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),border-radius .45s ease;
}
.announcement-2027-poster img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.announcement-2027.is-visible .announcement-2027-poster,
.announcement-2027.reveal-visible .announcement-2027-poster,
.announcement-2027.visible .announcement-2027-poster{
  opacity:1;
  transform:translateY(0) scale(1);
}
.announcement-quote{
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid rgba(239,27,47,.16);
}
.announcement-quote span{display:block;margin-bottom:9px}
.announcement-quote p{
  margin:0;
  font-weight:800;
  line-height:1.55;
  font-size:clamp(1.05rem,1.7vw,1.35rem);
}
@media(hover:hover) and (pointer:fine){
  .announcement-2027-poster:hover{border-radius:16px 34px 16px 34px}
}
@media(max-width:900px){
  .announcement-2027{grid-template-columns:1fr;text-align:center;padding-top:75px}
  .announcement-2027-copy,.announcement-2027-copy>p{margin-left:auto;margin-right:auto}
  .announcement-2027 .eyebrow{margin-inline:auto}
  .announcement-2027-poster{width:min(620px,100%);margin-inline:auto}
}
@media(max-width:760px){
  .announcement-2027{gap:38px;padding-top:60px;padding-bottom:80px}
  .announcement-2027-copy h2{font-size:clamp(3rem,15vw,4.8rem)}
  .announcement-2027-poster{border-radius:22px 12px 22px 12px}
}
@media(prefers-reduced-motion:reduce){
  .announcement-2027-poster{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* Fix: el anuncio 2027 siempre debe ser visible, incluso sin JavaScript */
.announcement-2027 .announcement-2027-poster{
  opacity:1 !important;
  visibility:visible !important;
}
.announcement-2027 .announcement-2027-poster img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  opacity:1 !important;
  visibility:visible !important;
}
@media(prefers-reduced-motion:no-preference){
  .announcement-2027 .announcement-2027-poster{
    animation:announcementPosterIn .85s cubic-bezier(.22,1,.36,1) both;
  }
}
@keyframes announcementPosterIn{
  from{opacity:.15;transform:translateY(22px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
