:root {
  --forest: #18241e;
  --forest-soft: #26362e;
  --paper: #f1ecde;
  --paper-deep: #e4dcc8;
  --ink: #19211d;
  --gold: #f4b85f;
  --rust: #b94f35;
  --line: rgba(25, 33, 29, 0.22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 12% 28%, rgba(185, 79, 53, .035), transparent 24rem),
    radial-gradient(circle at 88% 72%, rgba(38, 54, 46, .045), transparent 28rem),
    var(--paper);
  color: var(--ink);
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
}
a { color: inherit; }
.skip-link {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: 20;
  padding: .75rem 1rem;
  background: var(--gold);
}
.skip-link:focus { top: 1rem; }
.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1200px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 1.5rem 0;
  color: var(--paper);
}
.nameplate {
  display: flex;
  gap: .75rem;
  align-items: center;
  text-decoration: none;
  font-weight: 600;
}
.monogram {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  color: var(--gold);
  font-family: "Newsreader", serif;
}
nav { display: flex; gap: 1.5rem; }
nav a { font-size: .9rem; text-decoration: none; }
nav a:hover, nav a:focus-visible { color: var(--gold); }

.intro {
  position: relative;
  min-height: min(840px, 100vh);
  padding: clamp(10rem, 22vh, 14rem) max(1.5rem, calc((100vw - 1200px) / 2)) 4rem;
  background:
    linear-gradient(110deg, transparent 0 62%, rgba(244,184,95,.08) 62% 63%, transparent 63%),
    repeating-linear-gradient(165deg, transparent 0 42px, rgba(255,255,255,.025) 43px 44px),
    var(--forest);
  color: var(--paper);
  border-radius: 0 0 5vw 1.5vw;
}
.eyebrow {
  margin: 0 0 1.25rem;
  color: var(--rust);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.intro .eyebrow { color: var(--gold); }
h1, h2, h3 {
  margin: 0;
  font-family: "Newsreader", serif;
  font-weight: 500;
  line-height: .98;
}
h1 { max-width: 980px; font-size: clamp(4rem, 10vw, 8.7rem); letter-spacing: -.05em; }
h1 em { display: block; color: var(--gold); font-weight: 500; }
.intro-grid {
  max-width: 700px;
  margin-top: 3.5rem;
  border-top: 1px solid rgba(255,255,255,.25);
  padding-top: 1.5rem;
}
.lede { margin: 0; font-size: clamp(1.25rem, 2.4vw, 1.8rem); line-height: 1.35; }
.aside { margin: 1.5rem 0 0; color: rgba(241,236,222,.7); }
.portrait {
  position: relative;
  margin: -8.5rem 0 0;
  transform: rotate(2deg);
  background: var(--gold);
  padding: .55rem;
  color: var(--ink);
}
.portrait img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.portrait figcaption {
  padding: .45rem .2rem .1rem;
  font-family: "Newsreader", serif;
  font-size: 1.05rem;
  font-style: italic;
}
.down-link { display: inline-flex; gap: .7rem; margin-top: 3rem; color: var(--gold); text-decoration: none; }
.down-link span { transition: transform .2s ease; }
.down-link:hover span { transform: translateY(.3rem); }

.work, .about, .contact, footer {
  width: min(1200px, calc(100% - 3rem));
  margin-inline: auto;
}
.work { padding: 7rem 0; }
.section-heading {
  display: grid;
  grid-template-columns: 1fr 2fr;
  align-items: end;
  margin-bottom: 3.5rem;
}
.section-heading h2, .about h2, .contact h2 { font-size: clamp(2.7rem, 5vw, 5rem); letter-spacing: -.035em; }
.section-heading h2 { transform: rotate(-.35deg); transform-origin: left bottom; }
.project {
  position: relative;
  display: grid;
  grid-template-columns: 3rem 1fr;
  min-height: 310px;
  padding: 1.5rem;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-radius: 4px 14px 5px 10px;
}
.project-featured {
  grid-template-columns: 4rem 1fr 1fr;
  min-height: 460px;
  padding: 2rem;
  background: var(--rust);
  color: white;
  border: 0;
  margin-bottom: .65rem;
  transform: rotate(-.18deg);
  box-shadow: 0 9px 24px rgba(24, 30, 25, .09);
}
.project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.project-grid .project:nth-child(1) { transform: rotate(.16deg); }
.project-grid .project:nth-child(2) { transform: rotate(-.2deg); }
.project-grid .project:nth-child(2) { background: var(--paper-deep); }
.project-grid .project:nth-child(3) { background: var(--forest-soft); color: var(--paper); transform: rotate(-.12deg); }
.project-number { font-size: .8rem; font-weight: 600; opacity: .55; }
.project-copy { display: flex; flex-direction: column; align-items: flex-start; }
.project-type { margin: 0 0 auto; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.project h3 { max-width: 580px; margin-top: 3rem; font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.04em; }
.project-grid h3 { font-size: clamp(2rem, 3.5vw, 3.6rem); }
.project-copy > p:not(.project-type) { max-width: 560px; margin: 1.2rem 0 0; font-size: 1.05rem; }
.project-copy .project-role {
  margin-top: .75rem;
  font-size: .92rem;
  line-height: 1.45;
  opacity: .76;
}
.project-role strong { font-weight: 600; }
.project-links {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1.1rem;
  margin-top: 1.5rem;
}
.project-links a { font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: .35rem; }
.project-mark {
  align-self: end;
  justify-self: end;
  color: rgba(255,255,255,.12);
  font-family: "Newsreader", serif;
  font-size: clamp(8rem, 18vw, 15rem);
  line-height: .65;
  letter-spacing: -.1em;
}
.project-note {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  padding: clamp(2.5rem, 6vw, 5rem);
  background: var(--gold);
  transform-origin: 46% 8%;
  transform: rotate(1.8deg) translate(-.25rem, .2rem);
  box-shadow: 0 12px 24px rgba(24, 30, 25, .12);
  animation: note-settle 1.1s cubic-bezier(.2, .8, .2, 1) both;
}
.project-note::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  width: 92px;
  height: 26px;
  background: rgba(241, 236, 222, .66);
  box-shadow: 0 1px 2px rgba(24, 30, 25, .12);
  transform: translateX(-50%) rotate(-3deg);
}
.project-note:hover {
  transform: rotate(.7deg) translate(-.1rem, 0);
}
.note-copy {
  display: flex;
  width: 100%;
  max-width: 390px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin: .75rem auto 0;
  transform: rotate(-1.4deg);
}
.note-copy h3 {
  margin-top: 2.2rem;
  font-size: clamp(2.8rem, 5vw, 4.6rem);
  font-style: italic;
}
.note-copy > p:not(.project-type) {
  margin: 1.2rem 0 2rem;
  font-size: 1.05rem;
  line-height: 1.5;
}
.note-copy a {
  color: var(--ink);
  font-weight: 600;
  text-underline-offset: .35rem;
}
@keyframes note-settle {
  0% { opacity: 0; transform: rotate(5deg) translate(.7rem, -1.2rem); }
  58% { opacity: 1; transform: rotate(1.1deg) translate(-.35rem, .3rem); }
  78% { transform: rotate(2.25deg) translate(-.2rem, .15rem); }
  100% { transform: rotate(1.8deg) translate(-.25rem, .2rem); }
}

.about {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  padding: 7rem 0;
  border-top: 0;
}
.about::before {
  content: "";
  position: absolute;
  top: 0;
  left: 2%;
  width: 96%;
  border-top: 1px solid var(--line);
  transform: rotate(-.25deg);
}
.about-copy { padding-top: 2.5rem; }
.about-copy p { margin: 0 0 1.4rem; font-size: clamp(1.1rem, 2vw, 1.4rem); }
.about-portrait {
  width: min(78%, 380px);
  margin: 3.5rem 0 0 auto;
  transform: rotate(-2deg);
}
.site-note {
  width: min(1200px, calc(100% - 3rem));
  margin: -1.5rem auto 4rem;
  text-align: right;
}
.site-note p {
  display: inline-block;
  max-width: 390px;
  margin: 0;
  padding-top: .75rem;
  border-top: 1px solid var(--line);
  font-family: "Newsreader", serif;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-style: italic;
  color: rgba(24, 30, 25, .68);
  transform: rotate(-1deg);
}
.contact {
  margin-bottom: 1.5rem;
  padding: clamp(3rem, 8vw, 7rem);
  background: var(--forest);
  color: var(--paper);
  border-radius: 8px 24px 10px 18px;
  box-shadow: 0 12px 28px rgba(24, 30, 25, .11);
  transform: rotate(.08deg);
}
.contact .eyebrow { color: var(--gold); }
.contact > p:not(.eyebrow) { max-width: 620px; margin: 2rem 0; font-size: 1.2rem; color: rgba(241,236,222,.75); }
.contact-button {
  display: inline-flex;
  gap: .65rem;
  padding: .9rem 1.2rem;
  background: var(--gold);
  color: var(--ink);
  text-decoration: none;
  font-weight: 600;
  border-radius: 999px;
  transform: rotate(-.5deg);
}
.contact-button:hover, .contact-button:focus-visible { background: white; }
footer {
  display: flex;
  justify-content: space-between;
  padding: 2rem 0 3rem;
  font-size: .85rem;
}

@media (max-width: 760px) {
  .site-header { width: min(100% - 2rem, 1200px); }
  .nameplate > span:last-child { display: none; }
  nav { gap: 1rem; }
  .intro { padding-inline: 1rem; }
  h1 { font-size: clamp(3.6rem, 18vw, 6rem); }
  .intro-grid, .section-heading, .about { grid-template-columns: 1fr; gap: 1.5rem; }
  .portrait { width: min(74vw, 340px); }
  .about-portrait { margin: 2.5rem 0 0 auto; }
  .work, .about, .contact, footer { width: min(100% - 2rem, 1200px); }
  .site-note { width: min(100% - 2rem, 1200px); margin-top: 0; }
  .work, .about { padding-block: 4.5rem; }
  .project-featured { grid-template-columns: 2.5rem 1fr; min-height: 430px; }
  .project-mark { position: absolute; right: -.25rem; bottom: 1rem; z-index: 0; }
  .project-copy { position: relative; z-index: 1; }
  .project-grid { grid-template-columns: 1fr; }
  .project { min-height: 340px; }
  .about-copy { padding-top: 0; }
  .contact { padding: 3.5rem 1.5rem; }
  footer { flex-wrap: wrap; gap: .5rem 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Music-led refinement of the existing Site. */
.intro{min-height:0;padding-top:10rem;padding-bottom:4rem;background:var(--forest)}
.intro h1{font-size:clamp(4rem,8vw,7rem);max-width:50%}.intro-grid{max-width:48%;margin-top:2rem}.lede{font-size:clamp(1.15rem,1.7vw,1.5rem)}
.hero-video{position:absolute;width:45%;max-width:570px;right:max(1.5rem,calc((100vw - 1200px)/2));top:14rem;margin:0}.hero-video iframe{width:100%;aspect-ratio:16/9;border:0;background:#111}.hero-video figcaption{font-size:.8rem;margin-top:.8rem;color:var(--paper)}
.hero-actions{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:2rem}.hero-actions a{text-underline-offset:.35rem}.quiet-booking{font-size:.85rem;color:var(--paper)}
@media(max-width:760px){.intro h1,.intro-grid{max-width:100%}.hero-video{position:static;width:100%;max-width:none;margin-top:2rem}.intro{padding-top:8rem}.hero-actions{gap:1rem}nav{gap:.9rem}.hero-video figcaption{font-size:.75rem}}

.site-header nav a{padding-block:.6rem}.site-header nav a[aria-current="page"]{border-bottom:1px solid var(--gold);color:var(--gold)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.intro a:focus-visible,.site-header a:focus-visible{outline-color:var(--gold)}
.page-intro{padding:10rem max(1.5rem,calc((100vw - 1200px)/2)) 4.5rem;background:var(--forest);color:var(--paper);border-radius:0 0 4vw 1vw}.page-intro .eyebrow{color:var(--gold)}.page-intro h1{font-size:clamp(3.6rem,7.5vw,7.3rem);max-width:1000px}.page-intro .lede{max-width:720px;margin-top:2rem}.page-intro em{color:var(--gold)}
.content-section,.home-projects,.project-list{width:min(1200px,calc(100% - 3rem));margin:0 auto;padding:5rem 0}h2{font-size:clamp(2.5rem,4vw,4.3rem);letter-spacing:-.035em}h3{line-height:1.1}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}.large-copy{font-family:Newsreader,serif;font-size:2rem;line-height:1.35;margin-top:0}.text-link{text-underline-offset:.35rem;font-weight:500}.home-projects{padding-top:0}.home-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem}.home-project-grid>a{background:var(--paper-deep);padding:2rem;text-decoration:none;border-top:2px solid var(--rust);border-radius:3px 15px 3px 8px}.home-project-grid>a:nth-child(2){background:var(--gold)}.home-project-grid>a:nth-child(3){background:var(--forest-soft);color:var(--paper)}.home-project-grid span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.home-project-grid h3{font-size:2.3rem;margin-top:2.5rem}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem 2rem}.video{display:block;width:100%;aspect-ratio:16/9;border:0;background:#101510}.video-card .eyebrow{margin:1.4rem 0 .8rem}.video-card h3{font-size:1.8rem;line-height:1.2}.video-card h3 a{text-decoration:none}.caption{font-size:.85rem;opacity:.8}.band-section{border-top:1px solid var(--line)}.secondary-link{padding-top:1.5rem}.project-row{display:grid;grid-template-columns:1fr 2fr;gap:3rem;border-top:1px solid var(--line);padding:3.5rem 0;scroll-margin-top:2rem}.project-row:first-child{border:0;padding-top:0}.project-index{font-family:Newsreader,serif;font-size:3rem;color:var(--rust)}.project-index span{display:block;font-family:'DM Sans',sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;margin-top:.8rem}.project-row h2{font-size:clamp(2.4rem,4vw,4rem);line-height:1.07}.project-overview{font-size:1.25rem}.source-note{font-size:.8rem;margin-top:1.5rem;max-width:650px}.source-note summary{cursor:pointer;text-decoration:underline;text-underline-offset:.25rem}.biography p{font-size:1.15rem;line-height:1.75;margin-top:0;margin-bottom:1.5rem}.prose{max-width:850px}.prose h2{margin-top:3rem}.prose h3{font-size:1.5rem;margin-top:2rem}.prose li{margin-bottom:.75rem}footer a{text-underline-offset:.3rem}#listen,#watch,#booking{scroll-margin-top:2rem}
@media(max-width:760px){.page-intro{padding:8rem 1rem 3rem}.content-section,.home-projects,.project-list{width:calc(100% - 2rem);padding-block:3.5rem}.two-column,.video-grid,.home-project-grid,.project-row{grid-template-columns:1fr;gap:2rem}.project-row{padding:2.5rem 0;gap:1rem}.project-index{font-size:2rem;display:flex;align-items:center;gap:1rem}.project-index span{margin:0}.home-project-grid h3{margin-top:1.5rem}.intro h1{font-size:clamp(4rem,15vw,6rem)}.site-header{gap:.7rem}nav a{font-size:.85rem}footer{gap:1rem}.home-projects{padding-top:0}.video-card h3{font-size:1.6rem}}
@media(min-width:761px) and (max-width:1050px){.hero-video{top:15rem;width:43%}.intro-grid{max-width:49%}.intro h1{font-size:6rem}.two-column{gap:2.5rem}.home-project-grid{gap:1rem}.home-project-grid>a{padding:1.5rem}.home-project-grid h3{font-size:2rem}}
@media(max-width:380px){.page-intro h1{font-size:3.1rem}.intro h1{font-size:3.7rem}nav{gap:.6rem}.hero-actions{gap:1rem;align-items:center}}

/* Podcast spotlight and marketing-led Springhouse summary. */
.podcast-spotlight{display:grid;grid-template-columns:1fr 1.25fr;gap:3rem;padding:clamp(1.5rem,4vw,3rem);margin-bottom:2rem;background:var(--gold);border-radius:4px 18px 5px 10px}.podcast-spotlight .eyebrow{color:var(--ink);font-size:.875rem}.podcast-spotlight h3{font-size:clamp(2.7rem,4.5vw,4.5rem);letter-spacing:-.035em}.podcast-spotlight p{font-size:1.1rem}.podcast-spotlight .spotlight-role{font-size:1rem;margin-bottom:0}.podcast-spotlight>div>p:first-child{margin-top:0}.home-project-grid{grid-template-columns:1fr 1fr}.home-project-grid>a:nth-child(2){background:var(--paper-deep)}.home-project-grid>a:first-child{background:var(--forest-soft);color:var(--paper)}
@media(max-width:760px){.podcast-spotlight,.home-project-grid{grid-template-columns:1fr}.podcast-spotlight{gap:1.5rem}.podcast-spotlight h3{font-size:2.8rem}}

/* Concise project navigation and flexible footer credits. */
.project-jumps{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;max-width:850px;margin-top:2rem;font-size:.9rem}.project-jumps a{color:var(--paper);text-underline-offset:.3rem}footer{flex-wrap:wrap;gap:1rem 1.5rem}

.board-service{border-top:1px solid var(--line);scroll-margin-top:2rem}.board-service h3{font-size:1.6rem;line-height:1.2}.board-service .two-column{margin-top:2rem;gap:2rem}

/* A shared closing invitation, with the original forest and gold palette. */
.site-footer{display:block;width:100%;margin:3rem 0 0;padding:clamp(2rem,5vw,5rem) max(1rem,calc((100% - 1200px)/2)) 1.75rem;background:var(--forest);color:var(--paper);border-top:5px solid var(--gold);border-radius:clamp(1.5rem,4vw,4rem) clamp(1.5rem,4vw,4rem) 0 0;position:relative;overflow:hidden;font-size:1rem}
.site-footer::before{content:"";position:absolute;width:28rem;height:28rem;right:-13rem;top:-17rem;border:1px solid rgba(244,184,95,.25);border-radius:50%;box-shadow:0 0 0 3rem rgba(244,184,95,.035),0 0 0 6rem rgba(244,184,95,.025);pointer-events:none}
.footer-main{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(2rem,7vw,7rem);position:relative}.site-footer .eyebrow{color:var(--gold);margin:0 0 1.5rem;font-size:.75rem}.footer-headline{display:block;position:relative;font-family:Newsreader,serif;font-size:clamp(2.5rem,4.8vw,4.5rem);line-height:1.05;letter-spacing:-.035em;text-decoration:none;max-width:700px;padding-right:2rem}.footer-headline em{color:var(--gold);font-weight:500}.footer-headline>span{display:inline-block;font-size:.7em;margin-left:.3em;transition:transform .25s ease}.footer-headline:hover>span{transform:translate(4px,-4px)}.footer-invitation>p:not(.eyebrow){color:var(--paper-deep);margin:1.5rem 0 .5rem}.footer-email{display:inline-block;overflow-wrap:anywhere;text-underline-offset:.35em;font-size:.95rem}.footer-signature{display:block;text-decoration:none;font-family:Newsreader,serif;font-size:1.8rem;line-height:1.2}.footer-signature span{display:block;font-family:'DM Sans',sans-serif;font-size:.8rem;color:var(--paper-deep);margin-top:.6rem}.footer-directory nav{display:grid;grid-template-columns:1fr 1fr;gap:0 1.75rem;margin-top:2rem}.footer-directory nav a{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(241,236,222,.2);text-decoration:none;font-size:.95rem}.footer-directory nav a span{color:var(--gold);transition:transform .2s}.footer-directory nav a:hover span{transform:translate(3px,-3px)}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid rgba(241,236,222,.2);font-size:.8rem;color:var(--paper-deep)}.footer-bottom .back-top{margin-left:auto}.site-footer a:focus-visible{outline-color:var(--gold)}.site-footer a:hover{color:var(--gold)}
/* Small, tactile interactions; content stays readable without JavaScript. */
.home-project-grid>a,.contact-button,.video-card,.project-jumps a{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}.text-link{position:relative;text-decoration-thickness:1px;transition:text-decoration-color .2s,color .2s}.text-link:hover{text-decoration-color:var(--rust);color:var(--rust)}.project-jumps a{padding:.45rem .8rem;border:1px solid rgba(241,236,222,.3);border-radius:999px;text-decoration:none}.project-jumps a:hover{background:var(--paper);color:var(--forest)}.source-note summary::marker{color:var(--rust)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.home-project-grid>a:hover{transform:translateY(-5px) rotate(-.3deg);box-shadow:0 12px 24px rgba(24,36,30,.1)}.contact-button:hover{transform:translateY(-3px) rotate(0)}.video-card:hover{transform:translateY(-3px)}}
@media(max-width:760px){.footer-main{grid-template-columns:1fr;gap:2.5rem}.site-footer{margin-top:1.5rem;padding-top:2.5rem}.footer-bottom{margin-top:2.5rem;gap:1rem}.footer-bottom>span{flex-basis:100%}.footer-headline{font-size:clamp(2.5rem,9vw,3.8rem)}.footer-directory nav{margin-top:1rem}.footer-directory nav a{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep the broader introduction and its four paths comfortable at each width. */
.intro .hero-actions{gap:.8rem 1.2rem;max-width:49%}.intro .hero-actions a{font-size:.95rem}.project-links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem}.project-links a{text-underline-offset:.3rem}.project-row>div{min-width:0}
@media(max-width:760px){.intro .hero-actions{max-width:100%}.intro{padding-top:7rem}.intro-grid{margin-top:1.25rem}}
/* Appalachian landing atmosphere: image movement stays subtle and content remains readable. */
.intro{isolation:isolate;overflow:hidden;position:relative;min-height:680px;display:flex;align-items:flex-start}.intro-landscape{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,36,30,.92) 0%,rgba(24,36,30,.7) 42%,rgba(24,36,30,.18) 100%),linear-gradient(0deg,rgba(24,36,30,.82) 0%,transparent 48%),url('/appalachian-dusk.png') center/cover no-repeat;z-index:-2;transform:scale(1.04);animation:mountain-drift 22s ease-in-out infinite alternate}.intro::after{content:"";position:absolute;inset:auto 0 0;height:10rem;background:linear-gradient(0deg,var(--paper),transparent);opacity:.13;pointer-events:none;z-index:-1}.intro-content{position:relative;z-index:1;max-width:55%}.intro .lede{max-width:620px}.hero-video{z-index:2}.hero-video iframe{box-shadow:0 1rem 3rem rgba(0,0,0,.24)}
@keyframes mountain-drift{from{transform:scale(1.04) translate3d(-.5%,0,0)}to{transform:scale(1.09) translate3d(.6%,-.5%,0)}}
@media(max-width:760px){.intro{min-height:0;display:block}.intro-landscape{background:linear-gradient(180deg,rgba(24,36,30,.84) 0%,rgba(24,36,30,.65) 45%,rgba(24,36,30,.9) 100%),url('/appalachian-dusk.png') center/cover no-repeat}.intro-content{max-width:100%}.intro::after{height:5rem}}
@media(prefers-reduced-motion:reduce){.intro-landscape{animation:none;transform:none}}

/* One balanced hero grid, with room for the landscape and readable copy. */
.intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;min-height:760px;padding-top:10rem;padding-bottom:6rem}
.intro-content{max-width:none;min-width:0}.intro h1,.intro-grid,.intro .hero-actions{max-width:100%}.intro h1{font-size:clamp(3.6rem,7vw,6.5rem);line-height:1.02}.intro-grid{display:block}.intro .lede{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.65}.intro .aside{margin-top:1rem}.hero-video{position:relative;inset:auto;width:100%;max-width:none;margin:0}.hero-video iframe{border-radius:12px}.hero-video figcaption{font-size:.875rem;line-height:1.6}
.intro-landscape{inset:-4%;background-image:linear-gradient(90deg,rgba(14,28,23,.84),rgba(14,28,23,.38)),linear-gradient(0deg,rgba(14,28,23,.6),transparent 65%),url('/appalachian-dusk.png');animation:landscape-pan 16s ease-in-out infinite alternate;will-change:transform}
@keyframes landscape-pan{from{transform:scale(1.02) translate3d(-1.5%,.6%,0)}to{transform:scale(1.14) translate3d(1.5%,-1.2%,0)}}
.intro.motion-paused .intro-landscape{animation-play-state:paused}.motion-toggle{position:absolute;bottom:1.25rem;right:max(1rem,calc((100vw - 1200px)/2));z-index:3;border:1px solid #ffffff60;background:#18241ed9;color:var(--paper);font:inherit;font-size:.875rem;padding:.65rem 1rem;border-radius:30px;cursor:pointer;min-height:44px}.motion-toggle:hover{background:var(--forest)}button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.site-header{position:fixed;width:100%;padding:1rem max(1rem,calc((100% - 1200px)/2));background:rgba(24,36,30,.94);backdrop-filter:blur(16px);border-bottom:1px solid #ffffff1c;box-shadow:0 4px 22px #00000012}.site-header nav{gap:clamp(.65rem,2vw,1.5rem)}.site-header nav a{min-height:44px;display:inline-flex;align-items:center;font-size:.95rem}.site-header nav a:last-child{padding-inline:1rem;border:1px solid #f4b85f80;border-radius:30px}.project-row,#listen,#watch,#booking,.board-service{scroll-margin-top:7rem}html{scroll-padding-top:6rem}
.two-column{gap:clamp(2rem,5vw,5rem)}.project-overview{max-width:65ch;line-height:1.7}.project-row p{max-width:70ch}.project-links a,.text-link{display:inline-block;padding-block:.4rem}.home-project-grid>a{display:flex;flex-direction:column}.home-project-grid>a p{margin-top:auto}.project-jumps a{min-height:44px;display:inline-flex;align-items:center}.footer-directory nav a{min-height:48px}
@media(max-width:900px){.intro{grid-template-columns:1fr;min-height:0;padding-top:8rem;gap:2.5rem}.hero-video{max-width:640px}.intro-content{max-width:720px}.intro h1{font-size:clamp(3.5rem,10vw,6rem)}}
@media(max-width:480px){.site-header{padding:.65rem 1rem}.site-header nav{gap:.65rem}.site-header nav a{font-size:.875rem}.site-header nav a:last-child{padding-inline:.65rem}.intro{padding-bottom:5.5rem}.intro .hero-actions{align-items:flex-start;gap:.8rem 1.2rem}.intro h1{font-size:clamp(3.2rem,12.5vw,4.6rem)}.intro .lede{font-size:1.1rem}.section-heading{margin-bottom:2rem}.large-copy{font-size:1.65rem}.home-project-grid>a{padding:1.5rem}}
@media(prefers-reduced-motion:reduce){.intro-landscape{animation:none;transform:none;will-change:auto}.motion-toggle{display:none}}
.intro-landscape{inset:0;animation:none;transform:none;will-change:auto;background-image:url('/appalachian-dusk.png')}
.intro-landscape canvas{position:absolute;width:100%;height:100%;inset:0;display:block}
.intro-landscape canvas[hidden]{display:none}
.intro-landscape::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,28,23,.84),rgba(14,28,23,.38)),linear-gradient(0deg,rgba(14,28,23,.6),transparent 65%);pointer-events:none}

.intro:not(.motion-ready) .motion-toggle{display:none}
.intro-landscape::after{background:linear-gradient(90deg,rgba(14,28,23,.78),rgba(14,28,23,.18)),linear-gradient(0deg,rgba(14,28,23,.3),transparent 65%)}

@media(prefers-reduced-motion:reduce){.intro-landscape canvas{display:none!important}}
