*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#0c0d0d;color:#f2f2ed;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b9f348;outline-offset:4px}.skip{position:absolute;left:20px;top:-80px;background:#b9f348;color:#000;padding:10px;z-index:20}.skip:focus{top:10px}header{display:flex;justify-content:space-between;align-items:center;padding:18px 5%;border-bottom:1px solid #292b2a;background:#0c0d0df5;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:14px;line-height:1.3;letter-spacing:1px}.brand img{width:46px;height:46px;object-fit:cover}.brand small{display:block;font-size:10px;color:#a5a9a5;letter-spacing:3px}nav{display:flex;gap:26px;font-size:13px}nav a:hover,nav a.active{color:#b9f348}#menu{display:none}main>section{padding:88px 7%;max-width:1600px;margin:auto}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;padding-top:65px;padding-bottom:60px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#b5bcb4;margin:0 0 22px}.dot{display:inline-block;width:7px;height:7px;background:#b9f348;border-radius:50%;margin-right:8px}h1{font-size:clamp(44px,6.6vw,100px);font-weight:900;letter-spacing:-5px;line-height:.98;margin:0 0 30px}em{font-style:normal;color:#b9f348}.intro{font-size:18px;color:#b7bbb6;max-width:440px}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:30px 0}.button{display:inline-block;background:#b9f348;color:#12160b;border:0;padding:14px 22px;font-weight:700;font-size:14px;border-radius:2px}.button:hover{background:#d1ff77}.textlink{font-size:13px;border:0;background:transparent;color:inherit;padding:0}.micro{font-size:16px;line-height:20px;margin-bottom:9px;letter-spacing:2px;color:#737c74;margin-top:35px}.hero-art{position:relative;text-align:center}.hero-art img{width:100%;max-height:540px;object-fit:contain}.art-caption{font-size:10px;letter-spacing:4px;color:#a9b0a7}.ticker{overflow:hidden;white-space:nowrap;border-block:1px solid #30352d;padding:17px 0;font-size:13px;font-weight:800;letter-spacing:3px;color:#b9f348}.ticker span{padding:0 35px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-head p:last-child{color:#a7afa6;font-size:14px}h2{font-size:clamp(32px,4vw,55px);line-height:1.05;letter-spacing:-2px;margin:0 0 25px}.section-head h2{margin:0}.filters{background:#151817;padding:22px;border:1px solid #30352f}label{display:block;font-size:11px;font-weight:700;letter-spacing:1px;color:#b5bdb4}input,select,textarea{display:block;width:100%;background:#0d100e;color:#e9eee7;border:1px solid #3d443b;border-radius:2px;padding:11px;margin-top:7px;font-size:14px;letter-spacing:0}input::placeholder{color:#919a8e}.filter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:16px}.results-bar{display:flex;justify-content:space-between;margin:20px 0;font-size:12px;color:#aab3a6}.records{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.record{background:#131614;border:1px solid #2e342b}.cover{height:270px;position:relative;overflow:hidden;padding:25px;background:repeating-linear-gradient(120deg,transparent 0 21px,#0003 22px 23px),radial-gradient(ellipse at top right,#636936,transparent 70%),#b3db47;color:#10160b}.cover.blue{background:repeating-linear-gradient(120deg,transparent 0 21px,#0003 22px 23px),radial-gradient(ellipse at top right,#175768,transparent 70%),#6cc4d7}.cover.silver{background:repeating-linear-gradient(120deg,transparent 0 21px,#0003 22px 23px),radial-gradient(ellipse at top right,#60625b,transparent 70%),#b4b9af}.cover:after{content:"";position:absolute;inset:0;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.cover-top{font-size:10px;font-weight:900;letter-spacing:2px;display:flex;justify-content:space-between}.cover h3{font-size:clamp(32px,3.6vw,53px);line-height:.95;letter-spacing:-2px;text-transform:uppercase;max-width:210px;transform:rotate(-4deg);margin:35px 0 25px;font-weight:900}.tape{border:2px solid currentColor;border-radius:5px;height:45px;width:140px;display:flex;justify-content:space-around;align-items:center;transform:rotate(-4deg)}.tape i{border:6px solid currentColor;border-radius:50%;height:25px;width:25px}.record-info{padding:23px}.record-info h3{margin:5px 0 14px;font-size:24px;letter-spacing:-.5px}.record-info .eyebrow{margin:0;color:#b9f348}.pending{font-size:11px;color:#b1b8ae}.record-info button{margin-top:15px;text-align:left;background:transparent;color:white;border:0;border-top:1px solid #394033;width:100%;padding:15px 0 0;font-size:13px}.note{font-size:12px;color:#a0a99c;line-height:1.7;margin-top:22px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid #30352f}.split p,.live p,.contact p{max-width:460px;color:#b6beb2}.badge{display:inline-block;font-size:10px;letter-spacing:1.5px;border:1px solid #4e5944;padding:8px 13px;margin-top:15px;color:#b9f348}.session-art{border:1px solid #36422c;padding:35px;display:flex;flex-direction:column;justify-content:center;min-height:300px;background:repeating-linear-gradient(0deg,#b9f34805 0 1px,transparent 1px 8px);transform:rotate(2deg)}.session-art>span{font-size:70px;font-weight:900;line-height:1;color:#b9f348}.session-art strong{font-size:42px;letter-spacing:-2px}.wave{color:#b9f348;font-size:30px;white-space:nowrap;overflow:hidden}.session-art small{font-size:9px;letter-spacing:3px}.live{display:flex;justify-content:space-between;align-items:center;background:#101c20;border-block:1px solid #24434d}.live em{color:#65d3fa}.live-mark{font-size:160px;font-weight:900;letter-spacing:-15px;color:#65d3fa;transform:rotate(-8deg)}.live-mark span{display:block;font-size:11px;letter-spacing:5px;text-align:center}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:60px;color:#b6beb2}.contact{border-top:1px solid #30352f;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact form{display:grid;gap:16px}#copy,#close-detail{background:#242d20;color:#eef5e6;border:1px solid #546447;padding:9px 15px}footer{padding:30px 7%;border-top:1px solid #30352f;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#a9b2a3}footer span{letter-spacing:2px}dialog{background:#151b15;color:#f2f2ed;border:1px solid #60744c;max-width:560px;width:90%;padding:30px}dialog::backdrop{background:#000b}#close-detail{float:right}dialog dl{display:grid;grid-template-columns:100px 1fr;gap:8px;font-size:14px}dialog dd{margin:0;color:#b4bfae}.empty{grid-column:1/-1;border:1px dashed #5c6c50;padding:35px;text-align:center} @media(max-width:900px){nav{gap:14px;font-size:11px}.hero{grid-template-columns:1.3fr 1fr}h1{letter-spacing:-3px}.records{gap:15px}.cover{padding:18px;height:230px}.split,.contact{gap:35px}.live-mark{font-size:110px}}@media(max-width:650px){header{padding:12px 5%;flex-wrap:wrap}#menu{display:block;background:none;border:1px solid #47513f;color:white;padding:7px 12px;font-size:12px}nav{display:none;width:100%;padding-top:20px;flex-direction:column;font-size:15px;gap:16px}nav.open{display:flex}main>section{padding:55px 6%}.hero{grid-template-columns:1fr;gap:0}.hero-art{order:-1}.hero-art img{height:230px}.art-caption{display:none}.hero h1{font-size:clamp(42px,12vw,70px);margin-top:15px}.hero .eyebrow{font-size:8px;margin-top:9.6px;margin-bottom:17.6px}.intro{font-size:16px}.actions{gap:20px}.micro{font-size:12px;line-height:16px;margin-bottom:8px}.section-head{display:block}.section-head p:last-child{margin-top:18px}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid label:last-child{grid-column:1/-1}.filters{padding:16px}.records{grid-template-columns:1fr}.cover{height:270px}.cover h3{font-size:52px}.split,.contact,.about-copy{grid-template-columns:1fr;gap:30px}.session-art{min-height:250px}.live-mark{display:none}footer{align-items:start;flex-direction:column}.ticker{font-size:10px}h2{letter-spacing:-1px}html{scroll-padding-top:85px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.archive-cover{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#000}.record-info .release-meta{color:#b6beb2;font-size:13px}

.guest-sessions{border-top:1px solid #30352f}

/* Original Deeper In Sound artwork: preserve complete compositions. */
.live-collection{display:block}.live-collection .section-head p{max-width:none}.live-banner{display:block;width:100%;height:auto;border:1px solid #465049}.live-intro{margin:26px 0!important;max-width:none!important}.live-recordings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.live-cover{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}.live-recordings .record-info>p:not(.eyebrow){font-size:13px}.live-recordings .record-info .eyebrow{color:#b9f348}.live-recordings .record-info .pending{color:#b1b8ae}@media(max-width:650px){.live-recordings{grid-template-columns:1fr;gap:24px}.live-collection .section-head p{font-size:13px}}

.record-info .archive-listen{display:block;margin-top:16px;text-align:center}

.record-details{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px;text-align:left}.record-details th,.record-details td{padding:12px 10px;border-bottom:1px solid #394033;vertical-align:top;overflow-wrap:anywhere}.record-details thead th{color:#b9f348;font-size:12px;letter-spacing:1px}.record-details tbody th{width:28%;font-weight:600}.record-details td{color:#b4bfae}.record-details tbody tr:nth-child(5) th,.record-details tbody tr:nth-child(5) td{font-weight:700;color:#f2f2ed}

.record-about{margin:24px 0}.record-about h3{font-size:16px;margin:0 0 10px;color:#b9f348}.record-about p{font-size:14px;line-height:1.7;color:#b4bfae;margin:0}

/* Mobile recording details: fixed close row and independently scrolling content. */
@media (max-width:650px){
  #detail[open]{
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    gap:12px;
    padding:16px;
    max-height:calc(100vh - 32px);
    max-height:calc(100dvh - 32px);
    overflow:hidden;
  }
  #detail #close-detail{
    float:none;
    justify-self:end;
    min-width:44px;
    min-height:44px;
  }
  #detail #detail-content{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    padding:4px;
  }
  #detail .record-details{table-layout:fixed}
  #detail .record-details th,#detail .record-details td{padding:10px 6px}
  #detail .record-details th:first-child{
    width:100px;
    white-space:nowrap;
    overflow-wrap:normal;
  }
  #detail .record-details thead th{font-size:12px;letter-spacing:.3px}
}

.ticker .ticker-phrase{padding:0}
@media(max-width:650px){
  .ticker{white-space:normal;text-align:center;padding-inline:16px}
  .ticker .ticker-phrase{display:block;max-width:100%;white-space:normal;overflow-wrap:normal}
  .ticker>span:not(.ticker-phrase){display:block;padding:4px 0}
}

/* Desktop banner: centre the complete sequence and keep every phrase visible. */
@media(min-width:651px){
  .ticker{text-align:center;white-space:normal}
  .ticker .ticker-phrase{display:inline-block;white-space:nowrap;max-width:100%}
}

/* Artwork and on-demand Mixcloud player within recording details only. */
#detail[open]{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden}
#detail #close-detail{float:none;justify-self:end;min-width:44px;min-height:44px}
#detail #detail-content{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:4px}
.detail-artwork{display:block;width:100%;height:auto;object-fit:contain;background:#000}
.detail-player{margin:18px 0 12px;width:100%;min-width:0}
.detail-player iframe{display:block;border:0;width:100%;height:60px}

.detail-listen-heading{color:#b9f348;font-size:14px;line-height:1.6;margin:0 0 18px;letter-spacing:1px}
.detail-mixcloud-link{display:inline-block;font-size:12px}

/* Collection browsing retains the existing card grid and artwork sizes. */
[hidden]{display:none!important}
.collection-controls{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin:30px 0 0}
.collection-controls [role="status"]{font-size:12px;color:#aab3a6}
.collection-search{margin:0 0 24px}

/* Persistent official Mixcloud embed: outside collection rendering and details. */
body.has-floating-player{padding-bottom:calc(var(--floating-player-height,145px) + 20px)}
#floating-player{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#151b15;border-top:1px solid #b9f348;padding:10px max(16px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px #0008}
.floating-player-header{display:flex;align-items:center;gap:16px;max-width:1000px;margin:0 auto 8px;font-size:12px}
#floating-player-title{flex:1;min-width:0;color:#b9f348;font-weight:700;overflow-wrap:anywhere}
#floating-player-close{flex-shrink:0;min-width:44px;min-height:44px;border:1px solid #546447;background:#242d20;color:#eef5e6;font-size:18px;cursor:pointer}
#floating-player-embed{max-width:1000px;margin:auto}
#floating-player-embed iframe{display:block;width:100%;height:60px;border:0}
#floating-player .textlink{white-space:nowrap}
@media(max-width:650px){.floating-player-header{gap:10px;flex-wrap:wrap}#floating-player-title{flex-basis:calc(100% - 60px);order:0}#floating-player-close{order:1}#floating-player-details,#floating-player-link{order:2}}

/* Card listening uses the existing lime button; details remain secondary. */
.record-info .card-listen{display:block;width:100%;margin-top:16px;text-align:center;background:#b9f348;color:#12160b;border:0;padding:14px 22px;font-weight:700;font-size:14px;border-radius:2px}
.record-info .card-listen:hover{background:#d1ff77}
.record-info .card-details{font-size:13px}

/* Compact recording details: close control stays pinned outside the scroll area. */
#detail[open]{display:block}
#detail #close-detail{position:absolute;top:12px;right:12px;z-index:1}
#detail #detail-content{max-height:calc(100vh - 94px);max-height:calc(100dvh - 94px)}
#detail #detail-content>.eyebrow:first-child{padding-right:52px;margin-bottom:10px;min-height:24px}
#detail #detail-content>h2{overflow-wrap:anywhere}
@media(max-width:650px){#detail #close-detail{top:10px;right:10px}#detail #detail-content{max-height:calc(100vh - 66px);max-height:calc(100dvh - 66px)}}

/* Hidden bot-trap field; no effect on the visible contact layout. */
.contact-trap{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#contact-status:empty{display:none}

#contact-security:empty{display:none}

/* Footer typography uses the same inherited Arial/Helvetica family as navigation. */
footer{font-family:inherit;font-size:12px;line-height:1.5;letter-spacing:.4px;font-weight:500}
footer .brand{font-family:inherit;font-size:14px;line-height:1.5;font-weight:700;letter-spacing:.6px;gap:.35em;flex-wrap:wrap}
footer .brand small{display:inline;font:inherit;letter-spacing:inherit;color:inherit}
footer>span{font-weight:600;letter-spacing:.6px}
footer>a:not(.brand){font-family:inherit;font-size:inherit;font-weight:500;letter-spacing:inherit}
@media(max-width:650px){footer .brand{font-size:13px}footer{font-size:11px}}

/* Understated archive notice, within About; footer retains three desktop groups. */
.archive-copyright{margin-top:48px;padding-top:28px;border-top:1px solid #30352f;scroll-margin-top:110px;max-width:960px;color:#a9b2a3}
.archive-copyright h3{font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.6px;line-height:1.5;margin:0 0 16px}
.archive-copyright p{font-size:14px;line-height:1.7;margin:0 0 12px}
.archive-copyright p:last-child{margin-bottom:0}
.archive-copyright a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.archive-copyright a:hover,.footer-links a:hover{color:#b9f348}
.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font:inherit;letter-spacing:inherit}
@media(max-width:650px){.archive-copyright{margin-top:32px;padding-top:24px;scroll-margin-top:95px}.footer-links{align-items:flex-start}}

/* Phone/tablet usability only. Desktop (1025px and wider) remains unchanged. */
@media(max-width:1024px){
 input,select,textarea{font-size:16px;min-height:44px;max-width:100%}
 .filter-grid>*{min-width:0}
 .record,.record-info,.about-copy>div,.contact>div,.contact form{min-width:0}
 .record-info h3,.record-about p,.about-copy p,.contact p{overflow-wrap:anywhere}
 #menu{min-height:44px;min-width:70px}
 .record-info .card-details{min-height:44px;padding-bottom:10px}
 #reset{min-height:44px;padding-block:10px}
 #floating-player-details,#floating-player-link,.detail-mixcloud-link,.footer-links a{min-height:44px;display:inline-flex;align-items:center}
 .floating-player-header{row-gap:4px}
 .contact input,.contact select,.contact textarea{min-width:0}
 #detail-content{touch-action:pan-y}
}
@media(min-width:651px) and (max-width:1024px){
 .records{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 nav a{display:inline-flex;align-items:center;min-height:44px}
}
@media(min-width:651px) and (max-width:900px){
 header{flex-wrap:wrap}
 #menu{display:block;background:none;border:1px solid #47513f;color:white;padding:7px 12px;font-size:12px}
 nav{display:none;width:100%;padding-top:12px;flex-direction:column;font-size:15px;gap:4px}
 nav.open{display:flex}
 .contact{grid-template-columns:1fr;gap:30px}
}
@media(max-width:900px){
 nav.open{max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
 nav a{display:flex;align-items:center;min-height:44px}
 #menu[aria-expanded="true"]{border-color:#b9f348}
}
@media(max-width:650px){
 nav{gap:4px;padding-top:12px}
 .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact .button{min-height:48px}
 .floating-player-header{column-gap:12px}
}
