
/* ThorBo Music World – music first, original navy / orange identity */
:root{--bg:#0c1021;--panel:#141c34;--text:#f5f3ed;--muted:#aeb5cb;--accent:#ff884d;--lilac:#c1bdff;--line:rgba(206,214,255,.15);--maxw:1240px}
body{background:radial-gradient(ellipse at 85% 0%,#242344 0,transparent 42%),var(--bg);font-size:16px}
.wrap{padding-inline:32px}.top{background:rgba(12,16,33,.95)}.top .wrap{height:80px}.mark{font-size:20px}.dot{width:13px;height:13px;border-radius:3px;transform:rotate(-12deg)}
.nav{align-items:center;gap:24px}.nav a{font-size:14px}.nav a[aria-current=page]{color:var(--accent)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--text);padding:8px 12px;border-radius:7px;font:inherit}
.skip{position:absolute;left:12px;top:-100px;padding:10px;background:var(--accent);color:var(--bg);z-index:99}.skip:focus{top:12px}
.hero-v2{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding:72px 0 56px;min-height:620px}
.eyebrow{font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 22px}
.hero-v2 h1{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:clamp(44px,5.6vw,76px);line-height:1.02;letter-spacing:-.045em;margin:0 0 26px;font-weight:800}.hero-v2 h1 em{font-style:normal;color:var(--accent)}
.hero-v2 .lead{color:var(--muted);max-width:48ch;font-size:18px;line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;gap:12px;align-items:center;justify-content:center;background:var(--accent);color:#111525;border:1px solid var(--accent);border-radius:8px;padding:12px 20px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.button:hover{background:#ffa273}.button.secondary{background:transparent;color:var(--text);border-color:var(--line)}.button.secondary:hover{border-color:var(--accent)}
.hero-note{font-size:12px;color:var(--muted);margin:22px 0 0}.hero-note a{color:var(--lilac);text-underline-offset:4px}
.portrait-stage{display:grid;grid-template-columns:1.25fr .8fr;gap:14px;align-items:center;position:relative}.portrait-stage:before{content:'';position:absolute;inset:6% 10%;background:#aa683736;filter:blur(65px);pointer-events:none}.portrait-stage a{position:relative;text-decoration:none;display:block;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:var(--panel)}.portrait-stage a:first-child{grid-row:1 / 3;transform:rotate(-3deg)}.portrait-stage a:nth-child(2){transform:rotate(4deg);margin-top:-6px}.portrait-stage a:nth-child(3){transform:rotate(3deg);margin-bottom:-6px}.portrait-stage img{width:100%;aspect-ratio:1;display:block;object-fit:cover}.portrait-stage .portrait-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#080c1bf0);padding:32px 15px 12px;font-weight:600}.portrait-label small{display:block;color:#d6d9e5;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.08em}.portrait-stage a:first-child img{aspect-ratio:.72}.portrait-stage a:hover{border-color:var(--accent)}
.genre-strip{display:flex;gap:22px;flex-wrap:wrap;padding:21px 0;border-block:1px solid var(--line);color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.genre-strip span:first-child{color:var(--accent)}
section{padding-top:62px}.sec-head{border:0;margin-bottom:23px;padding:0;align-items:center}.sec-head h2{font-size:28px;font-weight:800}.sec-head span{font-size:13px}.text-link{color:var(--accent);font-size:14px;text-underline-offset:5px}
.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.release-card{padding:18px;background:linear-gradient(140deg,#1e2841,#141b2f);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:10px;min-height:178px;text-decoration:none}.release-card:hover{border-color:var(--accent);transform:translateY(-2px)}.release-card small{color:var(--lilac);font-size:12px}.release-card strong{font-size:20px;line-height:1.25;font-family:'Bricolage Grotesque',system-ui,sans-serif}.release-card .release-open{margin-top:auto;font-size:12px;color:var(--accent);padding-top:10px}.section-note{font-size:13px;color:var(--muted);margin:15px 0 0}
.artist-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 18px}.artist-tile{text-decoration:none;min-width:0;display:block}.artist-tile .thumb,.artist-tile .ph{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:9px;display:flex;font-size:35px}.artist-tile:hover img{outline:2px solid var(--accent);outline-offset:3px}.artist-tile h3{font-size:17px;margin:12px 0 3px;font-family:'Bricolage Grotesque',system-ui,sans-serif;line-height:1.2}.artist-tile p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.artist-tile .tag{font-size:10px;color:var(--lilac);display:block;margin-top:7px;text-transform:uppercase;letter-spacing:.07em}
.extras{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:62px}.extra-panel{padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.extra-panel h2{font-size:25px;margin:0 0 12px}.extra-panel p{font-size:14px;color:var(--muted)}.extra-panel .button{margin-top:8px;font-size:13px}
.transparency{padding:28px 0;margin-top:45px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:30px}.transparency h2{font-size:17px;margin:0}.transparency p{font-size:14px;color:var(--muted);margin:0}.transparency a{color:var(--accent)}
.artist{grid-template-columns:290px minmax(0,1fr);gap:55px;padding-top:12px}.cover{border:1px solid var(--line);border-radius:12px}.artist h1{font-size:clamp(36px,5vw,60px)}.links a{border-radius:7px;background:#1b2640}.links li:first-child a{border-color:var(--accent);color:var(--accent)}.notice{font-size:13px;background:#151c30;padding:18px 20px;border-radius:0 8px 8px 0}.rel h2{font-size:23px}.rel li a span:last-child{opacity:1}.rel li a{padding:15px 0}.more{border-radius:7px}.back{margin-top:30px}
.catalog-intro{max-width:67ch;color:var(--muted)}.catalog-title{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:clamp(35px,6vw,58px);line-height:1.05;margin:18px 0}.catalog-tools{display:grid;grid-template-columns:1fr 260px;gap:18px;margin:28px 0}.catalog-tools label,.release-search label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:7px}.catalog-tools input,.catalog-tools select,.release-search input{width:100%;background:#151e34;color:var(--text);border:1px solid #65708b;border-radius:7px;padding:13px 15px;font:inherit;min-height:48px}.release-search{margin-top:18px}.catalog-count{color:var(--muted);font-size:13px;margin:15px 0}.catalog-list{list-style:none;margin:0;padding:0}.catalog-list li{border-bottom:1px solid var(--line)}.catalog-list a{display:flex;align-items:center;gap:16px;text-decoration:none;padding:17px 0}.catalog-list .song-index{font-size:12px;color:var(--muted);min-width:28px;font-variant-numeric:tabular-nums}.catalog-list .song-text{flex:1;min-width:0}.catalog-list strong{display:block;font-weight:500;font-size:17px;overflow-wrap:anywhere}.catalog-list small{display:block;color:var(--muted);font-size:12px}.catalog-list .song-go{font-size:12px;color:var(--accent)}.catalog-list a:hover strong{color:var(--accent)}.catalog-empty{padding:32px 0;color:var(--muted)}[hidden]{display:none!important}
footer{margin-top:65px;background:#0a0e1b;padding:38px 0}.prose{padding-bottom:25px}.prose p{color:var(--muted)}.noscript{padding:25px;color:var(--text);border:1px solid var(--accent);margin:20px}.footer-brand{font-size:23px;color:var(--text);font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800}
.portrait-stage img{height:auto}
@media(min-width:1100px){.top .wrap{gap:32px}}
@media(max-width:1000px){.hero-v2{gap:34px;min-height:550px}.artist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nav{gap:15px}.mark{font-size:17px}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{padding-inline:20px}.top .wrap{height:68px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;background:#10172a;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:12px 0}.nav a.lang{align-self:flex-start;padding:5px 13px;margin-top:8px}.hero-v2{grid-template-columns:1fr;gap:38px;padding:42px 0 35px}.hero-v2 h1{font-size:clamp(43px,9vw,65px)}.hero-v2 .lead{font-size:16px}.portrait-stage{max-width:460px;margin:0 auto;width:100%;gap:12px;padding:8px}.portrait-stage a:first-child img{aspect-ratio:.93}.portrait-stage a:nth-child(n+2) img{aspect-ratio:1.5}.genre-strip{gap:13px;font-size:10px}.artist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.sec-head{align-items:flex-start;gap:8px}.sec-head h2{font-size:25px}.artist{grid-template-columns:1fr;gap:25px}.artist>div:first-child{max-width:340px}.extras{grid-template-columns:1fr}.transparency{grid-template-columns:1fr;gap:12px}.catalog-tools{grid-template-columns:1fr;gap:12px}.catalog-list .song-go{font-size:0}.catalog-list .song-go:after{content:'↗';font-size:20px}.catalog-list strong{font-size:16px}.rel h2{flex-wrap:wrap}.featured-grid{gap:10px}.release-card{padding:15px;min-height:180px}.release-card strong{font-size:18px}.hero-actions .button{padding-inline:16px}.book{grid-template-columns:75px minmax(0,1fr)}.book img{max-width:75px}.book .links{gap:7px}.book .links a{padding:8px;font-size:12px}footer .cols{gap:20px}footer .cols>div:first-child{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transform:none!important}}

/* Performance and keyboard/touch improvements, 30 October 2026. */
#app{scroll-margin-top:90px}
footer .cols>div:nth-child(2) a{display:inline-flex;align-items:center;min-height:28px;padding-block:3px}
