/* Shared artist renderer: templates vary by composition, hierarchy, type and palette. */
.artist-site { min-height:100vh; background:var(--artist-bg); color:var(--artist-fg); font:16px/1.6 Arial,sans-serif; overflow:hidden; }
.artist-site *, .artist-site *::before, .artist-site *::after { box-sizing:border-box; }
body:has(> .artist-site) { margin:0; }
.artist-site a { color:inherit; text-decoration:none; }
.artist-site a:focus-visible { outline:3px solid var(--artist-accent); outline-offset:5px; }
.artist-site h1,.artist-site h2,.artist-site h3,.artist-site p { margin:0; }
.artist-site h1 { font-size:clamp(48px,8vw,120px); line-height:.98; letter-spacing:-.065em; overflow-wrap:anywhere; }
.artist-site h2 { font-size:clamp(30px,4vw,54px); line-height:1.1; letter-spacing:-.045em; margin-bottom:30px; }
.artist-site h3 { font-size:22px; line-height:1.3; }
.artist-nav { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 5vw; border-bottom:1px solid color-mix(in srgb,var(--artist-fg) 20%,transparent); }
.artist-brand { display:flex; align-items:center; gap:12px; font-weight:700; }
.artist-brand img { width:44px; height:44px; object-fit:contain; }
.artist-nav > div { display:flex; gap:24px; font-size:13px; }
.artist-hero { position:relative; min-height:650px; isolation:isolate; display:grid; align-items:center; padding:80px 7vw; }
.artist-intro { position:relative; z-index:2; max-width:850px; }
.artist-kicker { text-transform:uppercase; font:11px/1.6 'Courier New',monospace; letter-spacing:.16em; margin-bottom:22px!important; }
.artist-tagline { font-size:clamp(18px,2vw,26px); max-width:650px; margin-top:25px!important; }
.artist-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.artist-button { display:inline-flex; justify-content:center; align-items:center; padding:12px 20px; color:var(--artist-accent-fg)!important; background:var(--artist-accent); font:700 13px/1.5 Arial,sans-serif; }
.artist-button.secondary { background:transparent; color:var(--artist-fg)!important; border:1px solid currentColor; }
.artist-visual { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.artist-visual > img { width:100%; height:100%; object-fit:cover; }
.artist-art { width:100%; height:100%; display:flex; align-items:center; justify-content:center; gap:3%; background:radial-gradient(ellipse at 80% 20%,color-mix(in srgb,var(--artist-accent) 45%,var(--artist-bg)),var(--artist-bg) 70%); }
.artist-art > span { display:block; width:6%; height:30%; border-radius:100px; background:var(--artist-accent); opacity:.65; transform:rotate(-18deg); }
.artist-art > span:nth-child(2), .artist-art > span:nth-child(6) { height:50%; }
.artist-art > span:nth-child(3), .artist-art > span:nth-child(5) { height:70%; }
.artist-art > span:nth-child(4) { height:90%; }
.artist-hero-note { position:absolute; bottom:25px; left:7vw; font:10px monospace; letter-spacing:.15em; }
.artist-sections { max-width:1280px; padding:0 6vw; margin:auto; }
.artist-section { padding:70px 0; border-bottom:1px solid color-mix(in srgb,var(--artist-fg) 20%,transparent); scroll-margin-top:20px; }
.artist-biography { white-space:pre-line; max-width:850px; font-size:20px; line-height:1.8; overflow-wrap:anywhere; }
.release-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.release-card img,.release-art { width:100%; aspect-ratio:1; object-fit:cover; margin-bottom:20px; }
.release-art { display:grid; place-items:center; background:var(--artist-accent); color:var(--artist-accent-fg); font-size:100px; }
.release-card p,.member-grid p,.concert-row p { opacity:.9; margin:8px 0 15px; }
.artist-links { display:flex; flex-wrap:wrap; gap:18px; }
.artist-links a { text-decoration:underline; text-underline-offset:5px; font-size:14px; }
.concert-row { display:grid; grid-template-columns:150px 1fr auto; align-items:center; gap:20px; padding:24px 0; border-top:1px solid color-mix(in srgb,var(--artist-fg) 20%,transparent); }
.concert-row small { display:block; opacity:.9; font-size:11px; }
.member-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.artist-footer { display:flex; justify-content:space-between; gap:20px; padding:36px 6vw; font-size:12px; }
.type-serif h1,.type-serif h2,.type-serif .thumbnail-title { font-family:Georgia,serif; font-weight:400; letter-spacing:-.05em; }
.type-mono { font-family:'Courier New',monospace; }
.type-mono h1,.type-mono h2,.type-mono .thumbnail-title { letter-spacing:-.055em; font-weight:400; }
/* Immersive: full bleed visual with a protected text panel. */
.layout-spotlight .artist-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--artist-bg),color-mix(in srgb,var(--artist-bg) 80%,transparent) 50%,transparent); }
.layout-spotlight .artist-art { padding-left:45%; }
.layout-spotlight .artist-intro { max-width:65%; padding:28px; background:var(--artist-bg); }
/* Portrait: text and image side by side. */
.layout-split .artist-hero { grid-template-columns:1fr 1fr; gap:5%; padding:65px 6vw; }
.layout-split .artist-visual { position:relative; inset:auto; z-index:0; aspect-ratio:4/5; grid-column:2; grid-row:1; }
.layout-split .artist-intro { grid-column:1; grid-row:1; }
.layout-split h1 { font-size:clamp(44px,6vw,88px); }
.layout-split .artist-hero-note { display:none; }
/* Concert poster: bold centered type over a framed graphic. */
.layout-poster .artist-hero { text-align:center; padding:70px 8vw 100px; }
.layout-poster .artist-intro { max-width:none; }
.layout-poster h1 { text-transform:uppercase; font-size:clamp(65px,12vw,175px); font-weight:900; }
.layout-poster .artist-tagline { margin-left:auto; margin-right:auto; }
.layout-poster .artist-hero-actions { justify-content:center; }
.layout-poster .artist-visual { inset:25px; opacity:.15; border:2px solid var(--artist-fg); }
.layout-poster .artist-art { transform:rotate(15deg) scale(1.3); }
.layout-poster .artist-hero-note { right:0; left:0; }
.layout-poster .artist-section h2 { text-transform:uppercase; font-weight:900; }
/* Magazine: inset photograph and asymmetrical headline. */
.layout-editorial .artist-hero { grid-template-columns:1.15fr 1fr; gap:5%; padding:60px 6vw; min-height:580px; border-bottom:1px solid currentColor; }
.layout-editorial .artist-visual { position:relative; inset:auto; grid-column:2; grid-row:1; z-index:0; aspect-ratio:1; border-radius:50% 50% 0 0; }
.layout-editorial .artist-intro { grid-column:1; grid-row:1; }
.layout-editorial h1 { font-size:clamp(52px,7vw,105px); }
.layout-editorial .artist-hero-note { display:none; }
.layout-editorial .biography { display:grid; grid-template-columns:1fr 1.3fr; gap:20px 40px; }
.layout-editorial .biography .artist-kicker { grid-column:1/-1; }
.layout-editorial .release-grid { gap:45px; }
/* Minimal: quiet column with a compact art mark. */
.layout-minimal .artist-nav { max-width:1100px; margin:auto; }
.layout-minimal .artist-hero { min-height:540px; max-width:1000px; margin:auto; padding:90px 6vw; }
.layout-minimal .artist-intro { max-width:75%; }
.layout-minimal h1 { font-size:clamp(42px,6vw,80px); }
.layout-minimal .artist-visual { inset:85px 6vw auto auto; width:16%; height:120px; z-index:0; }
.layout-minimal .artist-art { border-radius:50%; }
.layout-minimal .artist-hero-note { display:none; }
.layout-minimal .artist-sections { max-width:1000px; }
.layout-minimal .artist-button { background:transparent; color:var(--artist-fg)!important; border-bottom:1px solid; padding-left:0; padding-right:0; }
/* Stage: panoramic visual above a boxed programme. */
.layout-stage .artist-hero { padding:330px 6vw 65px; min-height:650px; }
.layout-stage .artist-visual { bottom:auto; height:340px; }
.layout-stage .artist-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent,var(--artist-bg)); }
.layout-stage .artist-intro { padding:35px; background:var(--artist-bg); border-left:6px solid var(--artist-accent); }
.layout-stage .artist-hero-note { display:none; }
.layout-stage .concert-row { padding:25px; margin:12px 0; background:color-mix(in srgb,var(--artist-fg) 7%,var(--artist-bg)); border:0; }

/* Type is part of each design, independent from its palette. */
.type-condensed h1,.type-condensed h2 { font-family:Impact,'Arial Narrow',sans-serif; font-weight:400; letter-spacing:-.025em; }
.type-rounded { font-family:'Trebuchet MS',Arial,sans-serif; }
.type-rounded h1,.type-rounded h2 { letter-spacing:-.045em; }
.type-humanist { font-family:'Segoe UI',Verdana,sans-serif; }
.type-humanist h1 { font-weight:300; letter-spacing:-.065em; }
.type-slab h1,.type-slab h2 { font-family:Rockwell,'Courier New',serif; font-weight:700; letter-spacing:-.06em; }
.artist-feature { position:relative; z-index:3; display:flex; flex-direction:column; gap:10px; padding:24px; border:1px solid var(--artist-accent); background:var(--artist-bg); max-width:420px; }
.artist-feature .artist-kicker { margin-bottom:0!important; }
.artist-feature strong { font-size:25px; }
.artist-feature .artist-button { align-self:start; }
/* 02 — Horizon: headline above a panoramic strip, lower content in paired columns. */
.layout-horizon .artist-hero { display:flex; flex-direction:column-reverse; padding:50px 5vw 0; gap:40px; text-align:center; min-height:0; }
.layout-horizon .artist-intro { max-width:900px; }
.layout-horizon .artist-hero-actions { justify-content:center; }
.layout-horizon .artist-visual { position:relative; inset:auto; z-index:0; height:260px; width:100%; border-radius:180px 180px 0 0; }
.layout-horizon h1 { font-size:clamp(50px,7vw,95px); }
.layout-horizon .artist-hero-note { display:none; }
.layout-horizon .artist-sections { display:grid; grid-template-columns:1fr 1fr; gap:0 45px; }
.layout-horizon #concerts,.layout-horizon #social-links { grid-column:1/-1; }
.layout-horizon .release-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
/* 03 — Orbit: a navigation rail, circular portrait and rounded discography. */
.layout-orbit { padding-right:90px; }
.layout-orbit .artist-nav { position:fixed; z-index:5; right:0; top:0; width:90px; height:100vh; padding:25px 10px; flex-direction:column; background:var(--artist-bg); border-left:1px solid var(--artist-accent); }
.layout-orbit .artist-brand { writing-mode:vertical-rl; }
.layout-orbit .artist-nav > div { flex-direction:column; writing-mode:vertical-rl; gap:35px; }
.layout-orbit .artist-hero { grid-template-columns:1fr 1fr; gap:40px; min-height:680px; }
.layout-orbit .artist-visual { position:relative; inset:auto; z-index:0; grid-column:2; grid-row:1; border-radius:50%; aspect-ratio:1; box-shadow:0 0 0 15px color-mix(in srgb,var(--artist-accent) 12%,transparent),0 0 0 35px color-mix(in srgb,var(--artist-accent) 6%,transparent); }
.layout-orbit .artist-intro { grid-column:1; grid-row:1; }
.layout-orbit h1 { font-size:clamp(46px,6vw,85px); }
.layout-orbit .release-card { padding:20px; border-radius:30px; background:color-mix(in srgb,var(--artist-accent) 8%,var(--artist-bg)); }
.layout-orbit .release-card img,.layout-orbit .release-art { border-radius:50%; }
/* 04 — Tide: broad left image with a lower right text card, horizontal release rows. */
.layout-tide .artist-hero { min-height:650px; padding:160px 5vw 50px; align-items:end; justify-items:end; }
.layout-tide .artist-visual { right:22%; bottom:60px; }
.layout-tide .artist-intro { width:56%; padding:40px; background:var(--artist-bg); border-top:4px solid var(--artist-accent); }
.layout-tide h1 { font-size:clamp(42px,6vw,88px); }
.layout-tide .artist-hero-note { display:none; }
.layout-tide .release-grid { grid-template-columns:1fr; }
.layout-tide .release-card { display:grid; grid-template-columns:160px 1fr; gap:5px 30px; padding:20px 0; border-bottom:1px solid var(--artist-accent); }
.layout-tide .release-card > img,.layout-tide .release-art { grid-row:1/4; margin:0; }
/* 05 — Hearth: an intimate framed vertical cover with its title underneath. */
.layout-hearth .artist-nav { justify-content:center; flex-direction:column; }
.layout-hearth .artist-hero { display:flex; flex-direction:column; min-height:0; gap:35px; padding:50px 15vw; text-align:center; }
.layout-hearth .artist-visual { position:relative; inset:auto; z-index:0; width:65%; height:320px; border-radius:200px 200px 0 0; border:12px solid color-mix(in srgb,var(--artist-accent) 25%,var(--artist-bg)); }
.layout-hearth h1 { font-size:clamp(42px,6vw,76px); }
.layout-hearth .artist-hero-actions { justify-content:center; }
.layout-hearth .artist-hero-note { display:none; }
.layout-hearth .artist-section { border:1px solid var(--artist-accent); padding:40px; margin:35px 0; }
.layout-hearth .member-grid { text-align:center; }
/* 06 — Studio: asymmetric release wall beneath the portrait. */
.layout-split .release-grid { grid-template-columns:1.5fr 1fr; align-items:start; }
.layout-split .release-card:first-child { grid-row:span 2; }
.layout-split .release-card:not(:first-child) { display:grid; grid-template-columns:90px 1fr; gap:5px 20px; }
.layout-split .release-card:not(:first-child) > img,.layout-split .release-card:not(:first-child) .release-art { grid-row:span 3; margin:0; font-size:45px; }
/* 07 — Blueprint: left menu, construction grid and numbered modules. */
.layout-blueprint { padding-left:210px; background-image:linear-gradient(color-mix(in srgb,var(--artist-fg) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--artist-fg) 5%,transparent) 1px,transparent 1px); background-size:40px 40px; }
.layout-blueprint .artist-nav { width:210px; position:fixed; left:0; top:0; height:100vh; z-index:5; background:var(--artist-bg); border-right:2px solid var(--artist-accent); flex-direction:column; align-items:start; justify-content:start; padding:40px 25px; }
.layout-blueprint .artist-nav > div { flex-direction:column; margin-top:40px; }
.layout-blueprint .artist-hero { grid-template-columns:1fr 1fr; gap:25px; padding:45px; min-height:540px; }
.layout-blueprint .artist-visual { position:relative; z-index:0; inset:auto; grid-row:1; grid-column:2; height:350px; border:2px solid var(--artist-accent); }
.layout-blueprint .artist-intro { grid-row:1; grid-column:1; }
.layout-blueprint h1 { font-size:clamp(38px,5vw,65px); }
.layout-blueprint .artist-sections { counter-reset:module; }
.layout-blueprint .artist-section { counter-increment:module; border:2px solid var(--artist-accent); padding:30px; margin:25px 0; }
.layout-blueprint .artist-section::before { content:'0' counter(module) ' /'; color:var(--artist-accent); display:block; margin-bottom:20px; }
.layout-blueprint .artist-hero-note { display:none; }
/* 08 — Collage: skewed left portrait and staggered paper cards. */
.layout-collage .artist-hero { grid-template-columns:1fr 1fr; gap:70px; padding:80px 8vw; }
.layout-collage .artist-visual { position:relative; inset:auto; z-index:0; grid-column:1; grid-row:1; height:400px; transform:rotate(-7deg); border:15px solid var(--artist-fg); box-shadow:15px 15px 0 var(--artist-accent); }
.layout-collage .artist-intro { grid-column:2; grid-row:1; transform:rotate(2deg); }
.layout-collage h1 { font-size:clamp(50px,6vw,90px); }
.layout-collage .release-card { padding:18px; background:color-mix(in srgb,var(--artist-accent) 12%,var(--artist-bg)); transform:rotate(-3deg); }
.layout-collage .release-card:nth-child(even) { transform:rotate(3deg); margin-top:40px; }
.layout-collage .artist-button { border-radius:40px; }
/* 09 — Botanical: oval left portrait and a quiet narrow story column. */
.layout-botanical .artist-hero { grid-template-columns:.8fr 1.2fr; gap:9%; padding:70px 9vw; }
.layout-botanical .artist-visual { position:relative; inset:auto; z-index:0; grid-column:1; grid-row:1; height:460px; border-radius:50%; }
.layout-botanical .artist-intro { grid-column:2; grid-row:1; }
.layout-botanical h1 { font-size:clamp(50px,7vw,100px); }
.layout-botanical .biography { max-width:650px; margin:auto; text-align:center; }
.layout-botanical .release-grid { gap:50px; }
.layout-botanical .release-card img,.layout-botanical .release-art { border-radius:160px 160px 0 0; }
.layout-botanical .artist-hero-note { display:none; }
/* 10 — Gallery: photographic wall, title below and full-width exhibit rows. */
.layout-gallery .artist-hero { display:flex; flex-direction:column; align-items:stretch; padding:35px 5vw; gap:25px; min-height:0; }
.layout-gallery .artist-visual { position:relative; inset:auto; z-index:0; height:380px; border:18px solid color-mix(in srgb,var(--artist-fg) 12%,var(--artist-bg)); }
.layout-gallery .artist-intro { display:grid; grid-template-columns:1.8fr 1fr; max-width:none; gap:10px 30px; align-items:center; }
.layout-gallery .artist-intro h1 { grid-column:1; grid-row:1/4; font-size:clamp(55px,7vw,100px); }
.layout-gallery .artist-kicker,.layout-gallery .artist-tagline,.layout-gallery .artist-hero-actions { grid-column:2; margin:0!important; }
.layout-gallery .artist-feature { align-self:end; flex-direction:row; max-width:none; font-size:12px; align-items:center; padding:12px 20px; }
.layout-gallery .artist-feature strong { font-size:18px; }
.layout-gallery .release-grid { grid-template-columns:1fr; }
.layout-gallery .release-card { display:grid; grid-template-columns:45% 1fr; gap:10px 40px; margin-bottom:25px; }
.layout-gallery .release-card > img,.layout-gallery .release-art { grid-row:span 3; }
.layout-gallery .artist-hero-note { display:none; }
/* 11 — Acid: concert programme built as oversized rows. */
.layout-poster .concert-row { grid-template-columns:180px 1fr auto; border-top:3px solid currentColor; }
.layout-poster .concert-row h3 { font-size:38px; text-transform:uppercase; }
/* 12 — Riot: giant heading above a side block, heavy borders and hard shadows. */
.layout-brutalist .artist-nav { border-bottom:4px solid currentColor; }
.layout-brutalist .artist-hero { padding:45px 5vw 55px; min-height:700px; align-items:start; }
.layout-brutalist .artist-intro { max-width:none; }
.layout-brutalist h1 { font-size:clamp(70px,11vw,155px); text-transform:uppercase; font-weight:900; max-width:100%; }
.layout-brutalist .artist-visual { inset:330px 5vw 40px 55%; border:5px solid var(--artist-fg); box-shadow:12px 12px 0 var(--artist-fg); }
.layout-brutalist .artist-tagline,.layout-brutalist .artist-hero-actions { max-width:43%; }
.layout-brutalist .artist-hero-note { display:none; }
.layout-brutalist .artist-section { border:4px solid currentColor; padding:35px; margin:30px 0; box-shadow:9px 9px 0 currentColor; }
.layout-brutalist .artist-button { border:3px solid var(--artist-fg); box-shadow:5px 5px 0 var(--artist-fg); }
/* 13 — Pop: central disc above the name and alternating rounded content tiles. */
.layout-pop .artist-hero { display:flex; flex-direction:column; text-align:center; padding:40px 6vw; gap:25px; min-height:0; }
.layout-pop .artist-visual { position:relative; inset:auto; z-index:0; width:280px; height:280px; border-radius:50%; box-shadow:15px 10px 0 var(--artist-accent); }
.layout-pop h1 { font-size:clamp(48px,7vw,85px); }
.layout-pop .artist-hero-actions { justify-content:center; }
.layout-pop .artist-hero-note { display:none; }
.layout-pop .artist-sections { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.layout-pop .artist-section { border:0; border-radius:45px; padding:35px; margin:15px 0; background:color-mix(in srgb,var(--artist-accent) 10%,var(--artist-bg)); }
.layout-pop #releases,.layout-pop #social-links { grid-column:1/-1; }
.layout-pop .member-grid { grid-template-columns:1fr; }
.layout-pop .artist-button { border-radius:30px; }
/* 14 — Sunray: a giant circular sun with a lower-left title and a card programme. */
.layout-sunray .artist-hero { min-height:640px; padding:180px 8vw 50px; align-items:end; }
.layout-sunray .artist-visual { inset:35px 12vw 35px auto; width:500px; height:500px; border-radius:50%; opacity:.22; }
.layout-sunray .artist-intro { max-width:850px; }
.layout-sunray h1 { font-size:clamp(52px,8vw,115px); }
.layout-sunray #concerts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.layout-sunray #concerts > h2,.layout-sunray #concerts > .artist-kicker { grid-column:1/-1; }
.layout-sunray .concert-row { display:flex; align-items:start; flex-direction:column; padding:30px; border:2px solid currentColor; border-radius:120px 120px 8px 8px; padding-top:65px; }
/* 15 — Terminal: framed screen on the left, terminal copy right, list-based music. */
.layout-terminal .artist-hero { display:grid; grid-template-columns:1fr 1.2fr; gap:35px; padding:65px 6vw; min-height:560px; }
.layout-terminal .artist-visual { position:relative; z-index:0; inset:auto; height:340px; border:2px solid currentColor; border-top-width:25px; grid-column:1; grid-row:1; }
.layout-terminal .artist-intro { grid-column:2; grid-row:1; }
.layout-terminal h1 { font-size:clamp(42px,5vw,70px); }
.layout-terminal .artist-kicker::before { content:'> '; }
.layout-terminal .release-grid { grid-template-columns:1fr; }
.layout-terminal .release-card { display:grid; grid-template-columns:70px 1fr 1fr; gap:20px; align-items:center; border-top:1px dashed currentColor; padding:20px 0; }
.layout-terminal .release-art,.layout-terminal .release-card img { width:70px; font-size:30px; margin:0; }
.layout-terminal .artist-hero-note { display:none; }
/* 16 — Paper: magazine column composition uses the Editorial base. */
.layout-editorial .member-grid { border-top:1px solid currentColor; padding-top:30px; }
/* 17 — Marquee: theatre proscenium above centered name, golden ticket rows. */
.layout-marquee .artist-nav { justify-content:center; border-top:8px double var(--artist-accent); flex-direction:column; }
.layout-marquee .artist-hero { display:flex; flex-direction:column; padding:35px 12vw 60px; text-align:center; gap:30px; min-height:0; }
.layout-marquee .artist-visual { position:relative; inset:auto; z-index:0; width:80%; height:330px; border-radius:250px 250px 0 0; border:8px double var(--artist-accent); }
.layout-marquee h1 { font-size:clamp(52px,7vw,95px); }
.layout-marquee .artist-hero-actions { justify-content:center; }
.layout-marquee .concert-row { border:1px solid var(--artist-accent); padding:30px; margin:20px 0; border-left:12px double var(--artist-accent); }
.layout-marquee .artist-section h2 { text-align:center; }
.layout-marquee .artist-hero-note { display:none; }
/* 18 — Journal: full-width lead photograph and a caption as a magazine margin. */
.layout-journal .artist-hero { display:flex; flex-direction:column; padding:0; align-items:stretch; min-height:0; }
.layout-journal .artist-visual { position:relative; inset:auto; z-index:0; width:100%; height:340px; }
.layout-journal .artist-intro { display:grid; grid-template-columns:1.5fr 1fr; gap:15px 45px; padding:45px 7vw; max-width:none; }
.layout-journal h1 { grid-column:1; grid-row:1/4; font-size:clamp(50px,7vw,85px); }
.layout-journal .artist-kicker,.layout-journal .artist-tagline,.layout-journal .artist-hero-actions { grid-column:2; margin:0!important; }
.layout-journal .artist-biography { columns:2; max-width:none; column-gap:50px; }
.layout-journal .release-card { border-top:5px solid var(--artist-accent); padding-top:20px; }
.layout-journal .artist-hero-note { display:none; }
/* 19 — Ledger: sidebar table of contents and a columnar article index. */
.layout-ledger { padding-left:250px; }
.layout-ledger .artist-nav { position:fixed; top:0; left:0; height:100vh; width:250px; z-index:5; background:var(--artist-bg); display:flex; flex-direction:column; align-items:start; justify-content:start; padding:45px 35px; border-right:1px solid currentColor; }
.layout-ledger .artist-nav > div { flex-direction:column; margin-top:60px; font-family:Georgia,serif; font-size:20px; }
.layout-ledger .artist-hero { min-height:450px; padding:70px 6vw; }
.layout-ledger .artist-intro { max-width:75%; }
.layout-ledger h1 { font-size:clamp(50px,7vw,100px); }
.layout-ledger .artist-visual { inset:45px 5vw auto auto; width:120px; height:150px; border:1px solid currentColor; }
.layout-ledger .artist-section { display:grid; grid-template-columns:1fr 1.6fr; gap:20px 40px; }
.layout-ledger .artist-section > .artist-kicker { grid-column:1; }
.layout-ledger .artist-section > h2 { grid-column:1; }
.layout-ledger .artist-section > :not(h2):not(.artist-kicker) { grid-column:2; }
.layout-ledger .release-grid,.layout-ledger .member-grid { grid-template-columns:1fr; }
.layout-ledger .artist-hero-note { display:none; }
/* 20 — Salon: solid left panel and rounded portrait with alternating full panels. */
.layout-salon .artist-hero { grid-template-columns:1fr 1fr; padding:50px 7vw; gap:65px; min-height:650px; background:linear-gradient(90deg,color-mix(in srgb,var(--artist-accent) 18%,var(--artist-bg)) 50%,var(--artist-bg) 50%); }
.layout-salon .artist-visual { position:relative; inset:auto; z-index:0; height:450px; grid-column:1; grid-row:1; border-radius:200px 200px 40px 40px; }
.layout-salon .artist-intro { grid-column:2; grid-row:1; }
.layout-salon h1 { font-size:clamp(50px,6vw,90px); }
.layout-salon .artist-sections { max-width:none; padding:0; }
.layout-salon .artist-section { padding:65px 8vw; }
.layout-salon .artist-section:nth-child(even) { background:color-mix(in srgb,var(--artist-accent) 10%,var(--artist-bg)); }
.layout-salon .artist-hero-note { display:none; }
/* 21 — Mono: cover thumbnails disappear into a compact text catalogue. */
.layout-minimal .release-grid { grid-template-columns:1fr; }
.layout-minimal .release-card { display:grid; grid-template-columns:1fr 1fr 1fr; padding:24px 0; border-top:1px solid currentColor; align-items:center; gap:15px; }
.layout-minimal .release-card > img,.layout-minimal .release-art { display:none; }
/* 22 — Contact sheet: tiled visual on top and a genuine bento content grid. */
.layout-contactsheet .artist-hero { padding:350px 5vw 35px; min-height:650px; }
.layout-contactsheet .artist-visual { inset:30px 5vw auto; height:300px; border:12px solid color-mix(in srgb,var(--artist-fg) 10%,var(--artist-bg)); }
.layout-contactsheet .artist-intro { max-width:68%; }
.layout-contactsheet h1 { font-size:clamp(45px,6vw,80px); }
.layout-contactsheet .artist-feature { position:absolute; right:5vw; bottom:40px; width:25%; }
.layout-contactsheet .artist-sections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.layout-contactsheet .artist-section { padding:25px; border:1px solid color-mix(in srgb,var(--artist-fg) 25%,transparent); margin:15px 0; }
.layout-contactsheet #releases { grid-column:span 2; }
.layout-contactsheet #social-links { grid-column:1/-1; }
.layout-contactsheet .release-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.layout-contactsheet .member-grid { grid-template-columns:1fr; }
.layout-contactsheet .concert-row { display:flex; flex-direction:column; align-items:start; }
.layout-contactsheet .artist-section h2 { font-size:30px; }
.layout-contactsheet .artist-hero-note { display:none; }
/* 23 — Air: a floating image in the upper left and an airy headline right below. */
.layout-air .artist-hero { min-height:720px; padding:300px 8vw 50px; justify-items:end; }
.layout-air .artist-visual { inset:60px auto auto 8vw; width:35%; height:280px; border-radius:45% 45% 45% 5%; }
.layout-air .artist-intro { width:65%; }
.layout-air h1 { font-size:clamp(50px,7vw,95px); }
.layout-air .artist-sections { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.layout-air .artist-section { border:0; padding:55px 0; }
.layout-air #biography,.layout-air #social-links { grid-column:1/-1; }
.layout-air .release-grid,.layout-air .member-grid { grid-template-columns:1fr; }
.layout-air .artist-hero-note { display:none; }
/* 24 — Folio: inset border, centered square portrait and chapter dividers. */
.layout-folio { margin:20px; border:1px solid currentColor; min-height:calc(100vh - 40px); }
.layout-folio .artist-nav { flex-direction:column; text-align:center; }
.layout-folio .artist-hero { display:flex; flex-direction:column; gap:30px; min-height:0; padding:40px 10vw; text-align:center; }
.layout-folio .artist-visual { position:relative; inset:auto; z-index:0; width:350px; height:260px; padding:10px; border:1px solid currentColor; }
.layout-folio h1 { font-size:clamp(42px,6vw,76px); }
.layout-folio .artist-hero-actions { justify-content:center; }
.layout-folio .artist-section { border-top:5px double currentColor; border-bottom:0; margin-top:25px; }
.layout-folio .artist-section h2 { text-align:center; }
.layout-folio .artist-hero-note { display:none; }
/* 25 — Ice index: compact identity banner and a labelled two-column content index. */
.layout-index .artist-hero { min-height:330px; padding:40px 6vw; grid-template-columns:120px 1fr; gap:35px; border-bottom:1px solid currentColor; }
.layout-index .artist-visual { position:relative; inset:auto; z-index:0; width:120px; height:120px; border-radius:50%; grid-column:1; grid-row:1; }
.layout-index .artist-intro { grid-column:2; grid-row:1; }
.layout-index h1 { font-size:clamp(36px,5vw,65px); }
.layout-index .artist-sections { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.layout-index #concerts,.layout-index #social-links { grid-column:1/-1; }
.layout-index .release-grid { grid-template-columns:1fr; }
.layout-index .release-card { display:grid; grid-template-columns:80px 1fr; gap:8px 20px; padding-bottom:20px; }
.layout-index .release-card > img,.layout-index .release-art { grid-row:span 3; font-size:40px; }
.layout-index .artist-section h2 { font-size:30px; }
.layout-index .artist-hero-note { display:none; }
/* 26 — Backstage: wide stage panorama and a full programme panel. */
.layout-stage #concerts { border-top:8px solid var(--artist-accent); }
/* 27 — Festival ticket: perforated split cover with the next date built into it. */
.layout-ticket .artist-hero { margin:35px 5vw; min-height:550px; padding:45px; display:grid; grid-template-columns:1.4fr 1fr; gap:35px; border:2px solid var(--artist-accent); border-radius:30px; background:color-mix(in srgb,var(--artist-accent) 6%,var(--artist-bg)); }
.layout-ticket .artist-hero::after { content:''; position:absolute; top:0; bottom:0; left:59%; border-left:2px dashed var(--artist-accent); }
.layout-ticket .artist-visual { position:relative; inset:auto; z-index:0; grid-column:2; grid-row:1; width:100%; aspect-ratio:1; border-radius:50%; }
.layout-ticket .artist-intro { grid-column:1; grid-row:1; }
.layout-ticket h1 { font-size:clamp(52px,7vw,92px); text-transform:uppercase; }
.layout-ticket .artist-feature { grid-column:1/-1; flex-direction:row; align-items:center; max-width:none; border:0; border-top:2px dashed var(--artist-accent); background:none; }
.layout-ticket #concerts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.layout-ticket #concerts > h2,.layout-ticket #concerts > .artist-kicker { grid-column:1/-1; }
.layout-ticket .concert-row { display:flex; flex-direction:column; align-items:start; border:2px dashed var(--artist-accent); padding:30px; }
.layout-ticket .artist-hero-note { display:none; }
/* 28 — Club: navigation below the disc, circular hero and record strips. */
.layout-club { display:flex; flex-direction:column; }
.layout-club .artist-nav { order:1; border-top:1px solid var(--artist-accent); border-bottom:1px solid var(--artist-accent); }
.layout-club .artist-hero { order:0; min-height:660px; text-align:center; padding:170px 7vw 60px; align-items:end; }
.layout-club .artist-visual { inset:25px auto auto 50%; transform:translateX(-50%); width:470px; height:470px; border-radius:50%; opacity:.28; box-shadow:0 0 60px var(--artist-accent); }
.layout-club .artist-intro { max-width:none; }
.layout-club h1 { font-size:clamp(60px,9vw,125px); }
.layout-club .artist-tagline { margin-left:auto; margin-right:auto; }
.layout-club .artist-hero-actions { justify-content:center; }
.layout-club .artist-sections { order:2; width:100%; }
.layout-club .artist-footer { order:3; }
.layout-club .release-grid { grid-template-columns:1fr; }
.layout-club .release-card { display:grid; grid-template-columns:130px 1fr 1fr; align-items:center; gap:30px; padding:25px 0; border-top:1px solid var(--artist-accent); }
.layout-club .release-art,.layout-club .release-card img { border-radius:50%; font-size:55px; margin:0; }
.layout-club .artist-hero-note { display:none; }
/* 29 — Cinema: widescreen image bounded by dark letterbox bars and caption strip. */
.layout-cinema .artist-hero { padding:360px 6vw 45px; min-height:620px; border-top:35px solid var(--artist-fg); }
.layout-cinema .artist-visual { inset:0 0 auto; height:340px; border-bottom:35px solid var(--artist-fg); }
.layout-cinema .artist-intro { display:grid; grid-template-columns:1.5fr 1fr; gap:20px 35px; max-width:none; }
.layout-cinema h1 { font-size:clamp(54px,7vw,100px); text-transform:uppercase; grid-column:1; grid-row:1/4; }
.layout-cinema .artist-kicker,.layout-cinema .artist-tagline,.layout-cinema .artist-hero-actions { grid-column:2; margin:0!important; }
.layout-cinema .release-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.layout-cinema .release-card:first-child { grid-column:1/-1; display:grid; grid-template-columns:1.3fr 1fr; gap:20px 35px; }
.layout-cinema .release-card:first-child > img,.layout-cinema .release-card:first-child .release-art { aspect-ratio:16/9; grid-row:span 3; }
.layout-cinema .artist-hero-note { display:none; }
/* 30 — Setlist: large live portrait left and identity plus next show right. */
.layout-setlist .artist-hero { grid-template-columns:1.1fr 1fr; gap:30px 50px; min-height:670px; padding:55px 6vw; }
.layout-setlist .artist-visual { position:relative; inset:auto; z-index:0; grid-column:1; grid-row:1/3; height:550px; }
.layout-setlist .artist-intro { grid-column:2; grid-row:1; }
.layout-setlist h1 { font-size:clamp(45px,6vw,80px); }
.layout-setlist .artist-feature { grid-column:2; grid-row:2; width:100%; max-width:none; border-left:6px solid var(--artist-accent); }
.layout-setlist .artist-sections { display:grid; grid-template-columns:1.4fr 1fr; gap:0 50px; }
.layout-setlist #social-links,.layout-setlist #biography { grid-column:1/-1; }
.layout-setlist .release-grid,.layout-setlist .member-grid { grid-template-columns:1fr; }
.layout-setlist .concert-row { display:flex; align-items:start; flex-direction:column; }
.layout-setlist .artist-hero-note { display:none; }
/* Thirty graphic identities. These decorate the fallback artwork, never the artist's photo. */
.art-aurora .artist-art { background:linear-gradient(130deg,var(--artist-bg),color-mix(in srgb,var(--artist-accent) 45%,var(--artist-bg)),var(--artist-bg)); gap:2%; }
.art-aurora .artist-art > span { width:12%; height:160%!important; transform:rotate(32deg); filter:blur(10px); opacity:.2; border-radius:50%; }
.art-rings .artist-art { position:relative; }
.art-rings .artist-art > span { position:absolute; width:85%; height:85%!important; border:9px solid var(--artist-accent); border-radius:50%; background:none; transform:none; }
.art-rings .artist-art > span:nth-child(2) { width:65%; height:65%!important; }
.art-rings .artist-art > span:nth-child(3) { width:45%; height:45%!important; }
.art-rings .artist-art > span:nth-child(n+4) { display:none; }
.art-waves .artist-art { flex-direction:column; gap:8%; }
.art-waves .artist-art > span { width:140%; height:8%!important; transform:rotate(-12deg); border-radius:50%; background:none; border-top:10px solid var(--artist-accent); }
.art-flame .artist-art { gap:0; align-items:end; }
.art-flame .artist-art > span { width:22%; height:70%!important; border-radius:100% 0 100% 0; transform:rotate(-35deg); margin-left:-8%; }
.art-flame .artist-art > span:nth-child(even) { height:95%!important; opacity:.3; }
.art-frames .artist-art { position:relative; }
.art-frames .artist-art > span { position:absolute; width:70%; height:70%!important; background:none; border:2px solid var(--artist-accent); border-radius:0; transform:rotate(12deg); }
.art-frames .artist-art > span:nth-child(2) { transform:rotate(24deg); }
.art-frames .artist-art > span:nth-child(3) { transform:rotate(36deg); }
.art-frames .artist-art > span:nth-child(n+4) { display:none; }
.art-grid .artist-art { background:linear-gradient(var(--artist-accent) 1px,transparent 1px),linear-gradient(90deg,var(--artist-accent) 1px,transparent 1px),var(--artist-bg); background-size:35px 35px; }
.art-grid .artist-art > span { width:10%; height:25%!important; border-radius:0; transform:skewY(-20deg); border:2px solid var(--artist-bg); opacity:1; }
.art-grid .artist-art > span:nth-child(even) { height:60%!important; }
.art-discs .artist-art { flex-wrap:wrap; padding:12%; gap:8%; }
.art-discs .artist-art > span { width:35%; height:35%!important; border-radius:50%; transform:none; background:repeating-radial-gradient(circle,var(--artist-accent) 0 8px,var(--artist-bg) 9px 12px); }
.art-discs .artist-art > span:nth-child(n+5) { display:none; }
.art-leaves .artist-art { gap:1%; transform:rotate(-10deg); }
.art-leaves .artist-art > span { width:14%; height:50%!important; border-radius:100% 0 100% 0; transform:rotate(-30deg); }
.art-leaves .artist-art > span:nth-child(even) { transform:rotate(30deg); height:75%!important; }
.art-film .artist-art { background:repeating-linear-gradient(90deg,var(--artist-bg) 0 4%,var(--artist-accent) 4% 5%,var(--artist-bg) 5% 16%); }
.art-film .artist-art > span { height:55%!important; width:11%; transform:none; border-radius:0; outline:10px solid var(--artist-bg); opacity:.6; }
.art-rays .artist-art { background:repeating-conic-gradient(from 10deg at 50% 50%,var(--artist-accent) 0 10deg,var(--artist-bg) 10deg 20deg); }
.art-rays .artist-art > span { display:none; }
.art-steps .artist-art { gap:0; align-items:end; padding:10%; }
.art-steps .artist-art > span { width:14%; border-radius:0; transform:none; opacity:1; height:20%!important; }
.art-steps .artist-art > span:nth-child(2) { height:30%!important; }.art-steps .artist-art > span:nth-child(3) { height:40%!important; }.art-steps .artist-art > span:nth-child(4) { height:50%!important; }.art-steps .artist-art > span:nth-child(5) { height:60%!important; }.art-steps .artist-art > span:nth-child(6) { height:70%!important; }.art-steps .artist-art > span:nth-child(7) { height:80%!important; }
.art-bubbles .artist-art { gap:0; flex-wrap:wrap; padding:10%; }
.art-bubbles .artist-art > span { width:35%; height:35%!important; border-radius:50%; transform:none; box-shadow:inset -10px -15px 0 color-mix(in srgb,var(--artist-bg) 30%,transparent); margin:-4%; }
.art-bubbles .artist-art > span:nth-child(even) { width:50%; height:50%!important; opacity:.3; }
.art-sun .artist-art { position:relative; background:repeating-conic-gradient(var(--artist-accent) 0 5deg,var(--artist-bg) 5deg 15deg); }
.art-sun .artist-art > span:first-child { width:60%; height:60%!important; border-radius:50%; transform:none; opacity:1; box-shadow:0 0 0 20px var(--artist-bg); }
.art-sun .artist-art > span:nth-child(n+2) { display:none; }
.art-circuit .artist-art { background:repeating-linear-gradient(90deg,transparent 0 20px,color-mix(in srgb,var(--artist-accent) 15%,transparent) 20px 22px),var(--artist-bg); gap:6%; }
.art-circuit .artist-art > span { width:3%; height:60%!important; border-radius:0; transform:none; border-top:12px solid var(--artist-fg); border-bottom:12px solid var(--artist-fg); }
.art-circuit .artist-art > span:nth-child(even) { height:35%!important; }
.art-paper .artist-art { padding:20%; flex-direction:column; background:var(--artist-bg); gap:7%; }
.art-paper .artist-art > span { width:100%; height:3%!important; border-radius:0; transform:rotate(-15deg); }
.art-paper .artist-art > span:nth-child(1) { height:40%!important; }
.art-paper .artist-art > span:nth-child(even) { width:65%; align-self:start; }
.art-curtain .artist-art { gap:0; background:var(--artist-bg); }
.art-curtain .artist-art > span { width:15%; height:100%!important; border-radius:0 0 90% 90%; transform:none; background:linear-gradient(90deg,var(--artist-bg),var(--artist-accent)); }
.art-curtain .artist-art > span:nth-child(4) { height:30%!important; align-self:start; }
.art-hills .artist-art { align-items:end; gap:0; }
.art-hills .artist-art > span { width:35%; height:100%!important; border-radius:50% 50% 0 0; transform:translateY(30%); margin-left:-15%; }
.art-hills .artist-art > span:nth-child(even) { height:60%!important; opacity:.3; }
.art-lines .artist-art { background:repeating-linear-gradient(-45deg,var(--artist-bg) 0 15px,var(--artist-accent) 15px 17px); }
.art-lines .artist-art > span { width:30%; height:50%!important; transform:none; border-radius:0; background:var(--artist-bg); opacity:1; }
.art-lines .artist-art > span:nth-child(n+2) { display:none; }
.art-arch .artist-art > span { width:10%; height:80%!important; border-radius:100px 100px 0 0; transform:none; background:none; border:5px solid var(--artist-accent); }
.art-arch .artist-art > span:nth-child(even) { height:50%!important; }
.art-dot .artist-art { background:var(--artist-bg); }
.art-dot .artist-art > span:first-child { width:70%; height:70%!important; border-radius:50%; transform:none; opacity:1; }
.art-dot .artist-art > span:nth-child(n+2) { display:none; }
.art-tiles .artist-art { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:12px; background:var(--artist-bg); }
.art-tiles .artist-art > span { width:100%; height:100%!important; border-radius:0; transform:none; background:linear-gradient(135deg,var(--artist-accent),var(--artist-bg)); }
.art-tiles .artist-art > span:nth-child(3) { grid-row:span 2; }
.art-cloud .artist-art { background:var(--artist-bg); gap:0; }
.art-cloud .artist-art > span { width:45%; height:65%!important; border-radius:50%; transform:none; filter:blur(12px); margin-left:-18%; }
.art-cloud .artist-art > span:nth-child(even) { height:95%!important; opacity:.25; }
.art-grain .artist-art { background:repeating-linear-gradient(35deg,var(--artist-bg) 0 3px,color-mix(in srgb,var(--artist-accent) 20%,var(--artist-bg)) 3px 4px); }
.art-grain .artist-art > span { width:12%; height:50%!important; border-radius:0; transform:rotate(30deg); border:1px solid var(--artist-fg); background:var(--artist-bg); }
.art-ice .artist-art { background:var(--artist-bg); }
.art-ice .artist-art > span { width:15%; height:55%!important; border-radius:0; transform:rotate(45deg); background:linear-gradient(135deg,var(--artist-accent),var(--artist-bg)); }
.art-ice .artist-art > span:nth-child(even) { height:75%!important; opacity:.3; }
.art-lights .artist-art { align-items:start; gap:8%; background:var(--artist-bg); }
.art-lights .artist-art > span { width:25%; height:130%!important; border-radius:0; transform:rotate(20deg); clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); background:linear-gradient(var(--artist-accent),transparent); opacity:.5; }
.art-lights .artist-art > span:nth-child(even) { transform:rotate(-20deg); }
.art-confetti .artist-art { flex-wrap:wrap; gap:10%; padding:15%; background:var(--artist-bg); }
.art-confetti .artist-art > span { width:15%; height:22%!important; border-radius:0; transform:rotate(20deg); opacity:1; }
.art-confetti .artist-art > span:nth-child(even) { border-radius:50%; transform:rotate(-25deg); }
.art-neon .artist-art { background:var(--artist-bg); position:relative; }
.art-neon .artist-art > span { position:absolute; width:70%; height:70%!important; border-radius:50%; background:none; border:3px solid var(--artist-accent); box-shadow:0 0 12px var(--artist-accent),inset 0 0 12px var(--artist-accent); transform:none; }
.art-neon .artist-art > span:nth-child(2) { width:45%; height:45%!important; }.art-neon .artist-art > span:nth-child(n+3) { display:none; }
.art-beam .artist-art { background:var(--artist-bg); gap:0; }
.art-beam .artist-art > span { width:18%; height:140%!important; border-radius:0; transform:rotate(50deg); background:linear-gradient(90deg,transparent,var(--artist-accent),transparent); }
.art-tracks .artist-art { flex-direction:column; align-items:stretch; gap:8%; padding:15%; background:var(--artist-bg); }
.art-tracks .artist-art > span { width:100%; height:6%!important; border-radius:0; transform:none; background:repeating-linear-gradient(90deg,var(--artist-accent) 0 15px,var(--artist-bg) 15px 20px); }
.art-tracks .artist-art > span:nth-child(even) { width:65%; }
/* Release art also belongs to the selected visual identity. */
.layout-blueprint .release-art,.layout-terminal .release-art { background:repeating-linear-gradient(90deg,var(--artist-accent) 0 5px,var(--artist-bg) 5px 8px); }
.layout-pop .release-art,.layout-collage .release-art { background:radial-gradient(circle at 30% 35%,var(--artist-accent-fg) 0 14%,transparent 15%),var(--artist-accent); }
.layout-marquee .release-art,.layout-hearth .release-art { border:8px double var(--artist-accent-fg); }
.layout-contactsheet .release-art,.layout-gallery .release-art { background:repeating-conic-gradient(var(--artist-accent) 0 25%,color-mix(in srgb,var(--artist-accent) 60%,var(--artist-bg)) 0 50%) 0/50px 50px; }
/* Every composition has a deliberate mobile flow; fixed rails become ordinary navigation. */
@media(max-width:700px) {
 .artist-nav { align-items:flex-start; flex-direction:column; gap:12px; }
 .artist-nav > div { flex-wrap:wrap; gap:16px; }
 .artist-hero { min-height:530px; padding:65px 7vw; }
 .artist-site.layout-orbit,.artist-site.layout-blueprint,.artist-site.layout-ledger { padding:0; }
 .layout-orbit .artist-nav,.layout-blueprint .artist-nav,.layout-ledger .artist-nav { position:static; width:auto; height:auto; padding:22px 6vw; border:0; border-bottom:1px solid currentColor; }
 .layout-orbit .artist-brand,.layout-orbit .artist-nav > div { writing-mode:horizontal-tb; }
 .layout-orbit .artist-nav > div,.layout-blueprint .artist-nav > div,.layout-ledger .artist-nav > div { flex-direction:row; margin:0; font-size:13px; }
 .layout-spotlight .artist-intro,.layout-minimal .artist-intro { max-width:100%; }
 .layout-split .artist-hero,.layout-editorial .artist-hero,.layout-orbit .artist-hero,.layout-blueprint .artist-hero,.layout-collage .artist-hero,.layout-botanical .artist-hero,.layout-terminal .artist-hero,.layout-salon .artist-hero,.layout-setlist .artist-hero,.layout-ticket .artist-hero { display:flex; flex-direction:column; gap:35px; align-items:stretch; padding:40px 7vw; min-height:0; }
 .layout-split .artist-visual,.layout-editorial .artist-visual,.layout-blueprint .artist-visual,.layout-collage .artist-visual,.layout-botanical .artist-visual,.layout-terminal .artist-visual,.layout-salon .artist-visual,.layout-setlist .artist-visual { width:100%; height:300px; aspect-ratio:auto; }
 .layout-orbit .artist-visual { width:85%; aspect-ratio:1; margin:15px auto; }
 .layout-collage .artist-visual { transform:rotate(-3deg); }
 .layout-botanical .artist-visual { width:75%; margin:auto; }
 .layout-ticket .artist-visual { width:70%; margin:auto; }
 .layout-ticket .artist-hero { margin:20px 4vw; }
 .layout-ticket .artist-hero::after { display:none; }
 .layout-ticket .artist-feature { flex-direction:column; align-items:start; }
 .layout-minimal .artist-visual { position:relative; inset:auto; width:90px; height:90px; margin-bottom:35px; }
 .layout-stage .artist-intro { padding:24px; }
 .layout-horizon .artist-hero { padding:35px 6vw 0; }
 .layout-horizon .artist-visual { height:180px; }
 .layout-tide .artist-hero { display:flex; flex-direction:column; padding:30px 6vw; min-height:0; gap:25px; }
 .layout-tide .artist-visual { position:relative; inset:auto; z-index:0; width:100%; height:280px; }
 .layout-tide .artist-intro { width:100%; padding:25px 0; }
 .layout-hearth .artist-hero,.layout-marquee .artist-hero { padding:35px 7vw; }
 .layout-hearth .artist-visual,.layout-marquee .artist-visual { width:90%; height:250px; }
 .layout-hearth .artist-section { padding:25px; }
 .layout-gallery .artist-visual { height:230px; }
 .layout-gallery .artist-intro,.layout-journal .artist-intro,.layout-cinema .artist-intro { display:flex; flex-direction:column; align-items:start; gap:20px; }
 .layout-gallery .artist-feature { flex-direction:column; align-self:stretch; align-items:start; }
 .layout-brutalist .artist-hero { display:flex; flex-direction:column-reverse; padding:35px 6vw; gap:30px; min-height:0; }
 .layout-brutalist .artist-visual { position:relative; inset:auto; z-index:0; height:240px; width:95%; }
 .layout-brutalist .artist-tagline,.layout-brutalist .artist-hero-actions { max-width:100%; }
 .layout-brutalist h1 { font-size:64px; }
 .layout-brutalist .artist-section { padding:25px; box-shadow:5px 5px 0 currentColor; }
 .layout-pop .artist-visual { width:220px; height:220px; }
 .layout-sunray .artist-visual { width:320px; height:320px; right:5vw; }
 .layout-sunray .artist-hero { padding-top:160px; }
 .layout-journal .artist-visual { height:240px; }
 .layout-journal .artist-biography { columns:1; }
 .layout-ledger .artist-hero { padding:40px 7vw; min-height:0; }
 .layout-ledger .artist-intro { max-width:100%; }
 .layout-ledger .artist-visual { position:relative; inset:auto; width:80px; height:100px; margin-bottom:25px; }
 .layout-ledger .artist-section { display:block; }
 .layout-contactsheet .artist-hero { padding:270px 6vw 35px; min-height:0; }
 .layout-contactsheet .artist-visual { height:220px; inset:25px 6vw auto; }
 .layout-contactsheet .artist-intro { max-width:100%; }
 .layout-contactsheet .artist-feature { position:relative; inset:auto; width:100%; max-width:none; margin-top:25px; }
 .layout-air .artist-hero { padding:300px 7vw 40px; min-height:0; }
 .layout-air .artist-visual { top:35px; width:70%; height:240px; }
 .layout-air .artist-intro { width:100%; }
 .layout-folio { margin:10px; }
 .layout-folio .artist-visual { width:100%; height:230px; }
 .layout-index .artist-hero { grid-template-columns:1fr; padding:35px 7vw; gap:25px; }
 .layout-index .artist-visual,.layout-index .artist-intro { grid-column:1; grid-row:auto; }
 .layout-club .artist-visual { width:320px; height:320px; }
 .layout-club .artist-hero { min-height:530px; padding:200px 7vw 45px; }
 .layout-cinema .artist-hero { padding:265px 7vw 35px; min-height:0; }
 .layout-cinema .artist-visual { height:240px; }
 .artist-site .artist-sections { display:block; }
 .artist-site .release-grid,.artist-site .member-grid { grid-template-columns:1fr; }
 .layout-sunray #concerts,.layout-ticket #concerts { display:block; }
 .layout-sunray .concert-row { margin-top:25px; }
 .concert-row { grid-template-columns:100px 1fr; }
 .concert-row .artist-button { grid-column:2; justify-self:start; }
 .layout-poster .concert-row { grid-template-columns:100px 1fr; }
 .layout-poster .concert-row h3 { font-size:27px; }
 .layout-editorial .biography { display:block; }
 .layout-tide .release-card,.layout-gallery .release-card,.layout-cinema .release-card:first-child { grid-template-columns:100px 1fr; gap:10px 20px; }
 .layout-cinema .release-card:first-child .release-art { aspect-ratio:1; }
 .layout-terminal .release-card,.layout-club .release-card { grid-template-columns:80px 1fr; gap:15px; }
 .layout-terminal .release-card > img,.layout-terminal .release-art,.layout-club .release-card > img,.layout-club .release-art { grid-row:span 3; }
 .layout-minimal .release-card { display:block; }
 .layout-split .release-card:first-child { grid-row:auto; }
 .artist-footer { flex-direction:column; }
}
.artist-site a:hover { text-decoration:underline; text-underline-offset:5px; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 1000; padding: 12px 18px; background: #100d18; color: #f5f0e9; font: 700 16px/1.5 Arial, sans-serif; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); outline: 3px solid #d7ff45; outline-offset: 3px; }
/* Extreme artwork remains decorative; text keeps the layout's protected surfaces. */
.art-blood .artist-art { align-items:start; gap:4%; background:radial-gradient(ellipse at 25% 20%,color-mix(in srgb,var(--artist-accent) 65%,var(--artist-bg)),transparent 48%),var(--artist-bg); }
.art-blood .artist-art > span { width:9%; height:65%; border-radius:0 0 65% 40%; transform:rotate(5deg); background:linear-gradient(color-mix(in srgb,var(--artist-accent) 40%,var(--artist-bg)),var(--artist-accent)); opacity:1; }
.art-blood .artist-art > span:nth-child(even) { transform:rotate(-8deg); height:90%; }
.art-blood .artist-visual::before { content:''; position:absolute; z-index:1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 12% 18%,color-mix(in srgb,var(--artist-accent) 65%,var(--artist-bg)) 0 3%,transparent 3.5%),radial-gradient(ellipse at 80% 70%,color-mix(in srgb,var(--artist-accent) 65%,var(--artist-bg)) 0 5%,transparent 5.5%),linear-gradient(100deg,transparent 75%,color-mix(in srgb,var(--artist-accent) 40%,var(--artist-bg)) 75% 78%,transparent 78%); }
.art-blood h1 { text-transform:uppercase; text-shadow:3px 4px 0 color-mix(in srgb,var(--artist-accent) 35%,var(--artist-bg)); }
.art-blood .artist-section { border-bottom:4px solid color-mix(in srgb,var(--artist-accent) 65%,var(--artist-bg)); }
.art-claws .artist-art > span { width:7%; height:85%!important; border-radius:0; transform:rotate(24deg); clip-path:polygon(40% 0,100% 5%,55% 100%,0 90%); opacity:.85; }
.art-claws h1 { text-transform:uppercase; letter-spacing:-.075em; }
.art-spikes .artist-art { gap:0; align-items:end; }
.art-spikes .artist-art > span { width:20%; height:90%!important; border-radius:0; transform:none; clip-path:polygon(50% 0,100% 100%,0 100%); }
.art-spikes .artist-section { border-top:3px double var(--artist-accent); }
.art-rust .artist-art { background:repeating-linear-gradient(135deg,transparent 0 18px,color-mix(in srgb,var(--artist-accent) 25%,var(--artist-bg)) 19px 22px,transparent 23px 45px),radial-gradient(ellipse,color-mix(in srgb,var(--artist-accent) 30%,var(--artist-bg)),var(--artist-bg)); }
.art-rust .artist-art > span { border-radius:0; transform:rotate(-35deg); border:2px dashed var(--artist-fg); }
.art-rust .artist-button { border:2px dashed var(--artist-accent-fg); }
.art-eclipse .artist-art { background:radial-gradient(circle at 65% 45%,#08070c 0 22%,var(--artist-accent) 23%,var(--artist-bg) 29%); }
.art-eclipse .artist-art > span { display:none; }
.art-eclipse h1 { font-family:Georgia,serif; text-transform:uppercase; }
.art-fracture .artist-art > span { width:17%; height:90%!important; border-radius:0; transform:rotate(18deg); clip-path:polygon(0 0,100% 12%,40% 45%,100% 80%,0 100%,25% 50%); }
.art-fracture .artist-section { border-bottom:3px dashed var(--artist-accent); }
/* Gore series: CSS geometry only, no stock images, SVGs or bitmap assets. */
.gore-site { --gore-blood:color-mix(in srgb,var(--artist-accent) 22%,#b9001f); --gore-dark:color-mix(in srgb,var(--gore-blood) 40%,var(--artist-bg)); --gore-bone:#d9c79d; }
.gore-site .artist-nav { position:relative; z-index:4; border-bottom:3px solid var(--gore-blood); background:var(--artist-bg); text-transform:uppercase; font-family:'Courier New',monospace; }
.gore-site .artist-brand { letter-spacing:.08em; }
.gore-site .artist-hero { min-height:760px; padding:90px 7vw 100px; overflow:hidden; }
.gore-site .artist-intro { position:relative; max-width:920px; padding:35px 0; background:var(--artist-bg); }
.gore-site h1 { position:relative; color:var(--artist-accent); font:900 clamp(58px,10vw,150px)/.88 Impact,Haettenschweiler,'Arial Narrow','Arial Black',sans-serif; text-transform:uppercase; letter-spacing:-.025em; padding:25px 0 35px; text-shadow:3px 3px 0 var(--gore-blood),6px 6px 0 var(--gore-dark); }
.gore-site.type-gothic h1 { font-family:Georgia,'Times New Roman',serif; font-weight:900; letter-spacing:-.075em; font-style:italic; }
.gore-site h1::before,.gore-site h1::after { content:''; position:absolute; width:105%; height:24px; left:-2.5%; background:var(--artist-accent); pointer-events:none; clip-path:polygon(0 100%,5% 0,6% 75%,16% 60%,19% 0,20% 72%,35% 70%,38% 10%,40% 80%,58% 70%,61% 0,63% 65%,79% 70%,82% 0,83% 60%,95% 70%,100% 0,98% 100%); }
.gore-site h1::before { top:0; }
.gore-site h1::after { bottom:0; transform:rotate(180deg); height:34px; }
.gore-site h2 { font-family:Impact,Haettenschweiler,'Arial Narrow',sans-serif; text-transform:uppercase; font-size:clamp(35px,5vw,65px); letter-spacing:.005em; }
.gore-site .artist-kicker { display:inline-block; padding:5px 0; border-top:2px solid var(--gore-blood); letter-spacing:.22em; }
.gore-site .artist-tagline { font-size:clamp(17px,2vw,22px); max-width:620px; }
.gore-site .artist-button { text-transform:uppercase; letter-spacing:.09em; border-radius:0; box-shadow:4px 4px 0 var(--gore-blood); }
.gore-site .artist-hero-note { letter-spacing:.3em; }
.gore-site .artist-section { position:relative; background:var(--artist-bg); padding:65px 0; border-bottom:3px solid var(--gore-blood); }
.gore-site .artist-section::after { content:''; position:absolute; width:100%; height:18px; bottom:-18px; left:0; background:var(--gore-blood); clip-path:polygon(0 0,100% 0,100% 20%,93% 30%,91% 100%,89% 20%,76% 35%,75% 75%,73% 30%,58% 35%,57% 100%,55% 25%,33% 30%,32% 90%,30% 30%,16% 20%,14% 95%,12% 30%,0 20%); pointer-events:none; }
.gore-site .release-card { border:1px solid var(--gore-blood); padding:18px; background:var(--artist-bg); box-shadow:5px 5px 0 var(--gore-dark); }
.gore-site .release-art { position:relative; overflow:hidden; background:var(--artist-accent); color:var(--artist-accent-fg); font-family:Impact,sans-serif; }
.gore-site .release-art::after { content:''; position:absolute; inset:6%; border:8px double currentColor; transform:rotate(-12deg); clip-path:polygon(0 0,100% 0,100% 35%,85% 44%,100% 51%,100% 100%,0 100%,0 70%,17% 63%,0 48%); pointer-events:none; }
.gore-site .release-card:nth-child(2) .release-art::after { transform:rotate(15deg); border-radius:50%; }
.gore-site .release-card:nth-child(3) .release-art::after { border-radius:40% 0 40% 0; transform:rotate(45deg); }
.gore-site .concert-row { border-top:1px solid var(--gore-blood); padding:25px 18px; background:var(--artist-bg); }
.gore-site .concert-row time { font-family:Impact,'Arial Narrow',sans-serif; font-size:22px; }
.gore-site .concert-row small { font-family:'Courier New',monospace; font-size:10px; }
.gore-site .member-grid article { padding:20px; border-left:4px solid var(--gore-blood); }
.gore-site .artist-footer { border-top:8px double var(--gore-blood); text-transform:uppercase; }
/* All ornament layers are behind opaque text containers and ignore interaction. */
.gore-ornament { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.gore-halo { position:absolute; width:620px; height:620px; left:calc(50% - 310px); top:55px; border:20px double var(--gore-blood); border-radius:50%; box-shadow:0 0 0 8px var(--artist-bg),0 0 0 12px var(--gore-dark),inset 0 0 80px var(--gore-blood); }
.gore-halo::before,.gore-halo::after { content:''; position:absolute; inset:-60px; border:40px solid var(--gore-dark); clip-path:polygon(50% 0,55% 32%,85% 8%,70% 42%,100% 50%,70% 57%,85% 90%,55% 70%,50% 100%,45% 70%,15% 90%,30% 58%,0 50%,30% 42%,15% 8%,45% 32%); }
.gore-halo::after { transform:rotate(30deg); border-color:var(--gore-blood); }
.gore-jaw { position:absolute; width:94%; height:80px; left:3%; bottom:5%; background:var(--gore-blood); clip-path:polygon(0 0,5% 10%,7% 100%,10% 10%,19% 0,22% 85%,25% 15%,35% 5%,37% 100%,40% 10%,48% 0,50% 95%,53% 10%,62% 5%,66% 80%,69% 10%,77% 0,79% 100%,82% 15%,91% 5%,94% 85%,97% 10%,100% 0); }
.gore-splashes { position:absolute; inset:0; }
.gore-splashes span { position:absolute; left:calc(mod(var(--i) * 37,100) * 1%); top:calc(mod(var(--i) * 19,95) * 1%); width:calc(7px + mod(var(--i) * 13,42) * 1px); height:calc(15px + mod(var(--i) * 23,94) * 1px); background:var(--gore-blood); border-radius:48% 55% 65% 32%; transform:rotate(calc(var(--i) * 29deg)); box-shadow:10px -16px 0 -4px var(--gore-blood),-18px 12px 0 -5px var(--gore-dark); }
.gore-site .artist-visual { z-index:-1; }
.gore-site .artist-art { position:relative; background:transparent; gap:0; }
.gore-site .artist-art > span { position:absolute; margin:0; opacity:1; border-radius:0; background:var(--gore-blood); }
/* Ten distinct hero and content compositions. */
.layout-gorealtar .artist-hero { padding-top:135px; display:flex; justify-content:center; text-align:center; }
.layout-gorealtar .artist-intro { width:80%; }
.layout-gorealtar .artist-tagline { margin-left:auto; margin-right:auto; }
.layout-gorealtar .artist-hero-actions { justify-content:center; }
.layout-gorealtar .artist-visual { inset:0 8%; }
.layout-gorealtar .artist-sections { max-width:1180px; }
.layout-gorealtar .release-grid { gap:40px; }
.layout-gorealtar .member-grid { text-align:center; }
.layout-goremaw .artist-hero { display:flex; align-items:center; justify-content:center; padding:155px 9vw; text-align:center; min-height:880px; }
.layout-goremaw .artist-intro { width:80%; }
.layout-goremaw .artist-tagline { margin-left:auto; margin-right:auto; }
.layout-goremaw .artist-hero-actions { justify-content:center; }
.layout-goremaw .gore-halo { width:95%; height:88%; top:6%; left:2.5%; border-radius:45% 45% 40% 40%; border-width:35px; }
.layout-goremaw .gore-jaw { top:4%; bottom:auto; transform:rotate(180deg); }
.layout-goremaw .release-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.layout-goremaw .release-card:last-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 2fr; gap:15px 30px; }
.layout-goremaw .release-card:last-child .release-art,.layout-goremaw .release-card:last-child > img { grid-row:span 3; margin:0; }
.layout-goresurgery .artist-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:5%; padding:80px 6vw; }
.layout-goresurgery .artist-intro { grid-column:1; }
.layout-goresurgery .artist-visual { position:relative; inset:auto; height:570px; border:12px double var(--gore-blood); grid-column:2; grid-row:1; z-index:0; }
.layout-goresurgery .gore-halo { left:65%; top:120px; width:450px; height:450px; border-radius:15%; }
.layout-goresurgery h1 { font-size:clamp(56px,7vw,100px); }
.layout-goresurgery .artist-section { display:grid; grid-template-columns:200px 1fr; gap:20px 30px; }
.layout-goresurgery .artist-section > h2 { grid-column:1; font-size:40px; }
.layout-goresurgery .artist-section > .artist-kicker { grid-column:1; }
.layout-goresurgery .release-grid,.layout-goresurgery .member-grid,.layout-goresurgery .artist-biography,.layout-goresurgery .concert-row { grid-column:2; }
.layout-goresurgery .concert-row { grid-template-columns:120px 1fr auto; }
.layout-goreossuary .artist-hero { padding:520px 7vw 65px; min-height:950px; }
.layout-goreossuary .artist-visual { inset:0 10% auto; height:480px; border-bottom:12px double var(--gore-blood); }
.layout-goreossuary .artist-intro { max-width:1100px; }
.layout-goreossuary h1 { font-size:clamp(60px,11vw,150px); }
.layout-goreossuary .gore-halo { top:-90px; width:760px; height:760px; left:calc(50% - 380px); }
.layout-goreossuary .release-grid { gap:12px; }
.layout-goreossuary .release-card { border-width:6px 1px 1px; }
.layout-gorerift .artist-hero { display:grid; grid-template-columns:1.2fr .8fr; padding:110px 7vw; }
.layout-gorerift .artist-intro { grid-column:1; padding-right:35px; }
.layout-gorerift .artist-visual { left:55%; clip-path:polygon(40% 0,100% 0,100% 100%,0 100%,25% 62%,5% 55%,40% 30%,20% 25%); background:var(--gore-dark); }
.layout-gorerift .gore-halo { left:48%; transform:rotate(35deg); border-radius:25%; }
.layout-gorerift h1 { font-size:clamp(58px,8vw,125px); transform:skewY(-3deg); }
.layout-gorerift .artist-sections { border-left:9px solid var(--gore-blood); }
.layout-gorerift .release-card:nth-child(even) { margin-top:35px; }
.layout-gorecathedral .artist-hero { justify-items:center; padding-top:150px; text-align:center; min-height:900px; }
.layout-gorecathedral .artist-intro { width:75%; border:2px solid var(--gore-blood); border-bottom-width:10px; padding:40px; }
.layout-gorecathedral .artist-visual { inset:0 2%; }
.layout-gorecathedral .gore-halo { border-radius:50% 50% 0 0; width:850px; height:950px; left:calc(50% - 425px); top:20px; }
.layout-gorecathedral .artist-tagline { margin-left:auto; margin-right:auto; }
.layout-gorecathedral .artist-hero-actions { justify-content:center; }
.layout-gorecathedral .artist-sections { max-width:1050px; border-left:5px double var(--gore-blood); border-right:5px double var(--gore-blood); }
.layout-gorecathedral .release-art { border-radius:50% 50% 0 0; }
.layout-gorehive .artist-hero { padding:110px 8vw; min-height:800px; }
.layout-gorehive .artist-intro { max-width:65%; }
.layout-gorehive .artist-visual { left:40%; width:60%; }
.layout-gorehive .gore-halo { left:55%; width:500px; height:500px; border:30px dotted var(--gore-blood); }
.layout-gorehive .release-grid { gap:25px; }
.layout-gorehive .release-card { border:5px double var(--gore-blood); }
.layout-gorehive .member-grid article { border:3px dotted var(--gore-blood); }
.layout-goreexecution .artist-hero { padding:90px 6vw; border-left:30px solid var(--gore-blood); border-right:30px solid var(--gore-blood); }
.layout-goreexecution .artist-intro { max-width:100%; }
.layout-goreexecution h1 { font-size:clamp(65px,12vw,170px); }
.layout-goreexecution .artist-visual { inset:0; }
.layout-goreexecution .gore-halo { width:350px; height:600px; left:calc(50% - 175px); border-radius:0; transform:rotate(18deg); }
.layout-goreexecution .gore-jaw { height:150px; }
.layout-goreexecution .concert-row time { font-size:32px; }
.layout-goreexecution #concerts { border-top:10px double var(--gore-blood); }
.layout-goreexecution .concert-row { border-left:8px solid var(--gore-blood); margin-top:15px; }
.layout-goreplague .artist-hero { padding:100px 7vw; display:grid; grid-template-columns:1.4fr .6fr; border-top:12px dashed var(--gore-blood); }
.layout-goreplague .artist-intro { grid-column:1; }
.layout-goreplague .artist-visual { left:40%; }
.layout-goreplague .gore-halo { left:50%; border-radius:35% 50% 30% 55%; border:30px dashed var(--gore-blood); }
.layout-goreplague .artist-sections { max-width:1100px; }
.layout-goreplague .biography { border:4px dashed var(--gore-blood); padding:35px; margin-top:30px; }
.layout-goreplague .release-card { border-style:dashed; }
.layout-goreritual .artist-hero { padding:490px 7vw 60px; text-align:center; justify-items:center; min-height:950px; }
.layout-goreritual .artist-visual { width:480px; height:480px; inset:0 auto auto; left:calc(50% - 240px); }
.layout-goreritual .gore-halo { width:430px; height:430px; left:calc(50% - 215px); top:25px; }
.layout-goreritual .artist-intro { max-width:1100px; width:100%; }
.layout-goreritual .artist-tagline { margin-left:auto; margin-right:auto; }
.layout-goreritual .artist-hero-actions { justify-content:center; }
.layout-goreritual .member-grid article { text-align:center; border:0; border-top:8px double var(--gore-blood); }
/* Organic artwork: teeth, ribs, entrails, veins and contamination in CSS. */
























/* Smaller viewports keep the emblem and name visible without sacrificing content. */
@media(max-width:700px) {
 .gore-site .artist-hero { min-height:620px; padding:100px 7vw 65px; }
 .gore-site .artist-intro { width:100%; max-width:100%; padding:25px 0; }
 .gore-site h1 { font-size:clamp(44px,13vw,85px); overflow-wrap:anywhere; }
 .gore-site h2 { font-size:38px; }
 .gore-halo { width:410px; height:410px; left:calc(50% - 205px); top:35px; }
 .gore-site .artist-sections { width:100%; border-left:0; border-right:0; padding:0 7vw; }
 .gore-site .artist-section { display:block; padding:45px 0; }
 .gore-site .release-grid,.gore-site .member-grid { grid-template-columns:1fr; }
 .gore-site .concert-row { grid-template-columns:100px 1fr; gap:15px; padding:20px 10px; }
 .gore-site .concert-row .artist-button { grid-column:2; }
 .layout-goremaw .artist-hero { padding:115px 9vw; min-height:650px; }
 .layout-goremaw .release-card:last-child { display:block; grid-column:auto; }
 .layout-goresurgery .artist-hero { display:flex; flex-direction:column-reverse; padding:35px 7vw; gap:30px; }
 .layout-goresurgery .artist-visual { width:100%; height:300px; flex-shrink:0; }
 .layout-goresurgery .gore-halo { left:25%; top:10px; }
 .layout-goreossuary .artist-hero { padding-top:320px; }
 .layout-goreossuary .artist-visual { height:280px; inset:0 5% auto; }
 .layout-gorerift .artist-hero { display:block; padding-top:170px; }
 .layout-gorerift .artist-visual { left:35%; }
 .layout-gorecathedral .artist-hero { padding:110px 7vw 60px; }
 .layout-gorecathedral .artist-intro { padding:25px 15px; }
 .layout-gorecathedral .gore-halo { width:450px; height:700px; left:calc(50% - 225px); }
 .layout-gorehive .artist-visual { left:20%; width:80%; }
 .layout-goreexecution .artist-hero { border-width:0 10px; }
 .layout-goreplague .artist-hero { display:block; }
 .layout-goreplague .biography { padding:25px 15px; }
 .layout-goreritual .artist-hero { padding-top:340px; }
 .layout-goreritual .artist-visual { width:300px; height:300px; left:calc(50% - 150px); }
 .layout-goreritual .gore-halo { width:290px; height:290px; left:calc(50% - 145px); top:10px; }
}
.gore-release-emblem { position:relative; display:flex; width:100%; height:100%; clip-path:none; }
/* Local OFL fonts: the browser never needs a third-party font service. */
@font-face { font-family:'Decibands Metal'; src:url('../fonts/gore/MetalMania-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Decibands Horror'; src:url('../fonts/gore/Creepster-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
.gore-site { --gore-blood:#bf0b24; }
.gore-site h1 { font-family:'Decibands Metal',Impact,sans-serif; font-weight:400; letter-spacing:-.035em; line-height:.95; text-shadow:2px 3px 0 var(--gore-blood),5px 6px 0 #43000d; }
.gore-site.type-gothic h1 { font-family:'Decibands Horror','Decibands Metal',Impact,sans-serif; font-weight:400; font-style:normal; letter-spacing:-.025em; }
.gore-site h2 { font-family:'Decibands Metal',Impact,sans-serif; font-weight:400; }
.gore-site .artist-hero { background-image:repeating-linear-gradient(113deg,transparent 0 30px,#3d060d 31px,transparent 33px 80px); }
.gore-site .artist-intro::after { content:''; position:absolute; left:0; right:0; bottom:-30px; height:30px; background:var(--gore-blood); pointer-events:none; clip-path:polygon(0 0,100% 0,98% 12%,93% 20%,91% 90%,90% 15%,81% 12%,80% 55%,78% 14%,67% 18%,66% 100%,65% 16%,55% 10%,54% 35%,52% 9%,43% 17%,41% 80%,40% 13%,28% 8%,27% 58%,26% 11%,18% 14%,16% 100%,15% 20%,5% 10%,3% 80%,2% 9%,0 10%); }
.gore-splashes span { background:var(--gore-blood); border-radius:0; clip-path:polygon(48% 0,58% 28%,91% 8%,73% 40%,100% 46%,70% 56%,88% 83%,61% 73%,56% 100%,43% 74%,13% 94%,29% 61%,0 52%,28% 42%,6% 12%,38% 29%); }







.gore-site .release-art { background:var(--artist-bg); color:var(--artist-accent); }
.gore-site .artist-section::after { z-index:2; }
