:root{--paper:#f4f0e5;--ink:#253845;--muted:#626657;--line:#cbc9b9;--rust:#97573e;--sky:#a6bdc6}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.5 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--rust)}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:6px}.site-shell{overflow:hidden}.skip-link{position:absolute;left:18px;top:-100px;z-index:10;background:var(--paper);padding:12px}.skip-link:focus{top:14px}
/* One open-air scene, with four objects close enough to reach on a phone. */
.masthead{position:relative;isolation:isolate;background:var(--sky) url('assets/roadside.svg') center bottom/cover no-repeat;display:flex;flex-direction:column;align-items:center;padding:34px 22px 72px;gap:30px;min-height:630px;border-bottom:3px solid var(--ink)}.masthead:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23253845' filter='url(%23n)' opacity='.3' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.wordmark{margin:0;width:max-content;max-width:100%;font-family:Impact,'Arial Narrow','Helvetica Neue',sans-serif;font-size:clamp(74px,23vw,100px);font-weight:900;letter-spacing:-3px;line-height:.87;text-align:center;color:var(--paper);text-shadow:3px 3px 0 var(--ink),-1px -1px 0 var(--ink);transform:rotate(-3deg)}.wordmark span{display:block}.wordmark span:first-child{transform:rotate(1deg) translateX(-11px)}.wordmark span:last-child{transform:rotate(-1deg) translateX(4px);margin-top:5px}.object-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 20px;width:100%;max-width:370px}.object-nav a{display:flex;align-items:center;flex-direction:column;justify-content:flex-end;min-width:0;text-decoration:none;color:var(--ink);padding:4px 7px 7px}.object-nav img{width:100%;max-width:150px;height:100px;object-fit:contain;display:block;transition:transform .18s ease}.object-nav span{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:bold;margin-top:8px;line-height:1.2;background:var(--paper);padding:1px 12px 3px;box-shadow:2px 2px 0 var(--ink);transform:rotate(-2deg)}.object-nav a:nth-child(even) span{transform:rotate(2deg)}.object-nav a:hover img{transform:translateY(-4px) rotate(-3deg)}.object-nav a[aria-current] span{background:var(--ink);color:var(--paper)}.object-nav a:focus-visible{outline-color:var(--paper);background:rgba(37,56,69,.12)}
main,footer{width:calc(100% - 46px);max-width:800px;margin-inline:auto}.artist-portrait{position:relative;width:200px;margin:42px auto 52px;padding:9px 9px 22px;background:#fffdf7;box-shadow:2px 4px 8px #25384526;transform:rotate(-4deg)}.artist-portrait:before{content:"";position:absolute;width:68px;height:22px;top:-10px;left:calc(50% - 34px);background:#c6b98999;transform:rotate(6deg)}.artist-portrait>img{display:block;width:100%;height:auto;max-height:250px;object-fit:contain}section{padding-bottom:49px;scroll-margin-top:28px}.section-heading{border-bottom:1px solid var(--ink);padding-bottom:12px}h2{font:normal 35px/1 Georgia,'Times New Roman',serif;letter-spacing:-1px;margin:0}.empty{margin:25px 0 0;line-height:1.7}.empty span,.status{color:var(--muted);font-size:14px}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.8px}.show{display:grid;grid-template-columns:66px 1fr auto;gap:10px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.show time{font-size:11px}.show strong{display:block;font-size:16px;font-weight:normal}.city{display:block;color:var(--muted);font-size:13px;margin-top:5px}details{margin-top:23px;font-size:13px;color:var(--muted)}summary{cursor:pointer}details .show{color:var(--ink)}
.releases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 18px;margin-top:27px}.release{margin:0;color:var(--ink);align-self:start}.release:first-child{grid-column:1/-1}.release img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.release-toggle{display:block;list-style:none;cursor:pointer}.release-toggle::-webkit-details-marker{display:none}.release h3,.video h3{font:normal 20px/1.2 Georgia,'Times New Roman',serif;margin:15px 0 6px}.release:first-child h3{font-size:25px}.release-toggle h3{display:flex;gap:8px;justify-content:space-between}.release-toggle h3:after{content:'+';font:18px Arial,sans-serif;color:var(--muted);flex-shrink:0}.release[open] .release-toggle h3:after{content:'−'}.release-links{display:flex;flex-wrap:wrap;gap:13px;margin-top:12px;padding:4px 0 8px}.music-platforms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;margin-top:29px}.platform-link{display:flex;align-items:center;justify-content:center;min-height:56px;text-decoration:none}.platform-link img{display:block;width:32px;height:32px;object-fit:contain}.platform-link:hover{background:#2538450c}
.video{margin-top:27px}.video-stage{aspect-ratio:16/9;position:relative;background:#dcded0;overflow:hidden}.video-stage iframe{position:absolute;inset:0;border:0;width:100%;height:100%}.video-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.video-button{position:absolute;inset:0;width:100%;height:100%;border:0;display:flex;justify-content:center;align-items:center;background:#0003;color:#fff;cursor:pointer}.video-button:hover{background:#0005}.video-button:focus-visible{outline:3px solid #fff;outline-offset:-7px;box-shadow:inset 0 0 0 9px var(--ink)}.play{border:1px solid currentColor;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;background:#25384566}.play:after{content:"";border-block:8px solid transparent;border-left:12px solid currentColor;margin-left:4px}.video-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.video-fallback{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;text-decoration:none;font-size:20px;color:var(--muted);flex-shrink:0}footer{border-top:1px solid var(--line);padding:25px 0 40px;font-size:13px}#footer-links{display:flex;gap:18px}.noscript{text-align:center;padding:20px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:700px){.masthead{min-height:680px;padding-top:48px;gap:58px}.wordmark{font-size:130px;letter-spacing:-4px;line-height:.87}.object-nav{grid-template-columns:repeat(4,minmax(0,1fr));max-width:900px;gap:28px}.object-nav img{max-width:185px;height:145px}.object-nav span{font-size:23px}.artist-portrait{width:215px;margin-top:48px;margin-bottom:60px}.artist-portrait>img{max-height:280px}section{padding-bottom:65px}h2{font-size:39px}.releases{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.release:first-child{grid-column:auto}.release h3,.release:first-child h3{font-size:22px}.show{grid-template-columns:100px 1fr auto;gap:20px}.show time{font-size:13px}.show strong{font-size:18px}}
@media(max-width:350px){.masthead{padding-inline:16px}.wordmark{font-size:76px}.object-nav{gap:20px 12px}.object-nav img{height:90px}.object-nav span{font-size:18px}main,footer{width:calc(100% - 36px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Fixed grainy pavement surrounds a continuous white paper runner. */
body{background:#555247;isolation:isolate}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:#555247 url('assets/pavement-grain.jpg') center/100% 100% no-repeat}
.site-shell{width:calc(100% - 40px);max-width:760px;margin:24px auto 0;background:#fffdf8;overflow:visible;box-shadow:0 0 28px #233b4220;min-height:100vh}
.masthead{background:none;border:0;min-height:0;padding:36px 18px 28px;gap:26px}
.masthead:after{display:none}
.wordmark{color:var(--ink);text-shadow:none;font-size:clamp(64px,20vw,88px);letter-spacing:-2px;line-height:.88}
.object-nav{gap:16px 14px;max-width:320px}
.object-nav img{max-width:125px;height:80px;filter:grayscale(1) sepia(.15);mix-blend-mode:multiply}
.object-nav span{font-family:Arial,Helvetica,sans-serif;font-weight:normal;font-size:14px;box-shadow:none;background:none;padding:3px 7px;transform:none;margin-top:3px}
.object-nav a:nth-child(even) span{transform:none}
.object-nav a:focus-visible{outline-color:var(--rust);background:#25384508}
main,footer{width:calc(100% - 36px);max-width:660px}
.artist-portrait{margin-top:12px;margin-bottom:44px;width:180px}
.artist-portrait:before{background:#c6b98980}
h2{font-size:31px}
.section-heading{border-color:#b9bdb5}
footer{padding-bottom:36px}
@media(min-width:700px){.site-shell{margin-top:40px;width:calc(100% - 120px)}.masthead{padding:45px 28px 32px;gap:30px;min-height:0}.wordmark{font-size:112px}.object-nav{grid-template-columns:repeat(4,minmax(0,1fr));max-width:640px;gap:12px}.object-nav img{height:90px;max-width:140px}.object-nav span{font-size:15px}.artist-portrait{width:210px;margin-top:10px;margin-bottom:54px}main,footer{width:calc(100% - 72px)}h2{font-size:37px}}
@media(max-width:350px){.site-shell{width:calc(100% - 28px);margin-top:14px}.masthead{padding-inline:12px}.wordmark{font-size:65px}.object-nav img{height:70px}main,footer{width:calc(100% - 28px)}.platform-link img{width:28px;height:28px}}

:root{--ink:#302f29;--muted:#69675e;--rust:#815a3c}

/* Give the pavement a stronger presence on phones. */
@media(max-width:699px){
  .site-shell{width:80%;margin-top:32px}
  .masthead{padding-inline:12px}
  .wordmark{font-size:clamp(54px,17vw,88px)}
  main,footer{width:calc(100% - 28px)}
  .release h3{overflow-wrap:anywhere}
}

.release-toggle{border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;width:100%}
.release-toggle h3:after{content:'+'}
.release-dialog{padding:0;border:0;width:min(86vw,440px);max-width:none;max-height:90dvh;background:transparent;overflow:auto;box-shadow:0 12px 60px #0006}
.release-dialog::backdrop{background:#171711aa;backdrop-filter:blur(3px)}
.release-popover{position:relative;aspect-ratio:1;background:#302f29;isolation:isolate}
.release-popover .popover-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.release-popover:after{content:'';position:absolute;inset:0;background:#16161080;z-index:-1}
.popover-close{position:absolute;top:5px;right:5px;width:44px;height:44px;border:0;border-radius:50%;background:#fffdf8;color:#302f29;font:28px Arial;cursor:pointer}
.release-options{position:absolute;inset:48px 20px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:center;justify-items:center}
.release-options[data-count='1']{grid-template-columns:1fr}
.release-options[data-count='3'] .release-option:last-child{grid-column:1/-1}
.release-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:100%;min-height:80px;padding:12px 4px;background:#fffdf8f2;text-decoration:none;color:#302f29;font-size:13px;text-align:center;border-radius:3px}
.release-option img{width:34px;height:34px;aspect-ratio:auto;object-fit:contain}
.release-option:hover{background:#fff}
.video-bottom{flex-direction:column;align-items:center;gap:0;text-align:center}
.video-bottom h3{margin-top:16px}
.video-fallback{min-width:44px;min-height:44px}
.video-fallback img{width:24px;height:24px;filter:grayscale(1);opacity:.75}
.video-fallback:hover img{filter:none;opacity:1}
.merch-request{display:inline-block;margin-top:10px;padding-block:10px;font-size:14px}

/* A close, moving crop of the artist-supplied studio photograph. */
body:before{display:none}
.studio-backdrop{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none;background:#29271f}
.studio-backdrop>img{position:absolute;left:0;top:0;width:1920px;height:1280px;max-width:none;transform-origin:0 0;will-change:transform}
@media(prefers-reduced-motion:reduce){.studio-backdrop>img{will-change:auto}}

.studio-backdrop:not(.camera-ready)>img{width:100%;height:100%;object-fit:cover;object-position:15% 70%}

/* Portrait and hand-lettered navigation form one record-sleeve-like header. */
.masthead{height:620px;min-height:0;padding:0;display:block;overflow:hidden;background:#29271f;margin-bottom:48px}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;z-index:-2}
.masthead:after{display:block;background:linear-gradient(180deg,#17171012 35%,#171710c9 100%);opacity:1;z-index:-1}
.folk-wordmark{position:absolute;left:7%;bottom:132px;margin:0;color:#fff4d7;font:normal clamp(54px,9vw,88px)/.80 Georgia,'Times New Roman',serif;letter-spacing:-3px;text-shadow:0 1px 14px #0004;transform:rotate(-3deg)}
.folk-wordmark span{display:block}.folk-wordmark span+span{margin-left:20px;margin-top:7px}
.folk-nav{position:absolute;bottom:18px;left:5%;width:90%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.folk-nav a{display:block;min-height:48px;border-bottom:1px solid transparent}
.folk-nav a:hover,.folk-nav a[aria-current]{border-color:#fff4d7}
.nav-ink{display:block;width:100%;aspect-ratio:2/1;background-image:url('assets/folk-nav.png');background-size:100% 400%;background-repeat:no-repeat}
.nav-ink.shows{background-position:50% 0}.nav-ink.music{background-position:50% 33.333%}.nav-ink.watch{background-position:50% 66.667%}.nav-ink.merch{background-position:50% 100%}
.catalog-more{display:block;margin:30px auto 8px;padding:12px 24px;background:none;border:1px solid #aaa99d;color:var(--ink);font:14px Georgia,serif;cursor:pointer}
.release[hidden]{display:none}
#footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.social-link{display:flex;align-items:center;justify-content:center;min-height:52px}.social-link img{width:28px;height:28px;object-fit:contain}
.social-link:hover{opacity:.6}.merch-wait{font-size:24px;letter-spacing:5px}
@media(max-width:699px){.masthead{height:560px;margin-bottom:36px}.hero-photo{object-position:55% 42%}.folk-wordmark{left:7%;bottom:154px;font-size:clamp(50px,15vw,72px);letter-spacing:-2px}.folk-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;left:10%;width:80%;bottom:16px}.nav-ink{max-width:110px;margin:auto}.folk-nav a{min-height:50px}}
@media(min-width:700px){.releases{grid-template-columns:repeat(2,minmax(0,1fr))}}
.anti-icon{display:block;width:66px;height:88px;margin:0 auto;background:url('assets/anti-icons-color.png') 0 50%/400% 100% no-repeat}
.anti-icon.music{background-position:33.333% 50%}.anti-icon.watch{background-position:66.667% 50%}.anti-icon.merch{background-position:100% 50%}
.folk-wordmark{bottom:198px}
@media(max-width:699px){.masthead{height:640px}.folk-wordmark{bottom:248px}.anti-icon{width:48px;height:64px}.folk-nav{bottom:14px;row-gap:6px}.nav-ink{max-width:100px}.folk-nav a{padding-bottom:1px}}

/* Inset photograph, larger independent navigation artwork. */
.site-shell{padding-top:28px}
.masthead{width:calc(100% - 56px);margin:0 auto 42px;height:560px}
.folk-nav{left:3%;width:94%;gap:8px;bottom:14px}
.anti-icon{width:100%;height:148px;max-width:150px;background:none!important;object-fit:contain;display:block;margin:0 auto}
.folk-wordmark{bottom:248px;font-size:76px}
@media(max-width:699px){.site-shell{padding-top:14px}.masthead{width:calc(100% - 28px);height:610px;margin-bottom:34px}.folk-nav{width:90%;left:5%;gap:4px 12px}.anti-icon{height:84px;max-width:100px}.folk-wordmark{font-size:clamp(46px,14vw,66px);bottom:282px;left:6%}.nav-ink{max-width:100px}}

.nav-ink{clip-path:inset(12% 2% 2%)}

/* Compact conventional navigation above the portrait. */
.site-shell{padding-top:8px}
.folk-nav{position:relative;inset:auto;width:calc(100% - 56px);margin:0 auto 8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.folk-nav a{display:flex;align-items:center;justify-content:center;gap:5px;min-height:64px;padding:3px 0;border-bottom:1px solid transparent}
.folk-nav a:hover,.folk-nav a[aria-current]{border-color:var(--ink)}
.folk-nav .anti-icon{width:36px;height:40px;flex:0 0 36px;margin:0;object-fit:contain}
.folk-nav .nav-ink{width:78px;max-width:78px;flex:0 1 78px;margin:0;filter:brightness(.2)}
.masthead{height:480px}
.folk-wordmark{bottom:36px}
@media(max-width:699px){.folk-nav{width:calc(100% - 28px);gap:2px;margin-bottom:8px}.folk-nav a{flex-direction:column;gap:0;min-height:70px;padding:2px 0}.folk-nav .anti-icon{width:28px;height:30px;flex:0 0 30px}.folk-nav .nav-ink{width:100%;max-width:60px;flex:0 0 auto}.masthead{height:440px}.folk-wordmark{bottom:30px}}

/* Words-only navigation and a less tightly cropped portrait. */
.folk-nav a{flex-direction:row;gap:0;min-height:66px}
.folk-nav .nav-ink{width:104px;max-width:104px;flex:0 1 104px}
.masthead{max-width:560px;height:560px}
.hero-photo{object-position:50% 22%}
@media(max-width:699px){.folk-nav a{min-height:52px}.folk-nav .nav-ink{width:100%;max-width:70px;flex:0 1 70px}.masthead{height:440px}.hero-photo{object-position:50% 30%}}

.music-shelf{margin-top:26px;min-width:0}
.shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.shelf-heading h3{font:normal 23px Georgia,serif;margin:0}
.swipe-row{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:42%;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:4px 0 15px;margin:0;scrollbar-width:thin;scrollbar-color:#aaa99d transparent}
.swipe-row>.release{grid-column:auto!important;scroll-snap-align:start;min-width:0}
.swipe-row .release h3,.swipe-row .release:first-child h3{font-size:20px}
@media(max-width:699px){.swipe-row{grid-auto-columns:76%;gap:15px}.shelf-heading h3{font-size:20px}}

/* One square profile-photo window on every screen; retain breathing room above the hair. */
.masthead{height:auto;aspect-ratio:1;max-width:560px}
.hero-photo{object-position:50% 10%}

/* Shane's October23 content review. */
.folk-wordmark{transform:none;font-size:clamp(42px,7vw,72px);line-height:.95;letter-spacing:-2px}
.folk-wordmark span+span{margin-left:0;margin-top:0}
.folk-nav a{font:italic 25px/1.2 Georgia,serif;text-decoration:none;justify-content:center}
.artist-bio{text-align:center;font:14px/1.5 Arial,sans-serif;margin:18px 14px 20px}
.masthead{margin-bottom:0}
.artist-socials{padding:0 0 36px}
.show-clock{display:block;margin-top:5px;font-size:13px}
.spotify-player{background:#fffdf8;padding:12px;min-height:176px}
.spotify-player iframe{border:0;width:100%;height:152px;border-radius:10px;display:block}
.spotify-player .player-note{margin:6px 0 0;font:12px/1.4 Arial,sans-serif;color:#59594f}
@media(max-width:699px){.folk-nav a{font-size:clamp(17px,4.9vw,23px)}.folk-wordmark{font-size:clamp(38px,11vw,62px)}.artist-bio{font-size:12px}.show{grid-template-columns:70px 1fr}.show .status{grid-column:2}}

/* Reversible background experiment: alternate vertical reflections with matching edges. */
html[data-background="nature"] .studio-backdrop{display:none}
html[data-background="nature"] body{position:relative;display:flow-root}
.nature-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#76a8d0}
.nature-strip{width:100%}
.nature-strip img{display:block;width:100%;height:auto;max-width:none;object-fit:fill}

html[data-background="portrait"] .studio-backdrop,html[data-background="covers"] .studio-backdrop{display:none}
.cover-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background-position:center;background-size:cover;background-color:#555247}

/* Navigation-led type, release announcement and unified artist links. */
.section-heading h2,.shelf-heading h3{font-family:Georgia,serif;font-style:italic;font-weight:normal}
#footer-links{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.social-link{min-height:64px;border-radius:50%;transition:transform .18s,background .18s}
.social-link img{width:36px;height:36px}
.social-link:hover{opacity:1;transform:translateY(-3px);background:#eee9dc}
.artist-socials{padding-bottom:32px}
.music-rail{position:relative}
.swipe-row{scrollbar-width:none;padding-bottom:4px}
.swipe-row::-webkit-scrollbar{display:none}
@media(max-width:699px){#footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px}.social-link{min-height:56px}}
@media(prefers-reduced-motion:reduce){.social-link{transition:none}}

.music-welcome{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;background:#fffdf8;color:#302f29;padding:24px}
.music-welcome[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}
.music-welcome h2{max-width:530px;text-align:center;font:italic normal clamp(28px,5vw,42px)/1.25 Georgia,serif;letter-spacing:-.5px}
.music-welcome::backdrop{background:#fffdf8}
.welcome-choices{display:flex;gap:24px}
.welcome-choices button{font:italic 22px Georgia,serif;min-width:76px;min-height:44px;border:0;border-bottom:1px solid #8c9282;background:none;color:inherit;cursor:pointer}
/* Thin paper music header with a consistent set of drawn controls. */
.ambient-player{position:fixed;z-index:1000;inset:0 0 auto;background:#f7f4eaf5;backdrop-filter:blur(12px);border-bottom:1px solid #c6c8b7;box-shadow:0 1px 8px #0001}
.ambient-top{display:flex;align-items:center;max-width:760px;height:52px;margin:auto;padding:0 12px;gap:10px}
.ambient-art{width:32px;height:32px;object-fit:cover;border-radius:2px;flex-shrink:0}
.ambient-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ambient-song{font:italic 15px/1.1 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ambient-artist{font:9px/1.2 Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:#69705f}
.ambient-top button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;background:transparent;color:#43543e;cursor:pointer;border-radius:50%}
.ambient-top svg{display:block;width:20px;height:20px;flex-shrink:0}
.ambient-play svg{width:22px;height:22px}
.ambient-top button:hover{background:#43543e0d}
.ambient-top button:focus-visible,.ambient-full:focus-visible{outline:2px solid #69705f;outline-offset:1px}
.ambient-stop{opacity:.65}
.ambient-full{display:flex;align-items:center;gap:2px;min-height:44px;font:11px Georgia,serif;text-decoration:none;color:#69705f;white-space:nowrap}
.ambient-full svg{width:15px;height:15px}
.ambient-player audio{display:none}
.has-ambient-player{padding-top:52px;padding-bottom:0}
@media(max-width:380px){.ambient-top{gap:3px;padding:0 7px}.ambient-art{width:28px;height:28px}.ambient-artist{font-size:8px;letter-spacing:.3px}}

/* Artwork-led release announcement; the square is ready for the supplied cover. */
.presave{text-align:center;padding:30px 0 38px;margin:0;border:0;background:none;box-shadow:none}
.presave .release-kicker{font:12px/1.4 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#666d60;margin:0 0 20px}
.release-artwork{width:100%;max-width:420px;aspect-ratio:1;margin:auto;background:#edece3}
.release-artwork img{display:block;width:100%;height:100%;object-fit:cover}
.release-art-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px solid #d5d5c7;background:radial-gradient(ellipse at 35% 30%,#f4f2e8,#e2e4d5)}
.presave h3{font:italic normal clamp(40px,8vw,64px)/1.15 Georgia,serif;letter-spacing:-1px;color:#3d503d;margin:20px 0 0}
.release-art-placeholder h3{margin:0}
.release-art-placeholder span{position:absolute;bottom:22px;font:11px/1.4 Arial,sans-serif;letter-spacing:.08em;color:#717565}
.presave .release-date{font:italic 28px/1.2 Georgia,serif;color:#934d3c;margin:22px 0 18px}
.presave a{display:inline-block;min-height:44px;padding:12px 24px;border:1px solid #485740;color:#485740;background:none;text-decoration:none;font:15px/1.2 Arial,sans-serif}
.presave a:hover{background:#e9ecdf}
.presave [hidden]{display:none!important}
#shows .section-heading{text-align:left}
#show-list .show{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:28px 12px}
#show-list .show time{font:12px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#934d3c}
#show-list .show-clock{display:inline;font:inherit;margin:0;letter-spacing:0}
#show-list .show-clock:before{content:' · '}
#show-list .show strong{font:25px/1.2 Georgia,serif}
#show-list .city{font-size:14px;margin-top:7px}
#show-list details,#show-list .empty{text-align:center}
.rail-step{min-height:44px;border:0;background:none;color:#66705c;font:13px Georgia,serif;padding:12px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.rail-step.next{float:right}.rail-step.previous{margin-left:-12px}.rail-step.next{margin-right:-12px}.rail-step:disabled{opacity:.3;cursor:default;text-decoration:none}
#game-invite-art{display:block;width:min(100%,400px);height:auto;aspect-ratio:8/5;margin:0 auto 8px}

/* No boxed selection or mobile tap flash; keyboard focus uses a simple underline. */
a,button,summary,input,textarea,select,canvas{-webkit-tap-highlight-color:transparent}
:is(a,button,summary,input,textarea,select,canvas):focus{outline:none!important}
:is(a,button,summary,input,textarea,select,canvas):focus-visible{outline:none!important;box-shadow:0 3px 0 0 #815a3c!important}
#welcome-question:focus{outline:none;box-shadow:none}

/* Match visible logo weight, compensating for official-file transparent padding. */
.social-link[aria-label="YouTube"] img{transform:scale(1.75)}
.social-link[aria-label="SoundCloud"] img{transform:none}
.social-link[aria-label="Spotify"] img{transform:scale(1.03)}
/* Functional carousel arrows beside the covers; no decorative link arrows. */
.rail-step{position:absolute;top:var(--cover-mid,100px);transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:11px;border:0;background:none;text-decoration:none;color:#49513f;z-index:2}
.rail-step svg{width:22px;height:22px;display:block}
.rail-step.previous{left:-44px;margin:0}.rail-step.next{right:-44px;margin:0;float:none}
.rail-step:disabled{opacity:.23}
@media(max-width:699px){.rail-step{display:none}}

/* Quiet video poster controls; YouTube UI loads only after play. */
.video-button{background:linear-gradient(transparent 55%,#0002);transition:background .2s}
.video-button:hover{background:#0001}
.video-button .play{display:flex;align-items:center;gap:8px;width:auto;height:46px;padding:0 17px;border:0;border-radius:3px;background:#fffdf8ed;color:#3f4e39;box-shadow:0 2px 12px #0002;font:italic 17px Georgia,serif}
.video-button .play:after{display:none}
.video-button .play svg{width:20px;height:20px}
.video-bottom{gap:0;padding:0 0 8px}
.video-bottom h3{margin:14px 0 0}
.video-fallback{font:11px/1.3 Arial,sans-serif;letter-spacing:.02em;min-height:36px;color:#6c7065;text-decoration:underline;text-underline-offset:4px}
.merch-wait{font:italic 23px/1.5 Georgia,serif;letter-spacing:0}

/* Stable large viewport avoids camera jumps when mobile browser chrome changes. */
.cover-backdrop{height:100lvh;overflow:hidden;contain:strict}
.portrait-camera{position:absolute;top:0;left:0;width:1365px;height:2048px;max-width:none;transform-origin:0 0;will-change:transform}
@media(prefers-reduced-motion:reduce){.portrait-camera{will-change:auto}}

/* Black music banner with white lettering and controls. */
.ambient-player{background:#000;color:#fff;border-bottom:1px solid #292929;backdrop-filter:none}
.ambient-artist,.ambient-full,.ambient-top button{color:#fff}
.ambient-top button:hover{background:#ffffff18}
.ambient-player :is(a,button):focus-visible{box-shadow:0 3px 0 0 #fff!important}

.portrait-reveal{height:100svh;pointer-events:none}

/* Minimal video control: white play icon only. */
.video-button .play{width:60px;height:60px;padding:0;justify-content:center;background:none;border:0;border-radius:0;color:#fff;box-shadow:none;filter:drop-shadow(0 1px 5px #0008)}
.video-button .play svg{width:48px;height:48px}

/* Give the vertical performance room to fill the player without cropping controls. */
.video-stage.portrait-playing{aspect-ratio:9/16;height:auto;background:#000}

.video-stage.portrait-preview:not(.portrait-playing){aspect-ratio:1}
.video-stage.portrait-preview:not(.portrait-playing) .video-thumbnail{transform:scale(1.28)}

/* Show details stay quiet on the page and open a compact, readable event sheet. */
.show-details-button{border:0;background:none;color:var(--ink);font:14px/1.4 Arial,sans-serif;padding:10px 18px;min-height:44px;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.show-details-button:hover{color:var(--rust)}
html.show-modal-open{overflow:hidden}
.show-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:42px 32px 24px;border:1px solid #d3d2c6;background:#fffdf7;color:#302f29;box-shadow:0 18px 70px #0004;text-align:center;overflow:auto;overscroll-behavior:contain}
.show-dialog::backdrop{background:#151a16a8;backdrop-filter:blur(5px)}
.show-close{position:absolute;top:6px;right:6px;border:0;background:none;width:44px;height:44px;font:28px/1 Arial,sans-serif;color:#52604d;cursor:pointer}
.show-eyebrow{margin:0 0 17px;text-transform:uppercase;font:11px/1.4 Arial,sans-serif;letter-spacing:.16em;color:#6b715f}
.show-dialog .show-venue{font:italic 36px/1.12 Georgia,serif;margin:0 0 20px;letter-spacing:-.6px}
.show-date{font:18px/1.4 Georgia,serif;color:#934d3c;margin:0 0 4px}
.show-time{font:14px/1.5 Arial,sans-serif;margin:0}
.show-address{font:14px/1.6 Arial,sans-serif;color:#6a6c62;margin:14px auto 0;max-width:300px}
.show-notes{font:14px/1.6 Arial,sans-serif}
.show-admission{padding:22px 0 24px}
.show-ticket{display:inline-block;padding:11px 26px;background:#3e4f3a;color:#fffdf7;text-decoration:none;font:15px/1.5 Arial,sans-serif}
.show-ticket:hover{background:#30432c;color:#fff}
.show-ticket-note{margin:0;font:italic 17px/1.5 Georgia,serif;color:#52604d}
.show-venue-link{display:block;width:fit-content;margin:10px auto 0;font:12px/1.7 Arial,sans-serif;color:#6a6c62}
.show-dialog .show-options{margin:0;border-top:1px solid #d3d2c6;color:inherit;text-align:left}
.show-options summary{position:relative;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:56px;gap:15px;font:italic 22px/1.2 Georgia,serif}
.show-options summary::-webkit-details-marker{display:none}
.show-options summary:after{content:'+';font:22px/1 Arial,sans-serif;color:#6a6c62}
.show-options[open] summary:after{content:'−'}
.show-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px 0 20px}
.show-map-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
.show-map-choices .show-choice{font-size:12px;padding-inline:4px;white-space:nowrap}
.show-choice{display:flex;align-items:center;justify-content:center;min-height:50px;padding:10px 8px;border:1px solid #d8ddcf;border-radius:3px;background:#f4f5ed;color:#44533c;text-align:center;text-decoration:none;font:13px/1.3 Arial,sans-serif;transition:background .15s,border-color .15s}
.show-choice:hover{background:#e7ecdF;border-color:#9ca992;color:#30432c}
.show-calendar-note{margin:0 0 17px;font:11px/1.6 Arial,sans-serif;color:#73766b}
@media(max-width:480px){.show-dialog{padding:38px 23px 18px}.show-dialog .show-venue{font-size:32px}.show-date{font-size:17px}.show-choice{font-size:13px}}


.release-option small{font-size:11px;opacity:.7}

img[src$="soundcloud-official.webp"]{background:#ff5500;border-radius:50%;object-fit:contain}

.release-option img[src$="youtube.png"]{transform:scale(1.65)}
