@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f7f7f5;--ink:#20211f;--muted:#70756e;--bronze:#b8a07e;--sage:#7eb8a0;--gutter:clamp(22px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}.wrap{width:min(calc(100% - 2*var(--gutter)),1440px);margin:auto}.section{padding:clamp(85px,10vw,150px) 0}

.kicker{font-size:10px;font-weight:700;letter-spacing:.16em;margin:0 0 30px}.kicker:before{content:'';display:inline-block;width:22px;height:1px;background:var(--bronze);vertical-align:middle;margin-right:12px}h1,h2,h3,.logo{font-family:Manrope,sans-serif}h1,h2{font-weight:500;letter-spacing:-.077em;line-height:1.08;margin:0}h1{font-size:clamp(70px,10vw,150px)}h2{font-size:clamp(45px,6vw,86px)}p{line-height:1.75}.site-header{position:sticky;top:0;z-index:20;background:#fffffff0;backdrop-filter:blur(16px);border-bottom:1px solid #ddd}.site-header nav{min-height:83px;display:flex;justify-content:space-between;align-items:center;gap:20px}.logo{font-size:17px;font-weight:700;letter-spacing:-.055em}.logo small{display:block;margin-top:5px;font:700 9px 'DM Sans',sans-serif;letter-spacing:.15em;color:var(--muted)}.links{display:flex;align-items:center;gap:clamp(18px,2.5vw,42px);font-size:12px;font-weight:600}.links a:hover,.links .current{color:#8d7151}.links .current{border-bottom:2px solid var(--bronze);padding-bottom:5px}.menu{display:none;border:0;background:transparent;font-size:24px}

.hero{position:relative;min-height:clamp(650px,85vh,900px);display:flex;align-items:center;color:#fff;background:#35443c url('assets/SeanMacErlaineD1_credit_Caoimhin_O_Raghallaigh_lores.jpg') center 35%/cover no-repeat;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,24,20,.9),rgba(17,24,20,.62) 58%,rgba(17,24,20,.18));z-index:-1}.hero-inner{padding:100px 0}.hero h1 em{font-style:normal;color:#d6b993}.hero-inner>p:not(.kicker){font-size:clamp(18px,2vw,24px);max-width:550px;margin:32px 0}.text-link{display:inline-block;border-bottom:1px solid var(--bronze);padding-bottom:9px;font-size:12px;font-weight:700}.photo-credit{position:absolute;bottom:20px;right:var(--gutter);font-size:10px;color:#e2e2db}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}.section-heading>p{font-size:13px;color:var(--muted);max-width:330px}.releases{background:#fff}.release-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.release-grid article img{width:100%;aspect-ratio:1;object-fit:cover;background:#e6e6e2}.release-grid .artist{font-size:12px;color:var(--muted);margin:16px 0 3px}.release-grid h3{font-size:15px;letter-spacing:-.025em;margin:0}.editor-note{font-size:11px;color:#666;margin-top:28px}.intro{background:var(--sage)}.intro-grid,.press-grid,.composition-grid,.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,9vw,140px)}.intro-copy{padding-top:45px}.intro-copy p{font-size:clamp(18px,1.6vw,22px);line-height:1.85;margin:0 0 22px}

.projects{background:#FFFFFF}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:52px}.project-card{background:#fff;padding:clamp(24px,3vw,46px);min-height:320px;display:flex;flex-direction:column;align-items:start}.project-card span{font-size:10px;letter-spacing:.13em;font-weight:700;color:#897357}.project-card h3{font-size:clamp(26px,2.6vw,38px);font-weight:500;letter-spacing:-.055em;margin:65px 0 10px}.project-card p{font-size:14px;color:var(--muted);margin:0}

.press{background:#e4e8e1}.quote-area{min-width:0}.quote-stage{min-height:265px}.quote-slide{display:none;margin:0}.quote-slide.active{display:block;animation:fade .4s ease}.quote-slide blockquote{font:500 clamp(23px,2.7vw,37px)/1.42 Manrope,sans-serif;letter-spacing:-.05em;margin:0}.quote-slide figcaption{font-size:14px;color:#100C08;margin-top:28px}.quote-controls{border-top:1px solid #b5c2b4;padding-top:18px;display:flex;justify-content:space-between;align-items:center}.quote-controls span{font-size:11px;letter-spacing:.1em}.quote-controls button{border:1px solid var(--bronze);background:transparent;width:43px;height:42px;font-size:19px}.quote-controls button:hover{background:var(--bronze)}@keyframes fade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.composition{background:#fff}.composition-grid>div:last-child{padding-top:35px}.composition-grid>div:last-child p,.performance p,.contact p{font-size:18px;color:#5b6059;max-width:580px}.composition .text-link{margin-top:22px}.performance{background:#eeeae3}.performance-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(50px,9vw,130px);align-items:center}.performance img{width:100%;max-height:540px;object-fit:cover}.contact{background:#fff}.contact-grid>div:last-child{padding-top:42px}.button{display:inline-block;background:var(--bronze);padding:18px 25px;font-size:12px;font-weight:700;margin-top:20px}.button:hover{background:#9f8663;color:#fff}.secondary-contact{font-size:12px!important;margin-top:28px}.secondary-contact a{border-bottom:1px solid var(--bronze)}footer{min-height:230px;display:flex;align-items:center;background:var(--bronze);color:#211e18;padding:65px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-inner strong{font:700 18px Manrope,sans-serif}.footer-inner p,.footer-inner a{font-size:12px}.footer-inner>div:last-child{display:flex;gap:35px}@media(max-width:850px){.menu{display:block}.site-header nav{min-height:72px}.links{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px var(--gutter);flex-direction:column;align-items:stretch;border-bottom:1px solid #ddd}.links.open{display:flex}.links a{padding:10px 0}.intro-grid,.press-grid,.composition-grid,.contact-grid,.performance-grid{grid-template-columns:1fr}.intro-copy,.composition-grid>div:last-child,.contact-grid>div:last-child{padding-top:0}.release-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{grid-template-columns:1fr}.project-card{min-height:230px}.project-card h3{margin-top:35px}.quote-stage{min-height:240px}}@media(max-width:550px){.hero{min-height:650px;background-position:57% center}.hero h1{font-size:clamp(62px,15vw,100px)}.section-heading{display:block}.release-grid{gap:15px}.release-grid h3{font-size:13px}.release-grid .artist{font-size:11px}.quote-stage{min-height:330px}.footer-inner{align-items:start;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* Press & Reviews — match mastering testimonials */

.press-grid {
  display: grid;
  grid-template-columns: .4fr 1fr;
  gap: 60px;
  align-items: start;
}

/* Restore the kicker on the left */
.press-grid > .kicker {
  display: block;
  margin: 0;
}

/* Quotation column */
.press .quote-area {
  width: 100%;
  max-width: none;
  min-width: 0;
  padding: 0;
  margin: 0;
}

.press .quote-slide blockquote {
  max-width: none;
  font: 500 clamp(23px, 2.7vw, 37px)/1.42 Manrope, sans-serif;
  letter-spacing: -.05em;
}

/* Stack neatly on smaller screens */
@media (max-width: 850px) {
  .press-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
}


/* SELECTED PROJECTS — PHOTOGRAPHIC GRID */

.projects {
  background: #f7f7f5;
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 38px 22px;
  margin-top: 52px;
}

.project-card {
  display: block;
  min-height: 0;
  padding: 0;
  background: transparent;
  color: var(--ink);
  overflow: hidden;
}

.project-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #e6e5df;
  transition: transform .5s ease;
}

.project-card:hover img {
  transform: scale(1.035);
}

.project-info {
  position: relative;
  padding: 19px 0 0;
}

.project-card .project-info span {
  display: block;
  color: #897357;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
}

.project-card .project-info h3 {
  font-family: Manrope, sans-serif;
  font-size: clamp(20px, 2vw, 29px);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: 1.2;
  margin: 11px 0 5px;
}

.project-card .project-info p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}

.project-info::after {
  content: "↗";
  position: absolute;
  right: 0;
  top: 40px;
  font-size: 19px;
  color: var(--bronze);
  transition: transform .25s ease;
}

.project-card:hover .project-info::after {
  transform: translate(3px, -3px);
}

.project-card:focus-visible {
  outline: 2px solid var(--bronze);
  outline-offset: 5px;
}

@media (max-width: 850px) {
  .project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 18px;
  }
}

@media (max-width: 550px) {
  .project-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .project-card img {
    aspect-ratio: 4 / 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-card img,
  .project-info::after {
    transition: none;
  }
}


/* Performance section — full-width text */

.performance-grid {
  grid-template-columns: 1fr;
}

.performance-grid > div {
  width: 100%;
}

.performance p {
  max-width: none;
}

/* Introduction — full-width text */

.intro-grid {
  grid-template-columns: 1fr;
  gap: 30px;
}

.intro-copy {
  padding-top: 0;
  width: 100%;
}

.intro-copy p {
  max-width: none;
}

.performance {
  background: #f7f7f5;
}

/* Footer social media icons */

.footer-inner {
  position: relative;
}

.footer-socials {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;

  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.footer-socials a {
  font-size: 23px;
  color: #211e18;
  transition: opacity .25s ease, transform .25s ease;
}

.footer-socials a:hover {
  opacity: .6;
  transform: translateY(-3px);
}

@media (max-width: 650px) {
  .footer-inner {
    align-items: center;
    text-align: center;
  }

  .footer-socials {
    position: static;
    transform: none;
    margin: 20px 0;
  }
}


/* Live dates: aligned date, divider and description */



.performance .gig-row {
  display: grid !important;
  grid-template-columns: 75px minmax(0, 1fr) !important;
  width: 100%;
  column-gap: 5px;
  align-items: start;
  margin: 0 0 6px;
}

.performance .gig-date {
  display: inline-grid;
  grid-template-columns: repeat(5, 0.65em);
  width: 3.25em;
  white-space: nowrap;
  font-family: 'DM Sans', sans-serif;
  line-height: inherit;
  font-variant-numeric: normal;
}

.performance .gig-date span {
  display: block;
  width: 0.65em;
  text-align: center;
}

.intro {
  background: #f7f7f5;
}

.projects {
  background: #FFFFFF;
}
.links a.nav-switch {
    background: #b8a07e;
    color: #20211f;
    padding: 8px 14px;
    border-radius: 4px;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.links a.nav-switch:hover {
    opacity: 0.8;
}


/* PROJECT DETAIL PAGE — shared music-page design */
.project-hero{background:#fff;padding:clamp(65px,8vw,115px) 0 clamp(55px,7vw,95px)}
.project-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(35px,7vw,100px);align-items:center}
.project-hero-art{width:100%;aspect-ratio:1/1;object-fit:cover;background:#e6e6e2}
.project-hero-copy h1{font-size:clamp(48px,7vw,100px);margin:0 0 18px}
.project-artist{font:500 clamp(18px,2vw,24px)/1.45 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 26px}
.project-hero-copy .text-link{margin-top:12px}
.project-story{background:#f7f7f5}
.project-story-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(35px,8vw,120px);align-items:start}
.project-story-copy{max-width:760px}
.project-story-copy p,.project-credits p{margin:0 0 20px}
.project-reviews{background:#e4e8e1}
.project-review-list{display:grid;grid-template-columns:1fr 1fr;gap:38px 55px}
.project-review{margin:0;padding-top:22px;border-top:1px solid #b5c2b4}
.project-review blockquote{font:500 clamp(20px,2.2vw,29px)/1.48 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 20px}
.project-review figcaption{font-size:12px;color:#5b6059}
.project-listening{background:#fff}
.project-video{width:100%;aspect-ratio:16/9;border:0;display:block;background:#e6e6e2}
.project-credits{background:#eeeae3}
.project-credits-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(35px,8vw,120px);align-items:start}
.project-credits-copy{max-width:760px}
.project-credits-copy p:last-child{margin-bottom:0}
.project-back-link{display:inline-block;margin-top:28px;font-size:12px;font-weight:700;border-bottom:1px solid var(--bronze);padding-bottom:9px}
@media(max-width:850px){.project-hero-grid,.project-story-grid,.project-credits-grid{grid-template-columns:1fr}.project-hero-grid{gap:35px}.project-hero-art{max-width:650px}.project-review-list{grid-template-columns:1fr;gap:30px}}

/* Music for Empty Ears: shared project gallery and media */
.project-video { position:relative; width:100%; aspect-ratio:16 / 9; margin:32px 0; }
.project-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.emptyears-audio { margin-top:36px; }
.emptyears-audio iframe { display:block; width:100%; max-width:100%; border:0; }
.emptyears-gallery-frame { overflow:hidden; width:100%; outline-offset:5px; touch-action:pan-y; }
.emptyears-gallery-track { display:flex; transition:transform .45s ease; }
.emptyears-gallery-track img { flex:0 0 100%; width:100%; height:clamp(280px,55vw,650px); object-fit:contain; background:#20211f; }
.emptyears-gallery-controls { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:22px; }
.emptyears-gallery-controls button { cursor:pointer; border:1px solid currentColor; background:transparent; color:inherit; width:42px; height:42px; border-radius:50%; font:inherit; }
.emptyears-gallery-controls button:hover { background:var(--bronze); border-color:var(--bronze); }
.emptyears-count { min-width:55px; text-align:center; font-variant-numeric:tabular-nums; }
@media(prefers-reduced-motion:reduce) { .emptyears-gallery-track {transition:none;} }

@media (max-width: 600px) {
  .section h2 {
    display: none;
  }
}