/* ═══════════════════════════════════════════════════
   TOKENS — identical to index.html
   ═══════════════════════════════════════════════════ */
:root{
  --dark:#081418;--dark2:#0e1e23;--forest:#202f1f;--forest2:#2a3d28;
  --amber:#5f4605;--copper:#bc863c;--copper2:#d49b4e;--gold:#e4cb84;--gold2:#f2e4b8;
  --brown:#655846;--brown2:#4a3f33;--olive:#a1aa77;--olive2:#c2c9a4;
  --cream:#FAFAF5;--white:#fff;--g100:#f3f2ee;--g200:#e4e3dc;--g400:#9c9788;--g600:#6b665c;--g800:#3a372f;
  --r-sm:8px;--r-md:14px;--r-lg:20px;
  --sh-c:0 1px 3px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06);
  --sh-l:0 4px 12px rgba(0,0,0,.04),0 20px 48px rgba(0,0,0,.1);
  --ease:cubic-bezier(.22,1,.36,1);--ease2:cubic-bezier(0,0,.2,1);--tr:.35s var(--ease);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:'Inter',system-ui,sans-serif;color:var(--g800);background:var(--cream);overflow-x:hidden;line-height:1.65}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.15;letter-spacing:-.01em}
a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}ul{list-style:none}button{font-family:inherit;cursor:pointer}
.container{width:100%;max-width:1120px;margin:0 auto;padding:0 clamp(16px,4vw,24px)}

/* ═══════════════════════════════════════════════════
   NAVBAR — identical to index.html
   ═══════════════════════════════════════════════════ */
.navbar{position:sticky;top:0;z-index:100;background:var(--dark);transition:box-shadow var(--tr)}
.navbar.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.5)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:56px}
.nav-brand{display:flex;align-items:center;flex-shrink:0}
.nav-brand img{height:40px;width:auto}
.nav-links{display:flex;align-items:center;gap:0}
.nav-item{position:relative}
.nav-item>a{
  display:flex;align-items:center;gap:4px;
  padding:18px 11px;font-size:.67rem;font-weight:600;
  color:rgba(255,255,255,.92);text-transform:uppercase;letter-spacing:.04em;
  transition:color var(--tr);white-space:nowrap;
}
.nav-item>a:hover,.nav-item>a.active{color:var(--gold)}
.nav-item>a .caret{font-size:.5rem;transition:transform .3s ease}
.nav-item:hover>a .caret{transform:rotate(180deg)}
.dropdown{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  min-width:200px;background:var(--dark2);border:1px solid rgba(188,134,60,.12);
  border-radius:var(--r-sm);padding:6px 0;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:all .25s var(--ease);box-shadow:0 12px 36px rgba(0,0,0,.4);
}
.nav-item:hover .dropdown{opacity:1;visibility:visible;pointer-events:all;transform:translateX(-50%) translateY(0)}
.dropdown a{
  display:block;padding:9px 18px;font-size:.72rem;font-weight:500;
  color:rgba(255,255,255,.75);transition:all .2s ease;
}
.dropdown a:hover{color:var(--gold);background:rgba(228,203,132,.05);padding-left:22px}
.nav-actions{display:flex;align-items:center;gap:8px}
.btn-search{
  width:34px;height:34px;border-radius:50%;border:1px solid rgba(188,134,60,.2);
  background:transparent;color:var(--copper);display:flex;align-items:center;justify-content:center;
  font-size:.8rem;transition:all var(--tr);
}
.btn-search:hover{background:var(--copper);color:var(--dark);border-color:var(--copper)}
.hamburger{display:none;flex-direction:column;gap:5px;padding:6px;cursor:pointer;z-index:110;transition:opacity .2s ease,visibility .2s ease}
.hamburger span{display:block;width:22px;height:2px;background:var(--cream);border-radius:2px;transition:all .3s ease}
.hamburger.hidden{opacity:0;visibility:hidden;pointer-events:none}
.nav-links.open{
  display:flex!important;flex-direction:column;position:fixed;inset:0;
  background:var(--dark);z-index:105;
  justify-content:flex-start;align-items:stretch;gap:0;
  padding:68px 0 32px;overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.nav-links.open .nav-item{border-bottom:1px solid rgba(188,134,60,.12)}
.nav-links.open .nav-item:first-child{border-top:1px solid rgba(188,134,60,.12)}
.nav-links.open .nav-item>a{
  font-size:.88rem;padding:16px 24px;justify-content:space-between;width:100%;
  color:rgba(255,255,255,.92);
}
.nav-links.open .nav-item>a:hover,.nav-links.open .nav-item>a.active{color:var(--gold)}
.nav-links.open .nav-item>a .caret{font-size:.6rem;color:rgba(228,203,132,.5);transition:transform .3s ease}
.nav-links.open .nav-item>a .caret.rotated{transform:rotate(180deg)}
.nav-links.open .dropdown{
  position:static;transform:none;
  min-width:auto;background:rgba(0,0,0,.15);border:0;box-shadow:none;
  padding:0;border-radius:0;
  max-height:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;
  transition:max-height .35s ease,opacity .3s ease,padding .3s ease;
}
.nav-links.open .dropdown.sub-open{
  max-height:300px;opacity:1;visibility:visible;pointer-events:all;
  padding:4px 0 8px 0;
}
.nav-links.open .dropdown a{font-size:.8rem;padding:8px 24px 8px 40px;color:rgba(212,208,196,.7)}
.nav-links.open .dropdown a:hover{color:var(--gold);padding-left:44px;background:transparent}
.menu-close{
  display:none;position:fixed;top:16px;right:18px;z-index:120;
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(228,203,132,.25);
  background:rgba(8,20,24,.8);color:var(--gold);font-size:1rem;
  align-items:center;justify-content:center;cursor:pointer;
  transition:all .3s ease;
}
.menu-close.show{display:flex}
.menu-close:hover{background:var(--copper);color:var(--white);border-color:var(--copper)}

/* ═══════════════════════════════════════════════════
   PAGE HERO — PARALLAX
   ═══════════════════════════════════════════════════ */
.page-hero{
  position:relative;height:clamp(240px,36vh,320px);overflow:hidden;
  background:var(--dark);display:flex;align-items:center;
}
.page-hero-bg{
  position:absolute;inset:-20% 0;
  background:url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1600&q=80') center 30%/cover no-repeat;
  will-change:transform;transform:translateY(0);
  filter:brightness(.45) saturate(.8);
}
.page-hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(8,20,24,.88) 0%, rgba(8,20,24,.55) 50%, rgba(8,20,24,.25) 100%),
    linear-gradient(to top,   rgba(8,20,24,.7) 0%, transparent 60%);
}
/* Diagonal deco */
.page-hero-deco{
  position:absolute;right:0;top:0;bottom:0;width:420px;pointer-events:none;opacity:.18;
}
.page-hero-deco svg{width:100%;height:100%}
/* Floating particles */
.hero-particle{
  position:absolute;border-radius:50%;background:var(--gold);opacity:0;
  animation:particle-float linear infinite;
}
@keyframes particle-float{
  0%{transform:translateY(100%) scale(0);opacity:0}
  10%{opacity:.35}
  90%{opacity:.12}
  100%{transform:translateY(-120vh) scale(1.5);opacity:0}
}
.page-hero-content{position:relative;z-index:2;padding-bottom:16px}
.page-breadcrumb{
  display:flex;align-items:center;gap:8px;
  font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;
  color:rgba(228,203,132,.85);margin-bottom:18px;
}
.page-breadcrumb a{color:var(--copper2);transition:color var(--tr)}
.page-breadcrumb a:hover{color:var(--gold)}
.page-breadcrumb i{font-size:.42rem;color:rgba(228,203,132,.5)}
.page-hero-tag{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;
  font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--copper2);
}
.page-hero-tag::before{content:'';width:22px;height:2px;background:var(--copper);border-radius:2px}
.page-hero h1{
  font-size:clamp(1.8rem,4.5vw,3rem);color:var(--white);font-weight:800;
  text-transform:uppercase;letter-spacing:-.01em;
  text-shadow:0 2px 20px rgba(0,0,0,.6);max-width:640px;
  animation:hero-title-in .9s var(--ease) both;
}
.page-hero h1 em{color:var(--gold);font-style:italic;text-transform:none;font-weight:700}
@keyframes hero-title-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.page-hero-tag{animation:hero-tag-in .7s var(--ease) .15s both}
@keyframes hero-tag-in{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
.page-breadcrumb{animation:hero-tag-in .6s var(--ease) 0s both}

/* ═══════════════════════════════════════════════════
   SECTION LABELS
   ═══════════════════════════════════════════════════ */
.section-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;
  color:var(--olive);margin-bottom:14px;
}
.section-label::before{content:'';width:24px;height:2px;background:var(--olive);border-radius:2px}
.section-label.center{justify-content:center}
.section-label.center::after{content:'';width:24px;height:2px;background:currentColor;border-radius:2px}

/* ═══════════════════════════════════════════════════
   HISTORIA
   ═══════════════════════════════════════════════════ */
.historia{padding:clamp(56px,8vw,88px) 0;background:var(--cream);position:relative;overflow:hidden}
.historia::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 80% 50%,rgba(161,170,119,.07) 0%,transparent 70%);
}
.historia-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}

/* Left column: image on top, timeline below */
.historia-visual{position:relative;display:flex;flex-direction:column;gap:0;padding-bottom:28px}
.historia-img-wrap{position:relative}
.historia-img-main{
  border-radius:var(--r-lg);overflow:hidden;
  aspect-ratio:4/3;box-shadow:var(--sh-l);
  border:3px solid var(--g200);
}
.historia-img-main img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.historia-img-main:hover img{transform:scale(1.04)}
.historia-img-sec{
  position:absolute;bottom:-16px;right:-14px;width:44%;aspect-ratio:4/3;
  border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--sh-l);border:4px solid var(--cream);z-index:2;
}
.historia-img-sec img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.historia-img-sec:hover img{transform:scale(1.05)}
.historia-badge{
  position:absolute;top:14%;left:-14px;z-index:3;
  width:72px;height:72px;border-radius:50%;
  background:var(--copper);box-shadow:0 6px 24px rgba(188,134,60,.45);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  animation:gfloat 5s ease-in-out infinite;
}
.historia-badge strong{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:800;color:var(--white);line-height:1}
.historia-badge small{font-size:.4rem;font-weight:700;color:rgba(255,255,255,.9);text-transform:uppercase;letter-spacing:.04em;text-align:center;line-height:1.2}
@keyframes gfloat{0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)}}

/* Timeline below image */
.timeline{margin-top:28px;display:flex;flex-direction:column;gap:0}
.tl-item{
  display:grid;grid-template-columns:56px 1fr;gap:0;
  padding:14px 0;border-bottom:1px solid rgba(161,170,119,.15);
  transition:background var(--tr),transform var(--tr);
  border-radius:0;cursor:default;position:relative;
}
.tl-item:last-child{border-bottom:none}
.tl-item::before{
  content:'';position:absolute;left:26px;top:0;bottom:0;width:1px;
  background:linear-gradient(to bottom,rgba(188,134,60,.0) 0%,rgba(188,134,60,.3) 20%,rgba(188,134,60,.3) 80%,rgba(188,134,60,.0) 100%);
  z-index:0;
}
.tl-item:hover{
  background:rgba(161,170,119,.07);
  padding-left:8px;padding-right:8px;margin:0 -8px;
  border-radius:var(--r-sm);transform:translateX(3px);
}
.tl-dot-col{
  flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;
  padding-top:2px;position:relative;z-index:1;
}
.tl-year{
  font-size:.65rem;font-weight:800;color:var(--copper);
  font-family:'Playfair Display',serif;letter-spacing:.01em;
}
.tl-pip{
  width:10px;height:10px;border-radius:50%;background:var(--copper);margin-top:3px;
  box-shadow:0 0 0 3px rgba(188,134,60,.18),0 0 0 6px rgba(188,134,60,.06);
  flex-shrink:0;
}
.tl-body{padding-left:10px;position:relative;z-index:1}
.tl-body h4{
  font-size:.8rem;font-weight:700;color:var(--brown2);margin-bottom:3px;
  text-transform:uppercase;letter-spacing:.04em;
}
.tl-body p{font-size:.76rem;color:var(--g600);line-height:1.6;margin:0;text-align:justify}

/* Text side */
.historia-text h2{font-size:clamp(1.5rem,3vw,2.2rem);color:var(--brown2);margin-bottom:18px}
.historia-text h2 span{color:var(--olive)}
.historia-text p{font-size:.88rem;color:var(--g600);line-height:1.82;margin-bottom:14px;text-align:justify}
.historia-text p:first-of-type{
  border-left:3px solid var(--gold);padding-left:16px;
  color:var(--g800);
}

/* ═══════════════════════════════════════════════════
   MISIÓN & VISIÓN
   ═══════════════════════════════════════════════════ */
.mv-section{
  position:relative;padding:clamp(56px,8vw,80px) 0;overflow:hidden;
  background:var(--dark);
}
.mv-bg{
  position:absolute;inset:-20% 0;
  background:url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=1400&q=70') center/cover no-repeat;
  opacity:.22;will-change:transform;filter:saturate(.7) brightness(.6);
}
.mv-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,20,24,.85) 0%,rgba(32,47,31,.82) 100%)}
.mv-head{text-align:center;position:relative;z-index:2;margin-bottom:44px}
.mv-head .section-label{color:var(--gold)}
.mv-head .section-label::before,.mv-head .section-label::after{background:var(--gold)}
.mv-head h2{font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--white)}
.mv-head h2 em{color:var(--gold)}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative;z-index:2}
.mv-card{
  border-radius:var(--r-lg);padding:36px 32px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(228,203,132,.18);
  transition:all .4s var(--ease);position:relative;overflow:hidden;
}
.mv-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--gold),var(--copper),transparent);
}
.mv-card:hover{border-color:rgba(228,203,132,.38);transform:translateY(-6px);box-shadow:0 20px 56px rgba(0,0,0,.4)}
.mv-card-icon{
  width:52px;height:52px;border-radius:var(--r-sm);
  background:rgba(228,203,132,.14);border:1px solid rgba(228,203,132,.28);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;color:var(--gold);margin-bottom:20px;
  transition:transform .45s var(--ease),background .3s;
}
.mv-card:hover .mv-card-icon{transform:scale(1.12) rotate(-6deg);background:rgba(228,203,132,.22)}
.mv-card h3{font-size:1.35rem;color:var(--gold2);margin-bottom:14px}
.mv-card p{font-size:.87rem;color:rgba(250,245,235,.92);line-height:1.85;text-align:justify}

/* ═══════════════════════════════════════════════════
   DIRECTORIO / PRESIDENCIA
   ═══════════════════════════════════════════════════ */
.directorio{padding:clamp(56px,8vw,88px) 0;background:var(--cream);position:relative;overflow:hidden}
.directorio::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 60% at 10% 80%,rgba(188,134,60,.06) 0%,transparent 65%);
}
.dir-head{text-align:center;margin-bottom:48px}
.dir-head h2{font-size:clamp(1.6rem,3vw,2.4rem);color:var(--brown2);margin-bottom:8px}
.dir-head h2 span{color:var(--olive)}
.dir-head p{font-size:.86rem;color:var(--g400);max-width:480px;margin:0 auto;line-height:1.65}

/* Presidente destacado */
.pres-card{
  display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:center;
  background:var(--white);border-radius:var(--r-lg);padding:36px;
  border:1px solid var(--g200);box-shadow:var(--sh-c);
  margin-bottom:36px;position:relative;overflow:hidden;
}
.pres-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--olive),var(--gold),var(--copper))}
.pres-img{
  border-radius:var(--r-md);overflow:hidden;aspect-ratio:3/4;max-height:340px;
  box-shadow:var(--sh-l);border:3px solid var(--g200);position:relative;
}
.pres-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pres-card:hover .pres-img img{transform:scale(1.04)}
.pres-badge{
  position:absolute;bottom:0px;left:50%;transform:translateX(-50%);
  background:var(--brown2);border:2px solid var(--gold);color:var(--gold2);
  font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  padding:6px 18px;border-radius:50px;z-index:2;white-space:nowrap;
}
.pres-text .section-label{margin-bottom:8px}
.pres-name{font-size:clamp(1.4rem,2.5vw,2rem);color:var(--brown2);margin-bottom:14px;display:block}
.pres-name em{color:var(--copper);font-style:italic}
.pres-bio{font-size:.88rem;color:var(--g800);line-height:1.82;margin-bottom:20px;text-align:justify}
.pres-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.pchip span{font-size:.76rem;color:var(--g800)}

/* ─── Video button ─── */
.btn-video{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 22px;border-radius:50px;border:2px solid var(--copper);
  background:transparent;color:var(--copper);font-size:.75rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
  transition:all var(--tr);
}

/* ─── Timeline full width below historia grid ─── */
.timeline-section{
  margin-top:40px;
  background:var(--white);border-radius:var(--r-lg);
  border:1px solid var(--g200);box-shadow:var(--sh-c);
  padding:24px 28px 20px;position:relative;
  border-top:3px solid var(--gold);
}
.timeline-label{margin-bottom:16px}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.tl-item{
  display:flex;flex-direction:column;gap:6px;
  padding:16px 16px 16px 20px;
  border-right:1px solid rgba(161,170,119,.18);
  transition:background var(--tr),transform var(--tr);
  border-radius:0;cursor:default;position:relative;
}
.tl-item:last-child{border-right:none}
.tl-item::before{
  content:'';position:absolute;top:0;left:0;width:3px;height:100%;
  background:linear-gradient(to bottom,transparent,rgba(188,134,60,.35),transparent);
}
.tl-item:hover{background:rgba(161,170,119,.06);transform:translateY(-2px)}
.tl-dot-col{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.tl-year{font-size:.7rem;font-weight:800;color:var(--copper);font-family:'Playfair Display',serif;letter-spacing:.01em}
.tl-pip{
  width:9px;height:9px;border-radius:50%;background:var(--copper);flex-shrink:0;
  box-shadow:0 0 0 3px rgba(188,134,60,.18),0 0 0 6px rgba(188,134,60,.06);
}
.tl-body{padding-left:0}
.tl-body h4{font-size:.75rem;font-weight:700;color:var(--g800);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em;line-height:1.3}
.tl-body p{font-size:.72rem;color:var(--g800);line-height:1.6;margin:0}

/* historia-visual no longer needs padding-bottom since timeline is outside */
.historia-visual{position:relative;display:flex;flex-direction:column;gap:0;padding-bottom:0}

/* Text side */
.historia-text h2{font-size:clamp(1.5rem,3vw,2.2rem);color:var(--brown2);margin-bottom:18px}
.historia-text h2 span{color:var(--olive)}
.historia-text p{font-size:.88rem;color:var(--g800);line-height:1.82;margin-bottom:14px;text-align:justify}
.historia-text p:first-of-type{border-left:3px solid var(--gold);padding-left:16px;color:var(--g800)}

/* ─── Historia image: parallax scroll (no play overlay) ─── */
.historia-img-wrap{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-l)}
.historia-img-main{
  border-radius:var(--r-lg);overflow:hidden;
  aspect-ratio:4/3;border:3px solid var(--g200);position:relative;
}
.historia-img-main img{
  width:100%;height:115%;object-fit:cover;object-position:center top;
  transition:transform .9s var(--ease);will-change:transform;
}
/* badge sits bottom-left overlapping the wrap */
.historia-badge{
  position:absolute;bottom:-22px;left:20px;z-index:5;
  width:80px;height:80px;border-radius:50%;
  background:var(--copper);box-shadow:0 6px 24px rgba(188,134,60,.45);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  animation:gfloat 5s ease-in-out infinite;border:3px solid var(--cream);
}
.historia-badge strong{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:800;color:var(--white);line-height:1}
.historia-badge small{font-size:.42rem;font-weight:700;color:rgba(255,255,255,.95);text-transform:uppercase;letter-spacing:.04em;text-align:center;line-height:1.3}
@keyframes gfloat{0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)}}

/* ─── MV card shimmer + glow ─── */
.mv-card{
  border-radius:var(--r-lg);padding:36px 32px;
  background:rgba(255,255,255,.06);border:1px solid rgba(228,203,132,.18);
  transition:all .45s var(--ease);position:relative;overflow:hidden;
}
.mv-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--copper),transparent)}
.mv-card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 38%,rgba(228,203,132,.09) 50%,transparent 62%);
  transform:translateX(-120%);pointer-events:none;transition:none;
}
.mv-card:hover::after{transform:translateX(120%);transition:transform .75s ease}
.mv-card:hover{
  border-color:rgba(228,203,132,.5);transform:translateY(-8px);
  box-shadow:0 0 0 1px rgba(228,203,132,.18),0 28px 64px rgba(0,0,0,.5),0 0 48px rgba(188,134,60,.1);
}
.mv-card-icon{
  width:52px;height:52px;border-radius:var(--r-sm);
  background:rgba(228,203,132,.14);border:1px solid rgba(228,203,132,.28);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;color:var(--gold);margin-bottom:20px;
  transition:transform .5s var(--ease),background .3s,box-shadow .3s;
}
.mv-card:hover .mv-card-icon{transform:scale(1.15) rotate(-8deg);background:rgba(228,203,132,.22);box-shadow:0 0 24px rgba(228,203,132,.2)}
.mv-card h3{font-size:1.35rem;color:var(--gold2);margin-bottom:14px}
.mv-card p{font-size:.87rem;color:rgba(250,245,235,.95);line-height:1.85;text-align:justify}

/* ─── Wave dividers ─── */
.wave-divider{display:block;line-height:0;margin:0;padding:0;overflow:hidden;position:relative;z-index:3;font-size:0}
.wave-divider svg{display:block;width:100%;margin:0;padding:0;vertical-align:bottom}
.wave-top{background:var(--cream)}
.wave-top .shape-fill{fill:var(--dark)}
.wave-bot{background:var(--dark)}
.wave-bot .shape-fill{fill:var(--cream)}

/* ─── Flip cards directorio ─── */
.dir-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.flip-card{height:290px;perspective:900px;cursor:pointer}
.flip-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .65s var(--ease)}
.flip-card:hover .flip-card-inner,.flip-card:focus-within .flip-card-inner{transform:rotateY(180deg)}
.flip-front,.flip-back{position:absolute;inset:0;backface-visibility:hidden;border-radius:var(--r-md);overflow:hidden}
.flip-front{background:var(--white);border:1px solid var(--g200);box-shadow:var(--sh-c)}
.flip-front img{width:100%;height:58%;object-fit:cover;transition:transform .8s var(--ease)}
.flip-card:hover .flip-front img{transform:scale(1.05)}
.flip-front-body{padding:12px 14px}
.flip-front-inst{font-size:.54rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--olive);margin-bottom:4px;display:flex;align-items:center;gap:5px}
.flip-front-body h4{font-size:.84rem;font-weight:700;color:var(--g800)}
.flip-back{
  background:linear-gradient(145deg,var(--brown2) 0%,var(--dark2) 100%);
  border:1px solid rgba(228,203,132,.22);box-shadow:var(--sh-l);
  transform:rotateY(180deg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:22px 18px;text-align:center;
}
.flip-back-icon{width:46px;height:46px;border-radius:50%;background:rgba(228,203,132,.12);border:1.5px solid rgba(228,203,132,.3);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--gold);margin-bottom:12px}
.flip-back h4{font-size:.82rem;font-weight:700;color:var(--gold2);margin-bottom:7px}
.flip-back p{font-size:.72rem;color:rgba(250,245,235,.82);line-height:1.6;text-align:center;margin-bottom:14px}
.flip-back-link{display:inline-flex;align-items:center;gap:7px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);border:1px solid rgba(228,203,132,.35);padding:6px 16px;border-radius:50px;transition:all .3s}
.flip-back-link:hover{background:var(--gold);color:var(--brown2)}

/* ─── Darkened text across sections ─── */
.dir-head p,.equipo-head p{font-size:.86rem;color:var(--g800);max-width:480px;margin:0 auto;line-height:1.65}
.equipo-body p{font-size:.72rem;color:var(--g800);line-height:1.6;margin-bottom:12px}
.equipo-social a{color:var(--g600)}
.btn-video:hover{background:var(--copper);color:var(--white)}
.btn-video .play-icon{
  width:28px;height:28px;border-radius:50%;
  background:var(--copper);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;padding-left:2px;
  transition:background var(--tr),transform var(--tr);
}
.btn-video:hover .play-icon{background:var(--white);color:var(--copper);transform:scale(1.1)}

/* Video modal */
.video-modal{
  display:none;position:fixed;inset:0;z-index:500;
  background:rgba(8,20,24,.88);backdrop-filter:blur(8px);
  align-items:center;justify-content:center;padding:20px;
}
.video-modal.open{display:flex}
.video-modal-inner{
  position:relative;width:100%;max-width:860px;
  background:var(--dark);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
  animation:modal-in .4s var(--ease) both;
}
@keyframes modal-in{from{opacity:0;transform:scale(.94) translateY(24px)}to{opacity:1;transform:none}}
.video-modal-close{
  position:absolute;top:12px;right:12px;z-index:10;
  width:36px;height:36px;border-radius:50%;
  background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.15);
  color:var(--white);font-size:.9rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .25s;
}
.video-modal-close:hover{background:var(--copper);border-color:var(--copper)}
.video-wrapper{position:relative;padding-top:56.25%;background:#000}
.video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.video-placeholder{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  background:linear-gradient(135deg,var(--dark2),var(--forest));color:rgba(255,255,255,.6);
  font-size:.82rem;text-align:center;padding:20px;
}
.video-placeholder i{font-size:3rem;color:var(--gold);margin-bottom:6px}
.pchip{
  display:flex;align-items:flex-start;gap:10px;
  padding:11px 14px;background:var(--g100);border-radius:var(--r-sm);
  border:1px solid var(--g200);transition:all var(--tr);
}
.pchip:hover{border-color:var(--olive2);transform:translateY(-2px);box-shadow:var(--sh-c)}
.pchip i{color:var(--olive);font-size:.8rem;margin-top:3px;flex-shrink:0;width:14px}
.pchip strong{display:block;font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--copper);margin-bottom:2px}
.pchip span{font-size:.76rem;color:var(--g600)}

/* Directorio grid */
.dir-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dir-card{
  border-radius:var(--r-md);overflow:hidden;background:var(--white);
  border:1px solid var(--g200);box-shadow:var(--sh-c);
  transition:all .4s var(--ease);
}
.dir-card:hover{transform:translateY(-6px);box-shadow:var(--sh-l);border-color:var(--olive2)}
.dir-img{height:180px;overflow:hidden}
.dir-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.dir-card:hover .dir-img img{transform:scale(1.07)}
.dir-body{padding:16px}
.dir-inst{
  font-size:.54rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--olive);margin-bottom:5px;display:flex;align-items:center;gap:5px;
}
.dir-inst i{font-size:.6rem}
.dir-body h4{font-size:.84rem;font-weight:700;color:var(--brown2);margin-bottom:4px}
.dir-body p{font-size:.74rem;color:var(--g600);line-height:1.55;margin:0;text-align:justify}

/* ═══════════════════════════════════════════════════
   EQUIPO CAROUSEL
   ═══════════════════════════════════════════════════ */
.equipo{padding:clamp(56px,8vw,88px) 0;background:var(--g100);position:relative;overflow:hidden}
.equipo::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(161,170,119,.08) 0%,transparent 70%);
  pointer-events:none;
}
.equipo-head{text-align:center;margin-bottom:44px;position:relative;z-index:2}
.equipo-head h2{font-size:clamp(1.6rem,3vw,2.4rem);color:var(--brown2);margin-bottom:8px}
.equipo-head h2 em{color:var(--olive)}
.equipo-head p{font-size:.86rem;color:var(--g400);max-width:480px;margin:0 auto;line-height:1.65}
.carousel-wrap{position:relative;z-index:2}
.carousel-track{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:6px 0 20px}
.equipo-card{
  border-radius:var(--r-md);overflow:hidden;background:var(--white);
  border:1px solid var(--g200);box-shadow:var(--sh-c);
  transition:all .4s var(--ease);
}
.equipo-card:hover{transform:translateY(-7px);box-shadow:var(--sh-l);border-color:var(--olive2)}
.equipo-img{height:200px;overflow:hidden;position:relative}
.equipo-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,20,24,.5) 0%,transparent 50%)}
.equipo-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.equipo-card:hover .equipo-img img{transform:scale(1.08)}
.equipo-body{padding:16px}
.equipo-body h4{font-size:.88rem;font-weight:700;color:var(--brown2);margin-bottom:3px}
.equipo-cargo{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--olive);margin-bottom:8px}
.equipo-body p{font-size:.72rem;color:var(--g400);line-height:1.6;margin-bottom:12px}
.equipo-social{display:flex;gap:6px}
.equipo-social a{
  width:28px;height:28px;border-radius:6px;
  border:1px solid var(--g200);background:transparent;
  display:flex;align-items:center;justify-content:center;
  color:var(--g400);font-size:.66rem;transition:all .25s;
}
.equipo-social a:hover{background:var(--olive);color:var(--white);border-color:var(--olive)}
.carousel-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px}
.carousel-btn{
  width:42px;height:42px;border-radius:50%;
  background:var(--brown2);border:1.5px solid var(--gold);
  color:var(--gold);font-size:.88rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .3s var(--ease);
}
.carousel-btn:hover{background:var(--gold);color:var(--brown2);transform:scale(1.1)}
.carousel-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}
.carousel-dots{display:flex;gap:8px;align-items:center}
.carousel-dot{width:10px;height:10px;border-radius:50%;background:var(--g200);border:none;cursor:pointer;transition:all .3s}
.carousel-dot.active{background:var(--brown2);width:24px;border-radius:4px}

/* ═══════════════════════════════════════════════════
   FOOTER — identical to index.html
   ═══════════════════════════════════════════════════ */
.footer{background:var(--dark);color:white}
.footer-accent{height:3px;background:linear-gradient(90deg,var(--forest),var(--copper),var(--gold))}
.footer-body{padding:48px 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.05)}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.footer-logo-name{font-family:'Playfair Display',serif;font-size:.85rem;font-weight:700;color:var(--white);line-height:1.15}
.footer-logo-sub{font-size:.55rem;color:var(--copper);text-transform:uppercase;letter-spacing:.08em}
.footer-desc{font-size:.8rem;line-height:1.7;margin-bottom:16px;max-width:260px;color:rgba(255,255,255,.55)}
.footer-social{display:flex;gap:7px}
.footer-social a{
  width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;color:white;font-size:.78rem;
  transition:all var(--tr);
}
.footer-social a:hover{background:var(--copper);border-color:var(--copper);color:var(--white);transform:translateY(-2px)}
.footer-col h5{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:16px}
.footer-col ul{display:flex;flex-direction:column;gap:9px}
.footer-col a{font-size:.8rem;color:rgba(255,255,255,.5);transition:color var(--tr),padding-left var(--tr)}
.footer-col a:hover{color:var(--gold);padding-left:5px}
.footer-ct{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px;font-size:.8rem;color:rgba(255,255,255,.55)}
.footer-ct i{color:var(--copper);font-size:.78rem;margin-top:3px;flex-shrink:0;width:14px}
.footer-ct a{color:var(--copper)}.footer-ct a:hover{color:var(--gold)}
.footer-bottom{padding:18px 0;text-align:center;font-size:.68rem;opacity:.5}

/* ═══════════════════════════════════════════════════
   SCROLL TO TOP
   ═══════════════════════════════════════════════════ */
.scroll-top{
  position:fixed;bottom:24px;right:24px;z-index:90;
  width:42px;height:42px;border-radius:50%;border:none;
  background:var(--copper);color:var(--white);font-size:.9rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(188,134,60,.35);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:all .4s var(--ease);cursor:pointer;
}
.scroll-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{background:var(--gold);color:var(--brown2);transform:translateY(-3px)}

/* ═══════════════════════════════════════════════════
   ANIMATIONS
   ═══════════════════════════════════════════════════ */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .72s var(--ease),transform .72s var(--ease)}
.reveal-l{opacity:0;transform:translateX(-44px);transition:opacity .78s var(--ease),transform .78s var(--ease)}
.reveal-r{opacity:0;transform:translateX(44px);transition:opacity .78s var(--ease),transform .78s var(--ease)}
.reveal-scale{opacity:0;transform:scale(.93);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.v,.reveal-l.v,.reveal-r.v,.reveal-scale.v{opacity:1;transform:none}
.d1{transition-delay:.06s}.d2{transition-delay:.14s}.d3{transition-delay:.22s}.d4{transition-delay:.30s}

/* ═══════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════ */
@media(max-width:1024px){
  .nav-links{display:none}.hamburger{display:flex}
  .historia-grid{grid-template-columns:1fr;gap:28px}
  .historia-img-sec{display:none}
  .historia-badge{left:auto;right:-8px;top:8%}
  .timeline{grid-template-columns:1fr 1fr}
  .tl-item:nth-child(2){border-right:none}
  .tl-item:nth-child(3),.tl-item:nth-child(4){border-top:1px solid rgba(161,170,119,.18)}
  .mv-grid{grid-template-columns:1fr}
  .pres-card{grid-template-columns:1fr;gap:28px}
  .pres-img{aspect-ratio:16/9;max-height:260px}
  .dir-grid{grid-template-columns:1fr 1fr}
  .carousel-track{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
}
@media(max-width:640px){
  .page-hero{height:clamp(220px,45vw,280px)}
  .pres-chips{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .tl-item{border-right:none;border-bottom:1px solid rgba(161,170,119,.18)}
  .tl-item:last-child{border-bottom:none}
  .dir-grid{grid-template-columns:1fr 1fr}
  .carousel-track{grid-template-columns:1fr}
  .footer-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto auto;
    gap:24px 20px;padding-left:12px;padding-right:12px;
  }
  .footer-grid>div:first-child{grid-column:1/-1}
  .footer-grid>div:last-child{grid-column:1/-1}
  .footer-body{padding:28px 0 0}
  .footer-bottom{padding:16px 12px;font-size:.62rem}
  .scroll-top{bottom:16px;right:16px;width:38px;height:38px;font-size:.8rem}
}
</style>

/* ═══════════════════════════════════════════════════
   WORDPRESS ADDITIONS
   ═══════════════════════════════════════════════════ */

/* Slider Revolution full width */
.cti-slider-wrap{width:100%;overflow:hidden}
.cti-slider-wrap .rev_slider_wrapper{width:100%!important;max-width:100%!important}

/* WP Content styles */
.wp-content{font-size:.95rem;line-height:1.8;color:var(--g800)}
.wp-content h1,.wp-content h2,.wp-content h3{font-family:'Playfair Display',serif;margin:1.5em 0 .5em}
.wp-content p{margin-bottom:1em}
.wp-content img{border-radius:var(--r-sm)}
.wp-content a{color:var(--copper);text-decoration:underline}
.wp-content a:hover{color:var(--gold)}

/* Search form in navbar */
.search-form{display:inline}

/* Scroll to top */
.scroll-top{
  position:fixed;bottom:24px;right:24px;width:42px;height:42px;
  border-radius:50%;border:1px solid rgba(188,134,60,.25);
  background:var(--dark2);color:var(--copper);
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:all .35s var(--ease);z-index:90;
}
.scroll-top.show{opacity:1;visibility:visible;transform:none}
.scroll-top:hover{background:var(--copper);color:var(--white);border-color:var(--copper)}

/* Menu close button */
.menu-close{
  display:none;position:fixed;top:16px;right:20px;z-index:120;
  width:40px;height:40px;border-radius:50%;border:1px solid rgba(188,134,60,.2);
  background:transparent;color:var(--cream);font-size:1.1rem;
  align-items:center;justify-content:center;cursor:pointer;
  transition:all .3s ease;
}
.menu-close.show{display:flex}
.menu-close:hover{background:rgba(188,134,60,.15)}

/* Page breadcrumb */
.page-breadcrumb{
  display:flex;align-items:center;gap:6px;font-size:.72rem;
  color:rgba(255,255,255,.5);margin-bottom:12px;
}
.page-breadcrumb a{color:rgba(255,255,255,.65);transition:color var(--tr)}
.page-breadcrumb a:hover{color:var(--gold)}
.page-breadcrumb i{font-size:.45rem}

/* Alignments */
.alignleft{float:left;margin-right:20px;margin-bottom:10px}
.alignright{float:right;margin-left:20px;margin-bottom:10px}
.aligncenter{display:block;margin:0 auto}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute;height:1px;width:1px;overflow:hidden}

/* Pagination */
.pagination .nav-links{display:flex;gap:8px;justify-content:center;padding:30px 0}
.pagination .nav-links a,.pagination .nav-links span{padding:8px 14px;border-radius:var(--r-sm);font-size:.85rem;border:1px solid var(--g200)}
.pagination .nav-links .current{background:var(--copper);color:var(--white);border-color:var(--copper)}

/* ═══════════════════════════════════════════════════
   v2.1 FIXES — NAVBAR MATCHES HTML + SEARCH + SCROLL-TOP
   ═══════════════════════════════════════════════════ */

/* Navbar items: PLAIN TEXT (matches reference image) */
.nav-item>a,.nav-link{
  border:none !important;
  border-radius:0 !important;
  padding:18px 11px !important;
  margin:0 !important;
  font-size:.67rem !important;
  font-weight:600 !important;
  color:rgba(255,255,255,.92) !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  background:transparent !important;
  transition:color var(--tr) !important;
  white-space:nowrap;
}
.nav-item>a:hover,.nav-link:hover{
  color:var(--gold) !important;
  background:transparent !important;
}
.nav-item>a.active,.nav-link.active,
.current-menu-item>.nav-link,
.current-menu-ancestor>.nav-link{
  color:var(--gold) !important;
}

/* Scroll-to-top: copper/gold solid */
.scroll-top{
  background:var(--copper) !important;
  color:var(--white) !important;
  border:none !important;
  box-shadow:0 4px 16px rgba(188,134,60,.35) !important;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:all .35s var(--ease);
}
.scroll-top.show{opacity:1;visibility:visible;transform:none}
.scroll-top:hover{
  background:var(--gold) !important;
  color:var(--dark) !important;
  transform:translateY(-3px) !important;
}

/* Search overlay */
.search-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(8,20,24,.92);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;
  transition:all .35s var(--ease);
}
.search-overlay.active{opacity:1;visibility:visible}
.search-overlay-inner{
  width:100%;max-width:600px;padding:0 24px;
  transform:translateY(20px);transition:transform .4s var(--ease);
}
.search-overlay.active .search-overlay-inner{transform:none}
.search-overlay input[type="search"]{
  width:100%;padding:16px 20px;
  background:transparent;border:none;border-bottom:2px solid var(--copper);
  color:var(--white);font-size:1.4rem;font-family:'Playfair Display',serif;
  outline:none;
}
.search-overlay input[type="search"]::placeholder{color:rgba(255,255,255,.35)}
.search-overlay .search-close{
  position:absolute;top:24px;right:24px;
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(188,134,60,.3);
  background:transparent;color:var(--cream);font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:all .3s;
}
.search-overlay .search-close:hover{background:rgba(188,134,60,.15)}
.search-overlay .search-hint{
  color:rgba(255,255,255,.3);font-size:.8rem;margin-top:12px;text-align:center;
}

/* ═══════════════════════════════════════════════════
   v3.0 — MULTI-LEVEL NAV + SEARCH PAGE + MOBILE FIX
   ═══════════════════════════════════════════════════ */

/* Sub-dropdown (3rd+ level) — positioned to the right, no overlap */
.dropdown .dropdown-sub{
  position:absolute;top:-6px;left:calc(100% + 2px);
  min-width:200px;background:var(--dark2);
  border:1px solid rgba(188,134,60,.15);border-radius:var(--r-sm);
  padding:6px 0;box-shadow:0 12px 36px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:all .25s var(--ease);z-index:110;
}
.dropdown a.has-subsub{display:flex;justify-content:space-between;align-items:center;gap:8px}
.dropdown a.has-subsub .caret-sub{font-size:.45rem;opacity:.5;transition:transform .2s}
.dropdown a.has-subsub:hover+.dropdown-sub,
.dropdown .dropdown-sub:hover{
  opacity:1;visibility:visible;pointer-events:all;
}
/* If sub-dropdown would go off-screen right, flip to left */
@media (max-width:1200px){
  .dropdown .dropdown-sub{left:auto;right:calc(100% + 2px)}
}

/* Mobile: sub-dropdowns stack vertically */
.nav-links.open .dropdown .dropdown-sub{
  position:static;transform:none;min-width:auto;
  background:rgba(0,0,0,.1);border:0;box-shadow:none;border-radius:0;
  max-height:0;overflow:hidden;opacity:0;visibility:hidden;padding:0;
  transition:max-height .35s ease,opacity .3s ease;
}
.nav-links.open .dropdown .dropdown-sub.sub-open{
  max-height:400px;opacity:1;visibility:visible;pointer-events:all;padding:4px 0 8px;
}
.nav-links.open .dropdown-sub a{padding-left:40px!important}

/* Mobile: parent link with submenu — show arrow + allow navigation */
.nav-item.has-sub>a{position:relative}

/* Search results page hero */
.search-hero{
  background:var(--dark);position:relative;padding:48px 0 36px;text-align:center;overflow:hidden;
}
.search-hero::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(32,47,31,.4),rgba(8,20,24,.8));
}
.search-hero *{position:relative;z-index:1}
.search-hero h1{font-family:'Playfair Display',serif;color:var(--white);font-size:clamp(1.3rem,3.5vw,2rem);margin-bottom:16px}
.search-hero .search-query{color:var(--gold);font-style:italic}

/* Search form — compact, inline */
.search-hero-form{
  max-width:480px;margin:0 auto;display:flex;gap:0;
  border-radius:var(--r-sm);overflow:hidden;
  border:1px solid rgba(188,134,60,.3);
}
.search-hero-form input[type="search"]{
  flex:1;padding:10px 16px;
  background:rgba(255,255,255,.08);border:none;
  color:var(--white);font-size:.9rem;outline:none;
  min-width:0;
}
.search-hero-form input::placeholder{color:rgba(255,255,255,.4)}
.search-hero-form button{
  padding:10px 20px;background:var(--copper);color:var(--white);
  border:none;font-weight:600;cursor:pointer;font-size:.85rem;
  transition:background .3s;white-space:nowrap;
  display:flex;align-items:center;gap:6px;
}
.search-hero-form button:hover{background:var(--gold);color:var(--dark)}

/* Search result card */
.search-result-card{
  padding:24px 0;border-bottom:1px solid var(--g200);
  transition:background .2s;
}
.search-result-card:hover{background:var(--g100);padding-left:12px;border-radius:var(--r-sm)}
.search-result-card h2{font-family:'Playfair Display',serif;font-size:1.2rem;margin-bottom:6px}
.search-result-card h2 a{color:var(--g800);transition:color .3s}
.search-result-card h2 a:hover{color:var(--copper)}
.search-result-card .search-meta{font-size:.75rem;color:var(--g400);margin-bottom:8px}
.search-result-card .search-excerpt{font-size:.9rem;line-height:1.7;color:var(--g600)}
.search-no-results{text-align:center;padding:60px 20px}
.search-no-results i{font-size:3rem;color:var(--g200);margin-bottom:16px}

/* ═══════════════════════════════════════════════════
   v4.1 — NAV STRUCTURE FIX (dd-item wraps dropdown-sub)
   ═══════════════════════════════════════════════════ */

/* Toggle button — hidden on desktop, visible on mobile */
.nav-toggle{
  display:none;background:transparent;border:none;
  color:rgba(255,255,255,.5);padding:8px 14px;cursor:pointer;font-size:.55rem;
  transition:color .3s;
}
.nav-toggle:hover{color:var(--gold)}
.nav-toggle.open .caret{transform:rotate(180deg)}
.nav-toggle.open .caret-sub{transform:rotate(90deg)}

/* dd-item: contains link + optional toggle + optional sub-dropdown */
.dd-item{position:relative}
.dd-item>a{
  display:block;padding:9px 18px;font-size:.72rem;font-weight:500;
  color:rgba(255,255,255,.75);transition:all .2s ease;
}
.dd-item>a:hover{color:var(--gold);background:rgba(228,203,132,.05);padding-left:22px}
.dd-item.has-sub-inner>a{padding-right:8px}

/* Sub-dropdown: positioned right of parent dd-item */
.dd-item>.dropdown-sub{
  position:absolute;top:-6px;left:100%;
  min-width:210px;background:var(--dark2);
  border:1px solid rgba(188,134,60,.15);border-radius:var(--r-sm);
  padding:6px 0;box-shadow:0 12px 36px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:all .25s var(--ease);z-index:120;
}

/* ── DESKTOP: hover reveals submenus ── */
@media(min-width:1025px){
  .nav-toggle{display:none!important}

  /* Show caret inline */
  .nav-item.has-sub>.nav-link::after{
    content:'\f078';font-family:'Font Awesome 6 Free';font-weight:900;
    font-size:.42rem;margin-left:5px;opacity:.5;
  }
  .dd-item.has-sub-inner>a{display:flex;justify-content:space-between;align-items:center}
  .dd-item.has-sub-inner>a::after{
    content:'\f054';font-family:'Font Awesome 6 Free';font-weight:900;
    font-size:.38rem;opacity:.4;margin-left:12px;
  }

  /* Level 1→2: hover nav-item shows dropdown */
  .nav-item.has-sub:hover>.dropdown{
    opacity:1;visibility:visible;pointer-events:all;
    transform:translateX(-50%) translateY(0);
  }

  /* Level 2→3: hover dd-item shows dropdown-sub */
  .dd-item.has-sub-inner:hover>.dropdown-sub{
    opacity:1;visibility:visible;pointer-events:all;
  }

  /* Keep parent highlighted when hovering sub */
  .dd-item.has-sub-inner:hover>a{color:var(--gold);background:rgba(228,203,132,.05)}
}

/* ── MOBILE/TABLET: toggle buttons ── */
@media(max-width:1024px){
  .nav-toggle{display:flex;align-items:center;justify-content:center}

  /* Top-level items with children: link + toggle side by side */
  .nav-item.has-sub{display:flex;flex-wrap:wrap;align-items:center}
  .nav-item.has-sub>.nav-link{flex:1;min-width:0}
  .nav-item.has-sub>.nav-toggle{flex-shrink:0;padding:16px 20px;border-left:1px solid rgba(188,134,60,.1)}
  .nav-item.has-sub>.dropdown{width:100%;flex-basis:100%}

  /* Dropdown mobile: expand/collapse */
  .nav-links.open .dropdown{
    position:static;transform:none;min-width:auto;
    background:rgba(0,0,0,.15);border:0;box-shadow:none;padding:0;border-radius:0;
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;
    transition:max-height .4s ease,opacity .3s ease,padding .3s ease;
  }
  .nav-links.open .dropdown.sub-open{
    max-height:1200px;opacity:1;visibility:visible;padding:4px 0 8px;
  }

  /* Sub-level items with children */
  .dd-item.has-sub-inner{display:flex;flex-wrap:wrap;align-items:center}
  .dd-item.has-sub-inner>a{flex:1;min-width:0;padding:10px 18px 10px 28px}
  .dd-item.has-sub-inner>.sub-toggle{flex-shrink:0;padding:10px 16px;border-left:1px solid rgba(188,134,60,.08)}
  .dd-item.has-sub-inner>.dropdown-sub{width:100%;flex-basis:100%}

  /* Sub-dropdown mobile */
  .nav-links.open .dd-item>.dropdown-sub{
    position:static!important;left:auto!important;top:auto!important;
    min-width:auto;background:rgba(0,0,0,.1);border:0;box-shadow:none;border-radius:0;
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;
    transition:max-height .4s ease,opacity .3s ease;
  }
  .nav-links.open .dd-item>.dropdown-sub.sub-open{
    max-height:800px;opacity:1;visibility:visible;padding:4px 0;
  }
  .nav-links.open .dd-item>.dropdown-sub .dd-item>a{padding-left:44px}
}

/* ═══════════════════════════════════════════════════
   v5.0 FINAL — STANDARD UL/LI NAV (overrides everything)
   ═══════════════════════════════════════════════════ */

/* Hide old nav structures */
.nav-item,.dd-item,.dropdown:not(.sub-menu){display:none!important}

/* Standard menu: ul.cti-menu > li > a + ul.sub-menu */
ul.cti-menu{
  display:flex!important;align-items:center!important;
  list-style:none!important;margin:0!important;padding:0!important;gap:0!important;
}
ul.cti-menu li{
  position:relative!important;list-style:none!important;margin:0!important;padding:0!important;
}
ul.cti-menu>li>a{
  display:block!important;padding:18px 11px!important;
  font-size:.67rem!important;font-weight:600!important;
  color:rgba(255,255,255,.92)!important;text-transform:uppercase!important;
  letter-spacing:.04em!important;transition:color .3s!important;white-space:nowrap!important;
  text-decoration:none!important;background:transparent!important;border:none!important;
}
ul.cti-menu>li>a:hover{color:var(--gold)!important}
ul.cti-menu>li.current-menu-item>a,
ul.cti-menu>li.current-menu-ancestor>a{color:var(--gold)!important}

/* Caret for parents (desktop only) */
ul.cti-menu>li.menu-item-has-children>a::after{
  content:' \f078'!important;font-family:'Font Awesome 6 Free'!important;font-weight:900!important;
  font-size:.42rem!important;margin-left:4px!important;opacity:.5!important;
}
ul.cti-menu .sub-menu li.menu-item-has-children>a::after{
  content:' \f054'!important;font-family:'Font Awesome 6 Free'!important;font-weight:900!important;
  font-size:.38rem!important;opacity:.4!important;float:right!important;margin-top:3px!important;
}

/* Dropdown (all levels) — hidden by default */
ul.cti-menu .sub-menu{
  position:absolute!important;top:100%!important;left:0!important;
  min-width:210px!important;background:var(--dark2)!important;
  border:1px solid rgba(188,134,60,.12)!important;border-radius:var(--r-sm)!important;
  padding:6px 0!important;list-style:none!important;margin:0!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transition:opacity .2s ease,visibility .2s ease!important;
  box-shadow:0 12px 36px rgba(0,0,0,.4)!important;z-index:100!important;
  transform:none!important;
}

/* HOVER → show dropdown (the STANDARD way) */
ul.cti-menu li:hover>.sub-menu{
  opacity:1!important;visibility:visible!important;pointer-events:all!important;
}

/* Dropdown links */
ul.cti-menu .sub-menu a{
  display:block!important;padding:9px 18px!important;font-size:.72rem!important;font-weight:500!important;
  color:rgba(255,255,255,.75)!important;transition:all .2s ease!important;
  text-decoration:none!important;white-space:nowrap!important;
  text-transform:none!important;letter-spacing:normal!important;
}
ul.cti-menu .sub-menu a:hover{
  color:var(--gold)!important;background:rgba(228,203,132,.05)!important;padding-left:22px!important;
}

/* Sub-dropdown (3rd level) → to the right */
ul.cti-menu .sub-menu .sub-menu{
  top:-6px!important;left:100%!important;z-index:110!important;
}

/* 4th level */
ul.cti-menu .sub-menu .sub-menu .sub-menu{
  top:-6px!important;left:100%!important;z-index:120!important;
}

/* Toggle button — HIDDEN on desktop */
.sub-toggle{display:none!important}

/* ── MOBILE ── */
@media(max-width:1024px){
  /* Show toggle buttons */
  .sub-toggle{
    display:flex!important;align-items:center!important;justify-content:center!important;
    background:transparent!important;border:none!important;
    border-left:1px solid rgba(188,134,60,.12)!important;
    color:rgba(255,255,255,.5)!important;padding:14px 18px!important;cursor:pointer!important;
    font-size:.55rem!important;flex-shrink:0!important;transition:all .3s!important;
  }
  .sub-toggle:hover{color:var(--gold)!important}
  .sub-toggle.open i{transform:rotate(180deg)!important}

  /* Hide CSS carets on mobile */
  ul.cti-menu li.menu-item-has-children>a::after{display:none!important}
  ul.cti-menu .sub-menu li.menu-item-has-children>a::after{display:none!important}

  /* Parents: link + toggle side by side */
  ul.cti-menu li.menu-item-has-children{
    display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;
  }
  ul.cti-menu li.menu-item-has-children>a{flex:1!important;min-width:0!important}

  /* Dropdowns: collapsed by default, toggled with JS */
  .nav-links.open ul.cti-menu .sub-menu{
    position:static!important;width:100%!important;flex-basis:100%!important;
    min-width:auto!important;background:rgba(0,0,0,.15)!important;
    border:0!important;box-shadow:none!important;border-radius:0!important;
    padding:0!important;
    max-height:0!important;overflow:hidden!important;
    opacity:0!important;visibility:hidden!important;
    transition:max-height .4s ease,opacity .3s ease,padding .3s ease!important;
  }
  .nav-links.open ul.cti-menu .sub-menu.open{
    max-height:1200px!important;opacity:1!important;visibility:visible!important;
    pointer-events:all!important;padding:4px 0!important;overflow:visible!important;
  }

  /* Indent deeper levels */
  .nav-links.open ul.cti-menu .sub-menu a{padding-left:28px!important}
  .nav-links.open ul.cti-menu .sub-menu .sub-menu a{padding-left:44px!important}
  .nav-links.open ul.cti-menu .sub-menu .sub-menu .sub-menu a{padding-left:60px!important}

  /* Mobile open: vertical menu */
  .nav-links.open ul.cti-menu{
    flex-direction:column!important;align-items:stretch!important;
  }
  .nav-links.open ul.cti-menu>li{
    border-bottom:1px solid rgba(188,134,60,.12)!important;
  }
  .nav-links.open ul.cti-menu>li>a{
    padding:16px 24px!important;font-size:.88rem!important;
  }
}

/* ═══════════════════════════════════════════════════
   v5.1 — SEARCH PAGE MOBILE FIX
   ═══════════════════════════════════════════════════ */
@media(max-width:600px){
  .search-hero{padding:32px 0 24px!important}
  .search-hero h1{font-size:1.1rem!important;line-height:1.4!important;padding:0 16px}
  .search-hero-form{
    flex-direction:column!important;
    margin:0 16px!important;max-width:none!important;
    border-radius:var(--r-sm)!important;
  }
  .search-hero-form input[type="search"]{
    border-bottom:1px solid rgba(188,134,60,.15)!important;
    padding:12px 14px!important;font-size:.9rem!important;
  }
  .search-hero-form button{
    justify-content:center!important;padding:12px!important;font-size:.85rem!important;
  }
  .search-result-card{padding:16px 8px!important}
  .search-result-card h2{font-size:1rem!important}
  .search-no-results{padding:40px 16px!important}
  .search-no-results i{font-size:2rem!important}
}
/* Search overlay mobile */
@media(max-width:600px){
  .search-overlay-inner{padding:0 16px!important}
  .search-overlay input[type="search"]{font-size:1rem!important;padding:12px 8px!important}
  .search-overlay .search-close{top:12px!important;right:12px!important;width:36px!important;height:36px!important}
}

/* ═══════════════════════════════════════════════════
   v5.3 — GLOBAL FULL WIDTH FIX
   ═══════════════════════════════════════════════════ */

/* Ensure body and html are always full width */
html,body{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow-x:hidden!important}

/* Navbar always full width */
.navbar{width:100%!important;max-width:100%!important;left:0!important;right:0!important}

/* Search hero: full viewport width */
.search-hero{width:100%!important;max-width:100%!important;margin:0!important}

/* Footer: full width */
.footer{width:100%!important;max-width:100%!important}

/* Main content on search: full width wrapper */
body.search main,body.search-results main,body.search-no-results main{
  width:100%!important;max-width:100%!important;margin:0!important;
  padding:40px 0 60px!important;
}

/* Container inside main is properly constrained */
.container{width:100%!important;max-width:1120px!important;margin:0 auto!important;padding:0 clamp(16px,4vw,24px)!important}

/* ═══════════════════════════════════════════════════
   v5.4 — FOOTER PADDING + ICONS + SEARCH FIX + 404
   ═══════════════════════════════════════════════════ */

/* Footer: more padding-top, titles not flush */
.footer{padding:0 0 0!important}
.footer-accent{height:4px!important;margin-bottom:0!important}
.footer-body{padding:32px 0 16px!important}
.footer-grid{gap:28px!important}

/* Footer column titles: add spacing above */
.footer-col h5{
  margin-top:0!important;margin-bottom:16px!important;
  padding-bottom:8px!important;
  border-bottom:1px solid rgba(188,134,60,.15)!important;
}

/* Footer contact items: smaller icons, properly aligned */
.footer-ct{
  display:flex!important;align-items:flex-start!important;gap:10px!important;
  margin-bottom:14px!important;font-size:.82rem!important;
}
.footer-ct i{
  font-size:.85rem!important;
  color:var(--copper)!important;
  width:16px!important;flex-shrink:0!important;
  margin-top:3px!important;
}
.footer-ct span{line-height:1.5!important}
.footer-ct a{color:var(--gold2,var(--gold))!important;transition:opacity .3s!important}
.footer-ct a:hover{opacity:.8!important}

/* Footer social icons: controlled size */
.footer-social{display:flex!important;gap:10px!important;margin-top:16px!important;flex-wrap:wrap!important}
.footer-social a{
  width:32px!important;height:32px!important;
  border-radius:6px!important;
  border:1px solid rgba(188,134,60,.2)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  color:rgba(255,255,255,.7)!important;font-size:.8rem!important;
  transition:all .3s!important;background:transparent!important;
}
.footer-social a:hover{
  background:var(--copper)!important;color:var(--white)!important;
  border-color:var(--copper)!important;
}

/* Footer nav links */
.footer-col ul{list-style:none!important;margin:0!important;padding:0!important}
.footer-col li{margin-bottom:8px!important}
.footer-col li a{
  font-size:.82rem!important;color:rgba(255,255,255,.65)!important;
  transition:color .3s!important;text-decoration:none!important;
}
.footer-col li a:hover{color:var(--gold)!important}

/* Footer bottom */
.footer-bottom{
  margin-top:20px!important;padding-top:12px!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
  font-size:.72rem!important;color:rgba(255,255,255,.35)!important;
  text-align:center!important;padding-bottom:12px!important;
}

/* Footer logo */
.footer-logo{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:14px!important}
.footer-logo img{width:38px!important;height:38px!important;border-radius:8px!important;flex-shrink:0!important}
.footer-logo-name{font-family:'Playfair Display',serif!important;font-weight:700!important;font-size:.9rem!important;color:var(--cream)!important}
.footer-logo-sub{font-size:.7rem!important;color:var(--copper)!important;font-style:italic!important}
.footer-desc{font-size:.78rem!important;line-height:1.6!important;color:rgba(255,255,255,.5)!important;margin-bottom:6px!important}

/* 404 page: attractive but compact since hero is above */
.page-404{
  text-align:center!important;
  padding:50px 24px 60px!important;
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
}
.page-404-code{
  font-size:clamp(60px,12vw,100px)!important;
  font-family:'Playfair Display',serif!important;
  font-weight:800!important;
  background:linear-gradient(135deg,var(--copper),var(--gold))!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  line-height:1!important;margin-bottom:16px!important;
}
.page-404 h2{
  font-family:'Playfair Display',serif!important;
  font-size:clamp(1.2rem,3vw,1.8rem)!important;
  margin-bottom:12px!important;color:var(--g800)!important;
}
.page-404 p{
  color:var(--g400)!important;max-width:440px!important;
  margin:0 auto 32px!important;line-height:1.6!important;font-size:.95rem!important;
}
.page-404-btn{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  background:var(--copper)!important;color:var(--white)!important;
  padding:14px 32px!important;border-radius:var(--r-sm)!important;
  font-weight:600!important;font-size:.9rem!important;
  transition:all .3s!important;text-decoration:none!important;
  box-shadow:0 4px 16px rgba(188,134,60,.25)!important;
}
.page-404-btn:hover{
  background:var(--gold)!important;color:var(--dark)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 6px 20px rgba(188,134,60,.35)!important;
}
.page-404-icon{
  font-size:3rem!important;color:var(--g200)!important;margin-bottom:20px!important;
}

/* Ensure search page main has min-height */
body.search main,body.search-results main,body.search-no-results main{
  min-height:40vh!important;
}
