:root{--bg:#111315;--panel:#181b1e;--soft:#202428;--text:#f3f0e9;--muted:#b8b2a8;--accent:#d6a84c;--line:rgba(255,255,255,.12);--max:1080px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit}.shell{width:min(calc(100% - 40px),var(--max));margin:0 auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(17,19,21,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav-wrap{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}.brand-name{font-size:1.08rem;font-weight:800}.brand-sub{color:var(--muted);font-size:.68rem;margin-top:5px;text-transform:uppercase;letter-spacing:.16em}.main-nav{display:flex;flex-wrap:wrap;gap:18px}.main-nav a{color:var(--muted);text-decoration:none;font-size:.9rem}.main-nav a:hover,.main-nav a.active{color:var(--text)}
.hero,.archive-hero{background:radial-gradient(circle at 82% 25%,rgba(214,168,76,.13),transparent 28%),linear-gradient(180deg,#131619 0%,#111315 100%);border-bottom:1px solid var(--line)}.hero-inner{padding:64px 0 58px;max-width:960px}.archive-hero .shell{padding:48px 0 42px;max-width:960px}.eyebrow,.section-label{margin:0 0 9px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.35rem,5vw,4.35rem);line-height:1.02;letter-spacing:-.04em;margin-bottom:18px}h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.08;letter-spacing:-.025em}.hero-lead{color:var(--muted);font-size:1.02rem;max-width:760px;margin-bottom:0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:6px;text-decoration:none;font-size:.92rem;font-weight:800;border:1px solid transparent}.button.primary{background:var(--accent);color:#171717}.button.secondary{border-color:var(--line);background:rgba(255,255,255,.03)}.quick-intro{padding:38px 0;background:#15181b;border-bottom:1px solid var(--line)}.intro-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}.intro-row h2,.intro-row p{margin-bottom:0}.intro-row p{color:var(--muted)}
.daily-section{padding:48px 0}.daily-card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:26px 28px 22px}.daily-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.daily-heading h2{margin-bottom:5px}.meta{color:var(--muted);font-size:.92rem;margin-bottom:0}.text-link{color:var(--accent);text-decoration:none;font-weight:800;white-space:nowrap;font-size:.9rem}.song-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px;row-gap:5px;margin:22px 0 18px;padding-left:24px}.song-preview li{padding-left:4px}.song-preview li::marker{color:var(--accent);font-weight:800}.daily-footer{border-top:1px solid var(--line);padding-top:13px;color:var(--muted);font-size:.8rem;display:flex;justify-content:space-between;gap:18px}.mobile-link{display:none}.recent-section{padding:40px 0;background:#15181b;border-top:1px solid var(--line)}.recent-row{display:flex;justify-content:space-between;align-items:center;gap:40px}.recent-copy h2{margin-bottom:8px}.recent-copy p:last-child{color:var(--muted);margin-bottom:0;max-width:720px}.booking-cta{padding:38px 0;background:#0d0f10;border-top:1px solid var(--line)}.booking-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.booking-inner h2{margin-bottom:0}
.archive-list{padding:34px 0 56px}.archive-show{border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-bottom:12px;overflow:hidden}.archive-show summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 20px}.archive-show summary::-webkit-details-marker{display:none}.archive-show summary strong{display:block;font-size:1rem}.archive-show summary small{display:block;color:var(--muted);margin-top:3px}.summary-link{color:var(--accent);font-size:.82rem;font-weight:800}.archive-show[open] .summary-link{font-size:0}.archive-show[open] .summary-link:after{content:"Hide setlist";font-size:.82rem}.show-body{border-top:1px solid var(--line);padding:20px}.story{color:var(--muted);max-width:820px}.set-block h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:4px 0 10px}.set-block ol{margin:0;padding-left:23px;columns:2;column-gap:44px}.set-block li{break-inside:avoid;margin:0 0 5px;padding-left:3px}.set-block li::marker{color:#777}.set-block li.segue{font-weight:700}.set-block li.segue span{color:var(--accent);font-weight:900}.set-block a{text-decoration-color:var(--accent);text-underline-offset:3px}.two-sets{display:grid;grid-template-columns:1fr 1fr;gap:34px}.two-sets ol{columns:1}.show-note{margin:18px 0 0;padding-top:13px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.site-footer{border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:.82rem}.footer-inner{display:flex;justify-content:space-between;gap:20px}.footer-inner p{margin:0}.footer-inner a{color:var(--muted)}
@media(max-width:760px){.nav-wrap{min-height:auto;align-items:flex-start;flex-direction:column;padding:13px 0 11px;gap:10px}.main-nav{width:100%;gap:8px 16px}.main-nav a{font-size:.82rem}.hero-inner{padding:42px 0 38px}.archive-hero .shell{padding:34px 0 30px}.intro-row{grid-template-columns:1fr;gap:10px}.quick-intro{padding:28px 0}.daily-section{padding:32px 0}.recent-section{padding:30px 0}.recent-row{align-items:flex-start}.two-sets{grid-template-columns:1fr}.set-block ol{columns:1}.archive-show summary{padding:16px}.show-body{padding:16px}}
@media(max-width:560px){.shell{width:min(calc(100% - 28px),var(--max))}h1{font-size:2.18rem}h2{font-size:1.5rem}.hero-inner{padding:34px 0 32px}.hero-lead{font-size:.95rem}.hero-actions{margin-top:19px}.button{min-height:40px}.daily-card{padding:20px 18px 16px}.daily-heading{display:block}.desktop-link{display:none}.mobile-link{display:inline}.song-preview{grid-template-columns:1fr;row-gap:3px;margin:17px 0 14px}.song-preview li:nth-child(n+5){display:none}.daily-footer{align-items:center}.recent-row,.booking-inner{flex-direction:column;align-items:flex-start;gap:18px}.booking-cta{padding:30px 0}.footer-inner{flex-direction:column;gap:4px}.archive-show summary{align-items:flex-start}.summary-link{white-space:nowrap}}


/* v4 archive preservation model */
.show-highlight {
  margin: 0 0 18px;
  padding: 12px 14px;
  border-left: 3px solid var(--accent);
  background: rgba(214,168,76,.05);
}
.highlight-label {
  display: block;
  margin-bottom: 4px;
  color: var(--accent);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.show-highlight p {
  margin: 0;
  color: var(--text);
  font-size: .94rem;
}
.full-notes {
  margin-top: 18px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
.full-notes > summary {
  cursor: pointer;
  color: var(--accent);
  font-size: .8rem;
  font-weight: 800;
  list-style-position: outside;
}
.full-notes-copy {
  margin-top: 12px;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.55;
  max-width: 880px;
}
.full-notes-copy p {
  margin-bottom: 10px;
}
.full-notes-copy a {
  color: var(--text);
  text-underline-offset: 3px;
}

@media(max-width:560px) {
  .show-highlight { padding: 10px 12px; }
  .full-notes-copy { font-size: .8rem; }
}

/* RC1: Setlist highlight reads vertically: 1/2/3 left, 4/5/6 right */
.song-preview {
  display: block;
  columns: 2;
  column-gap: 42px;
}
.song-preview li {
  break-inside: avoid;
}
@media(max-width:560px) {
  .song-preview { columns: 1; }
}

/* Interior pages */
.page-hero { padding: 46px 0 36px; border-bottom:1px solid var(--line); background:#131619; }
.page-hero h1 { margin-bottom:10px; }
.page-hero p { color:var(--muted); max-width:760px; margin-bottom:0; }
.content-section { padding:42px 0; }
.content-section.alt { background:#15181b; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.info-card { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:20px; }
.info-card h2,.info-card h3 { margin-bottom:8px; }
.info-card p { color:var(--muted); margin-bottom:0; }
.simple-list { margin:0; padding-left:20px; }
.simple-list li { margin:7px 0; }
.callout { border-left:3px solid var(--accent); padding:12px 16px; background:rgba(214,168,76,.05); }
.show-list { display:grid; gap:12px; }
.show-row { display:grid; grid-template-columns:150px 1fr auto; gap:20px; align-items:center; padding:18px 20px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.show-row .date { color:var(--accent); font-weight:800; }
.show-row h3 { margin:0 0 3px; font-size:1.05rem; }
.show-row p { margin:0; color:var(--muted); font-size:.9rem; }
.contact-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.contact-card { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:24px; }
.contact-card p:last-child { margin-bottom:0; }
.big-link { font-size:1.15rem; font-weight:800; color:var(--accent); }
.archive-note { margin:0 0 20px; color:var(--muted); font-size:.88rem; }
@media(max-width:760px) {
  .card-grid { grid-template-columns:1fr; }
  .show-row { grid-template-columns:1fr; gap:6px; }
  .contact-grid { grid-template-columns:1fr; }
  .page-hero { padding:32px 0 28px; }
  .content-section { padding:30px 0; }
}

.archive-show { scroll-margin-top: 86px; }
.archive-list .archive-show:nth-of-type(n+2) { content-visibility:auto; contain-intrinsic-size:300px; }
@media(max-width:560px){
  .archive-list { padding-top:24px; }
  .archive-show summary strong { font-size:.95rem; }
  .archive-show summary small { font-size:.78rem; }
}

.archive-count{
  display:flex;justify-content:space-between;gap:24px;align-items:flex-start;
  padding:14px 16px;margin:0 0 18px;border:1px solid var(--line);
  border-radius:12px;background:rgba(255,255,255,.025);font-size:.88rem;
}
.archive-count strong{white-space:nowrap}
.archive-count span{color:var(--muted);max-width:700px}
.migration-note{
  margin:14px 0;padding:12px 14px;border-left:3px solid var(--accent);
  background:rgba(255,255,255,.025);color:var(--muted);font-size:.9rem;
}
@media(max-width:700px){
  .archive-count{display:block;padding:12px 13px;font-size:.82rem}
  .archive-count strong{display:block;margin-bottom:6px;white-space:normal}
  .migration-note{font-size:.84rem}
}

.archive-tools {
  display:flex;
  align-items:center;
  gap:8px;
  margin:-6px 0 14px;
  font-size:.84rem;
}
.archive-tools button {
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.archive-tools button:hover,
.archive-tools button:focus-visible {
  color:var(--accent);
}
.archive-tools span { color:var(--muted); }


/* ================================================================
   SHOW MAINTENANCE / ARCHIVE REFINEMENTS
   ================================================================ */

.archive-show summary small {
  display:block;
  margin-top:5px;
}

.archive-venue {
  display:block;
  font-size:1rem;
  line-height:1.25;
  font-weight:700;
  color:var(--text);
}

.archive-location {
  display:block;
  margin-top:2px;
  font-size:.82rem;
  line-height:1.3;
  color:var(--muted);
  font-weight:400;
}

.full-notes > summary {
  font-weight:700;
}

.journal {
  display:grid;
  gap:12px;
  margin-top:12px;
}

.journal-entry {
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(255,255,255,.025);
}

.journal-entry p {
  margin:0 0 9px;
}

.journal-entry p:last-child {
  margin-bottom:0;
}

.journal-date,
.journal-type {
  display:inline-block;
  margin-bottom:8px;
  font-size:.74rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--accent);
}

.show-update {
  padding:0 0 26px;
}

.show-update-card {
  padding:22px 24px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--panel);
}

.show-update-card h2 {
  margin:.15rem 0 .35rem;
}

.show-update-card p:last-child {
  margin-bottom:0;
}

.show-update-meta {
  color:var(--muted);
}

.show-update-note {
  padding-left:12px;
  border-left:2px solid var(--accent);
}

.show-blurb {
  margin-top:5px;
  color:var(--muted);
}

@media (max-width: 640px) {
  .archive-venue {
    font-size:.96rem;
  }

  .show-update-card {
    padding:18px;
  }

  .journal-entry {
    padding:12px 13px;
  }
}

.no-shows{margin:0;color:var(--muted);} #archive{scroll-margin-top:24px;}


/* Compact transition from upcoming shows into the archive */
.archive-intro {
  padding:34px 0 14px;
}

.archive-intro h2 {
  margin:.15rem 0 .35rem;
  font-size:clamp(1.7rem, 3vw, 2.35rem);
}

.archive-intro-copy {
  max-width:760px;
  margin:0;
  color:var(--muted);
}

.archive-section {
  padding-top:10px;
}

@media (max-width:640px) {
  .archive-intro {
    padding:26px 0 10px;
  }

  .archive-intro h2 {
    font-size:1.65rem;
  }
}


.archive-venue a,
.venue-link {
  color:inherit;
  text-decoration-color:rgba(255,255,255,.32);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.archive-venue a:hover,
.archive-venue a:focus-visible,
.venue-link:hover,
.venue-link:focus-visible {
  color:var(--accent);
  text-decoration-color:var(--accent);
}


/* Homepage Taylor T5z koa image */
.hero {
  position: relative;
  overflow: hidden;
}

.hero > .shell,
.hero .hero-inner,
.hero .hero-copy {
  position: relative;
  z-index: 2;
}

.hero-guitar {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 45%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

.hero-guitar::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(
    90deg,
    #101314 0%,
    rgba(16,19,20,.90) 12%,
    rgba(16,19,20,.48) 38%,
    rgba(16,19,20,.12) 68%,
    rgba(16,19,20,.20) 100%
  );
}

.hero-guitar::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(16,19,20,.45) 0%,
    transparent 28%,
    transparent 72%,
    rgba(16,19,20,.22) 100%
  );
}

.hero-guitar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 47%;
  filter: saturate(.92) brightness(.80);
}

@media (min-width: 801px) {
  .hero .hero-copy {
    max-width: 58%;
  }
}

@media (max-width: 800px) {
  .hero-guitar {
    position: relative;
    width: 100%;
    height: 190px;
    margin-top: 22px;
  }

  .hero-guitar::before {
    background: linear-gradient(
      180deg,
      #101314 0%,
      rgba(16,19,20,.58) 20%,
      rgba(16,19,20,.08) 58%,
      rgba(16,19,20,.34) 100%
    );
  }

  .hero-guitar::after {
    display: none;
  }
}

@media (max-width: 480px) {
  .hero-guitar {
    height: 155px;
  }
}


/* Future-show flyer support */
.home-show-flyer,
.show-flyer,
.archive-flyer {
  margin-top:16px;
}

.home-show-flyer img,
.show-flyer img,
.archive-flyer img {
  display:block;
  width:auto;
  max-width:100%;
  max-height:420px;
  border-radius:10px;
  border:1px solid var(--border);
}

.home-show-flyer img {
  max-height:320px;
}

.show-flyer img {
  max-height:360px;
}

.archive-flyer img {
  max-height:420px;
}

@media (max-width:640px) {
  .home-show-flyer img,
  .show-flyer img,
  .archive-flyer img {
    max-height:none;
    width:100%;
  }
}


/* Media links */
.media-link,
.media-badge {
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:.76rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
  text-decoration:none;
  white-space:nowrap;
}

.media-link {
  margin:3px 5px 3px 0;
  color:var(--text);
  background:rgba(255,255,255,.035);
}

.media-link:hover,
.media-link:focus-visible {
  color:var(--accent);
  border-color:var(--accent);
}

.media-badge {
  vertical-align:middle;
  color:var(--text);
  background:rgba(255,255,255,.035);
}

/* Subtle Taylor T5z koa texture on inner pages */
.guitar-page-hero {
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.guitar-page-hero::before {
  content:"";
  position:absolute;
  z-index:-2;
  top:0;
  right:0;
  width:42%;
  height:100%;
  background:
    linear-gradient(90deg, rgba(16,19,20,1) 0%, rgba(16,19,20,.60) 34%, rgba(16,19,20,.10) 100%),
    url("images/t5z-koa.jpg") center 47% / cover no-repeat;
  opacity:.56;
}

.guitar-page-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg, rgba(16,19,20,1) 0%, rgba(16,19,20,.90) 45%, rgba(16,19,20,.15) 100%);
}

.guitar-page-strip {
  height:88px;
  background:
    linear-gradient(90deg, rgba(16,19,20,.96), rgba(16,19,20,.20), rgba(16,19,20,.82)),
    url("images/t5z-koa.jpg") center 48% / cover no-repeat;
  border-bottom:1px solid var(--border);
}

@media (max-width:700px) {
  .guitar-page-hero::before {
    width:58%;
    opacity:.45;
  }

  .guitar-page-strip {
    height:66px;
  }
}


/* Archive flyer links */
.archive-flyer-link {
  margin:10px 0 16px;
}

.archive-flyer-link a {
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.02em;
  text-decoration:none;
  color:var(--text);
  background:rgba(255,255,255,.035);
}

.archive-flyer-link a:hover,
.archive-flyer-link a:focus-visible {
  color:var(--accent);
  border-color:var(--accent);
}


/* Archive flyer thumbnails */
.archive-flyer-thumb {
  margin:12px 0 18px;
}

.archive-flyer-thumb a {
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--text);
}

.archive-flyer-thumb img {
  display:block;
  width:78px;
  height:104px;
  object-fit:cover;
  object-position:center;
  border-radius:8px;
  border:1px solid var(--border);
  box-shadow:0 6px 18px rgba(0,0,0,.20);
  transition:transform .15s ease, border-color .15s ease;
}

.archive-flyer-thumb span {
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.02em;
}

.archive-flyer-thumb a:hover img,
.archive-flyer-thumb a:focus-visible img {
  transform:translateY(-2px);
  border-color:var(--accent);
}

.archive-flyer-thumb a:hover span,
.archive-flyer-thumb a:focus-visible span {
  color:var(--accent);
}

@media (max-width:640px) {
  .archive-flyer-thumb img {
    width:68px;
    height:92px;
  }
}


/* Media title + badge fix */
.media-link {
  display:inline;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:normal;
  color:var(--text);
  text-decoration:none;
  white-space:normal;
}

.media-link:hover,
.media-link:focus-visible {
  color:var(--text);
  border-color:transparent;
}

.media-song-title {
  color:var(--text);
}

.media-pill {
  display:inline-flex;
  align-items:center;
  margin-left:5px;
  padding:3px 7px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  font-size:.72rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
}

.media-link:hover .media-pill,
.media-link:focus-visible .media-pill {
  color:var(--accent);
  border-color:var(--accent);
}


/* Final segue treatment: titles stay white; arrows carry the accent */
.set-block li.segue,
.set-block li.segue a,
.set-block li.segue .media-song-title {
  color:var(--text) !important;
}

.set-block li.segue > span,
.set-block li.segue .segue-arrow {
  color:var(--accent) !important;
  font-weight:700;
}

.set-block li.segue .media-pill {
  color:var(--text) !important;
}

.set-block li.segue .media-link:hover .media-pill,
.set-block li.segue .media-link:focus-visible .media-pill {
  color:var(--accent) !important;
}


/* One numbered line per song in segue sequences */
.media-link .segue-arrow,
.set-block .segue-arrow {
  color:var(--accent) !important;
  font-weight:700;
}


/* Final segue typography: no bold song titles */
.set-block li.segue,
.set-block li.segue a,
.set-block li.segue .media-song-title {
  font-weight:400 !important;
}

.set-block li.segue > span:not(.media-pill),
.set-block .segue-arrow {
  font-weight:700 !important;
}

.set-block li.segue .media-pill {
  font-weight:700 !important;
}


/* ================================================================
   CONSISTENT SETLIST LAYOUT
   Each set gets its own full-width row. On desktop, songs within
   that set flow into two columns. On mobile, each set is one column.
   ================================================================ */
.set-block {
  display:block !important;
}

.set-block > div {
  width:100% !important;
  margin:0 0 28px !important;
}

.set-block > div:last-child {
  margin-bottom:0 !important;
}

.set-block > div > h3 {
  margin-bottom:12px;
}

.set-block > div > ol {
  column-count:2;
  column-gap:44px;
  column-fill:balance;
  width:100%;
}

.set-block > div > ol > li {
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
}

@media (max-width:760px) {
  .set-block > div > ol {
    column-count:1;
  }
}
