*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --font-main: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-display: Impact, "Arial Narrow", "Helvetica Neue Condensed", "Roboto Condensed", sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --bg:#f5f2ee;
  --dark:#0f0e0c;
  --orange:#e8500a;
  --orange-dim:#7a2a04;
  --cream:#faf8f4;
  --muted:#9a9590;
  --border:#e0dbd3;
  --surface:#edeae4;
}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--dark);font-family:var(--font-main);overflow-x:hidden;}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  padding:1.1rem 4rem;
  display:flex;justify-content:space-between;align-items:center;
  background:rgba(245,242,238,0.9);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.logo{
  font-family:var(--font-display);
  font-size:1.5rem;letter-spacing:0.12em;color:var(--dark);
}
.logo span{color:var(--orange);}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{
  font-family:var(--font-mono);
  font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;transition:color 0.2s;
}
.nav-links a:hover{color:var(--dark);}
.nav-cta{
  font-family:var(--font-mono);
  font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;
  padding:0.55rem 1.4rem;
  background:var(--dark);color:var(--cream);
  border:none;cursor:pointer;transition:background 0.2s;
}
.nav-cta:hover{background:var(--orange);}

/* COUNTDOWN BAR */
.countdown-bar{
  position:fixed;top:0;left:0;right:0;z-index:600;
  background:var(--dark);
  padding:0.45rem 4rem;
  display:flex;align-items:center;justify-content:center;gap:2rem;
  border-bottom:1px solid rgba(232,80,10,0.3);
}
.cd-label{
  font-family:var(--font-mono);
  font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;
  color:rgba(245,242,238,0.35);flex-shrink:0;
}
.cd-units{display:flex;align-items:center;gap:0.5rem;}
.cd-unit{text-align:center;}
.cd-num{
  font-family:var(--font-display);
  font-size:1.3rem;letter-spacing:0.08em;
  color:#f5f2ee;line-height:1;
  min-width:38px;display:inline-block;
}
.cd-unit-label{
  font-family:var(--font-mono);
  font-size:0.5rem;letter-spacing:0.18em;text-transform:uppercase;
  color:rgba(245,242,238,0.3);display:block;margin-top:1px;
}
.cd-sep{
  font-family:var(--font-display);
  font-size:1.1rem;color:var(--orange);
  margin-bottom:4px;opacity:0.6;
}
.cd-dot{
  width:5px;height:5px;border-radius:50%;
  background:var(--orange);flex-shrink:0;
  animation:blink 1s ease-in-out infinite alternate;
}
@keyframes blink{from{opacity:1;}to{opacity:0.2;}}

/* HERO */
.hero{
  min-height:100vh;
  display:grid;grid-template-columns:1fr 1fr;
  padding-top:106px;
  overflow:hidden;
}
.hero-left{
  padding:5rem 3rem 4rem 3.5rem;
  display:flex;flex-direction:column;justify-content:center;
  background:var(--cream);
  border-right:1px solid var(--border);
}
.hero-tag{
  font-family:var(--font-mono);
  font-size:0.68rem;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--orange);margin-bottom:2rem;
  animation:fadeUp 0.5s ease both;
}
.hero-title{
  font-family:var(--font-display);
  font-size:clamp(3.9rem,7.15vw,6.35rem);
  line-height:0.92;letter-spacing:0.005em;
  color:var(--dark);
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  max-width:100%;
  animation:fadeUp 0.5s 0.1s ease both;
}
.hero-title .slash{color:var(--orange);}
.hero-subtitle{
  font-size:1.1rem;font-weight:500;
  color:var(--muted);margin-top:1.5rem;
  animation:fadeUp 0.5s 0.2s ease both;
}
.hero-subtitle strong{color:var(--dark);}
.hero-ctas{
  display:flex;gap:1rem;margin-top:3rem;
  animation:fadeUp 0.5s 0.35s ease both;
}
.btn-dark{
  font-family:var(--font-display);
  font-size:1rem;letter-spacing:0.08em;
  padding:0.85rem 2.2rem;
  background:var(--dark);color:var(--cream);
  border:none;cursor:pointer;transition:background 0.2s;
}
.btn-dark:hover{background:var(--orange);}
.btn-border{
  font-family:var(--font-mono);
  font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;
  padding:0.85rem 1.65rem;
  background:transparent;color:var(--dark);
  border:1px solid var(--dark);cursor:pointer;transition:all 0.2s;
}
.btn-border:hover{background:var(--dark);color:var(--cream);}

.hero-right{
  background:var(--dark);
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  padding:4rem 3rem;
  position:relative;overflow:hidden;
}
.hero-right-grid{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background-image:
    linear-gradient(rgba(232,80,10,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,80,10,0.06) 1px, transparent 1px);
  background-size:40px 40px;
}
.date-card{
  position:relative;z-index:2;
  border:1px solid rgba(232,80,10,0.3);
  padding:3rem;
  width:100%;max-width:320px;
  text-align:center;
}
.date-card-label{
  font-family:var(--font-mono);
  font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--orange);margin-bottom:1.5rem;
}
.date-big{
  font-family:var(--font-display);
  font-size:2.8rem;line-height:1;
  color:#f5f2ee;letter-spacing:0.035em;
}
.date-time{
  font-family:var(--font-mono);
  font-size:0.8rem;color:rgba(245,242,238,0.45);
  margin-top:0.4rem;letter-spacing:0.1em;
}
.date-divider{
  display:flex;align-items:center;gap:1rem;margin:1.5rem 0;
}
.date-divider-line{flex:1;height:1px;background:rgba(232,80,10,0.2);}
.date-divider-text{
  font-family:var(--font-mono);
  font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--orange);
}
.hero-stats{
  position:relative;z-index:2;
  display:flex;gap:0;margin-top:2rem;width:100%;max-width:320px;
  border:1px solid rgba(245,242,238,0.08);
}
.hero-stat{
  flex:1;padding:1rem;text-align:center;
  border-right:1px solid rgba(245,242,238,0.08);
}
.hero-stat:last-child{border-right:none;}
.hs-num{
  font-family:var(--font-display);
  font-size:1.75rem;color:#f5f2ee;
}
.hs-label{
  font-family:var(--font-mono);
  font-size:0.58rem;letter-spacing:0.15em;text-transform:uppercase;
  color:rgba(245,242,238,0.35);margin-top:2px;
}

/* MARQUEE */
.marquee-wrap{
  overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:0.9rem 0;background:var(--dark);
}
.marquee-track{
  display:flex;white-space:nowrap;
  animation:marquee 22s linear infinite;
}
.marquee-item{
  font-family:var(--font-display);
  font-size:1rem;letter-spacing:0.15em;
  color:rgba(245,242,238,0.25);padding:0 2rem;flex-shrink:0;
}
.marquee-item.accent{color:var(--orange);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%)}}

/* ABOUT */
.about{
  display:grid;grid-template-columns:1fr 2fr;
  border-bottom:1px solid var(--border);
}
.about-num{
  padding:4rem;
  border-right:1px solid var(--border);
  display:flex;align-items:flex-start;
}
.about-num-inner{
  font-family:var(--font-display);
  font-size:6rem;color:var(--border);line-height:1;
}
.about-content{padding:4rem;}
.about-label{
  font-family:var(--font-mono);
  font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--orange);margin-bottom:1.5rem;
}
.about-text{
  font-size:1.5rem;font-weight:500;line-height:1.5;
  color:var(--dark);max-width:560px;
}
.about-text em{font-style:normal;color:var(--orange);}

/* HIGHLIGHT BLOCKS */
.highlights{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--border);
  background:var(--cream);
}
.hl-block{
  padding:3rem 2.5rem;
  border-right:1px solid var(--border);
  transition:background 0.25s;
}
.hl-block:last-child{border-right:none;}
.hl-block:hover{background:var(--surface);}
.hl-num{
  font-family:var(--font-display);
  font-size:3.5rem;line-height:1;color:var(--dark);
}
.hl-num sup{font-size:1.5rem;vertical-align:super;}
.hl-label{
  font-family:var(--font-mono);
  font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--muted);margin-top:0.5rem;
}
.hl-desc{
  font-size:0.82rem;color:var(--muted);margin-top:0.75rem;line-height:1.6;
}

/* GENRES */
.genres-section{
  padding:5rem 4rem;
  border-bottom:1px solid var(--border);
  display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:start;
}
.genres-intro .section-label{
  font-family:var(--font-mono);
  font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--orange);margin-bottom:1rem;
}
.genres-intro h2{
  font-family:var(--font-display);
  font-size:2.5rem;letter-spacing:0.05em;color:var(--dark);line-height:1;
}
.genres-grid{
  display:flex;flex-wrap:wrap;gap:0.75rem;align-items:flex-start;
  padding-top:1.5rem;
}
.genre-pill{
  font-family:var(--font-display);
  font-size:1.2rem;letter-spacing:0.08em;
  padding:0.5rem 1.4rem;
  border:1px solid var(--border);
  color:var(--dark);background:var(--cream);
  cursor:default;transition:all 0.2s;
}
.genre-pill:hover,.genre-pill.main{
  background:var(--dark);color:var(--cream);border-color:var(--dark);
}
.genre-pill.main{background:var(--orange);border-color:var(--orange);color:#fff;}

/* SPECIALS */
.specials{
  display:grid;grid-template-columns:repeat(2,1fr);
  border-bottom:1px solid var(--border);
  background:var(--dark);
}
.special-block{
  padding:4rem;
  border-right:1px solid rgba(245,242,238,0.06);
  border-bottom:1px solid rgba(245,242,238,0.06);
}
.special-icon-wrap{
  width:48px;height:48px;
  border:1px solid rgba(232,80,10,0.4);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;margin-bottom:1.5rem;
}
.special-name{
  font-family:var(--font-display);
  font-size:1.6rem;letter-spacing:0.05em;color:#f5f2ee;margin-bottom:0.5rem;
}
.special-desc{font-size:0.85rem;color:rgba(245,242,238,0.4);line-height:1.7;}

/* LOCATION */
.location{
  display:grid;grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--border);
}
.location-content{
  padding:5rem 4rem;
  border-right:1px solid var(--border);
}
.location-label{
  font-family:var(--font-mono);
  font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--orange);margin-bottom:1.5rem;
}
.location-name{
  font-family:var(--font-display);
  font-size:2.8rem;letter-spacing:0.03em;line-height:1;color:var(--dark);
  margin-bottom:1rem;
}
.location-address{
  font-family:var(--font-mono);
  font-size:0.78rem;color:var(--muted);line-height:2;letter-spacing:0.05em;
}
.location-map{
  background:var(--surface);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:0.75rem;min-height:320px;
}
.map-pin{font-size:2.5rem;}
.map-hint{
  font-family:var(--font-mono);
  font-size:0.65rem;letter-spacing:0.15em;color:var(--muted);text-align:center;
}

/* CTA */
.cta-section{
  padding:8rem 4rem;
  background:var(--dark);
  text-align:center;
  position:relative;overflow:hidden;
}
.cta-grid-bg{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background-image:
    linear-gradient(rgba(232,80,10,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,80,10,0.04) 1px, transparent 1px);
  background-size:50px 50px;
}
.cta-label{
  position:relative;z-index:2;
  font-family:var(--font-mono);
  font-size:0.68rem;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--orange);margin-bottom:1.5rem;
}
.cta-title{
  position:relative;z-index:2;
  font-family:var(--font-display);
  font-size:5rem;letter-spacing:0.05em;
  color:#f5f2ee;line-height:1;margin-bottom:1rem;
}
.cta-sub{
  position:relative;z-index:2;
  font-size:0.9rem;color:rgba(245,242,238,0.4);
  margin-bottom:3rem;
}
.btn-orange{
  position:relative;z-index:2;
  font-family:var(--font-display);
  font-size:1.1rem;letter-spacing:0.12em;
  padding:1rem 3.5rem;
  background:var(--orange);color:#fff;
  border:none;cursor:pointer;transition:opacity 0.2s;
}
.btn-orange:hover{opacity:0.85;}


.ticket-box{
  position:relative;z-index:2;
  max-width:760px;
  margin:3rem auto 0;
  padding:2rem;
  border:1px solid rgba(245,242,238,0.12);
  background:rgba(245,242,238,0.045);
  backdrop-filter:blur(10px);
  text-align:left;
}
.ticket-box-label{
  font-family:var(--font-mono);
  font-size:0.68rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:1.2rem;
  text-align:center;
}
.ticket-prices{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
.ticket-card{
  padding:1.6rem 1.2rem;
  border:1px solid rgba(245,242,238,0.14);
  background:rgba(15,14,12,0.45);
  text-align:center;
}
.ticket-card-alt{border-color:rgba(232,80,10,0.35);}
.ticket-type{
  font-family:var(--font-mono);
  font-size:0.7rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:rgba(245,242,238,0.55);
  margin-bottom:0.7rem;
}
.ticket-price{
  font-family:var(--font-display);
  font-size:3rem;
  letter-spacing:0.04em;
  line-height:1;
  color:#f5f2ee;
}
.ticket-info{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0.7rem 1.2rem;
  margin:1.4rem 0 0;
  font-family:var(--font-mono);
  font-size:0.68rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(245,242,238,0.42);
  text-align:center;
}
.youth-note{
  margin-top:1.4rem;
  padding:1rem 1.1rem;
  border-left:3px solid var(--orange);
  background:rgba(232,80,10,0.1);
  color:rgba(245,242,238,0.72);
  font-size:0.86rem;
  line-height:1.65;
}
.youth-note strong{color:#f5f2ee;}

/* FOOTER */
footer{
  padding:2.5rem 4rem;
  display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid var(--border);
  background:var(--cream);
}
.footer-logo{
  font-family:var(--font-display);
  font-size:1.2rem;letter-spacing:0.12em;
}
.footer-logo span{color:var(--orange);}
.footer-links{display:flex;gap:2rem;}
.footer-links a{
  font-family:var(--font-mono);
  font-size:0.63rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;transition:color 0.2s;
}
.footer-links a:hover{color:var(--dark);}
.footer-copy{
  font-family:var(--font-mono);
  font-size:0.62rem;color:var(--muted);
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(18px);}
  to{opacity:1;transform:translateY(0);}
}



/* DESKTOP-FEINSCHLIFF OHNE EXTERNE FONTS
   System-Schriften fallen je nach Gerät größer/breiter aus als Google Fonts.
   Diese Werte halten Hero und Datum auf Desktop sauber im Raster. */
@media (min-width: 981px){
  .hero-left{padding-left:3.5rem;}
  .hero-title{font-size:clamp(4rem,6.85vw,6.25rem);line-height:0.94;}
  .hero-subtitle{font-size:1rem;}
  .date-card{max-width:320px;padding:2.75rem 2.5rem;}
  .date-big{font-size:2.75rem;}
  .date-time{font-size:0.72rem;}
  .hs-num{font-size:1.75rem;}
}

/* MOBILE OPTIMIERUNG */
@media (max-width: 980px){
  .countdown-bar{
    padding:0.45rem 1rem;
    gap:0.75rem;
    flex-wrap:wrap;
  }
  .cd-label{font-size:0.52rem;letter-spacing:0.14em;}
  .cd-num{font-size:1.05rem;min-width:30px;}
  .cd-unit-label{font-size:0.45rem;}
  nav{
    top:58px !important;
    padding:0.9rem 1.25rem;
  }
  .nav-links{display:none;}
  .nav-cta{padding:0.5rem 1rem;}
  .hero{
    grid-template-columns:1fr;
    padding-top:120px;
    min-height:auto;
  }
  .hero-left{
    padding:4rem 1.5rem 3rem;
    border-right:none;
    border-bottom:1px solid var(--border);
  }
  .hero-title{font-size:clamp(2.6rem,13vw,5.4rem);}
  .hero-subtitle{font-size:1rem;}
  .hero-ctas{flex-direction:column;align-items:stretch;}
  .btn-dark,.btn-border,.btn-orange{width:100%;}
  .hero-right{padding:3rem 1.5rem;}
  .date-card{padding:2rem 1.5rem;max-width:100%;}
  .hero-stats{max-width:100%;}
  .about,.genres-section,.location{
    grid-template-columns:1fr;
  }
  .about-num{
    padding:2rem 1.5rem 0;
    border-right:none;
  }
  .about-num-inner{font-size:4rem;}
  .about-content,.genres-section,.location-content{
    padding:2rem 1.5rem 3rem;
  }
  .about-text{font-size:1.15rem;}
  .highlights{
    grid-template-columns:repeat(2,1fr);
  }
  .hl-block{padding:2rem 1.5rem;}
  .specials{grid-template-columns:1fr;}
  .special-block{padding:2.5rem 1.5rem;border-right:none;}
  .location-content{border-right:none;border-bottom:1px solid var(--border);}
  .location-map{min-height:240px;padding:2rem 1.5rem;}
  .cta-section{padding:5rem 1.5rem;}
  .cta-title{font-size:3.6rem;}
  .ticket-box{padding:1.5rem;}
  footer{
    padding:2rem 1.5rem;
    flex-direction:column;
    gap:1.25rem;
    text-align:center;
  }
  .footer-links{
    flex-wrap:wrap;
    justify-content:center;
    gap:1rem 1.5rem;
  }
}

@media (max-width: 560px){
  .countdown-bar{
    justify-content:center;
    gap:0.45rem;
  }
  .countdown-bar .cd-label:last-of-type{display:none;}
  .cd-dot:last-child{display:none;}
  nav{top:54px !important;}
  .logo{font-size:1.25rem;}
  .nav-cta{font-size:0.58rem;letter-spacing:0.08em;}
  .hero{padding-top:112px;}
  .hero-left{padding-top:3rem;}
  .hero-tag{font-size:0.58rem;letter-spacing:0.16em;margin-bottom:1.4rem;}
  .hero-title{font-size:clamp(2.3rem,12.5vw,4.1rem);line-height:0.92;}
  .date-big{font-size:2.7rem;}
  .hero-stats{flex-direction:column;}
  .hero-stat{
    border-right:none;
    border-bottom:1px solid rgba(245,242,238,0.08);
  }
  .hero-stat:last-child{border-bottom:none;}
  .marquee-item{font-size:0.85rem;padding:0 1.2rem;}
  .highlights{grid-template-columns:1fr;}
  .hl-block{border-right:none;border-bottom:1px solid var(--border);}
  .genres-section{gap:1rem;}
  .genres-intro h2{font-size:2.2rem;}
  .genre-pill{font-size:1rem;padding:0.45rem 1rem;}
  .location-name{font-size:2.3rem;}
  .cta-title{font-size:3rem;}
  .ticket-prices{grid-template-columns:1fr;}
  .ticket-price{font-size:2.7rem;}
  .ticket-info{flex-direction:column;gap:0.5rem;}
}

/* LINKS ALS BUTTONS */
a.nav-cta,
a.btn-dark,
a.btn-border,
a.btn-orange{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

/* COOKIE CONSENT */
.cookie-consent[hidden]{display:none;}
.cookie-consent{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  background:rgba(15,14,12,0.78);
  backdrop-filter:blur(8px);
}
.cookie-box{
  width:min(680px,100%);
  background:var(--cream);
  color:var(--dark);
  border:1px solid var(--border);
  box-shadow:0 24px 80px rgba(0,0,0,0.35);
  padding:2rem;
}
.cookie-kicker{
  font-family:var(--font-mono);
  font-size:0.65rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:0.75rem;
}
.cookie-box h2{
  font-family:var(--font-display);
  font-size:2.4rem;
  letter-spacing:0.04em;
  line-height:1;
  margin-bottom:0.75rem;
}
.cookie-box p{
  color:var(--muted);
  line-height:1.6;
  font-size:0.95rem;
}
.cookie-options{
  display:grid;
  gap:0.75rem;
  margin:1.5rem 0;
}
.cookie-option{
  display:flex;
  gap:0.85rem;
  align-items:flex-start;
  padding:1rem;
  border:1px solid var(--border);
  background:var(--bg);
  cursor:pointer;
}
.cookie-option input{margin-top:0.2rem;accent-color:var(--orange);}
.cookie-option strong{display:block;font-size:0.92rem;margin-bottom:0.2rem;}
.cookie-option small{display:block;color:var(--muted);line-height:1.45;}
.cookie-option.is-disabled{cursor:not-allowed;opacity:0.8;}
.cookie-actions{display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:1rem;}
.cookie-btn{
  font-family:var(--font-mono);
  font-size:0.68rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding:0.85rem 1rem;
  border:1px solid var(--dark);
  cursor:pointer;
}
.cookie-btn-light{background:transparent;color:var(--dark);}
.cookie-btn-dark{background:var(--dark);color:var(--cream);}
.cookie-btn-orange{background:var(--orange);border-color:var(--orange);color:#fff;}
.cookie-links{margin-top:1rem;font-size:0.78rem;}
.cookie-links a{color:var(--dark);}

@media (max-width:560px){
  .cookie-box{padding:1.25rem;}
  .cookie-actions{display:grid;}
  .cookie-btn{width:100%;}
}


/* LEGAL PAGES */
.legal-page{
  max-width:900px;
  margin:0 auto;
  padding:4.5rem 1.5rem;
  font-family:var(--font-main);
}
.legal-page h1,
.legal-page h2{
  font-family:"Segoe UI", Arial, sans-serif;
  color:var(--dark);
  letter-spacing:-0.03em;
}
.legal-page h1{
  font-size:clamp(2.25rem,4.2vw,3.4rem);
  font-weight:800;
  line-height:1.1;
  margin:0 0 1.4rem;
  padding-bottom:1.25rem;
  border-bottom:1px solid var(--border);
}
.legal-page h2{
  font-size:clamp(1.35rem,2vw,1.8rem);
  font-weight:750;
  line-height:1.25;
  margin:0 0 1rem;
}
.legal-page p{
  max-width:76ch;
  font-size:1rem;
  line-height:1.85;
  color:#706b66;
  margin-bottom:1.05rem;
}
.legal-page a{color:var(--orange);text-underline-offset:3px;}
.legal-back{
  display:inline-block;
  margin-bottom:2.25rem;
  text-decoration:none;
  font-family:var(--font-mono);
  font-size:0.75rem;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--orange);
}
.legal-back:hover{color:var(--dark);}

/* LEGAL PAGE REFINEMENTS */
.legal-section{
  padding:2rem 0;
  border-bottom:1px solid var(--border);
}
.legal-section:first-of-type{border-top:0;}
.legal-page strong{color:var(--dark);font-weight:700;}
.legal-page ul{
  max-width:76ch;
  margin:0 0 1.25rem 1.25rem;
  color:#706b66;
  line-height:1.8;
}
.legal-page li{margin:0.35rem 0;}
@media (max-width:640px){
  .legal-page{padding:3rem 1rem;}
  .legal-page h1{font-size:2.15rem;}
  .legal-page h2{font-size:1.35rem;line-height:1.25;}
  .legal-section{padding:1.6rem 0;}
}

/* Location status note */
.hero-location-note{
  margin-top:.75rem;
  display:inline-block;
  max-width:max-content;
  padding:.45rem .7rem;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--orange);
  font-family:Arial,Helvetica,sans-serif;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
@media (max-width:700px){
  .hero-location-note{
    max-width:100%;
    font-size:.72rem;
    line-height:1.4;
  }
}
