/* ============================================================
   LEGACY & LEADERSHIP AWARDS: "Heritage hall" theme
   Loaded after css/site.css on legacy/index.html, tickets.html, info.html.
   Scope: <body class="ev-legacy">. New components use the leg- prefix.
   Sections alternate black (.leg-dark) and ivory paper (.leg-light).
   ============================================================ */

body.ev-legacy{
  /* Legacy tokens */
  --leg-black:#0E0D0B;
  --leg-panel:#1A1712;
  --leg-umber:#2A2416;
  --leg-gold:#C7A65B;
  --leg-gold-hi:#D8BC7A;
  --leg-gold-deep:#A9843C;
  --leg-gold-ink:#7C5E22;
  --leg-ivory:#F7F2E6;
  --leg-parchment:#EFE6CC;
  --leg-card:#FBF8F0;
  --leg-ink:#1C1A16;
  --leg-muted:#5E584C;
  --leg-text-dark:#F5EFDF;
  --leg-muted-dark:#BDB5A0;
  --leg-line:#D9CBA6;
  --leg-line-dark:rgba(199,166,91,.35);

  --leg-f-display:'Cinzel',"Trajan Pro",Georgia,serif;
  --leg-f-serif:'Cormorant Garamond',Garamond,Georgia,serif;
  --leg-f-sans:'Jost',-apple-system,"Segoe UI",Arial,sans-serif;

  /* Map the shared base tokens onto the Legacy palette */
  --teal:#0E0D0B;--teal2:#1A1712;--tealL:#2A2416;
  --cream:#F7F2E6;--cream2:#EFE6CC;--paper:#FBF8F0;
  --ink:#1C1A16;--ink2:#3A352C;--mut:#5E584C;
  --gold:#C7A65B;--goldD:#7C5E22;--goldL:#EFE6CC;--lantern:#C7A65B;
  --line:#D9CBA6;--lineSoft:#E8DFC6;--lineDark:rgba(199,166,91,.35);
  --font-head:var(--leg-f-display);
  --font-body:var(--leg-f-sans);
  --font-script:var(--leg-f-serif);

  /* Context defaults (dark); .leg-light switches them */
  --leg-bg:var(--leg-black);
  --leg-fg:var(--leg-text-dark);
  --leg-fg-muted:var(--leg-muted-dark);
  --leg-accent:var(--leg-gold);
  --leg-orn:var(--leg-gold);
  --leg-hair:var(--leg-line-dark);
  --leg-focus:var(--leg-gold);

  background:var(--leg-ivory);
  color:var(--leg-ink);
  font-family:var(--leg-f-sans);
  font-size:16.5px;
  line-height:1.75;
}
.ev-legacy .leg-dark{
  --leg-bg:var(--leg-black);--leg-fg:var(--leg-text-dark);--leg-fg-muted:var(--leg-muted-dark);
  --leg-accent:var(--leg-gold);--leg-orn:var(--leg-gold);--leg-hair:var(--leg-line-dark);--leg-focus:var(--leg-gold);
  background:var(--leg-bg);color:var(--leg-fg);
}
.ev-legacy .leg-panel{--leg-bg:var(--leg-panel);background:var(--leg-panel);}
.ev-legacy .leg-light{
  --leg-bg:var(--leg-ivory);--leg-fg:var(--leg-ink);--leg-fg-muted:var(--leg-muted);
  --leg-accent:var(--leg-gold-ink);--leg-orn:var(--leg-gold-deep);--leg-hair:var(--leg-line);--leg-focus:var(--leg-gold-ink);
  background-color:var(--leg-ivory);color:var(--leg-fg);
  /* faint paper grain */
  background-image:repeating-radial-gradient(circle at 30% 20%,rgba(124,94,34,.02) 0 1px,transparent 1px 3px);
}
.ev-legacy .leg-light.leg-parch{--leg-bg:var(--leg-parchment);background-color:var(--leg-parchment);}

/* Focus: gold on dark, gold-ink on ivory */
.ev-legacy a:focus-visible,.ev-legacy button:focus-visible,.ev-legacy summary:focus-visible,.ev-legacy [tabindex]:focus-visible{
  outline:2px solid var(--leg-focus);outline-offset:3px;border-radius:0;
}
.ev-legacy ::selection{background:var(--leg-gold);color:var(--leg-black);}

.ev-legacy h1,.ev-legacy h2,.ev-legacy h3,.ev-legacy h4{color:inherit;}
.ev-legacy .skip-link{background:var(--leg-gold);color:var(--leg-black);}
.leg-defs{position:absolute;width:0;height:0;overflow:hidden;}

/* ---------- Layout ---------- */
.leg-wrap{max-width:1160px;margin:0 auto;padding:0 clamp(18px,4vw,40px);}
.leg-narrow{max-width:960px;margin-left:auto;margin-right:auto;}
.ev-legacy .leg-sec{padding:clamp(64px,9vw,112px) 0;}
.ev-legacy .leg-sec--tight{padding:clamp(52px,7vw,80px) 0;}

/* ---------- Type ---------- */
.leg-label{display:block;font-family:var(--leg-f-display);font-weight:600;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--leg-accent);line-height:1.5;}
.leg-h2{font-family:var(--leg-f-display);font-weight:600;font-size:clamp(26px,4.2vw,44px);letter-spacing:.08em;text-transform:uppercase;line-height:1.15;margin:12px 0 0;color:var(--leg-fg);}
.leg-dark .leg-h2,.leg-dark .leg-engrave{color:var(--leg-gold);text-shadow:0 1px 0 rgba(0,0,0,.65),0 -1px 0 rgba(255,235,190,.08);}
.leg-dark .leg-h2.leg-h2--light{color:var(--leg-text-dark);}
.leg-light .leg-h2{color:var(--leg-ink);text-shadow:0 1px 0 rgba(255,255,255,.7);}
.leg-sub{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:clamp(19px,2.2vw,22px);line-height:1.5;color:var(--leg-fg-muted);margin-top:18px;}
.leg-head{text-align:center;max-width:780px;margin:0 auto clamp(36px,5vw,56px);}
.leg-head--left{text-align:left;margin-left:0;}
.leg-prose p{font-size:17px;line-height:1.75;color:var(--leg-fg);margin-bottom:16px;max-width:60ch;}
.leg-prose p:last-child{margin-bottom:0;}
.leg-script{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;}
.leg-amp{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;color:var(--leg-gold);}
.leg-light .leg-amp{color:var(--leg-gold-ink);}
.leg-link{color:var(--leg-accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.leg-link:hover{text-decoration-thickness:2px;}
.leg-note{font-family:var(--leg-f-sans);font-size:14px;color:var(--leg-fg-muted);}
.leg-closed{font-family:var(--leg-f-serif);font-style:italic;font-weight:600;font-size:21px;color:var(--leg-accent);margin-top:20px;}

/* ---------- Ornaments ---------- */
.leg-laurel{display:block;color:var(--leg-orn);stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;fill:currentColor;fill-opacity:.7;overflow:visible;flex-shrink:0;}
.leg-laurel--hero{width:120px;height:60px;margin:0 auto;}
.leg-laurel--md{width:64px;height:32px;stroke-width:1.6;}
.leg-laurel--sm{width:40px;height:20px;stroke-width:2.2;}
.leg-laurel--xs{width:24px;height:12px;stroke-width:3;}
.leg-draw{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.4,0,.2,1),fill-opacity .9s ease .8s;}

.leg-rule{display:flex;align-items:center;justify-content:center;gap:14px;max-width:300px;margin:20px auto 0;color:var(--leg-orn);}
.leg-rule::before,.leg-rule::after{content:"";flex:1;height:1px;background:currentColor;opacity:.75;}
.leg-head--left .leg-rule{margin-left:0;max-width:220px;}
.leg-diamond{width:7px;height:7px;transform:rotate(45deg);border:1px solid currentColor;flex-shrink:0;}
.leg-diamond--fill{background:currentColor;}

.leg-seal{--seal-bg:var(--leg-bg);display:inline-grid;place-items:center;width:var(--seal,64px);height:var(--seal,64px);border-radius:50%;border:1px solid var(--leg-orn);box-shadow:0 0 0 3px var(--seal-bg),0 0 0 4px var(--leg-orn);font-family:var(--leg-f-display);font-weight:600;font-size:calc(var(--seal,64px) * .3);letter-spacing:.04em;color:var(--leg-gold);line-height:1;flex-shrink:0;}
.leg-light .leg-seal{color:var(--leg-gold-ink);}
.leg-seal .leg-amp{font-size:1.1em;color:inherit;margin:0 .02em;}

/* Double-rule frame (inner line drawn inside the box) */
.leg-frame{border:1px solid var(--leg-orn);outline:1px solid var(--leg-orn);outline-offset:-6px;}
/* Double-rule frame for images (drawn outside the box) */
.leg-photo-frame{box-shadow:0 0 0 5px var(--leg-bg),0 0 0 6px var(--leg-orn);border:1px solid var(--leg-orn);}

/* Image slots: dark fallback with a warm glow so a failed image still looks intentional */
.leg-img{position:relative;display:block;overflow:hidden;background-color:var(--leg-panel);background-image:radial-gradient(circle at 50% 40%,var(--leg-umber) 0%,var(--leg-panel) 72%);}
.leg-img img{width:100%;height:100%;object-fit:cover;color:transparent;}
.leg-cap{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:18px;color:var(--leg-fg-muted);margin-top:18px;text-align:center;}

/* ---------- Buttons ---------- */
.leg-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:16px 30px;border:1px solid transparent;border-radius:0;font-family:var(--leg-f-sans);font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;line-height:1.2;text-align:center;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;}
.leg-btn--primary{background:var(--leg-gold);border-color:var(--leg-gold);color:var(--leg-black);}
.leg-btn--primary:hover{background:var(--leg-gold-hi);border-color:var(--leg-gold-hi);}
.leg-light .leg-btn--primary{border-color:var(--leg-gold-deep);}
.leg-dark .leg-btn--primary{border-color:var(--leg-gold);}
.leg-btn--ghost{background:transparent;border-color:var(--leg-accent);color:var(--leg-accent);}
.leg-btn--ghost:hover{background:var(--leg-accent);color:var(--leg-bg);}
.leg-btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.leg-btn-row--center{justify-content:center;}
@media(max-width:600px){
  .leg-btn-row{flex-direction:column;align-items:stretch;}
  .leg-btn-row .leg-btn{width:100%;}
}

/* ============================================================
   HEADER / NAV (shared markup from site.css, restyled)
   ============================================================ */
.ev-legacy .weekend-bar{background:#070706;color:var(--leg-muted-dark);border-bottom:1px solid rgba(199,166,91,.18);font-family:var(--leg-f-sans);font-size:12.5px;letter-spacing:.04em;padding:8px 16px;}
.ev-legacy .weekend-bar a{color:var(--leg-text-dark);}
.ev-legacy .weekend-bar a.on{color:var(--leg-gold);}
.ev-legacy header#site-header{background:var(--leg-black);}
.ev-legacy nav{background:var(--leg-black);border-bottom:1px solid rgba(199,166,91,.5);min-height:84px;padding:0 clamp(16px,3vw,40px);gap:12px;}
.ev-legacy .nav-logo{gap:14px;min-width:0;}
.ev-legacy .nav-logo-mark{width:46px;height:46px;padding:5px;background:#fff;border-radius:0;object-fit:contain;color:transparent;overflow:hidden;}
/* Legacy & Leadership logo (gold on transparent, so only on the black header) + date */
.ev-legacy .leg-nav-logo{display:block;width:auto;height:38px;flex-shrink:0;color:transparent;}
.ev-legacy .leg-nav-date{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:16px;line-height:1.2;color:var(--leg-gold);padding-left:14px;border-left:1px solid rgba(199,166,91,.45);white-space:nowrap;}
.ev-legacy .nav-btn{font-family:var(--leg-f-sans);font-weight:500;font-size:13px;letter-spacing:.14em;color:#DCD4C0;padding:14px 14px;}
.ev-legacy .nav-btn:hover{color:var(--leg-gold);}
.ev-legacy .nav-btn.active{color:var(--leg-gold);box-shadow:inset 0 -1px 0 var(--leg-gold);}
.ev-legacy .register-btn{background:var(--leg-gold);border:1px solid var(--leg-gold);color:var(--leg-black);border-radius:0;font-size:12.5px;letter-spacing:.16em;padding:13px 24px;margin-left:18px;}
.ev-legacy .register-btn:hover{background:var(--leg-gold-hi);border-color:var(--leg-gold-hi);color:var(--leg-black);box-shadow:none;}
.ev-legacy .hamburger span{background:var(--leg-text-dark);}
.ev-legacy .mobile-menu{background:var(--leg-black);border-bottom:1px solid rgba(199,166,91,.5);}
.ev-legacy .mobile-menu a{color:#E4DCC8;font-family:var(--leg-f-sans);letter-spacing:.14em;}
.ev-legacy .mobile-menu a:hover,.ev-legacy .mobile-menu a.active{color:var(--leg-gold);}
.ev-legacy .mobile-menu-label{color:var(--leg-muted-dark);border-top-color:rgba(199,166,91,.25);font-family:var(--leg-f-display);letter-spacing:.24em;}
.ev-legacy .mobile-menu .mobile-register{background:var(--leg-gold);border-color:var(--leg-gold);color:var(--leg-black);border-radius:0;}
.ev-legacy .leg-nav-closed{font-family:var(--leg-f-serif);font-style:italic;color:var(--leg-muted-dark);margin-left:18px;font-size:17px;}
@media(max-width:1100px) and (min-width:769px){.ev-legacy .leg-nav-date{display:none;}}
@media(max-width:980px) and (min-width:769px){.ev-legacy .nav-btn{padding:14px 9px;font-size:12px;letter-spacing:.1em;}.ev-legacy .register-btn{margin-left:8px;padding:12px 16px;}}
@media(max-width:768px){
  .ev-legacy nav{min-height:64px;padding:0 16px;}
  .ev-legacy .nav-logo{gap:10px;}
  .ev-legacy .nav-logo-mark{width:38px;height:38px;padding:4px;}
  .ev-legacy .leg-nav-logo{height:30px;}
  .ev-legacy .leg-nav-date{font-size:14.5px;padding-left:10px;}
}
@media(max-width:360px){.ev-legacy .leg-nav-date{display:none;}}

/* ============================================================
   HERO
   ============================================================ */
.leg-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--leg-black);color:var(--leg-text-dark);display:flex;align-items:center;justify-content:center;min-height:calc(100svh - var(--header-h,64px));padding:56px 16px 64px;text-align:center;}
@media(min-width:769px){.leg-hero{min-height:90vh;padding:96px 32px;}}
.leg-hero--sub{min-height:auto;padding:clamp(72px,10vw,120px) 16px clamp(72px,9vw,112px);}
@media(min-width:769px){.leg-hero--sub{min-height:62vh;}}
.leg-hero-media{position:absolute;inset:0;z-index:-2;background-color:var(--leg-panel);background-image:radial-gradient(ellipse at 50% 30%,var(--leg-umber) 0%,var(--leg-black) 75%);}
.leg-hero-media picture,.leg-hero-media img{display:block;width:100%;height:100%;}
.leg-hero-media img{object-fit:cover;object-position:center 40%;color:transparent;}
@media(prefers-reduced-motion:no-preference){
  .leg-hero-media img{animation:legPushIn 16s cubic-bezier(.25,.1,.25,1) both;}
}
@keyframes legPushIn{from{transform:scale(1);}to{transform:scale(1.04);}}
.leg-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(42,36,22,.85) 0%,rgba(42,36,22,0) 70%),
             linear-gradient(180deg,rgba(14,13,11,.45) 0%,rgba(14,13,11,.75) 70%,#0E0D0B 100%);}
.leg-hero-frame{position:relative;width:100%;max-width:720px;margin:0 auto;padding:40px 48px 44px;background:rgba(14,13,11,.62);
  border:1px solid rgba(199,166,91,.7);outline:1px solid rgba(199,166,91,.7);outline-offset:-7px;}
@supports (backdrop-filter:blur(2px)){.leg-hero-frame{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);}}
.leg-hero-frame--sub{max-width:680px;}
.leg-eyebrow{display:block;font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:22px;color:var(--leg-gold);margin-top:14px;line-height:1.3;}
.leg-h1{font-family:var(--leg-f-display);font-weight:700;font-size:clamp(30px,7vw,66px);letter-spacing:.08em;line-height:1.06;text-transform:uppercase;color:var(--leg-text-dark);margin:12px 0 0;
  text-shadow:0 1px 0 rgba(0,0,0,.65),0 -1px 0 rgba(255,235,190,.08);}
.leg-h1 .l{display:block;}
.leg-h1 .leg-amp{font-size:1.04em;padding-left:.12em;}
.leg-h1 .leg-h1-small{display:block;font-size:.36em;letter-spacing:.5em;margin-top:.7em;color:var(--leg-gold);padding-left:.5em;}
.leg-h1--sub{font-size:clamp(30px,6vw,56px);}
/* Hero title as the Legacy & Leadership logo (the img alt is the h1 text) */
.leg-h1--logo{margin:18px 0 4px;line-height:0;text-shadow:none;}
.leg-hero-logo{display:block;width:min(560px,100%);height:auto;margin:0 auto;color:transparent;filter:drop-shadow(0 2px 12px rgba(0,0,0,.55));}
.leg-tagline{font-family:var(--leg-f-sans);font-weight:300;font-size:17px;line-height:1.6;color:#E6DFCB;margin:20px auto 0;max-width:46ch;}
.leg-facts{list-style:none;display:grid;grid-template-columns:repeat(4,auto);justify-content:center;margin:30px auto 0;border-top:1px solid rgba(199,166,91,.45);border-bottom:1px solid rgba(199,166,91,.45);}
.leg-facts li{padding:14px 18px;font-family:var(--leg-f-display);font-weight:600;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--leg-text-dark);line-height:1.4;}
.leg-facts li{white-space:nowrap;}
@media(max-width:860px){.leg-facts li{white-space:normal;}}
.leg-facts li+li{border-left:1px solid rgba(199,166,91,.45);}
.leg-hero .leg-btn-row{justify-content:center;}
@media(max-width:700px){
  .leg-facts{grid-template-columns:1fr 1fr;width:100%;}
  .leg-facts li{padding:12px 8px;font-size:11.5px;letter-spacing:.08em;}
  .leg-facts li:nth-child(3){border-left:0;}
  .leg-facts li:nth-child(-n+2){border-bottom:1px solid rgba(199,166,91,.45);}
}
@media(max-width:600px){
  .leg-hero-frame{padding:30px 18px 30px;outline-offset:-6px;}
  .leg-laurel--hero{width:96px;height:48px;}
  .leg-eyebrow{font-size:20px;}
}
@media(max-width:400px){.leg-h1{letter-spacing:.04em;}.leg-h1 .leg-h1-small{letter-spacing:.36em;}}

/* ---------- Countdown band ---------- */
.leg-countdown{background:var(--leg-panel);border-top:1px solid var(--leg-line-dark);border-bottom:1px solid var(--leg-line-dark);padding:34px 0 38px;text-align:center;color:var(--leg-text-dark);}
.leg-cd-label{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:20px;color:var(--leg-gold);margin-bottom:14px;}
.leg-cd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,120px));justify-content:center;}
.leg-cd-block{padding:6px 10px;}
.leg-cd-block+.leg-cd-block{border-left:1px solid var(--leg-line-dark);}
.leg-cd-num{font-family:var(--leg-f-display);font-weight:600;font-size:clamp(30px,5vw,48px);line-height:1.05;color:var(--leg-gold);font-variant-numeric:tabular-nums;}
.leg-cd-lbl{font-family:var(--leg-f-sans);font-weight:500;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--leg-muted-dark);margin-top:8px;}
.leg-countdown .countdown-after{font-family:var(--leg-f-serif);font-style:italic;font-weight:600;font-size:clamp(22px,3vw,28px);color:var(--leg-gold);}
@media(max-width:420px){.leg-cd-block{padding:4px 4px;}.leg-cd-lbl{font-size:10px;letter-spacing:.16em;}}

/* Legacy background artwork as a quiet tone-on-tone texture on dark sections */
.leg-geo{position:relative;isolation:isolate;}
.leg-geo::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;
  background:url("https://res.cloudinary.com/dhqtiaubo/image/upload/f_auto,q_auto,c_limit,w_900/v1794432426/Black_Geo_Background_large_copy_copy_nwagas.png") center/cover no-repeat;}
@media(min-width:768px){
  .leg-geo::before{background-image:url("https://res.cloudinary.com/dhqtiaubo/image/upload/f_auto,q_auto,c_limit,w_1800/v1794432426/Black_Geo_Background_large_copy_copy_nwagas.png");}
}

/* ============================================================
   INTRO SPLIT
   ============================================================ */
.leg-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,88px);align-items:center;}
.leg-split-media{max-width:480px;width:100%;justify-self:end;margin:6px;}
.leg-split-media .leg-img{aspect-ratio:1/1;}
.leg-split .leg-head{margin-bottom:28px;}
@media(max-width:860px){
  .leg-split{grid-template-columns:1fr;gap:44px;}
  .leg-split-media{order:-1;justify-self:center;max-width:440px;width:calc(100% - 12px);}
}

/* ============================================================
   HONOREES
   ============================================================ */
.leg-honorees{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,44px);max-width:960px;margin:0 auto;list-style:none;}
@media(max-width:700px){.leg-honorees{grid-template-columns:1fr;max-width:440px;}}
.leg-honoree{--leg-bg:var(--leg-panel);background:var(--leg-panel);padding:14px 14px 34px;text-align:center;display:flex;flex-direction:column;}
.leg-portrait{position:relative;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;
  background-color:#14120D;background-image:radial-gradient(circle at 50% 42%,var(--leg-umber) 0%,#14120D 72%);
  border:1px solid rgba(199,166,91,.28);}
.leg-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.leg-wreath{position:relative;width:64%;aspect-ratio:1/1;}
.leg-wreath .leg-seal{--seal-bg:#221D13;position:absolute;left:50%;top:10%;transform:translateX(-50%);width:50%;height:50%;font-size:clamp(26px,4.2vw,40px);}
.leg-wreath .leg-laurel{position:absolute;left:0;bottom:2%;width:100%;height:50%;stroke-width:.8;}
.leg-honoree-body{padding:28px 16px 0;display:flex;flex-direction:column;align-items:center;flex:1;}
.leg-award{font-family:var(--leg-f-display);font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--leg-gold);}
.leg-honoree h3{font-family:var(--leg-f-serif);font-weight:600;font-size:clamp(28px,3.4vw,34px);letter-spacing:.01em;line-height:1.1;color:var(--leg-text-dark);margin-top:12px;}
.leg-company{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:20px;color:var(--leg-gold);margin-top:6px;line-height:1.35;}
.leg-honoree-bio{min-height:18px;width:100%;}
.leg-badge{display:inline-flex;align-items:center;gap:12px;margin-top:22px;padding:7px 18px 7px 7px;border:1px solid rgba(199,166,91,.6);border-radius:999px;color:var(--leg-gold);font-family:var(--leg-f-display);font-weight:600;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;transition:background-color .2s,border-color .2s;}
.leg-badge:hover{background:rgba(199,166,91,.12);border-color:var(--leg-gold);}
.leg-badge .leg-seal{--seal:30px;--seal-bg:var(--leg-panel);font-size:12px;}
.leg-honorees-note{text-align:center;font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:21px;color:var(--leg-muted-dark);margin-top:40px;}

/* ============================================================
   BOARD
   ============================================================ */
.leg-board-photo{max-width:1000px;margin:0 auto;}
.leg-board-photo .leg-img{aspect-ratio:3/2;margin:6px;}
.leg-plaque{--leg-bg:var(--leg-card);background:var(--leg-card);margin:clamp(48px,6vw,72px) auto 0;padding:clamp(40px,6vw,64px) clamp(18px,4vw,48px);
  border:1px solid var(--leg-gold-deep);outline:1px solid var(--leg-gold-deep);outline-offset:-8px;text-align:center;}
.leg-plaque-h{font-family:var(--leg-f-display);font-weight:600;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--leg-gold-ink);}
.leg-officers{margin:28px auto 0;max-width:820px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;}
.leg-officer{display:flex;flex-direction:column;align-items:center;}
.leg-officer dt{font-family:var(--leg-f-display);font-weight:600;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--leg-gold-ink);line-height:1.6;}
.leg-officer dd{margin:8px 0 0;}
.leg-name{display:block;font-family:var(--leg-f-serif);font-weight:600;font-size:26px;line-height:1.15;color:var(--leg-ink);}
.leg-co{display:block;font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:18px;line-height:1.35;color:var(--leg-muted);margin-top:4px;}
.leg-officer--president{grid-column:1/-1;padding-bottom:8px;}
.leg-officer--president .leg-laurel{margin:0 auto 14px;}
.leg-officer--president .leg-name{font-size:clamp(30px,3.6vw,36px);}
.leg-officer--president .leg-co{font-size:20px;}
.leg-plaque .leg-rule{max-width:420px;margin:clamp(40px,5vw,56px) auto 28px;}
.leg-directors{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;margin-top:20px;}
.leg-directors li{flex:0 1 232px;padding:16px 10px;}
.leg-directors .leg-name{font-size:23px;}
.leg-directors .leg-co{font-size:17px;}
.leg-role{display:block;font-family:var(--leg-f-display);font-weight:600;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--leg-gold-ink);margin-top:6px;}
@media(max-width:600px){.leg-officers{grid-template-columns:1fr;gap:30px;}.leg-directors li{flex-basis:100%;padding:12px 4px;}.leg-directors li+li{border-top:1px solid var(--leg-line);}}
@media(min-width:601px) and (max-width:900px){.leg-directors li{flex-basis:50%;}}

/* ============================================================
   SCHEDULE (printed program)
   ============================================================ */
.leg-program-wrap{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(40px,6vw,80px);align-items:start;}
.leg-program{list-style:none;border-bottom:1px solid var(--leg-line-dark);}
.leg-program li{display:grid;grid-template-columns:118px 1fr;border-top:1px solid var(--leg-line-dark);padding:30px 0;}
.leg-program .t{font-family:var(--leg-f-display);font-weight:600;font-size:19px;letter-spacing:.06em;color:var(--leg-gold);line-height:1.4;padding-top:4px;}
.leg-program .d{border-left:1px solid var(--leg-line-dark);padding-left:28px;}
.leg-program h3{font-family:var(--leg-f-serif);font-weight:600;font-size:clamp(25px,2.6vw,29px);line-height:1.2;color:var(--leg-text-dark);}
.leg-program p{font-family:var(--leg-f-sans);font-weight:300;font-size:16px;color:var(--leg-muted-dark);margin-top:6px;}
.leg-program-photos{display:grid;gap:28px;margin:6px;max-width:400px;justify-self:end;width:100%;}
.leg-program-photos figure{margin:0;}
.leg-program-photos .leg-img{aspect-ratio:3/2;}
.leg-program-photos figcaption{font-family:var(--leg-f-display);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--leg-muted-dark);margin-top:16px;text-align:center;}
.leg-photo-link{text-align:center;margin-top:44px;font-family:var(--leg-f-serif);font-style:italic;font-size:20px;color:var(--leg-muted-dark);}
@media(max-width:860px){
  .leg-program-wrap{grid-template-columns:1fr;}
  .leg-program-photos{grid-template-columns:1fr 1fr;gap:20px;max-width:none;justify-self:stretch;width:auto;}
}
@media(max-width:520px){
  .leg-program li{grid-template-columns:1fr;padding:24px 0;}
  .leg-program .d{border-left:0;padding-left:0;margin-top:6px;}
  .leg-program-photos{gap:16px;}
  .leg-program-photos figcaption{font-size:10px;letter-spacing:.16em;}
}

/* ============================================================
   PAST PRESIDENTS TIMELINE
   ============================================================ */
.leg-tl{max-width:1040px;margin:0 auto;}
.leg-decade{margin-top:clamp(36px,5vw,56px);}
.leg-decade:first-child{margin-top:0;}
.leg-decade-h{display:flex;align-items:center;gap:16px;font-family:var(--leg-f-display);font-weight:600;font-size:clamp(20px,2.4vw,26px);letter-spacing:.14em;color:var(--leg-ink);margin-bottom:22px;}
.leg-decade-h::after{content:"";flex:1;height:1px;background:var(--leg-line);}
.leg-decade-h .leg-diamond{color:var(--leg-gold-deep);}
.leg-pp{list-style:none;columns:2;column-gap:56px;}
.leg-pp li{position:relative;break-inside:avoid;display:grid;grid-template-columns:128px 1fr;align-items:baseline;gap:4px 16px;padding:12px 0 12px 28px;border-left:1px solid var(--leg-line);}
.leg-pp li::before{content:"";position:absolute;left:-4px;top:21px;width:7px;height:7px;border-radius:50%;background:var(--leg-gold-deep);}
.leg-pp li.span::before{left:-2px;top:14px;width:3px;height:24px;border-radius:0;}
.leg-yr{font-family:var(--leg-f-display);font-weight:600;font-size:16px;letter-spacing:.06em;color:var(--leg-gold-ink);white-space:nowrap;}
.leg-pp .leg-name{font-size:22px;}
.leg-pp .leg-co{font-size:17px;margin-top:2px;}
.leg-tag{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:3px 12px;border:1px solid var(--leg-gold-ink);border-radius:999px;font-family:var(--leg-f-sans);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--leg-gold-ink);line-height:1.6;}
.leg-pp li.hl{background:linear-gradient(90deg,rgba(199,166,91,.12),rgba(199,166,91,0) 85%);}
.leg-pp li.hl .leg-laurel{display:inline-block;vertical-align:middle;margin-right:6px;}
.leg-pp li:target{background:rgba(199,166,91,.22);}
.leg-pp li.finale{column-span:all;margin-top:28px;display:block;border-left:0;padding:0;}
.leg-pp li.finale::before{display:none;}
.leg-finale-box{--leg-bg:var(--leg-card);background:var(--leg-card);max-width:560px;margin:0 auto;text-align:center;padding:36px 28px 34px;border:1px solid var(--leg-gold-deep);outline:1px solid var(--leg-gold-deep);outline-offset:-7px;}
.leg-finale-box .leg-laurel{margin:0 auto 10px;}
.leg-finale-box .leg-yr{display:block;font-size:22px;letter-spacing:.14em;}
.leg-finale-box .leg-name{font-size:clamp(28px,3.4vw,34px);margin-top:6px;}
.leg-finale-box .leg-co{font-size:19px;}
.leg-pp-more{margin-top:0;}
.leg-pp-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 8px;padding:14px 24px;max-width:360px;border:1px solid var(--leg-gold-ink);color:var(--leg-gold-ink);font-family:var(--leg-f-sans);font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;}
.leg-pp-more>summary::-webkit-details-marker{display:none;}
.leg-pp-more>summary::after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .25s;}
.leg-pp-more[open]>summary::after{transform:rotate(225deg) translateY(-2px);}
.leg-pp-more>summary:hover{background:var(--leg-gold-ink);color:var(--leg-ivory);}
.leg-pp-more .when-open{display:none;}
.leg-pp-more[open] .when-open{display:inline;}
.leg-pp-more[open] .when-closed{display:none;}
.leg-pp-more[open]>summary{margin-bottom:clamp(32px,4vw,48px);}
.leg-pp-more-body>.leg-decade:first-child{margin-top:0;}
.leg-pp-after{margin-top:clamp(36px,5vw,56px);}
.leg-pp-foot{text-align:center;margin-top:40px;font-size:14px;color:var(--leg-muted);}
@media(min-width:769px){.leg-pp-more>summary{display:none;}}
@media(max-width:768px){
  .leg-pp{columns:1;}
  .leg-pp li{grid-template-columns:1fr;padding:12px 0 12px 24px;margin-left:8px;}
  .leg-pp li::before{top:19px;}
}

/* ============================================================
   HERITAGE PLACEHOLDER
   ============================================================ */
.leg-archive{--leg-bg:var(--leg-panel);background:var(--leg-panel);max-width:720px;margin:0 auto;padding:clamp(40px,6vw,56px) clamp(22px,5vw,56px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px;}
.leg-archive .leg-seal{--seal:84px;font-size:22px;}
.leg-archive p{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:clamp(21px,2.6vw,25px);line-height:1.45;color:var(--leg-text-dark);max-width:30ch;}
.leg-archive .leg-label{color:var(--leg-muted-dark);}

/* ============================================================
   GALLERY STRIP
   ============================================================ */
.leg-strip-sec{background:#12110D;padding:clamp(56px,7vw,88px) 0 clamp(48px,6vw,72px);}
.leg-strip{border-top:1px solid var(--leg-line-dark);border-bottom:1px solid var(--leg-line-dark);padding:22px 0;}
.leg-strip-row{list-style:none;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 clamp(18px,4vw,40px);padding:0 clamp(18px,4vw,40px) 10px;scrollbar-width:thin;scrollbar-color:var(--leg-gold-deep) transparent;}
.leg-strip-row li{flex:0 0 clamp(250px,30vw,400px);scroll-snap-align:start;}
.leg-strip-row a{display:block;}
.leg-strip-row .leg-img{aspect-ratio:3/2;border:1px solid rgba(199,166,91,.3);}
.leg-strip-row img{transition:transform .5s ease;}
.leg-strip-row a:hover img{transform:scale(1.03);}
.leg-strip-row a:focus-visible{outline-offset:-3px;}
.leg-strip:focus-visible{outline:2px solid var(--leg-gold);outline-offset:4px;}
@media(min-width:1440px){.leg-strip-row{justify-content:center;}}
.ev-legacy .lightbox{background:rgba(8,7,6,.95);}
.ev-legacy .lightbox img{border-color:rgba(199,166,91,.4);}

/* ============================================================
   PLAN YOUR DAY / STEP CARDS
   ============================================================ */
.leg-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;}
.leg-step{background:var(--leg-card);border:1px solid var(--leg-line);padding:36px 30px 32px;display:flex;flex-direction:column;align-items:flex-start;transition:border-color .2s;}
.leg-step:hover{border-color:var(--leg-gold-deep);}
.leg-step-ico{--seal:58px;--seal-bg:var(--leg-card);color:var(--leg-gold-ink);font-size:20px;margin:4px 0 26px 4px;}
.leg-step h3{font-family:var(--leg-f-display);font-weight:600;font-size:19px;letter-spacing:.1em;text-transform:uppercase;color:var(--leg-ink);}
.leg-step p{font-size:16px;color:var(--leg-muted);margin:10px 0 26px;flex:1;}
.leg-step .leg-btn{padding:13px 22px;min-height:46px;font-size:12px;}
@media(max-width:900px){.leg-steps{grid-template-columns:1fr;max-width:520px;margin:0 auto;}}

/* ============================================================
   PROMOS
   ============================================================ */
/* DIG preview: near-black + teal bokeh, Montserrat "DIG" in gold */
.leg-dig-promo{position:relative;overflow:hidden;isolation:isolate;padding:clamp(56px,7vw,84px) 0;color:#EDEFEA;
  background-color:#05080A;
  background-image:
    radial-gradient(circle at 12% 30%,rgba(31,88,98,.55) 0,rgba(31,88,98,0) 18%),
    radial-gradient(circle at 26% 78%,rgba(70,150,160,.28) 0,rgba(70,150,160,0) 12%),
    radial-gradient(circle at 78% 22%,rgba(31,88,98,.6) 0,rgba(31,88,98,0) 22%),
    radial-gradient(circle at 92% 70%,rgba(90,170,178,.25) 0,rgba(90,170,178,0) 10%),
    radial-gradient(circle at 62% 92%,rgba(31,88,98,.4) 0,rgba(31,88,98,0) 16%),
    radial-gradient(ellipse at 50% 50%,#0B1A1E 0%,#05080A 75%);
  border-top:1px solid rgba(179,150,90,.5);}
.leg-dig-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px clamp(28px,5vw,64px);}
.leg-dig-logo{display:block;width:160px;height:auto;color:transparent;filter:drop-shadow(0 2px 14px rgba(0,0,0,.55));}
.leg-dig-promo .kicker{display:block;font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:21px;color:#D2B97E;}
.leg-dig-promo h2{font-family:'Montserrat',"Segoe UI",Arial,sans-serif;font-weight:700;font-size:clamp(22px,2.8vw,32px);letter-spacing:.1em;text-transform:uppercase;color:#F4F1EA;margin-top:4px;}
.leg-dig-promo p{font-size:16px;color:#C9D2D1;margin-top:8px;}
.leg-btn--dig{background:#B3965A;border-color:#B3965A;color:#05080A;}
.leg-btn--dig:hover{background:#CDB27A;border-color:#CDB27A;}
.leg-dig-promo a:focus-visible{outline-color:#D2B97E;}
@media(max-width:860px){
  .leg-dig-inner{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .leg-dig-inner .leg-btn{width:100%;max-width:400px;}
  .leg-dig-logo{width:130px;}
}

/* Legacy promo (tickets/info): dark panel with double rule */
.leg-promo{padding:clamp(48px,6vw,72px) 0;}
.leg-promo-box{--leg-bg:var(--leg-panel);background:var(--leg-panel);padding:clamp(32px,5vw,48px) clamp(22px,5vw,56px);display:grid;grid-template-columns:1fr auto;gap:24px 40px;align-items:center;}
.leg-promo-box .kicker{display:block;font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:21px;color:var(--leg-gold);}
.leg-promo-box h2{font-family:var(--leg-f-display);font-weight:600;font-size:clamp(22px,2.8vw,30px);letter-spacing:.08em;text-transform:uppercase;color:var(--leg-text-dark);margin-top:6px;line-height:1.25;}
.leg-promo-box p{color:var(--leg-muted-dark);margin-top:8px;}
.leg-promo-box .leg-btn-row{margin-top:0;}
@media(max-width:860px){.leg-promo-box{grid-template-columns:1fr;text-align:center;}.leg-promo-box .leg-btn-row{justify-content:center;}}

/* ============================================================
   TICKETS PAGE
   ============================================================ */
.leg-notice{max-width:760px;margin:0 auto clamp(36px,5vw,52px);padding:16px 18px;text-align:center;border-top:3px double var(--leg-gold-deep);border-bottom:3px double var(--leg-gold-deep);font-family:var(--leg-f-sans);font-weight:500;font-size:15.5px;color:var(--leg-gold-ink);}
.leg-dark .leg-notice{color:var(--leg-gold);border-color:rgba(199,166,91,.6);}
.leg-notice a{text-decoration:underline;text-underline-offset:3px;}
.leg-notice .sep{display:inline-block;margin:0 12px;opacity:.6;}
@media(max-width:600px){.leg-notice .sep{display:block;height:6px;margin:0;visibility:hidden;}}
.leg-tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,32px);list-style:none;}
.leg-ticket{--leg-bg:var(--leg-card);background:var(--leg-card);padding:44px 30px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;
  border:1px solid var(--leg-gold-deep);outline:1px solid var(--leg-gold-deep);outline-offset:-7px;}
.leg-ticket-badge{display:inline-block;min-height:26px;padding:3px 14px;border:1px solid var(--leg-gold-ink);color:var(--leg-gold-ink);font-family:var(--leg-f-sans);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;}
.leg-ticket-badge--blank{visibility:hidden;}
.leg-ticket h3{font-family:var(--leg-f-display);font-weight:600;font-size:18px;letter-spacing:.12em;text-transform:uppercase;color:var(--leg-ink);}
.leg-price{font-family:var(--leg-f-display);font-weight:600;font-size:40px;line-height:1;color:var(--leg-ink);margin-top:20px;}
.leg-price-who{display:block;font-family:var(--leg-f-sans);font-weight:500;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--leg-muted);margin-top:10px;}
.leg-ticket-note{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:19px;color:var(--leg-muted);margin-top:14px;}
.leg-ticket .leg-rule{max-width:180px;margin:22px auto 18px;}
.leg-list{list-style:none;text-align:left;width:100%;flex:1;}
.leg-list li{position:relative;padding:9px 0 9px 22px;font-size:15.5px;color:var(--leg-fg);border-bottom:1px solid var(--leg-hair);}
.leg-list li:last-child{border-bottom:0;}
.leg-list li::before{content:"";position:absolute;left:2px;top:18px;width:6px;height:6px;transform:rotate(45deg);background:var(--leg-orn);}
.leg-ticket .leg-btn{width:100%;margin-top:24px;}
.leg-ticket--feature{--leg-bg:var(--leg-black);--leg-fg:var(--leg-text-dark);--leg-hair:var(--leg-line-dark);--leg-orn:var(--leg-gold);--leg-focus:var(--leg-gold);background:var(--leg-black);border-color:var(--leg-gold);outline-color:var(--leg-gold);}
.leg-ticket--feature h3,.leg-ticket--feature .leg-price{color:var(--leg-gold);}
.leg-ticket--feature .leg-price-who,.leg-ticket--feature .leg-ticket-note{color:var(--leg-muted-dark);}
.leg-ticket--feature .leg-ticket-badge{border-color:var(--leg-gold);color:var(--leg-gold);}
.leg-ticket--feature .leg-list li{color:#E4DCC8;}
@media(max-width:980px){.leg-tickets{grid-template-columns:1fr;max-width:460px;margin:0 auto;}}

/* Sponsor cards: keeps the README class names (sponsor-card, status-*, soldout,
   sponsor-card-company) so status updates work as documented. */
.ev-legacy .sponsor-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:24px;margin-top:0;border:0;}
@media(max-width:700px){.ev-legacy .sponsor-card-grid{grid-template-columns:minmax(0,1fr);}}
.ev-legacy .sponsor-card{--leg-bg:var(--leg-panel);background:var(--leg-panel);border:1px solid var(--leg-line-dark);padding:30px 28px 30px;color:var(--leg-text-dark);display:flex;flex-direction:column;opacity:1;}
.ev-legacy .sponsor-card.exclusive{background:var(--leg-panel);box-shadow:none;border-color:var(--leg-gold);outline:1px solid var(--leg-gold);outline-offset:-7px;padding:36px 32px;}
.ev-legacy .sponsor-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;border-bottom:1px solid var(--leg-line-dark);padding-bottom:18px;margin-bottom:16px;}
.ev-legacy .sponsor-card-price{font-family:var(--leg-f-display);font-weight:600;font-size:28px;letter-spacing:.02em;color:var(--leg-gold);margin-top:0;line-height:1.1;}
.ev-legacy .sponsor-card-name{font-family:var(--leg-f-serif);font-weight:600;font-size:24px;line-height:1.2;color:var(--leg-text-dark);margin-top:8px;flex-basis:100%;}
.ev-legacy .sponsor-card.exclusive .sponsor-card-name{color:var(--leg-text-dark);}
.ev-legacy .sponsor-card.exclusive .sponsor-card-price{color:var(--leg-gold);}
.ev-legacy .sponsor-card-status{font-family:var(--leg-f-sans);font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border-radius:999px;border:1px solid var(--leg-gold);color:var(--leg-gold);background:transparent;text-decoration:none;white-space:nowrap;margin-top:0;}
.ev-legacy .sponsor-card-status.status-soldout{background:var(--leg-gold);color:var(--leg-black);text-decoration:none;}
.ev-legacy .sponsor-card-company{display:block;font-family:var(--leg-f-serif);font-style:italic;font-weight:600;font-size:19px;letter-spacing:0;line-height:1.35;color:var(--leg-gold);margin:0 0 14px;}
.ev-legacy .sponsor-card-company i{display:none;}
.ev-legacy .sponsor-card-benefits{list-style:none;margin:0 0 6px;}
.ev-legacy .sponsor-card-benefits li{position:relative;display:block;padding:8px 0 8px 20px;font-size:15px;color:#DCD4C0;border-bottom:1px solid rgba(255,255,255,.07);}
.ev-legacy .sponsor-card-benefits li:last-child{border-bottom:0;}
.ev-legacy .sponsor-card-benefits li::before{content:"";position:absolute;left:2px;top:17px;width:5px;height:5px;margin:0;border-radius:0;transform:rotate(45deg);background:var(--leg-gold);}
.ev-legacy .sponsor-card .sponsor-card-cta{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;background:transparent;border:1px solid var(--leg-gold);color:var(--leg-gold);border-radius:0;font-family:var(--leg-f-sans);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:13px 20px;}
.ev-legacy .sponsor-card .sponsor-card-cta:hover{background:var(--leg-gold);color:var(--leg-black);}
.ev-legacy .sponsor-card .leg-cta-wrap{margin-top:auto;padding-top:20px;}
.ev-legacy .sponsor-card.soldout .sponsor-card-cta,.ev-legacy .sponsor-card.soldout .leg-cta-wrap{display:none;}
.ev-legacy .sponsor-card .leg-tier-photo{margin:-30px -28px 22px;aspect-ratio:5/4;border-bottom:1px solid var(--leg-line-dark);}
.leg-deadline{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;}
.leg-deadline i{margin-right:8px;}

/* Sponsor wall */
.leg-wall{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:1080px;margin:0 auto;}
.leg-wall li{aspect-ratio:3/2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;background:var(--leg-card);border:1px solid var(--leg-gold-ink);outline:1px solid var(--leg-line);outline-offset:-6px;}
.leg-wall-name{font-family:var(--leg-f-display);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;line-height:1.45;color:var(--leg-ink);}
.leg-wall-tier{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:16px;color:var(--leg-muted);margin-top:8px;}
@media(max-width:480px){.leg-wall{grid-template-columns:1fr 1fr;gap:12px;}.leg-wall li{padding:10px;aspect-ratio:auto;min-height:130px;}.leg-wall-name{font-size:11.5px;letter-spacing:.08em;}}

/* ============================================================
   INFO PAGE
   ============================================================ */
.leg-facts-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.leg-fact{background:var(--leg-card);padding:30px 22px 28px;text-align:center;border:1px solid var(--leg-gold-deep);outline:1px solid var(--leg-line);outline-offset:-6px;}
.leg-fact h3{font-family:var(--leg-f-display);font-weight:600;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--leg-gold-ink);}
.leg-fact p{font-family:var(--leg-f-serif);font-weight:600;font-size:22px;line-height:1.3;color:var(--leg-ink);margin-top:12px;}
.leg-fact p small{display:block;font-family:var(--leg-f-sans);font-weight:400;font-size:15px;color:var(--leg-muted);margin-top:6px;}
@media(max-width:1000px){.leg-facts-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.leg-facts-grid{grid-template-columns:1fr;}}

.leg-venue{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(36px,6vw,72px);align-items:center;}
.leg-address{font-family:var(--leg-f-serif);font-style:italic;font-weight:500;font-size:22px;color:var(--leg-gold);margin:16px 0 18px;}
.leg-map{margin:6px;background:var(--leg-panel);}
.leg-map iframe{display:block;width:100%;height:400px;border:0;filter:grayscale(.55) sepia(.12) contrast(1.05) brightness(.92);}
@media(max-width:860px){.leg-venue{grid-template-columns:1fr;}.leg-map iframe{height:280px;}}

.leg-faq{max-width:820px;margin:0 auto;border-top:1px solid var(--leg-line);}
.ev-legacy .leg-faq .acc-item{border-bottom:1px solid var(--leg-line);}
.ev-legacy .leg-faq .acc-hdr{font-family:var(--leg-f-serif);font-weight:600;font-size:clamp(20px,2.2vw,22px);color:var(--leg-ink);padding:22px 4px;line-height:1.3;}
.ev-legacy .leg-faq .acc-hdr:hover,.ev-legacy .leg-faq .acc-item[open] .acc-hdr{color:var(--leg-gold-ink);}
.leg-chev{flex-shrink:0;width:10px;height:10px;border-right:1.5px solid var(--leg-gold-ink);border-bottom:1.5px solid var(--leg-gold-ink);transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s;}
.ev-legacy .acc-item[open] .leg-chev{transform:rotate(225deg) translate(-3px,-3px);}
.ev-legacy .leg-faq .acc-body{font-family:var(--leg-f-sans);font-weight:400;font-size:16.5px;color:var(--leg-muted);padding:0 4px 24px;}
.ev-legacy .leg-faq .acc-body a{color:var(--leg-gold-ink);}
.leg-notebox{max-width:820px;margin:44px auto 0;padding:28px 30px;text-align:center;background:var(--leg-card);border:1px solid var(--leg-gold-deep);outline:1px solid var(--leg-line);outline-offset:-6px;}
.leg-notebox h3{font-family:var(--leg-f-display);font-weight:600;font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:var(--leg-gold-ink);}
.leg-notebox p{margin-top:10px;color:var(--leg-ink);}
.leg-notebox a{color:var(--leg-gold-ink);text-decoration:underline;text-underline-offset:3px;}

/* ============================================================
   FOOTER, STICKY BAR, SCROLL-TOP
   ============================================================ */
.ev-legacy footer{background:var(--leg-black);border-top:1px solid rgba(199,166,91,.5);color:var(--leg-muted-dark);}
.ev-legacy .footer-ucon{width:72px;height:72px;padding:7px;background:#fff;border-radius:0;object-fit:contain;color:transparent;overflow:hidden;}
.ev-legacy .leg-footer-logo{display:block;width:220px;max-width:100%;height:auto;margin:0 0 18px;color:transparent;}
.ev-legacy .footer-brand h3{font-family:var(--leg-f-display);font-weight:600;font-size:16px;letter-spacing:.14em;color:var(--leg-text-dark);}
.ev-legacy .footer-brand p{color:var(--leg-muted-dark);}
.ev-legacy .footer-col h4{font-family:var(--leg-f-display);font-weight:600;font-size:12px;letter-spacing:.22em;color:var(--leg-gold);}
.ev-legacy .footer-col a{color:var(--leg-muted-dark);}
.ev-legacy .footer-col a:hover{color:var(--leg-gold);}
.ev-legacy .footer-bottom{border-top-color:rgba(199,166,91,.2);color:#948D78;}
.ev-legacy .sticky-register{background:var(--leg-gold);border-top:1px solid var(--leg-gold-hi);padding:0;}
.ev-legacy .sticky-register a{display:block;padding:17px 16px;color:var(--leg-black);font-family:var(--leg-f-sans);font-weight:600;letter-spacing:.14em;}
.ev-legacy .sticky-register a:focus-visible{outline:2px solid var(--leg-black);outline-offset:-4px;}
.ev-legacy .scroll-top{background:var(--leg-black);border-color:rgba(199,166,91,.55);color:var(--leg-gold);}
.ev-legacy .scroll-top:hover{background:var(--leg-gold);border-color:var(--leg-gold);color:var(--leg-black);}

/* ============================================================
   MOTION (only when JS is running and motion is allowed)
   ============================================================ */
@media(prefers-reduced-motion:no-preference){
  .leg-js .leg-reveal{transition:opacity .5s ease,transform .5s ease;transition-delay:calc(var(--i,0) * 60ms);}
  .leg-js .leg-reveal:not(.is-in){opacity:0;transform:translateY(12px);}
  .leg-js .leg-draw:not(.is-in){stroke-dashoffset:1;fill-opacity:0;}
}
@media(prefers-reduced-motion:reduce){
  .leg-hero-media img{animation:none;}
}
.leg-venue .leg-h2{font-size:clamp(24px,3.2vw,34px);}

/* Phones: reserve space for the fixed register bar inside the dark footer,
   not on the ivory body, so no light band shows below the footer.
   Drop the extra space once the bar is hidden (after Jan 22). */
@media(max-width:768px){
  body.ev-legacy{padding-bottom:0;}
  .ev-legacy footer{padding-bottom:88px;}
  body.ev-legacy:has(.sticky-register[hidden]) footer{padding-bottom:28px;}
}

/* Ritz-Carlton photo in the venue section */
.leg-venue-photo{margin:22px 0 4px;border:1px solid rgba(199,166,91,.55);padding:6px;background:#0b0a08;}
.leg-venue-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#1a1812;}

/* Nearby hotels */
.leg-nearby{margin-top:28px;padding-top:22px;border-top:1px solid rgba(199,166,91,.35);}
.leg-nearby h3{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#C7A65B;margin:0 0 8px;}
.leg-nearby p{margin:0 0 10px;opacity:.9;}
.leg-nearby ul{list-style:none;margin:0;padding:0;}
.leg-nearby li{padding:8px 0;border-bottom:1px solid rgba(199,166,91,.18);}
.leg-nearby a{color:inherit;text-decoration:underline;text-decoration-color:rgba(199,166,91,.7);text-underline-offset:4px;}
.leg-nearby a:hover,.leg-nearby a:focus-visible{color:#C7A65B;}

/* UCON reversed logo in footer (no white tile) */
.ev-legacy .footer-ucon{width:216px;height:36px;padding:0;background:none;border-radius:0;object-fit:contain;}

/* "United Contractors" line above the Legacy logo, matching the logo sans */
.leg-eyebrow--org{font-family:"Montserrat",var(--leg-f-sans,"Jost"),sans-serif;font-style:normal;font-weight:700;font-size:13px;letter-spacing:.34em;text-transform:uppercase;margin-top:0;margin-bottom:10px;}
@media(max-width:767px){.leg-eyebrow--org{font-size:11.5px;letter-spacing:.28em;}}

/* UCON logo: Legacy is a UCON event */
.leg-ucon-mark{display:block;width:220px;height:auto;margin:0 auto 18px;}
@media(max-width:767px){.leg-ucon-mark{width:170px;margin-bottom:14px;}}
.leg-ucon-board{display:block;width:240px;height:auto;margin:0 auto 18px;}
@media(max-width:767px){.leg-ucon-board{width:190px;}}

/* Honoree headshots: shown at 200px so the source photos stay sharp (sources are about 400px wide) */
.leg-portrait--photo{width:200px;max-width:70%;aspect-ratio:4/5;margin:22px auto 0;border:1px solid var(--leg-gold);box-shadow:0 0 0 5px var(--leg-panel),0 0 0 6px rgba(199,166,91,.45);background:#14120D;}
.leg-portrait--photo img{object-position:center 30%;}

/* Legacy hero: anchor the photo to the top so the speaker at the podium keeps her head in frame */
.leg-hero-media img{object-position:center 8%;transform-origin:50% 0;}

/* Sponsor wall logos */
.leg-wall .leg-wall-logo{justify-content:center;gap:10px;}
.leg-wall-img{width:100%;flex:1;display:flex;align-items:center;justify-content:center;padding:6px 10px;min-height:0;}
.leg-wall-img img{display:block;max-width:82%;max-height:64px;width:auto;height:auto;object-fit:contain;}
@media(max-width:480px){.leg-wall-img img{max-height:44px;max-width:90%;}}

/* Sponsor wall: larger logos, 4 per row, centered */
.leg-wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;max-width:1180px;}
.leg-wall li.leg-wall-logo{aspect-ratio:4/3;padding:26px 22px 22px;gap:14px;}
.leg-wall-img img{max-width:86%;max-height:110px;}
.leg-wall-tier{font-size:18px;}
@media(max-width:980px){.leg-wall{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;}}
@media(max-width:480px){.leg-wall{gap:12px;}.leg-wall li.leg-wall-logo{aspect-ratio:auto;min-height:150px;padding:16px 12px;}.leg-wall-img img{max-height:60px;max-width:92%;}.leg-wall-tier{font-size:15px;}}

/* Hero photo 079 and honoree award summary (Nov 2026) */
.leg-hero-media img{object-position:center 22%;}
.leg-honorees-note{max-width:780px;margin:44px auto 0;font-size:19px;line-height:1.6;}
.leg-honorees-nom{text-align:center;margin:16px auto 0;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--leg-gold,#C7A65B);}

/* Hero photo 081 (group in courtyard): keep heads and full group in frame */
.leg-hero-media img{object-position:55% 42%;transform-origin:55% 42%;}
@media(max-width:767px){.leg-hero-media img{object-position:center 40%;}}
