:root{
  --brown-dark:#362B23;
  --brown-mid:#5F5345;
  --cream:#F8F3E0;
  --gold:#C9A961;
  --gold-soft:#C49A5E;
  --navy:#173552;
  --stone:#2A1F18;
  --rule:#D9CEB4;
  --ink:#241E19;
  --white:#FFFFFF;
  --sans:'Open Sans',Arial,Helvetica,sans-serif;
  --script:'Tangerine','Brush Script MT',cursive;
  --wrap:1300px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.6;
  text-wrap:pretty;
}
img,svg,video{max-width:100%;}
img{height:auto;border:0;}
a{color:#6B4A1E;}
a:hover,a:focus{color:#4A3313;}
a.white{color:#fff;text-decoration:underline;}
a.white:hover,a.white:focus{color:#E0D6B6;}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px;}
.skip-main{
  position:absolute;left:-9999px;top:0;z-index:9999;
  background:#000;color:#fff;padding:12px 18px;font-weight:600;
}
.skip-main:focus{left:0;}
.visually-hidden{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.site-header{
  position:sticky;top:0;z-index:7776;
  background:var(--brown-dark);
  border-bottom:1px solid var(--brown-mid);
}
.site-header-inner{
  max-width:1600px;margin:0 auto;padding:6px 16px;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.site-logo{display:block;flex:0 0 auto;padding:4px;}
.site-logo img{display:block;width:112px;height:auto;}
.nav-toggle{
  display:none;margin-left:auto;min-height:44px;min-width:44px;
  align-items:center;gap:10px;padding:10px 14px;
  background:transparent;border:1px solid rgba(255,255,255,.35);
  color:#fff;font:600 16px/1 var(--sans);cursor:pointer;
}
.nav-toggle:hover{background:var(--brown-mid);}
.nav-toggle-bars{display:inline-grid;gap:4px;}
.nav-toggle-bars span{display:block;width:22px;height:2px;background:#fff;}
.site-nav{margin-left:auto;}
.site-nav ul{list-style:none;margin:0;padding:0;}
.site-nav > ul{display:flex;flex-wrap:wrap;align-items:center;}
.site-nav > ul > li{position:relative;}
.site-nav a,.site-nav .submenu-toggle{
  display:flex;align-items:center;gap:6px;
  min-height:44px;padding:12px 11px;
  color:#fff;font-size:15.5px;text-decoration:none;white-space:nowrap;
  background:transparent;border:0;font-family:var(--sans);cursor:pointer;
}
.site-nav > ul > li > a:hover,.site-nav > ul > li > a:focus,
.site-nav .submenu-toggle:hover,.site-nav .submenu-toggle:focus,
.site-nav .submenu-toggle[aria-expanded="true"]{background:var(--brown-mid);}
.site-nav a[aria-current="page"]{background:var(--brown-mid);text-decoration:underline;text-underline-offset:4px;}
.caret{width:0;height:0;border-top:5px solid currentColor;border-left:5px solid transparent;border-right:5px solid transparent;}
.site-nav .submenu{
  position:absolute;top:100%;left:0;min-width:270px;
  background:var(--brown-mid);border:1px solid rgba(255,255,255,.2);
  box-shadow:0 8px 18px rgba(0,0,0,.4);padding:6px 0;display:none;z-index:20;
}
.site-nav li.open > .submenu{display:block;}
.site-nav .submenu a{font-size:15.5px;padding:10px 16px;white-space:normal;}
.site-nav .submenu a:hover,.site-nav .submenu a:focus{background:var(--brown-dark);}
@media (max-width:1180px){
  .nav-toggle{display:inline-flex;}
  .site-nav{flex:1 1 100%;margin:0;display:none;}
  .site-nav.open{display:block;}
  .site-nav > ul{display:block;background:var(--brown-mid);}
  .site-nav > ul > li{border-top:1px solid rgba(255,255,255,.15);}
  .site-nav .submenu-toggle{width:100%;justify-content:space-between;}
  .site-nav .submenu{position:static;display:none;min-width:0;border:0;box-shadow:none;background:var(--brown-dark);}
  .site-nav .submenu a{padding-left:32px;}
}

.intro-slider{position:relative;background:#000;overflow:hidden;}
.intro-track{position:relative;}
.intro-slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease-in-out;
  display:block;color:#fff;
}
.intro-slide.is-active{position:relative;opacity:1;}
.intro-slide img{display:block;width:100%;height:clamp(320px,46vw,620px);object-fit:cover;object-position:center 35%;}
.intro-caption{
  position:absolute;left:0;right:0;bottom:0;
  padding:26px 20px 30px;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(20,14,9,.86));
}
.intro-caption-inner{max-width:var(--wrap);margin:0 auto;}
.intro-eyebrow{
  display:inline-block;margin:0 0 10px;padding:5px 11px;
  background:var(--gold);color:var(--stone);
  font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
}
.intro-headline{margin:0 0 8px;font-size:clamp(26px,3.4vw,44px);font-weight:700;line-height:1.15;text-shadow:0 2px 16px rgba(0,0,0,.6);}
.intro-text{margin:0;font-size:clamp(16px,1.5vw,20px);max-width:640px;text-shadow:0 1px 10px rgba(0,0,0,.6);}
.intro-link{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:16px;
  border:1.5px solid rgba(255,255,255,.9);padding:11px 22px;
  font-size:12.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
}
a.intro-link{color:#fff;text-decoration:none;}
a.intro-link:hover,a.intro-link:focus{background:#fff;color:var(--stone);border-color:#fff;}
@media (max-width:640px){
  .intro-caption{padding:20px 16px 24px;}
  .intro-slide img{height:300px;object-position:center 28%;}
  .intro-headline{font-size:22px;}
  .intro-text{font-size:15.5px;}
}
@media (prefers-reduced-motion:reduce){.intro-slide{transition:none;}}

.hero{
  position:relative;overflow:hidden;padding:46px 20px;
  background:linear-gradient(160deg,#10243b,#0b1a2c);
}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,16,30,.74),rgba(8,16,30,.58));z-index:1;pointer-events:none;}
.hero-inner{position:relative;z-index:2;max-width:1400px;margin:0 auto;}
.hero-title{
  text-align:center;color:#fff;font-size:30px;font-weight:800;
  margin:0 0 6px;letter-spacing:.2px;text-shadow:0 2px 14px rgba(0,0,0,.5);
}
.hero-sub{text-align:center;color:#EAEFF6;font-size:18px;margin:0 0 32px;text-shadow:0 1px 10px rgba(0,0,0,.5);}
.hero-cols{display:grid;grid-template-columns:0.9fr 1.1fr;gap:28px;align-items:center;}
.hero-logo{text-align:center;padding:8px;}
.hero-logo .logo-link{display:block;}
.hero-logo img{width:100%;max-width:480px;margin:0 auto 18px;display:block;filter:drop-shadow(0 6px 22px rgba(0,0,0,.5));}
.hero-copy{
  margin:6px auto 22px;max-width:460px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.25);
  color:#EEF2F8;font-size:16px;line-height:1.65;text-align:left;
  text-shadow:0 1px 8px rgba(0,0,0,.5);
}
.hero-copy p{margin:0 0 12px;}
.hero-copy p:last-child{margin-bottom:0;}
.hero-copy .lead-in{font-weight:800;color:#fff;}
.btn-outline{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  color:#fff;text-decoration:none;font-size:13px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;
  border:1.5px solid rgba(255,255,255,.9);padding:11px 22px;
  transition:background-color .2s ease,color .2s ease;
}
.btn-outline:hover,.btn-outline:focus{background:#fff;color:#10243b;}
.hero-banners{display:flex;flex-direction:column;gap:18px;}
.hero-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.hero-pair .eb-inner{grid-template-columns:1fr;padding:28px 30px;gap:22px;}
.hero-pair .eb-visual{justify-self:start;}
@media (max-width:900px){.hero-pair{grid-template-columns:1fr;}}
@media (max-width:1100px){
  .hero-logo{margin-bottom:4px;}
}
@media (max-width:640px){
  .hero{padding:34px 16px;}
  .hero-title{font-size:24px;}
  .hero-sub{font-size:16px;margin-bottom:24px;}
  .hero-logo img{max-width:300px;}
}
@media (prefers-reduced-motion:reduce){.hero-bg{display:none;}}

.eventbanner{
  --bg:#2A1F18;--bg-hover:#34271E;--accent:#C9A961;
  --title:#F5EFE6;--desc:#D4C7B0;
  display:block;text-decoration:none;color:inherit;
  background:var(--bg);
  border-top:1px solid rgba(201,169,97,.4);
  border-bottom:1px solid rgba(201,169,97,.4);
  position:relative;overflow:hidden;transition:background-color .2s ease;
}
.eventbanner:hover,.eventbanner:focus{background:var(--bg-hover);}
.eventbanner:hover .eb-cta,.eventbanner:focus .eb-cta{background:var(--accent);color:var(--bg);}
.eventbanner:hover .eb-arrow{transform:translateX(4px);}
.eventbanner:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;}
.eventbanner--navy{--bg:#173552;--bg-hover:#1E456A;--accent:#C49A5E;--title:#F6F1E7;--desc:#CDC0A8;}
.eventbanner--bourbon{--bg:#20304F;--bg-hover:#2A3D63;--accent:#D8B26A;--title:#F6F1E7;--desc:#CFC6B4;}
.eb-inner{
  display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;
  padding:32px 36px;max-width:var(--wrap);margin:0 auto;
}
.eb-content{min-width:0;}
.eb-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--accent);color:var(--bg);
  padding:5px 11px;font-size:11px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;
}
.eb-dot{display:inline-block;width:5px;height:5px;background:var(--bg);border-radius:50%;}
.eb-title{font-size:34px;font-weight:300;color:var(--title);line-height:1.1;letter-spacing:-.5px;margin:0 0 10px;}
.eb-script{font-family:var(--script);font-weight:400;font-style:italic;font-size:54px;color:var(--accent);white-space:nowrap;}
.eb-desc{font-size:15.5px;color:var(--desc);line-height:1.55;margin:0 0 20px;max-width:520px;}
.eb-cta{
  display:inline-flex;align-items:center;gap:10px;min-height:44px;
  background:transparent;color:var(--accent);border:1.5px solid var(--accent);
  padding:11px 20px;font-size:12.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  transition:background-color .2s ease,color .2s ease;
}
.eb-arrow{display:inline-block;transition:transform .2s ease;}
.eb-visual{position:relative;padding:16px;flex-shrink:0;}
.eb-bracket{position:absolute;width:22px;height:22px;pointer-events:none;}
.eb-bracket--tl{top:0;left:0;border-top:2px solid var(--accent);border-left:2px solid var(--accent);}
.eb-bracket--br{bottom:0;right:0;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent);}
.eb-visual-row{display:flex;align-items:center;gap:14px;}
.eb-qr{width:68px;height:68px;background:#F5EFE6;padding:5px;flex-shrink:0;}
.eb-scan{font-family:var(--script);font-size:28px;color:var(--accent);line-height:1;margin-bottom:4px;}
.eb-listen{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--desc);}
.eb-img{display:block;width:100%;max-width:230px;height:auto;background:#F5EFE6;padding:5px;}
.eventbanner--bourbon .eb-inner{gap:40px;}
.eventbanner--bourbon .eb-img{max-width:420px;}
@media (max-width:1024px){.eventbanner--bourbon .eb-img{max-width:320px;}}
@media (max-width:640px){
  .eb-visual{padding:14px;width:auto;max-width:100%;}
  .eb-img,.eventbanner--bourbon .eb-img{max-width:100%;}
  .eventbanner--bourbon .eb-inner{gap:20px;}
}
@media (max-width:1300px) and (min-width:641px){
  .eb-inner{padding:28px;gap:24px;}
  .eb-title{font-size:30px;}
  .eb-script{font-size:48px;}
}
@media (max-width:640px){
  .eb-inner{grid-template-columns:1fr;padding:24px 20px;gap:20px;}
  .eb-title{font-size:26px;line-height:1.2;}
  .eb-script{font-size:40px;}
  .eb-visual{padding:14px 18px;width:fit-content;justify-self:center;}
  .eb-visual-row{justify-content:center;}
  .eb-qr{width:56px;height:56px;}
  .eb-scan{font-size:24px;}
}
@media (prefers-reduced-motion:reduce){.eventbanner,.eventbanner *{transition:none !important;}}

.band-statement{background:var(--brown-mid);color:#fff;text-align:center;padding:18px 20px;}
.band-statement p{margin:0;font-size:19px;font-style:italic;}

.feature{background:var(--brown-dark);color:#fff;padding:28px 0;}
.feature-inner{
  max-width:var(--wrap);margin:0 auto;padding:0 20px;
  display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:center;
}
.feature img{display:block;width:100%;max-width:317px;}
.feature h2{font-size:29px;font-weight:600;margin:0 0 14px;line-height:1.25;}
.feature p{margin:0 0 20px;font-size:18px;}
.btn-solid{
  display:inline-flex;align-items:center;min-height:44px;
  background:var(--gold);color:#241E19;text-decoration:none;
  padding:12px 22px;font-weight:700;font-size:16px;letter-spacing:.5px;
  border:1.5px solid var(--gold);
}
.btn-solid:hover,.btn-solid:focus{background:#fff;color:var(--brown-dark);border-color:#fff;}
@media (max-width:900px){.feature-inner{grid-template-columns:1fr;text-align:center;}.feature img{margin:0 auto;}}

.museums{background:#000;color:#fff;padding:24px 0;}
.museums-inner{
  max-width:var(--wrap);margin:0 auto;padding:0 20px;
  display:grid;grid-template-columns:1fr 1fr;gap:36px;
}
.museum{display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:center;}
.museum-photo img{display:block;width:100%;max-width:206px;}
.museum-logo img{display:block;width:100%;max-width:220px;margin:0 auto 12px;}
.museum p{margin:0;font-size:18px;text-align:center;}
@media (max-width:1024px){.museums-inner{grid-template-columns:1fr;}}
@media (max-width:640px){.museum{grid-template-columns:1fr;text-align:center;}.museum-photo img{margin:0 auto;}}

.partners{background:#fff;padding:20px 0 6px;text-align:center;}
.partners h2{color:var(--brown-dark);font-size:24px;font-weight:600;margin:0 0 18px;}
.partners-row{
  max-width:var(--wrap);margin:0 auto;padding:0 20px;
  display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:center;
}
.partners-row a{display:block;}
.partners-row img{display:block;width:100%;}
.partners-row .p-downtown img{max-width:168px;}
.partners-row .p-visit img{max-width:150px;}
.partners-row .p-olha img{max-width:204px;}
.partners-row .p-oma img{max-width:200px;}
.partners-row .p-aaslh img{max-width:150px;}

.contacts{background:var(--brown-dark);color:#fff;padding:22px 0;}
.contacts-inner{
  max-width:1500px;margin:0 auto;padding:0 20px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.contact-card{text-align:center;}
.contact-card h2{font-family:var(--script);font-weight:700;font-size:40px;line-height:1.1;margin:0 0 6px;}
.contact-card h2 a{color:#fff;text-decoration:none;}
.contact-card h2 a:hover,.contact-card h2 a:focus{text-decoration:underline;}
.contact-card hr{border:0;border-top:1px solid rgba(255,255,255,.7);margin:0 60px 14px;}
.contact-card ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px;justify-items:center;}
.contact-card li a{
  display:inline-flex;align-items:flex-start;gap:10px;min-height:44px;
  max-width:100%;color:#fff;font-size:17px;text-decoration:none;text-align:left;
}
.contact-card svg{margin-top:3px;}
.contact-card li a:hover,.contact-card li a:focus{color:#fff;text-decoration:underline;}
.contact-card svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto;}
.site-footer .contacts .contact-card li a{align-items:flex-start;}
.contact-hours{margin:0;font-size:17px;}
@media (max-width:1024px){.contacts-inner{grid-template-columns:1fr;}}
@media (max-width:640px){
  .contacts-inner{padding:0 14px;gap:18px;}
  .contact-card ul{justify-items:stretch;}
  .contact-card li a{width:100%;justify-content:center;}
  .contact-card hr{margin:0 20px 10px;}
}

.site-footer{background:#000;color:#fff;padding:0 0 30px;text-align:center;}
.footer-top{
  max-width:var(--wrap);margin:0 auto 22px;padding:26px 20px 0;
  display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:center;
}
.site-footer .contacts{background:#3E3129;padding:18px 0;}
.site-footer .contacts .contact-card h2{font-size:36px;margin:0 0 2px;}
.site-footer .contacts .contact-card hr{margin:0 60px 8px;}
.site-footer .contacts .contact-card ul{gap:0;margin:0;}
.site-footer .contacts .contact-card li a{min-height:34px;padding:3px 0;line-height:1.25;}
.footer-shop img{display:block;width:100%;max-width:200px;filter:brightness(0) invert(1);}
.footer-shop:hover img,.footer-shop:focus img{filter:brightness(0) invert(1) sepia(1) saturate(3) hue-rotate(5deg);}
.social{display:flex;gap:14px;list-style:none;margin:0;padding:0;}
.social a{
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;color:#fff;
}
.social a:hover,.social a:focus{color:var(--gold);}
.social svg{width:30px;height:30px;fill:currentColor;}
.footer-legal{margin:0;font-size:16px;line-height:1.7;}
.footer-legal .heart{color:#D4646E;font-size:17px;}

.page-head{background:var(--brown-dark);color:#fff;padding:34px 0 30px;}
.page-head-inner{max-width:var(--wrap);margin:0 auto;padding:0 20px;}
.page-head h1{margin:0;font-size:34px;font-weight:700;line-height:1.2;}
.page-head p{margin:10px 0 0;font-size:19px;color:#EFE7D6;}
.page-body{background:var(--cream);padding:34px 0 46px;}
.page-body--tight{padding-bottom:10px;}
.page-body-inner{max-width:1000px;margin:0 auto;padding:0 20px;}
.page-body h2{font-size:27px;margin:34px 0 12px;color:var(--brown-dark);}
.page-body h3{font-size:21px;margin:26px 0 10px;color:var(--brown-dark);}
.page-body h4{font-size:18px;margin:22px 0 8px;color:var(--brown-dark);}
.page-body p,.page-body li{font-size:17.5px;}
.page-body ul{padding-left:22px;}
.page-body li{margin-bottom:8px;}
.page-figure{margin:0 0 26px;}
.page-figure img{display:block;width:100%;}
.page-figure figcaption{font-size:15px;color:#5A4C40;padding-top:8px;}

.callout{
  border-left:5px solid var(--gold);
  background:#FFFDF6;
  padding:18px 22px;
  margin:26px 0;
}
.callout > :first-child{margin-top:0;}
.callout > :last-child{margin-bottom:0;}
.callout h2,.callout h3{margin:0 0 8px;font-size:20px;color:var(--brown-dark);}
.callout--dark{background:var(--brown-dark);color:#fff;border-left-color:var(--gold);}
.callout--dark h2,.callout--dark h3{color:#fff;}
.callout--dark a{color:#F0DFB6;}
.callout-meta{list-style:none;margin:0;padding:0;display:grid;gap:4px;}
.callout-meta strong{font-weight:700;}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 0;}

.fhaUp-events{margin:0;}
.fhaUp-inner{max-width:1100px;margin:0 auto;padding:0 16px;}
.fhaUp-title{margin:0 0 6px;font-size:34px;letter-spacing:.3px;color:#111;}
.fhaUp-sub{margin:0 0 18px;color:#444;font-size:15px;}
.fhaUp-list{display:flex;flex-direction:column;gap:16px;}
.fhaUp-item{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:start;}
.fhaUp-date{
  width:120px;height:120px;border-radius:999px;background:#0b3d91;color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  box-shadow:0 10px 20px rgba(0,0,0,.12);border:2px solid rgba(255,255,255,.22);
}
.fhaUp-month{font-weight:800;font-size:20px;letter-spacing:1px;}
.fhaUp-day{font-weight:900;font-size:34px;line-height:1;}
.fhaUp-card{
  background:linear-gradient(180deg,#fffdf7,#fbf3e4);
  border:1px solid #e6dcc7;border-radius:18px;padding:18px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);position:relative;
}
.fhaUp-card:before{
  content:"";position:absolute;inset:10px;border-radius:14px;
  border:1px dashed rgba(120,96,54,.25);pointer-events:none;
}
.fhaUp-h{margin:0 0 10px;font-size:20px;color:#1b1b1b;position:relative;}
.fhaUp-meta{font-weight:700;color:#0b3d91;font-size:15px;}
.fhaUp-card p{margin:0 0 12px;font-size:16px;line-height:1.65;color:#222;position:relative;}
.fhaUp-card p:last-child{margin-bottom:0;}
.fhaUp-card a{color:#0b3d91;text-decoration:underline;text-underline-offset:3px;position:relative;}
.fhaUp-card a:hover,.fhaUp-card a:focus{color:#08265c;}
.fhaUp-imageWrap{
  margin:0 0 14px;border-radius:14px;overflow:hidden;
  border:1px solid #e6dcc7;box-shadow:0 6px 16px rgba(0,0,0,.08);
}
.fhaUp-imageWrap--small{max-width:300px;}
.fhaUp-imageWrap img{width:100%;height:auto;display:block;}
.fhaUp-ticket{
  display:inline-flex;align-items:center;min-height:44px;margin-top:4px;
  background:#0b3d91;color:#fff !important;text-decoration:none !important;
  padding:11px 20px;font-weight:700;font-size:15px;letter-spacing:.5px;
}
.fhaUp-ticket:hover,.fhaUp-ticket:focus{background:#08265c;}
@media (max-width:720px){
  .fhaUp-item{grid-template-columns:1fr;}
  .fhaUp-date{width:96px;height:96px;}
  .fhaUp-day{font-size:28px;}
}

.huf-section {
  background: #FAF6EF;
  color: #2E2A23;
  font-family: 'Open Sans', Arial, sans-serif;
  padding: 48px 32px;
  box-sizing: border-box;
}
.huf-section *, .huf-section *::before, .huf-section *::after { box-sizing: border-box; }

.huf-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #7A5230;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0 auto 18px;
  max-width: 780px;
  text-align: center;
}
.huf-rule { display: inline-block; width: 48px; height: 1px; background: #C49A5E; flex-shrink: 0; }

.huf-heading {
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -0.5px;
  line-height: 1.15;
  margin: 0 auto 12px;
  text-align: center;
  max-width: 820px;
  color: #173552;
}
.huf-script {
  font-family: 'Tangerine', 'Brush Script MT', cursive;
  font-weight: 400;
  font-size: 72px;
  color: #C49A5E;
  font-style: italic;
  white-space: nowrap;
}
.huf-subhead {
  font-size: 17px;
  color: #5E5648;
  font-weight: 300;
  margin: 0 auto;
  line-height: 1.55;
  text-align: center;
  max-width: 740px;
}

.huf-triptych {
  display: grid;
  grid-template-columns: 1fr 1.1fr 1fr;
  gap: 28px;
  margin: 40px 0 32px;
  align-items: start;
}

.huf-media { position: relative; margin: 0; padding: 0; }
.huf-video, .huf-image { display: block; width: 100%; }
.huf-video { aspect-ratio: 3 / 4; object-fit: contain; background: #0C2236; }
.huf-image { height: auto; background: #EFE7D8; }

.huf-bracket { position: absolute; width: 30px; height: 30px; pointer-events: none; }
.huf-bracket--tl { top: -10px; left: -10px; border-top: 2px solid #7A5230; border-left: 2px solid #7A5230; }
.huf-bracket--br { bottom: -10px; right: -10px; border-bottom: 2px solid #7A5230; border-right: 2px solid #7A5230; }

.huf-content { padding: 8px 4px; }
.huf-lede { font-size: 15.5px; line-height: 1.75; color: #3A332A; margin: 0 0 18px; }

.huf-callout {
  background: #E8EFF4;
  border-left: 3px solid #173552;
  padding: 16px 18px;
  margin: 22px 0;
  display: flex;
  align-items: center;
  gap: 14px;
}
.huf-callout-icon { width: 36px; height: 36px; color: #173552; flex-shrink: 0; }
.huf-callout-text { font-size: 13.5px; line-height: 1.55; color: #2E3742; }
.huf-callout-text strong {
  display: block;
  color: #173552;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 4px;
}

.huf-details { list-style: none; padding: 0; margin: 20px 0 0; display: flex; flex-direction: column; gap: 12px; font-size: 14px; color: #5E5648; }
.huf-details li { display: flex; align-items: flex-start; gap: 10px; line-height: 1.55; }
.huf-bullet { color: #7A5230; margin-top: 2px; flex-shrink: 0; font-size: 11px; }
.huf-detail-label { display: block; color: #2E2A23; margin-bottom: 2px; font-weight: 600; }
.huf-details a { color: #173552; text-decoration: underline; text-decoration-color: #C49A5E; text-underline-offset: 3px; }
.huf-details a:hover { color: #7A5230; text-decoration-color: #173552; }
.huf-section a:focus-visible, .huf-section video:focus-visible, .huf-section iframe:focus-visible {
  outline: 2px solid #173552;
  outline-offset: 3px;
  border-radius: 2px;
}

.huf-stats {
  list-style: none;
  padding: 32px 0 0;
  margin: 8px 0 0;
  border-top: 1px solid rgba(122,82,48,0.25);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.huf-stat { text-align: center; padding: 0 12px; }
.huf-stat--middle { border-left: 1px solid rgba(122,82,48,0.25); border-right: 1px solid rgba(122,82,48,0.25); }
.huf-stat-value { font-size: 36px; font-weight: 300; color: #173552; line-height: 1; margin-bottom: 6px; }
.huf-stat-label { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #7A5230; margin-bottom: 6px; }
.huf-stat-desc { font-size: 13px; color: #4A4338; line-height: 1.55; }

/* PLAYLIST SECTION */
.huf-playlist {
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid rgba(122,82,48,0.25);
  text-align: center;
}
.huf-playlist-heading {
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 32px;
  font-weight: 300;
  color: #173552;
  margin: 0 0 12px;
  letter-spacing: -0.3px;
}
.huf-playlist-desc {
  font-size: 15px;
  color: #5E5648;
  max-width: 640px;
  margin: 0 auto 28px;
  line-height: 1.6;
}
.huf-playlist-frame {
  position: relative;
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  background: #0C2236;
}
.huf-playlist-frame::before,
.huf-playlist-frame::after {
  content: '';
  position: absolute;
  width: 30px;
  height: 30px;
  pointer-events: none;
  z-index: 2;
}
.huf-playlist-frame::before { top: -10px; left: -10px; border-top: 2px solid #7A5230; border-left: 2px solid #7A5230; }
.huf-playlist-frame::after { bottom: -10px; right: -10px; border-bottom: 2px solid #7A5230; border-right: 2px solid #7A5230; }
.huf-playlist-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.huf-playlist-cta {
  display: inline-block;
  margin-top: 28px;
  color: #173552;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-bottom: 1px solid #C49A5E;
  padding: 6px 4px;
}
.huf-playlist-cta:hover { color: #7A5230; border-color: #173552; }

/* Tablet */
@media (max-width: 1024px) and (min-width: 768px) {
  .huf-section { padding: 40px 24px; }
  .huf-heading { font-size: 40px; }
  .huf-script { font-size: 60px; }
  .huf-triptych { gap: 20px; }
  .huf-callout { flex-direction: column; align-items: flex-start; gap: 10px; }
  .huf-playlist-heading { font-size: 28px; }
}

/* Mobile */
@media (max-width: 767px) {
  .huf-section { padding: 32px 18px; }
  .huf-eyebrow { font-size: 11px; letter-spacing: 2.5px; gap: 10px; }
  .huf-rule { width: 28px; }
  .huf-heading { font-size: 30px; line-height: 1.2; }
  .huf-script { font-size: 44px; }
  .huf-subhead { font-size: 15px; }
  .huf-triptych { grid-template-columns: 1fr; gap: 28px; margin: 28px 0 24px; }
  .huf-media--video { order: 1; }
  .huf-content { order: 2; padding: 0; }
  .huf-media--image { order: 3; max-width: 360px; margin: 0 auto; width: 100%; }
  .huf-bracket { width: 22px; height: 22px; }
  .huf-bracket--tl { top: -8px; left: -8px; }
  .huf-bracket--br { bottom: -8px; right: -8px; }
  .huf-callout { flex-direction: column; align-items: flex-start; }
  .huf-details li { padding: 4px 0; }
  .huf-details a { display: inline-block; padding: 4px 0; min-height: 24px; }
  .huf-stats { grid-template-columns: 1fr; gap: 0; padding-top: 24px; }
  .huf-stat { padding: 20px 12px; }
  .huf-stat--middle { border-left: none; border-right: none; border-top: 1px solid rgba(122,82,48,0.25); border-bottom: 1px solid rgba(122,82,48,0.25); }
  .huf-playlist { margin-top: 32px; padding-top: 28px; }
  .huf-playlist-heading { font-size: 24px; }
  .huf-playlist-desc { font-size: 14px; }
  .huf-playlist-frame::before, .huf-playlist-frame::after { width: 22px; height: 22px; }
  .huf-playlist-frame::before { top: -8px; left: -8px; }
  .huf-playlist-frame::after { bottom: -8px; right: -8px; }
}

@media (prefers-reduced-motion: reduce) {
  .huf-section *, .huf-section *::before, .huf-section *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

@media (prefers-contrast: more) {
  .huf-section { background: #FFFFFF; }
  .huf-callout { background: #DCE6EE; border-left-width: 4px; }
  .huf-stat--middle { border-color: #7A5230; }
}

.sst-section {
  background: #2A1F18;
  color: #F5EFE6;
  font-family: 'Open Sans', Arial, sans-serif;
  padding: 48px 32px;
  box-sizing: border-box;
}
.sst-section *, .sst-section *::before, .sst-section *::after { box-sizing: border-box; }

.sst-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #C9A961;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0 auto 18px;
  max-width: 780px;
  text-align: center;
}
.sst-rule { display: inline-block; width: 48px; height: 1px; background: #C9A961; flex-shrink: 0; }

.sst-heading {
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -0.5px;
  line-height: 1.15;
  margin: 0 auto 12px;
  text-align: center;
  max-width: 780px;
  color: #F5EFE6;
}
.sst-script {
  font-family: 'Tangerine', 'Brush Script MT', cursive;
  font-weight: 400;
  font-size: 72px;
  color: #C9A961;
  font-style: italic;
  white-space: nowrap;
}
.sst-subhead {
  font-size: 17px;
  color: #D4C7B0;
  font-weight: 300;
  margin: 0 auto;
  line-height: 1.55;
  text-align: center;
  max-width: 720px;
}

.sst-triptych {
  display: grid;
  grid-template-columns: 1fr 1.1fr 1fr;
  gap: 28px;
  margin: 40px 0 32px;
  align-items: start;
}

.sst-media { position: relative; margin: 0; padding: 0; }
.sst-video, .sst-image { display: block; width: 100%; background: #1A130D; }
.sst-video { aspect-ratio: 3 / 4; object-fit: contain; background: #000; }
.sst-image { height: auto; }

.sst-bracket { position: absolute; width: 30px; height: 30px; pointer-events: none; }
.sst-bracket--tl { top: -10px; left: -10px; border-top: 2px solid #C9A961; border-left: 2px solid #C9A961; }
.sst-bracket--br { bottom: -10px; right: -10px; border-bottom: 2px solid #C9A961; border-right: 2px solid #C9A961; }

.sst-content { padding: 8px 4px; }
.sst-lede { font-size: 15.5px; line-height: 1.75; color: #E8DFD0; margin: 0 0 18px; }

.sst-callout {
  background: #3A2C20;
  border-left: 3px solid #C9A961;
  padding: 16px 18px;
  margin: 22px 0;
  display: flex;
  align-items: center;
  gap: 14px;
}
.sst-callout-icon { width: 36px; height: 36px; color: #C9A961; flex-shrink: 0; }
.sst-callout-text { font-size: 13.5px; line-height: 1.55; color: #E8DFD0; }
.sst-callout-text strong {
  display: block;
  color: #C9A961;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 4px;
}

.sst-details { list-style: none; padding: 0; margin: 20px 0 0; display: flex; flex-direction: column; gap: 12px; font-size: 14px; color: #D4C7B0; }
.sst-details li { display: flex; align-items: flex-start; gap: 10px; line-height: 1.55; }
.sst-bullet { color: #C9A961; margin-top: 2px; flex-shrink: 0; font-size: 11px; }
.sst-detail-label { display: block; color: #F5EFE6; margin-bottom: 2px; font-weight: 500; }
.sst-details a { color: #F5EFE6; text-decoration: underline; text-decoration-color: #C9A961; text-underline-offset: 3px; }
.sst-details a:hover { color: #C9A961; text-decoration-color: #F5EFE6; }
.sst-section a:focus-visible, .sst-section video:focus-visible, .sst-section iframe:focus-visible {
  outline: 2px solid #C9A961;
  outline-offset: 3px;
  border-radius: 2px;
}

.sst-stats {
  list-style: none;
  padding: 32px 0 0;
  margin: 8px 0 0;
  border-top: 1px solid rgba(201,169,97,0.25);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.sst-stat { text-align: center; padding: 0 12px; }
.sst-stat--middle { border-left: 1px solid rgba(201,169,97,0.25); border-right: 1px solid rgba(201,169,97,0.25); }
.sst-stat-value { font-size: 36px; font-weight: 300; color: #C9A961; line-height: 1; margin-bottom: 6px; }
.sst-stat-plus { font-size: 24px; }
.sst-stat-label { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #D4C7B0; margin-bottom: 6px; }
.sst-stat-desc { font-size: 13px; color: #E8DFD0; line-height: 1.55; }

/* PLAYLIST SECTION */
.sst-playlist {
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid rgba(201,169,97,0.25);
  text-align: center;
}
.sst-playlist-heading {
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 32px;
  font-weight: 300;
  color: #F5EFE6;
  margin: 0 0 12px;
  letter-spacing: -0.3px;
}
.sst-playlist-desc {
  font-size: 15px;
  color: #D4C7B0;
  max-width: 640px;
  margin: 0 auto 28px;
  line-height: 1.6;
}
.sst-playlist-frame {
  position: relative;
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  background: #000;
}
.sst-playlist-frame::before,
.sst-playlist-frame::after {
  content: '';
  position: absolute;
  width: 30px;
  height: 30px;
  pointer-events: none;
  z-index: 2;
}
.sst-playlist-frame::before { top: -10px; left: -10px; border-top: 2px solid #C9A961; border-left: 2px solid #C9A961; }
.sst-playlist-frame::after { bottom: -10px; right: -10px; border-bottom: 2px solid #C9A961; border-right: 2px solid #C9A961; }
.sst-playlist-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.sst-playlist-cta {
  display: inline-block;
  margin-top: 28px;
  color: #C9A961;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-bottom: 1px solid #C9A961;
  padding: 6px 4px;
}
.sst-playlist-cta:hover { color: #F5EFE6; border-color: #F5EFE6; }

/* Tablet */
@media (max-width: 1024px) and (min-width: 768px) {
  .sst-section { padding: 40px 24px; }
  .sst-heading { font-size: 40px; }
  .sst-script { font-size: 60px; }
  .sst-triptych { gap: 20px; }
  .sst-callout { flex-direction: column; align-items: flex-start; gap: 10px; }
  .sst-playlist-heading { font-size: 28px; }
}

/* Mobile */
@media (max-width: 767px) {
  .sst-section { padding: 32px 18px; }
  .sst-eyebrow { font-size: 11px; letter-spacing: 2.5px; gap: 10px; }
  .sst-rule { width: 28px; }
  .sst-heading { font-size: 30px; line-height: 1.2; }
  .sst-script { font-size: 44px; }
  .sst-subhead { font-size: 15px; }
  .sst-triptych { grid-template-columns: 1fr; gap: 28px; margin: 28px 0 24px; }
  .sst-media--video { order: 1; }
  .sst-content { order: 2; padding: 0; }
  .sst-media--image { order: 3; max-width: 360px; margin: 0 auto; width: 100%; }
  .sst-bracket { width: 22px; height: 22px; }
  .sst-bracket--tl { top: -8px; left: -8px; }
  .sst-bracket--br { bottom: -8px; right: -8px; }
  .sst-callout { flex-direction: column; align-items: flex-start; }
  .sst-details li { padding: 4px 0; }
  .sst-details a { display: inline-block; padding: 4px 0; min-height: 24px; }
  .sst-stats { grid-template-columns: 1fr; gap: 0; padding-top: 24px; }
  .sst-stat { padding: 20px 12px; }
  .sst-stat--middle { border-left: none; border-right: none; border-top: 1px solid rgba(201,169,97,0.25); border-bottom: 1px solid rgba(201,169,97,0.25); }
  .sst-playlist { margin-top: 32px; padding-top: 28px; }
  .sst-playlist-heading { font-size: 24px; }
  .sst-playlist-desc { font-size: 14px; }
  .sst-playlist-frame::before, .sst-playlist-frame::after { width: 22px; height: 22px; }
  .sst-playlist-frame::before { top: -8px; left: -8px; }
  .sst-playlist-frame::after { bottom: -8px; right: -8px; }
}

@media (prefers-reduced-motion: reduce) {
  .sst-section *, .sst-section *::before, .sst-section *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

@media (prefers-contrast: more) {
  .sst-section { background: #000; }
  .sst-callout { background: #1A130D; border-left-width: 4px; }
  .sst-stat--middle { border-color: #C9A961; }
}

.trail-page .huf-triptych .huf-media--video,.trail-page .sst-triptych .sst-media--video{align-self:stretch;}

.fha250-hero{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:18px;
  background:#0b0b0b;
  margin:18px 0;
  font-family:'Open Sans', Arial, Helvetica, sans-serif;
}

.fha250-media{
  position:absolute;
  inset:0;
  z-index:0;
}
.fha250-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.fha250-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.45),
    rgba(0,0,0,.70)
  );
}

.fha250-inner{
  position:relative;
  z-index:1;
  padding:60px 30px;
  max-width:1100px;
  margin:0 auto;
  color:#fff;
  text-align:left;
}

/* Fixed logo size */
.fha250-logo{
  display:block;
  margin:0 auto 30px auto;
}

/* Text panel */
.fha250-text{
  max-width:850px;
  margin:0 auto;
  background:rgba(0,0,0,.30);
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  padding:28px 30px;
  backdrop-filter:blur(8px);
}

.fha250-text h2{
  font-size:34px;
  font-weight:700;
  line-height:1.2;
  margin:0 0 18px 0;
}

.fha250-text p{
  font-size:18px;
  line-height:1.7;
  margin:0 0 16px 0;
}

@media (max-width:768px){
  .fha250-inner{ padding:40px 20px; }
  .fha250-text{ padding:22px; }
  .fha250-text h2{ font-size:26px; }
  .fha250-text p{ font-size:16px; }
}

@media (prefers-reduced-motion: reduce){
  .fha250-video{ display:none; }
  .fha250-hero{ background:#111; }
}
/* Section */
.fha250-events{
  margin:24px 0 40px 0;
  font-family:'Open Sans', Arial, sans-serif;
}
.fha250-events-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 16px;
}
.fha250-events-title{
  font-size:30px;
  margin:0 0 8px 0;
  color:#111;
}
.fha250-events-sub{
  margin:0 0 24px 0;
  font-size:16px;
  line-height:1.6;
  color:#222;
}

/* Grid: 2 columns desktop */
.fha250-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:32px;
}
@media (max-width: 900px){
  .fha250-grid{ grid-template-columns:1fr; }
}

/* Card sizing */
.fha250-card{
  background:#fff;
  border:1px solid #e6e6e6;
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  height:100%;
  display:flex;
  flex-direction:column;
}

/* Top row */
.fha250-topRow{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
}

/* Badge */
.fha250-badge{
  width:110px;
  height:110px;
  border-radius:999px;
  background:#0b3d91;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  font-weight:800;
  line-height:1.05;
  flex:0 0 auto;
}
.fha250-badge span{ font-size:18px; }
.fha250-badge strong{ font-size:24px; }

/* Image */
.fha250-imageWrap{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  justify-content:flex-end;
}
.fha250-imageWrap img{
  width:100%;
  max-width:240px;
  height:auto;
  display:block;
  border-radius:14px;
  border:1px solid #e5e5e5;
  background:#f7f7f7;
}

/* Content */
.fha250-content{
  display:flex;
  flex-direction:column;
}
.fha250-content h4{
  font-size:20px;
  margin:0 0 10px 0;
  color:#111;
}
.fha250-content p{
  margin:0 0 12px 0;
  line-height:1.65;
  font-size:15.5px;
  color:#222;
}

/* Button — pushed to the bottom of the card so buttons line up across the row */
.fha250-btn{
  align-self:flex-start;
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#0b3d91;
  color:#fff;
  text-decoration:none;
  font-size:14.5px;
  font-weight:700;
  line-height:1;
  padding:13px 22px;
  border-radius:999px;
  transition:background-color .2s ease;
}
.fha250-btn:hover{ background:#082f70; }
.fha250-btn:hover .fha250-btn-arrow{ transform:translateX(3px); }
.fha250-btn:focus-visible{ outline:3px solid #0b3d91; outline-offset:3px; }
.fha250-btn-arrow{ display:inline-block; transition:transform .2s ease; }

/* Mobile */
@media (max-width:768px){
  .fha250-topRow{
    flex-direction:column;
    align-items:flex-start;
  }
  .fha250-imageWrap{
    justify-content:flex-start;
    width:100%;
  }
  .fha250-imageWrap img{
    max-width:320px;
  }
}

@media (prefers-reduced-motion: reduce){
  .fha250-btn, .fha250-btn-arrow{ transition:none; }
}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:26px 0 0;}
.gallery-grid a{display:block;}
.gallery-grid img{display:block;width:100%;height:auto;border:1px solid rgba(255,255,255,.3);}
.feature--wide .feature-inner{grid-template-columns:1fr 1fr;align-items:start;}
.feature--wide img{max-width:100%;}
.feature--wide .video-frame{position:relative;aspect-ratio:16/9;background:#000;margin-top:20px;}
.feature--wide .video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
@media (max-width:900px){.feature--wide .feature-inner{grid-template-columns:1fr;}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start;margin:0;}
.split--media{grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);}
.split img{display:block;width:100%;height:auto;}
@media (max-width:900px){.split,.split--media{grid-template-columns:1fr;}}
.price-list{list-style:none;padding:0;margin:0;}
.price-list li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:17.5px;}
.price-list li:last-child{border-bottom:0;}
.price-list .amount{font-weight:700;white-space:nowrap;}

.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px;margin:0;}
.staff-card{text-align:center;}
.staff-card img{display:block;width:100%;height:auto;margin:0 0 12px;}
.staff-card p{margin:0;font-size:17.5px;}
.staff-card .staff-name{font-weight:700;font-size:19px;}
.roster{list-style:none;padding:0;margin:0;}
.roster li{padding:7px 0;border-bottom:1px solid var(--rule);font-size:17.5px;}
.roster li:last-child{border-bottom:0;}
.roster .role{color:#5A4C40;}
.story{padding:32px 0;border-top:1px solid var(--rule);}
.story::after{content:"";display:block;clear:both;}
.story:first-of-type{border-top:0;padding-top:8px;}
.story-media{
  float:left;display:flex;flex-direction:column;gap:14px;
  margin:4px 28px 20px 0;max-width:44%;
}
.story-media img{display:block;width:auto;max-width:100%;height:auto;border:1px solid var(--rule);}
.story-media figcaption{font-size:14px;color:#5A4C40;}
.story blockquote.callout{background:transparent;overflow:hidden;}
.story-year{
  display:block;margin:0 0 10px;color:#7A5230;
  font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
}
.story h2{margin:0 0 12px;font-size:24px;color:var(--brown-dark);}
.story p:last-child{margin-bottom:0;}
@media (max-width:700px){
  .story-media,.story--flip .story-media{
    float:none;max-width:100%;margin:0 0 18px;
    flex-direction:row;flex-wrap:wrap;justify-content:center;
  }
}

.museum-hero{position:relative;overflow:hidden;background:#1B140F;min-height:660px;display:flex;align-items:flex-end;}
.museum-hero img.museum-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.museum-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,7,5,.15) 40%,rgba(10,7,5,.78));}
.museum-hero-inner{position:relative;width:100%;max-width:var(--wrap);margin:0 auto;padding:48px 26px 34px;text-align:right;}
.museum-hero-name{margin:0;line-height:1;text-shadow:0 3px 22px rgba(0,0,0,.8);}
.museum-hero-name .eyebrow{
  display:block;font-size:13px;font-weight:600;letter-spacing:5px;text-transform:uppercase;
  color:#E8D9B4;margin-bottom:6px;
}
.museum-hero-name .name{display:block;color:#fff;font-size:clamp(38px,5.4vw,74px);font-weight:300;letter-spacing:-1px;}
.museum-hero-name .script{font-family:var(--script);font-weight:700;font-size:1.28em;color:#EBC97F;letter-spacing:0;}
.museum-hero-rule{display:block;width:120px;height:2px;background:#C9A961;margin:16px 0 0 auto;}
@media (max-width:640px){
  .museum-hero{min-height:440px;}
  .museum-hero-inner{padding:34px 18px 26px;}
  .museum-hero-name .eyebrow{letter-spacing:3px;font-size:12px;}
}
.museum-hero p{margin:0;color:#F2E9D8;font-size:19px;text-shadow:0 1px 10px rgba(0,0,0,.7);}
.museum-hero .museum-hero-cta{margin-top:22px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.layout-aside{display:grid;grid-template-columns:1fr 340px;gap:34px;align-items:start;}
@media (max-width:900px){.layout-aside{grid-template-columns:1fr;}}
.infocard{background:#fff;border:1px solid var(--rule);padding:22px;}
.infocard h2{margin:0 0 12px;font-size:15px;letter-spacing:2px;text-transform:uppercase;color:var(--brown-dark);}
.infocard h3{margin:16px 0 4px;font-size:17px;display:flex;align-items:center;gap:9px;color:var(--brown-dark);}
.infocard h3:first-of-type{margin-top:0;}
.infocard svg{width:17px;height:17px;fill:currentColor;flex:0 0 auto;}
.infocard p{margin:0;font-size:16.5px;}
.infocard hr{border:0;border-top:1px solid var(--rule);margin:16px 0;}
.infocard a{display:inline-flex;align-items:center;gap:9px;min-height:34px;}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:26px 0 0;}
.gallery figure{margin:0;}
.gallery img{display:block;width:100%;height:auto;border:1px solid var(--rule);}
.gallery figcaption{font-size:14.5px;color:#5A4C40;padding-top:6px;}

.faq{margin:34px 0 0;}
.faq details{border-top:1px solid var(--rule);padding:0;}
.faq details:last-of-type{border-bottom:1px solid var(--rule);}
.faq summary{
  cursor:pointer;list-style:none;padding:15px 40px 15px 0;position:relative;
  font-size:18px;font-weight:700;color:var(--brown-dark);min-height:44px;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"";position:absolute;right:10px;top:22px;
  width:9px;height:9px;border-right:2px solid var(--brown-mid);border-bottom:2px solid var(--brown-mid);
  transform:rotate(45deg);
}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq summary:hover,.faq summary:focus-visible{color:#6B4A1E;}
.faq details > *:not(summary){margin:0 0 14px;font-size:17px;}

.plates{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:30px 0 0;}
.plate{margin:0;background:#fff;border:1px solid var(--rule);padding:10px;box-shadow:0 10px 24px rgba(54,43,35,.10);}
.plate img{display:block;width:100%;height:320px;object-fit:cover;}
.plate figcaption{
  margin-top:10px;padding:12px 6px 4px;border-top:1px solid var(--rule);
  font-size:15px;color:#5A4C40;
}
.plate figcaption strong{display:block;color:var(--brown-dark);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:5px;}
@media (max-width:760px){.plates{grid-template-columns:1fr;}.plate img{height:250px;}}

.visitband{background:var(--brown-dark);color:#fff;padding:40px 0 34px;}
.visitband-inner{max-width:var(--wrap);margin:0 auto;padding:0 20px;}
.visitband h2{
  margin:0 0 26px;text-align:center;font-size:13px;letter-spacing:5px;
  text-transform:uppercase;color:var(--gold);font-weight:700;
}
.visit-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.visit-col h3{
  margin:0 0 12px;padding-bottom:10px;font-size:12px;letter-spacing:3px;text-transform:uppercase;
  color:var(--gold);border-bottom:1px solid rgba(201,169,97,.45);display:flex;align-items:center;gap:9px;
}
.visit-col svg{width:15px;height:15px;fill:currentColor;flex:0 0 auto;}
.visit-col p{margin:0 0 8px;font-size:17px;color:#F2EADB;line-height:1.55;}
.visit-col p:last-child{margin-bottom:0;}
.visit-col a{color:#F0DFB6;}
.visit-col a:hover,.visit-col a:focus{color:#fff;}
.visitband .cta-row{justify-content:center;margin-top:28px;}
@media (max-width:860px){.visit-cols{grid-template-columns:1fr;gap:24px;}}

.map-embed{position:relative;margin:22px 0 0;border:1px solid var(--rule);background:#EDE6D2;}
.map-embed iframe{display:block;width:100%;height:380px;border:0;}

.pullquote{
  margin:34px 0;padding:26px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  text-align:center;
}
.pullquote p{
  margin:0;font-family:var(--script);font-weight:700;
  font-size:clamp(30px,4vw,46px);line-height:1.15;color:#6B4A1E;
}
.pullquote cite{
  display:block;margin-top:12px;font-style:normal;font-size:12px;
  letter-spacing:3px;text-transform:uppercase;color:#5A4C40;
}
.dropcap::first-letter{
  float:left;font-size:58px;line-height:.86;padding:4px 10px 0 0;
  color:#6B4A1E;font-weight:700;
}
.stepinto{
  font-family:Georgia,'Times New Roman',serif;color:#3C4166;
  font-size:clamp(26px,3vw,34px);font-weight:700;margin:38px 0 26px;
}
.factcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px;margin:0;}
.factcard{background:none;border:0;padding:0;}
.factcard h3{
  display:table;margin:0 auto 16px;padding:3px 12px;
  font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;color:#3C4166;
  border-top:2px solid #3C4166;border-bottom:2px solid #3C4166;
}
.factcard ul{margin:0;padding-left:24px;}
.factcard li{margin-bottom:10px;font-size:17px;line-height:1.5;}
.factcard li:last-child{margin-bottom:0;}
.portraits{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px;margin:26px 0 0;}
.portrait{margin:0;text-align:center;}
.portrait-frame{
  background:#fff;border:1px solid var(--rule);padding:14px;
  box-shadow:0 10px 22px rgba(54,43,35,.10);
}
.portrait-frame img{display:block;width:100%;max-width:190px;height:auto;margin:0 auto;}
.portrait figcaption{padding-top:12px;}
.portrait .p-name{display:block;font-size:19px;font-weight:700;color:var(--brown-dark);}
.portrait .p-role{display:block;font-size:15px;color:#5A4C40;padding-top:3px;}
.lede{font-size:20px;line-height:1.55;color:#3B302A;}

.tl-intro{max-width:760px;}
.tl-toc-wrap{margin:26px 0 8px;padding:20px 22px;background:#fff;border:1px solid var(--rule);border-left:5px solid var(--gold);}
.tl-toc{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 26px;}
.tl-toc a{font-size:16.5px;font-weight:600;}
.tl-week{margin:38px 0 0;}
.page-body .tl-week-title,h2.tl-week-title,h3.tl-week-title{
  margin:0 0 14px;padding:0 0 10px;border-bottom:2px solid var(--gold);
  font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2.4vw,28px);
  font-weight:700;color:#3C4166;
}
.tl-list{list-style:none;margin:0;padding:0;}
.tl-list li{
  display:grid;grid-template-columns:170px 1fr;gap:20px;
  padding:14px 0;border-bottom:1px solid var(--rule);
}
.tl-list li:last-child{border-bottom:0;}
.tl-date{font-weight:700;color:#3C4166;font-size:16px;}
.tl-text{font-size:17px;line-height:1.6;}
@media (max-width:700px){
  .tl-list li{grid-template-columns:1fr;gap:4px;}
}

.to-top{
  position:fixed;right:20px;bottom:20px;z-index:7777;
  width:52px;height:52px;display:flex;align-items:center;justify-content:center;
  background:var(--brown-dark);color:#fff;border:1.5px solid var(--gold);
  cursor:pointer;opacity:0;visibility:hidden;transition:opacity .25s ease,background-color .2s ease;
}
.to-top.is-visible{opacity:1;visibility:visible;}
.to-top:hover,.to-top:focus{background:var(--gold);color:var(--stone);}
.to-top svg{width:22px;height:22px;fill:currentColor;}
@media print{.to-top{display:none;}}
@media (prefers-reduced-motion:reduce){.to-top{transition:none;}}

.tl-years{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;}
.tl-years a{
  display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;
  border:1.5px solid var(--brown-mid);color:var(--brown-dark);text-decoration:none;
  font-weight:700;letter-spacing:1px;
}
.tl-years a:hover,.tl-years a:focus{background:var(--brown-dark);color:#fff;border-color:var(--brown-dark);}

.page-body-inner [id],.tl-week,.page-head [id]{scroll-margin-top:120px;}

.tl-intro{max-width:760px;}
.tl-toc-wrap{margin:26px 0 8px;padding:20px 22px;background:#fff;border:1px solid var(--rule);border-left:5px solid var(--gold);}
.tl-toc{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 26px;}
.tl-toc a{font-size:16.5px;font-weight:600;}
.page-body .tl-toc-title,h2.tl-toc-title{margin:0 0 12px;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--brown-dark);}
.tl-years-grid{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.tl-year-card a{
  display:block;height:100%;background:#fff;border:1px solid var(--rule);border-top:3px solid var(--gold);
  padding:22px;text-decoration:none;color:var(--ink);
  box-shadow:0 8px 20px rgba(54,43,35,.07);transition:box-shadow .2s ease,transform .2s ease;
}
.tl-year-card a:hover,.tl-year-card a:focus{box-shadow:0 12px 26px rgba(54,43,35,.14);transform:translateY(-2px);}
.tl-year-num{display:block;font-family:Georgia,'Times New Roman',serif;font-size:40px;font-weight:700;color:#3C4166;line-height:1;}
.tl-year-meta{display:block;margin:8px 0 10px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#6B4A1E;}
.tl-year-note{display:block;font-size:16.5px;line-height:1.5;color:#3B302A;}
.tl-years a[aria-current="page"]{background:var(--brown-dark);color:#fff;border-color:var(--brown-dark);}
@media (prefers-reduced-motion:reduce){.tl-year-card a{transition:none;}.tl-year-card a:hover{transform:none;}}

.story-media--right{float:right;width:200px;max-width:200px;margin:4px 0 20px 30px;}
.story-media--right figure{margin:0;}
.story-media--right img{width:200px;max-width:200px;height:auto;}
.story-badge{
  display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;
  border-top:1px solid var(--rule);font-size:13.5px;color:#5A4C40;
}
.story-badge img{width:38px;height:38px;max-width:38px;border:0;flex:0 0 auto;}
@media (max-width:700px){
  .story-media--right{float:none;margin:0 auto 22px;}
  .story-media--right img{margin:0 auto;}
}
