/* STEARL / The record room. Load after styles.css. */
.home-page .signal-strip {
  background:#0b0b0a;
  color:#bcb4a5;
  border-color:#b49a7026;
  padding-block:21px;
  font-size:9px;
  letter-spacing:.2em;
}

/* A record index beside the sleeve, rather than another row of generic cards. */
.home-page .music-section {
  overflow:hidden;
  padding-block:clamp(90px,10vw,165px);
  background:radial-gradient(ellipse at 32% 60%,#30291c2b,transparent 50%),#11110f;
}
.home-page .music-section>.section-shell {
  display:grid;
  grid-template-columns:minmax(140px,.28fr) minmax(0,1.72fr);
  column-gap:clamp(35px,5vw,80px);
}
.home-page .music-section .section-intro {
  grid-column:1/-1;
  grid-template-columns:minmax(140px,.28fr) minmax(0,1.72fr);
  column-gap:clamp(35px,5vw,80px);
  margin-bottom:clamp(40px,5vw,75px);
}
.home-page .music-section .section-intro>div {
  grid-template-columns:minmax(0,1fr) minmax(160px,.35fr);
  gap:30px;
}
.home-page .music-section .section-intro h2 {
  font-size:clamp(70px,7.3vw,122px);
  line-height:.84;
  letter-spacing:-.035em;
}
.home-page .music-section .section-intro>div>p {
  font-size:12px;
  max-width:190px;
  line-height:1.85;
  color:#b8b1a4;
}
.home-page .record-selector {
  grid-column:1;
  display:flex;
  flex-direction:column;
  align-self:start;
  border:0;
  margin:0;
  padding-top:32px;
}
.home-page .record-selector button,
.home-page .record-selector button:first-child {
  position:relative;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-content:center;
  align-items:center;
  gap:9px;
  min-height:116px;
  padding:22px 13px 22px 0;
  border:0;
  border-bottom:1px solid #b49a702b;
  background:none;
  color:#77766f;
  font:600 clamp(25px,2.45vw,40px)/1 var(--display);
  letter-spacing:-.015em;
  transition:color .35s, padding-left .55s var(--ease);
}
.home-page .record-selector button span {
  flex:0 0 100%;
  width:100%;
  color:#8a8170;
  font:400 9px/1.2 var(--body);
  letter-spacing:.12em;
}
.home-page .record-selector button small {
  display:none;
}
.home-page .record-selector button b {
  margin:0 0 0 auto;
  color:currentColor;
  font-size:21px;
}
.home-page .record-selector button::after {
  left:-19px;
  top:24px;
  bottom:24px;
  width:1px;
  height:auto;
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .6s var(--ease);
}
.home-page .record-selector button[aria-pressed=true] {
  background:none;
  color:#d9c39d;
  padding-left:10px;
}
.home-page .record-selector button[aria-pressed=true]::after {
  transform:scaleY(1);
}
.home-page .record-selector button[aria-pressed=true] span {
  color:var(--sand);
}
.home-page .record-selector button:hover {
  color:#e8e3d7;
}
.home-page .release-stage {
  position:relative;
  grid-column:2;
  min-width:0;
  padding-top:42px;
  border-top:1px solid #b49a704d;
}
.home-page .featured-release {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(35px,4.5vw,70px);
  align-items:start;
}
.home-page .featured-art-column {
  min-width:0;
  padding-top:3px;
  padding-inline:0;
}
.home-page .featured-art {
  isolation:isolate;
  transform-style:preserve-3d;
  transform:perspective(1200px) rotateX(var(--cover-rx,0deg)) rotateY(var(--cover-ry,0deg));
  transition:transform .8s var(--ease);
}
.home-page .featured-art>img,
.home-page .featured-art:hover>img {
  position:relative;
  z-index:1;
  transform:none;
  filter:none;
  border:1px solid #b49a7026;
  box-shadow:-2px 2px 0 #685438,-4px 4px 0 #2c2519,0 30px 60px #0008;
}
.home-page .featured-art::after {
  content:'';
  position:absolute;
  z-index:2;
  inset:0;
  background:linear-gradient(115deg,#ffffff0e,transparent 30%,transparent 65%,#0000001c),radial-gradient(ellipse at var(--cover-light-x,30%) var(--cover-light-y,20%),#e8d6ab15,transparent 65%);
  pointer-events:none;
}
.home-page .featured-art-index {
  z-index:-1;
  left:auto;
  right:-.12em;
  top:-.42em;
  font:600 clamp(80px,9vw,150px)/1 var(--display);
  color:transparent;
  -webkit-text-stroke:1px #b49a703b;
  opacity:1;
  mix-blend-mode:normal;
}
.home-page .art-edge {
  z-index:3;
  inset:8px;
  border-color:#e8e3d718;
}
.home-page .art-caption {
  font-size:8px;
  letter-spacing:.08em;
  color:#b2a995;
  margin-top:25px;
}
.home-page .featured-release-copy {
  min-width:0;
}
.home-page .release-meta {
  font-size:8px;
  gap:12px;
  padding-bottom:15px;
  line-height:1.7;
  border-color:#b49a702b;
}
.home-page .release-meta span:last-child {
  text-align:right;
  max-width:130px;
}
.home-page .featured-release-copy h3 {
  margin-top:27px;
  font-size:clamp(68px,7vw,115px);
  line-height:.88;
  letter-spacing:-.025em;
  color:#e4decd;
}
.home-page .release-tagline {
  font-size:clamp(15px,1.3vw,19px);
  line-height:1.5;
  margin-top:25px;
}
.home-page .release-lead {
  font-size:13px;
  line-height:1.85;
  margin-top:15px;
  color:#bcb3a2;
}
.home-page .stream-links {
  flex-wrap:wrap;
  gap:8px 20px;
  margin:25px 0 30px;
}
.home-page .stream-links a {
  padding:11px 0;
  border:0;
  border-bottom:1px solid #b49a7073;
  gap:24px;
  font-size:11px;
  min-height:44px;
}
.home-page .stream-links a:hover {
  background:transparent;
  color:#d9c39d;
  border-color:#e1c391;
}
.home-page .spotify-loader:not(.is-loaded) {
  padding:19px 0;
  border-inline:0;
  border-color:#b49a702b;
  min-height:125px;
  gap:18px;
  background:none;
}
.home-page .spotify-loader-copy small {
  font-size:10px;
  color:#a69e8f;
  max-width:260px;
}
.home-page .load-spotify {
  min-height:44px;
  font-size:10px;
}
.home-page .lyrics summary {
  font-size:10px;
  letter-spacing:.08em;
  min-height:52px;
}
.home-page .lyrics-text {
  font-size:13px;
  color:#c7bda9;
}
.home-page .record-note {
  grid-column:2;
  border-top:1px solid #b49a702b;
  padding-top:20px;
  margin-top:40px;
  font-size:8px;
}

/* The studio is a typographic room, free of decorative pseudo-technical UI. */
.home-page .live-section {
  padding-block:clamp(90px,9vw,145px);
  background:linear-gradient(115deg,#0a0a09 45%,#17150f 100%);
  border-block:1px solid #b49a7020;
}
.home-page .studio-orbit {
  display:none;
}
.home-page .live-section::before {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent calc(66.666% - .5px),#b49a7018 66.666%,transparent calc(66.666% + .5px));
}
.home-page .live-statement h2 {
  font-size:clamp(80px,12vw,190px);
  line-height:.9;
  letter-spacing:-.035em;
}
.home-page .live-statement h2>span:first-child {
  color:transparent;
  -webkit-text-stroke:1px #c0b49b9c;
}
.home-page .live-statement h2>span:nth-child(2) {
  margin-top:7px;
}
.home-page .live-statement h2>span:last-child {
  margin-top:17px;
  font-size:.64em;
}
.home-page .live-statement>p {
  margin-top:48px;
  font-size:14px;
  line-height:1.9;
  max-width:470px;
}
.home-page .live-bottom {
  margin-top:70px;
  border-color:#b49a7038;
}
.home-page .live-facts {
  gap:clamp(25px,5vw,80px);
}
.home-page .live-facts dt {
  color:#aa9f8b;
  font-size:9px;
}
.home-page .live-facts dd {
  font-size:12px;
}
.home-page .circle-cta {
  border-color:#b49a7060;
  color:#d2c4aa;
  font-size:11px;
}
.home-page .circle-cta:hover {
  background:#b49a7018;
  transform:rotate(-7deg);
}

/* Portrait and sleeve share the same warm, restrained print palette. */
.home-page .band-section {
  background:linear-gradient(90deg,#181814,#12120f);
  padding-block:clamp(90px,10vw,150px);
}
.home-page .artist-shell {
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(50px,8vw,130px);
}
.home-page .artist-portrait {
  max-width:none;
}
.home-page .artist-portrait>img {
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:50% 22%;
  filter:saturate(.72) contrast(1.04);
}
.home-page .artist-portrait>p {
  font-size:8px;
  letter-spacing:.1em;
  color:#b0a58f;
}
.home-page .artist-copy h2 {
  font-size:clamp(72px,7.4vw,120px);
  line-height:.85;
  letter-spacing:-.03em;
}
.home-page .artist-copy h3 {
  font-size:54px;
  margin-top:38px;
}
.home-page .artist-role {
  font-size:10px;
  color:#c8ae7d;
  margin-top:13px;
}
.home-page .artist-copy>p:not([class]) {
  font-size:14px;
  line-height:1.9;
  color:#bdb5a5;
}
.home-page .artist-links {
  font-size:11px;
  margin-top:30px;
}
.home-page .artist-links a {
  padding-block:10px;
  min-height:44px;
  border-color:#b49a704d;
}
.home-page .merch-section {
  background:radial-gradient(ellipse at 72% 45%,#28241b66,transparent 55%),#0d0d0b;
  padding-block:clamp(90px,9vw,140px);
}
.home-page .merch-shell {
  gap:clamp(45px,5vw,80px);
}
.home-page .merch-copy>p:not([class]) {
  font-size:14px;
  color:#bdb5a5;
}
.home-page .merch-copy small {
  font-size:10px;
  color:#9c9381;
}
.home-page .merch-shot {
  background:radial-gradient(ellipse at 50% 42%,#29271f80,transparent 70%);
  border-color:#b49a701f;
}
.home-page .merch-shot img {
  padding:12px;
}
.home-page .merch-caption {
  font-size:9px;
  padding:18px 16px;
  border-color:#b49a7029;
}

/* A dark closing scene keeps the brass accent attached to the actual invitation. */
.home-page .booking-section {
  padding-bottom:clamp(80px,9vw,135px);
  color:#e4decd;
  background:radial-gradient(ellipse at 15% 65%,#30271845,transparent 55%),#11110e;
  border-top:1px solid #b49a7033;
}
.home-page .booking-marquee {
  padding-block:34px;
  opacity:1;
  color:transparent;
  -webkit-text-stroke:1px #b49a704d;
  font-size:clamp(65px,9vw,150px);
  line-height:.92;
  border-color:#b49a7033;
}
.home-page .booking-shell {
  grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);
  gap:clamp(55px,8vw,125px);
  padding-top:clamp(65px,7vw,110px);
}
.home-page .booking-section .section-index,
.home-page .booking-section .section-index span {
  color:#b9a47e;
}
.home-page .booking-copy h2 {
  font-size:clamp(67px,7vw,114px);
  line-height:.86;
  letter-spacing:-.03em;
}
.home-page .booking-copy h2 em {
  color:#c9ae7d;
}
.home-page .booking-copy>p:not([class]) {
  font-size:14px;
  line-height:1.9;
  color:#b9af9c;
}
.home-page .booking-email {
  color:#d4b580;
  border-color:#b49a7070;
  font-size:clamp(32px,4vw,65px);
  letter-spacing:-.02em;
  padding-block:20px;
  margin-top:30px;
  transition:color .25s;
}
.home-page .booking-email:hover {
  color:#eed6ab;
}
.home-page .booking-essentials {
  padding:6px 0 0 35px;
  border-left:1px solid #b49a7040;
}
.home-page .booking-essentials dl>div {
  grid-template-columns:95px minmax(0,1fr);
  border-color:#b49a702d;
  padding-block:19px;
}
.home-page .booking-essentials dt {
  color:#a89d86;
  font-size:9px;
}
.home-page .booking-essentials dd {
  color:#ded5c1;
  font-size:12px;
}
.home-page .booking-essentials>p:not([class]) {
  color:#b9af9c;
  font-size:12px;
  line-height:1.85;
}
.home-page .epk-actions a {
  border-color:#b49a7040;
  font-size:12px;
  padding-block:19px;
}
.home-page .epk-actions small {
  color:#a89d86;
  font-size:9px;
  margin-top:6px;
}
.home-page .epk-actions a b {
  color:#c9ae7d;
}
.home-page .epk-actions a:hover {
  color:#d4b580;
}
.home-page .site-footer {
  border-top:1px solid #b49a702d;
  padding-top:65px;
}
.home-page .footer-top>a:not(.footer-email) {
  font-size:clamp(38px,5.8vw,91px);
  letter-spacing:-.025em;
  line-height:1;
}
.home-page .footer-email {
  font-size:12px;
  color:#c4b79d;
}
.home-page .footer-wordmark {
  opacity:.84;
  margin-top:80px;
}
.home-page .footer-bottom {
  border-color:#b49a7033;
}

@media (max-width:1100px) {
  .home-page .music-section>.section-shell,
  .home-page .music-section .section-intro {
    grid-template-columns:minmax(120px,.25fr) minmax(0,1.75fr);
    column-gap:35px;
  }
  .home-page .music-section .section-intro>div {
    display:block;
  }
  .home-page .music-section .section-intro>div>p {
    max-width:350px;
    margin-top:24px;
  }
  .home-page .featured-release {
    gap:30px;
  }
  .home-page .featured-release-copy h3 {
    font-size:75px;
  }
  .home-page .release-lead {
    font-size:12px;
  }
  .home-page .spotify-loader:not(.is-loaded) {
    display:block;
  }
  .home-page .record-selector button,
  .home-page .record-selector button:first-child {
    font-size:29px;
  }
  .home-page .artist-copy>p:not([class]) {
    font-size:13px;
  }
  .home-page .artist-copy h2 {
    font-size:72px;
  }
  .home-page .booking-shell {
    gap:45px;
  }
  .home-page .booking-essentials {
    padding-left:25px;
  }
  .home-page .booking-essentials dl>div {
    grid-template-columns:80px minmax(0,1fr);
    gap:12px;
  }
}

@media (max-width:900px) {
  .home-page .music-section>.section-shell {
    display:block;
  }
  .home-page .music-section .section-intro {
    grid-template-columns:1fr 2fr;
    gap:30px;
  }
  .home-page .record-selector {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding-top:0;
    margin-bottom:37px;
    border-block:1px solid #b49a7038;
  }
  .home-page .record-selector button,
  .home-page .record-selector button:first-child {
    min-height:99px;
    padding:20px 12px;
    border-bottom:0;
    border-right:1px solid #b49a702b;
    font-size:29px;
    gap:10px;
  }
  .home-page .record-selector button:first-child {
    padding-left:0;
  }
  .home-page .record-selector button:last-child {
    border-right:0;
  }
  .home-page .record-selector button::after {
    inset:auto 0 -1px;
    width:auto;
    height:1px;
    transform:scaleX(0);
    transform-origin:left;
  }
  .home-page .record-selector button[aria-pressed=true]::after {
    transform:scaleX(1);
  }
  .home-page .record-selector button[aria-pressed=true] {
    padding-left:12px;
  }
  .home-page .record-selector button:first-child[aria-pressed=true] {
    padding-left:0;
  }
  .home-page .record-selector button b {
    margin-left:auto;
    font-size:18px;
  }
  .home-page .record-selector button span {
    font-size:8px;
  }
  .home-page .release-stage {
    padding-top:12px;
    border-top:0;
  }
  .home-page .featured-release {
    gap:40px;
  }
  .home-page .record-note {
    padding-top:18px;
    margin-top:35px;
  }
  .home-page .live-facts {
    gap:25px;
  }
  .home-page .live-facts dd {
    font-size:11px;
  }
  .home-page .artist-shell {
    gap:40px;
  }
  .home-page .artist-copy h2 {
    font-size:68px;
  }
  .home-page .booking-shell {
    grid-template-columns:1fr 1fr;
    gap:35px;
  }
  .home-page .booking-copy h2 {
    font-size:69px;
  }
  .home-page .booking-copy>p:not([class]) {
    font-size:13px;
  }
}

@media (max-width:600px) {
  .home-page .signal-strip {
    font-size:7px;
    letter-spacing:.06em;
    padding-block:20px;
  }
  .home-page .music-section {
    padding-block:75px;
  }
  .home-page .music-section .section-intro {
    display:block;
    margin-bottom:35px;
  }
  .home-page .music-section .section-intro h2 {
    font-size:clamp(62px,17vw,96px);
    line-height:.85;
  }
  .home-page .music-section .section-intro>div>p {
    font-size:12px;
    line-height:1.75;
    margin-top:22px;
  }
  .home-page .record-selector {
    margin-bottom:47px;
  }
  .home-page .record-selector button,
  .home-page .record-selector button:first-child {
    min-height:88px;
    font-size:25px;
    padding:16px 10px;
    row-gap:9px;
  }
  .home-page .record-selector button:first-child {
    padding-left:0;
  }
  .home-page .record-selector button b {
    display:none;
  }
  .home-page .record-selector button span {
    font-size:8px;
  }
  .home-page .featured-release {
    display:block;
  }
  .home-page .featured-art-column {
    padding-inline:3px;
  }
  .home-page .featured-art-index {
    top:-.37em;
    right:-.04em;
    font-size:100px;
  }
  .home-page .featured-art::after {
    opacity:.65;
  }
  .home-page .art-caption {
    font-size:7px;
    margin-top:22px;
    letter-spacing:.06em;
  }
  .home-page .featured-release-copy {
    margin-top:38px;
  }
  .home-page .featured-release-copy h3 {
    font-size:clamp(79px,21vw,118px);
    margin-top:24px;
  }
  .home-page .release-tagline {
    font-size:17px;
    margin-top:21px;
  }
  .home-page .release-lead {
    font-size:13px;
    margin-top:13px;
  }
  .home-page .release-meta {
    font-size:8px;
  }
  .home-page .stream-links {
    margin-block:23px;
  }
  .home-page .stream-links a {
    font-size:11px;
  }
  .home-page .spotify-loader:not(.is-loaded) {
    display:flex;
    min-height:130px;
    padding-block:17px;
  }
  .home-page .spotify-loader-copy small {
    font-size:10px;
  }
  .home-page .lyrics-text {
    font-size:13px;
  }
  .home-page .record-note {
    margin-top:28px;
    font-size:7px;
  }
  .home-page .live-section {
    padding-block:80px;
  }
  .home-page .live-statement h2 {
    font-size:clamp(65px,17.6vw,105px);
    line-height:.9;
  }
  .home-page .live-statement h2>span:last-child {
    font-size:.57em;
    margin-top:16px;
    letter-spacing:0;
  }
  .home-page .live-statement>p {
    margin-top:35px;
    font-size:13px;
    max-width:310px;
  }
  .home-page .live-section::before {
    display:none;
  }
  .home-page .live-bottom {
    margin-top:45px;
  }
  .home-page .live-facts dt {
    font-size:8px;
  }
  .home-page .live-facts dd {
    font-size:10px;
  }
  .home-page .circle-cta {
    font-size:9px;
  }
  .home-page .band-section,
  .home-page .merch-section {
    padding-block:80px;
  }
  .home-page .artist-copy h2 {
    font-size:clamp(66px,18vw,100px);
  }
  .home-page .artist-copy h3 {
    font-size:48px;
    margin-top:30px;
  }
  .home-page .artist-copy>p:not([class]),
  .home-page .merch-copy>p:not([class]) {
    font-size:13px;
  }
  .home-page .artist-portrait>p {
    font-size:7px;
  }
  .home-page .artist-links {
    font-size:11px;
  }
  .home-page .merch-shell {
    gap:40px;
  }
  .home-page .merch-copy small {
    font-size:10px;
  }
  .home-page .merch-caption {
    padding:14px 9px;
    font-size:7px;
  }
  .home-page .merch-shot img {
    padding:7px;
  }
  .home-page .booking-section {
    padding-bottom:75px;
  }
  .home-page .booking-marquee {
    padding-block:25px;
    font-size:75px;
  }
  .home-page .booking-shell {
    display:block;
    padding-top:55px;
  }
  .home-page .booking-copy h2 {
    font-size:clamp(59px,15.7vw,90px);
    margin-top:25px;
  }
  .home-page .booking-copy>p:not([class]) {
    font-size:13px;
  }
  .home-page .booking-email {
    margin-top:23px;
    font-size:clamp(34px,10vw,57px);
    padding-block:18px;
  }
  .home-page .booking-essentials {
    margin-top:55px;
    padding:0;
    border-left:0;
  }
  .home-page .booking-essentials dl {
    margin-top:25px;
  }
  .home-page .booking-essentials dl>div {
    grid-template-columns:95px minmax(0,1fr);
    padding-block:18px;
  }
  .home-page .booking-essentials dt {
    font-size:8px;
  }
  .home-page .booking-essentials dd {
    font-size:11px;
  }
  .home-page .booking-essentials>p:not([class]) {
    font-size:12px;
  }
  .home-page .epk-actions a {
    font-size:12px;
  }
  .home-page .epk-actions small {
    font-size:9px;
  }
  .home-page .site-footer {
    padding-top:50px;
  }
  .home-page .footer-top>a:not(.footer-email) {
    font-size:clamp(34px,9vw,54px);
  }
  .home-page .footer-email {
    font-size:12px;
    margin-top:22px;
  }
  .home-page .footer-wordmark {
    margin-top:50px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .home-page .featured-art {
    transform:none;
    transition:none;
  }
}
.home-page.motion-paused .featured-art {
  transform:none;
  transition:none;
}

.no-js .home-page .release-stage {
  grid-column:1/-1;
}
.no-js .home-page .record-note {
  display:none;
}
@media (max-width:360px) {
  .home-page .record-selector button,
  .home-page .record-selector button:first-child {
    padding-inline:8px;
    font-size:22px;
  }
  .home-page .record-selector button:first-child,
  .home-page .record-selector button:first-child[aria-pressed=true] {
    padding-left:0;
  }
  .home-page .spotify-loader:not(.is-loaded) {
    display:block;
  }
}

.home-page main:focus,
.home-page .section[tabindex="-1"]:focus {outline:none;}
