.eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      color:var(--forest-700);
      font-size:0.875rem;
      font-weight:800;
      letter-spacing:.13em;
      text-transform:uppercase;
    }
.eyebrow::before{
      content:"";
      width:26px;height:2px;
      background:var(--gold-500);
      border-radius:999px;
    }
.section-title{
      margin-top:13px;
      font-family:"DM Serif Display",serif;
      font-size:clamp(2.1rem,4.4vw,4rem);
      line-height:1.03;
      font-weight:400;
      color:var(--forest-950);
      text-wrap:balance;
    }
.section-intro{
      margin-top:17px;
      max-width:760px;
      color:var(--ink-700);
      font-size:clamp(.98rem,1.5vw,1.08rem);
    }
.page-hero{
      position:relative;
      min-height:650px;
      display:flex;
      align-items:center;
      color:#fff;
      isolation:isolate;
      overflow:hidden;
      background:
        linear-gradient(90deg,rgba(7,26,19,.96) 0%,rgba(7,26,19,.78) 48%,rgba(7,26,19,.26) 100%),
        url("../img/foto-historia1.jpeg") center 44% / cover no-repeat;
    }
.page-hero::after{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:220px;
      z-index:-1;
      background:linear-gradient(to top,rgba(7,26,19,.45),transparent);
    }
.hero-content{padding-top:var(--header-h);max-width:860px}
.breadcrumbs{
      display:flex;flex-wrap:wrap;gap:8px;align-items:center;
      color:rgba(255,255,255,.58);
      font-size:1.0rem;
      font-weight:700;
    }
.breadcrumbs a:hover{color:var(--gold-400)}
.hero-badge{
      margin-top:26px;
      display:inline-flex;
      align-items:center;
      gap:9px;
      padding:9px 13px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.15);
      background:rgba(255,255,255,.09);
      backdrop-filter:blur(8px);
      color:rgba(255,255,255,.9);
      font-size:1.0rem;
      font-weight:800;
      letter-spacing:.055em;
      text-transform:uppercase;
    }
.hero-badge i{color:var(--gold-400)}
.page-hero h1{
      margin-top:20px;
      font-family:"DM Serif Display",serif;
      font-size:clamp(3.2rem,7.2vw,6.5rem);
      line-height:.92;
      font-weight:400;
      letter-spacing:-.025em;
      text-wrap:balance;
    }
.page-hero h1 span{color:var(--gold-400)}
.hero-copy{
      margin-top:22px;
      max-width:710px;
      color:rgba(255,255,255,.75);
      font-size:clamp(1.0rem,1.7vw,1.15rem);
    }
.anniversary{
      margin-top:34px;
      display:flex;
      flex-wrap:wrap;
      gap:14px;
    }
.anniversary-card{
      min-width:155px;
      padding:18px 20px;
      border:1px solid rgba(255,255,255,.13);
      border-radius:18px;
      background:rgba(255,255,255,.08);
      backdrop-filter:blur(10px);
    }
.anniversary-card strong{
      display:block;
      color:var(--gold-400);
      font-family:"DM Serif Display",serif;
      font-size:2.15rem;
      line-height:1;
      font-weight:400;
    }
.anniversary-card span{
      display:block;
      margin-top:5px;
      color:rgba(255,255,255,.68);
      font-size:1.0rem;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.06em;
    }
.story-intro{padding:100px 0 80px}
.story-grid{
      display:grid;
      grid-template-columns:1.03fr .97fr;
      gap:72px;
      align-items:center;
    }
.story-quote{
      margin-top:26px;
      padding-left:22px;
      border-left:3px solid var(--gold-500);
      color:var(--forest-900);
      font-family:"DM Serif Display",serif;
      font-size:clamp(1.45rem,2.6vw,2.2rem);
      line-height:1.2;
    }
.story-photo{
      position:relative;
      min-height:480px;
    }
.story-photo img{
      width:100%;height:100%;
      position:absolute;inset:0;
      object-fit:cover;
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-md);
      filter:sepia(.08) saturate(.9);
    }
.story-photo::after{
      content:"1987";
      position:absolute;
      right:-18px;
      bottom:24px;
      width:116px;height:116px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:var(--gold-400);
      color:var(--forest-950);
      font-family:"DM Serif Display",serif;
      font-size:2.0rem;
      box-shadow:var(--shadow-md);
    }
.timeline-section{
      padding:100px 0 110px;
      background:var(--forest-950);
      color:#fff;
      position:relative;
      overflow:hidden;
    }
.timeline-section .eyebrow{color:var(--leaf-300)}
.timeline-section .section-title{color:#fff}
.timeline-section .section-intro{color:rgba(255,255,255,.64)}
.timeline{
      margin-top:55px;
      position:relative;
      display:grid;
      gap:18px;
    }
.timeline::before{
      content:"";
      position:absolute;
      left:36px;
      top:18px;
      bottom:18px;
      width:2px;
      background:linear-gradient(var(--gold-400),rgba(255,255,255,.1));
    }
.timeline-item{
      position:relative;
      display:grid;
      grid-template-columns:74px 1fr;
      gap:20px;
      align-items:start;
    }
.timeline-dot{
      z-index:2;
      width:74px;height:74px;
      display:grid;
      place-items:center;
      border-radius:50%;
      color:var(--forest-950);
      background:var(--gold-400);
      border:8px solid var(--forest-950);
      font-size:1.0rem;
      font-weight:900;
    }
.timeline-card{
      padding:25px 28px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:19px;
      background:rgba(255,255,255,.055);
      backdrop-filter:blur(6px);
    }
.timeline-card .date{
      color:var(--gold-400);
      font-size:1.0rem;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
.timeline-card h3{
      margin-top:7px;
      font-family:"DM Serif Display",serif;
      font-size:1.7rem;
      font-weight:400;
      line-height:1.08;
    }
.timeline-card p{
      margin-top:10px;
      max-width:820px;
      color:rgba(255,255,255,.66);
      font-size:1.0rem;
    }
.people{padding:100px 0}
.people-grid{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:65px;
      align-items:start;
    }
.people-note{
      padding:30px;
      border-radius:var(--radius-md);
      background:#fff;
      border:1px solid rgba(18,51,40,.08);
      box-shadow:var(--shadow-sm);
    }
.people-note h3{
      font-family:"DM Serif Display",serif;
      font-size:2.0rem;
      font-weight:400;
      line-height:1.06;
      color:var(--forest-950);
    }
.people-note p{
      margin-top:12px;
      color:var(--ink-700);
      font-size:1.0rem;
    }
details.founding{
      border:1px solid rgba(18,51,40,.08);
      border-radius:20px;
      background:#fff;
      box-shadow:var(--shadow-sm);
      overflow:hidden;
    }
.founding summary{
      min-height:76px;
      padding:18px 22px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      list-style:none;
      cursor:pointer;
      color:var(--forest-950);
      font-weight:800;
    }
.founding summary::-webkit-details-marker{display:none}
.founding summary i{color:var(--forest-700);transition:transform .2s ease}
.founding[open] summary i{transform:rotate(180deg)}
.founding-list{
      padding:20px 22px 24px;
      border-top:1px solid rgba(18,51,40,.08);
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:9px 18px;
      list-style:none;
    }
.founding-list li{
      padding:11px 12px;
      border-radius:12px;
      background:var(--cream-100);
      color:var(--ink-700);
      font-size:1.0rem;
      line-height:1.4;
    }
.founding-list strong{color:var(--forest-900)}
.gallery-section{
      padding:100px 0 115px;
      background:var(--cream-100);
    }
.gallery-heading{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:40px;
    }
.gallery-heading .section-intro{max-width:480px;margin-bottom:5px}
.gallery{
      margin-top:40px;
      display:grid;
      grid-template-columns:repeat(12,1fr);
      grid-auto-rows:210px;
      gap:12px;
    }
.gallery-item{
      position:relative;
      overflow:hidden;
      border:0;
      padding:0;
      cursor:pointer;
      border-radius:18px;
      background:#ddd;
      box-shadow:var(--shadow-sm);
    }
.gallery-item:nth-child(1){grid-column:span 5;grid-row:span 2}
.gallery-item:nth-child(2){grid-column:span 4}
.gallery-item:nth-child(3){grid-column:span 3}
.gallery-item:nth-child(4){grid-column:span 3}
.gallery-item:nth-child(5){grid-column:span 4}
.gallery-item:nth-child(6){grid-column:span 7}
.gallery-item img{
      width:100%;height:100%;
      object-fit:cover;
      transition:transform .55s cubic-bezier(.2,.7,.25,1),filter .3s ease;
      filter:saturate(.88);
    }
.gallery-item::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(to top,rgba(11,34,25,.4),transparent 55%);
      opacity:.45;
      transition:opacity .25s ease;
    }
.gallery-item:hover img{transform:scale(1.045);filter:saturate(1)}
.gallery-item:hover::after{opacity:.7}
.gallery-index{
      position:absolute;
      z-index:2;
      right:12px;
      bottom:12px;
      width:34px;height:34px;
      display:grid;
      place-items:center;
      border-radius:50%;
      color:#fff;
      background:rgba(11,34,25,.56);
      backdrop-filter:blur(8px);
      font-size:1.0rem;
      font-weight:800;
    }
.lightbox{
      position:fixed;
      inset:0;
      z-index:2000;
      display:none;
      align-items:center;
      justify-content:center;
      padding:28px;
      background:rgba(3,14,10,.94);
      backdrop-filter:blur(10px);
    }
.lightbox.open{display:flex}
.lightbox-image{
      max-width:min(1200px,calc(100vw - 120px));
      max-height:calc(100dvh - 80px);
      object-fit:contain;
      border-radius:16px;
      box-shadow:0 28px 80px rgba(0,0,0,.45);
    }
.lb-close,.lb-nav{
      position:absolute;
      border:1px solid rgba(255,255,255,.13);
      color:#fff;
      background:rgba(255,255,255,.08);
      backdrop-filter:blur(8px);
      cursor:pointer;
      transition:background .2s ease;
    }
.lb-close:hover,.lb-nav:hover{background:rgba(255,255,255,.16)}
.lb-close{
      top:22px;right:22px;
      width:46px;height:46px;
      border-radius:50%;
      font-size:1.0rem;
    }
.lb-nav{
      top:50%;
      transform:translateY(-50%);
      width:52px;height:52px;
      border-radius:50%;
      font-size:1.0rem;
    }
.lb-prev{left:22px}
.lb-next{right:22px}
.lb-counter{
      position:absolute;
      left:50%;
      bottom:22px;
      transform:translateX(-50%);
      color:rgba(255,255,255,.66);
      font-size:1.0rem;
      font-weight:800;
    }
.forty{padding:0 0 110px;background:var(--cream-100)}
.forty-card{
      position:relative;
      overflow:hidden;
      padding:52px;
      border-radius:var(--radius-lg);
      color:#fff;
      background:
        linear-gradient(100deg,rgba(11,34,25,.97),rgba(24,70,53,.88)),
        url("../img/foto-historia9.jpeg") center/cover no-repeat;
      box-shadow:var(--shadow-md);
    }
.forty-card::after{
      content:"40";
      position:absolute;
      right:30px;
      top:-40px;
      font-family:"DM Serif Display",serif;
      font-size:14.0rem;
      line-height:1;
      color:rgba(255,255,255,.045);
    }
.forty-card .eyebrow{color:var(--leaf-300)}
.forty-card h2{
      margin-top:13px;
      max-width:740px;
      font-family:"DM Serif Display",serif;
      font-size:clamp(2.3rem,5vw,4.6rem);
      line-height:1;
      font-weight:400;
    }
.forty-card p{
      margin-top:15px;
      max-width:660px;
      color:rgba(255,255,255,.7);
      font-size:1.0rem;
    }
[data-reveal]{
      opacity:0;
      transform:translateY(22px);
      transition:opacity .6s ease,transform .6s ease;
    }
[data-reveal].revealed{opacity:1;transform:none}
@media(max-width:1000px){
.story-grid,.people-grid{grid-template-columns:1fr;gap:48px}
.story-photo{min-height:430px}
}
@media(max-width:720px){
.page-hero{
        min-height:650px;
        align-items:flex-end;
        padding:120px 0 72px;
        background:
          linear-gradient(to top,rgba(7,26,19,.98) 0%,rgba(7,26,19,.78) 62%,rgba(7,26,19,.26) 100%),
          url("../img/foto-historia1.jpeg") 58% center/cover no-repeat;
      }
.hero-content{padding-top:0}
.page-hero h1{font-size:clamp(3.25rem,15vw,4.9rem)}
.hero-copy{font-size:1.0rem}
.anniversary{display:grid;grid-template-columns:1fr 1fr;width:100%}
.anniversary-card{min-width:0;padding:16px}
.story-intro{padding:80px 0 70px}
.story-photo{min-height:350px}
.story-photo::after{width:94px;height:94px;font-size:1.65rem;right:-6px}
.timeline-section{padding:80px 0 88px}
.timeline{margin-top:38px}
.timeline::before{left:24px}
.timeline-item{grid-template-columns:50px 1fr;gap:12px}
.timeline-dot{
        width:50px;height:50px;
        border-width:5px;
        font-size:1.0rem;
      }
.timeline-card{padding:20px}
.timeline-card h3{font-size:1.42rem}
.people{padding:82px 0}
.founding-list{grid-template-columns:1fr}
.gallery-section{padding:82px 0 90px}
.gallery-heading{display:block}
.gallery{
        grid-template-columns:repeat(2,1fr);
        grid-auto-rows:170px;
      }
.gallery-item:nth-child(n){
        grid-column:span 1;
        grid-row:span 1;
      }
.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}
.gallery-item:nth-child(6){grid-column:span 2}
.lightbox{padding:16px}
.lightbox-image{max-width:calc(100vw - 28px);max-height:calc(100dvh - 110px)}
.lb-nav{top:auto;bottom:22px;transform:none;width:46px;height:46px}
.lb-prev{left:22px}
.lb-next{right:22px}
.lb-counter{bottom:35px}
.forty{padding-bottom:82px}
.forty-card{padding:34px 25px}
.forty-card::after{font-size:10.0rem;right:-10px}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
[data-reveal]{opacity:1;transform:none}
}