:root{
  --bg:#050505;
  --panel:#0d0d0d;
  --text:#d4b15a;
  --muted:#b8974e;
  --line:#2a220f;
  --accent:#e0be69;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin:0 auto}
header{position:sticky;top:0;background:rgba(5,5,5,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:20}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0;min-height:40px}
.brand{display:flex;align-items:center;gap:.75rem}

.brand-text{font-weight:700;letter-spacing:.06em}
nav ul{display:flex;gap:1rem;list-style:none;padding:0;margin:0}
nav a{padding:.5rem .65rem;border-radius:8px}
nav a.active, nav a:hover{background:#151515}
.hero{padding:4.5rem 0 3rem}
.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.82rem}
h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.15;margin:.5rem 0 1rem}
h2{font-size:clamp(1.45rem,3.2vw,2rem);line-height:1.2;margin:.4rem 0 1rem}
.lead{font-size:1.1rem;max-width:72ch;color:#d8c38c}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.btn{display:inline-block;padding:.9rem 1.2rem;border:1px solid var(--accent);border-radius:12px;font-weight:700;letter-spacing:.01em;min-height:44px;line-height:1.2;box-shadow:0 0 0 rgba(0,0,0,0);transition:transform .15s ease, box-shadow .2s ease, filter .2s ease}
.btn.primary{background:var(--accent);color:#111;border-color:var(--accent);box-shadow:0 6px 22px rgba(212,177,90,.28)}
.btn.secondary{background:transparent;color:var(--accent)}
.section{padding:2.2rem 0}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.card{grid-column:span 4;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem}
.card h3{margin-top:0}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.2rem}
.small{font-size:.95rem;color:#c7a75f}
footer{border-top:1px solid var(--line);padding:2rem 0;margin-top:2rem;color:#ba9b54}
.map-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden}
iframe{display:block;width:100%;min-height:320px;border:0}
ul.clean{padding-left:1.15rem}
  .card{grid-column:span 12}
  
}

.btn:hover{transform:translateY(-1px);filter:brightness(1.02);text-decoration:none}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.btn.ticket{position:relative}
.btn.ticket::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:14px;
  border:1px solid rgba(224,190,105,.45);
  pointer-events:none;
}


@media (max-width:860px){
  header{position:sticky}
  .nav-wrap{flex-direction:column;align-items:flex-start;padding:.65rem 0}
  .brand{width:100%}
  nav{width:100%}
  nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%;margin-top:.25rem}
  nav a{display:block;text-align:center;padding:.6rem .5rem}
  .hero{padding:3rem 0 2rem}
  h1{font-size:clamp(1.7rem,8vw,2.35rem)}
  .lead{font-size:1rem}
  .cta-row{display:grid;grid-template-columns:1fr;gap:.65rem;width:100%}
  .cta-row .btn{width:100%;text-align:center}
  .panel{padding:1rem}
}
@media (max-width:480px){
  .container{width:min(95%,1100px)}
  
  .kicker{font-size:.74rem}
  .small{font-size:.9rem}
  iframe{min-height:250px}
}


.founder-grid{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:1.15rem;
  align-items:start;
}
.founder-photo-wrap{
  width:100%;
  height:100%;
  max-height:360px;
  overflow:hidden;
  border-right:1px solid var(--line);
  border-radius:12px 0 0 12px;
  background:#0a0a0a;
}
.founder-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
@media (max-width:860px){
  .founder-grid{grid-template-columns:1fr}
  .founder-photo-wrap{
    max-height:260px;
    border-right:0;
    border-bottom:1px solid var(--line);
    border-radius:12px 12px 0 0;
  }
}

  .about-photo-outside{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:cover;
  object-position:center top;
  display:block;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
}

  .about-photo-outside{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:cover;
  object-position:center top;
  display:block;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
  
  .nav-wrap{min-height:195px;align-items:flex-start}
}
@media (max-width:860px){
  
  .nav-wrap{min-height:0;padding:.5rem 0}
}
@media (max-width:480px){
  
}


/* Logo sizing: enforce larger display */
.logo{height:24px !important;width:auto;display:block;max-width:none}
.brand{align-items:flex-start}
.nav-wrap{align-items:flex-start}
@media (max-width:860px){
  .logo{height:170px !important}
}
@media (max-width:480px){
  .logo{height:140px !important}
}



/* About page split: crop photo so bottom aligns intentionally with panel */
.about-split{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:1.25rem;
  align-items:end;
}
.about-photo-outer{
  background:transparent;
  display:flex;
  align-items:flex-end;
}
.about-photo-outside{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:cover;
  object-position:center top;
  display:block;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
/* Panel stays same height as photo column because the grid stretches */
.about-story-panel{
  border-radius:14px;
}

/* Mobile: stack, keep crop intentional */
@media (max-width:980px){
  .about-split{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:1.25rem;
  align-items:end;
}
  .about-photo-outer{
  background:transparent;
  display:flex;
  align-items:flex-end;
}
  .about-photo-outside{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:cover;
  object-position:center top;
  display:block;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
}


img{max-width:100%;height:auto}

@media (max-width:860px){
  .container{overflow-x:clip}
  .btn{font-size:1rem}
  .panel, .card{word-wrap:break-word}
}




/* v14 balanced logo sizing */
.logo{
  height:120px !important;
  width:auto !important;
  max-width:none !important;
}
.nav-wrap{
  min-height:132px !important;
}
@media (max-width:1200px){
  .logo{height:106px !important}
  .nav-wrap{min-height:120px !important}
}
@media (max-width:980px){
  .logo{height:94px !important}
  .nav-wrap{min-height:106px !important}
}
@media (max-width:860px){
  .logo{height:80px !important}
}
@media (max-width:480px){
  .logo{height:68px !important}
}



.about-split{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:1.25rem;
  align-items:end;
}
.about-photo-outer{
  background:transparent;
  display:flex;
  align-items:flex-end;
}
.about-photo-outside{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-story-panel{
  border-radius:14px;
}

/* Clean mobile stacking for About page */
@media (max-width:980px){
  .about-split{
    grid-template-columns:1fr;
    gap:.85rem;
    align-items:stretch;
  }
  .about-photo-outer{
    align-items:stretch;
  }
  .about-photo-outside{
    width:100%;
    height:260px;
    border-right:0;
    border-bottom:0;
    border:1px solid var(--line);
    border-radius:14px;
    object-position:center 18%;
  }
  .about-story-panel{
    margin-top:0;
  }
}
@media (max-width:560px){
  .about-photo-outside{
    height:220px;
  }
}


/* v16 logo size tweak */
.logo{height:120px !important;width:auto !important;max-width:none !important}
.nav-wrap{min-height:132px !important}
@media (max-width:1200px){
  .logo{height:106px !important}
  .nav-wrap{min-height:120px !important}
}
@media (max-width:980px){
  .logo{height:94px !important}
  .nav-wrap{min-height:106px !important}
}
@media (max-width:860px){
  .logo{height:80px !important}
}
@media (max-width:480px){
  .logo{height:68px !important}
}

/* v17 logo slight increase */
.logo{height:132px !important;width:auto !important;max-width:none !important}
.nav-wrap{min-height:144px !important}
@media (max-width:1200px){
  .logo{height:116px !important}
  .nav-wrap{min-height:130px !important}
}
@media (max-width:980px){
  .logo{height:102px !important}
  .nav-wrap{min-height:114px !important}
}
@media (max-width:860px){
  .logo{height:88px !important}
}
@media (max-width:480px){
  .logo{height:74px !important}
}
