/*
Theme Name: Jimmy Cantautore
Description: Un sito essenziale per Jimmy Ingrassia, con sezioni già predisposte e personalizzazione nativa WordPress.
Version: 1.23.26
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: jimmy-cantautore
*/
:root{--paper:#f6f2eb;--ink:#232620;--muted:#686b61;--accent:#635b42;--line:#d9d5ca;--dark:#242a24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #b67825;outline-offset:5px}img{max-width:100%;height:auto}.wrap{width:min(1180px,90%);margin:auto}.skip{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px}.brand{text-decoration:none;font-size:22px;letter-spacing:-.7px;font-weight:650}.nav{display:flex;gap:23px;align-items:center}.nav a{font-size:14px;text-decoration:none}.nav a:hover{text-decoration:underline}.menu-toggle{display:none;border:1px solid var(--line);background:none;padding:8px 16px}.hero{min-height:640px;display:grid;grid-template-columns:1fr 1fr;background:#e3ded2}.hero-copy{padding:100px max(5vw,28px);align-self:center}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:3px;color:var(--muted);margin:0 0 22px}.hero h1{font-family:Georgia,serif;font-size:clamp(50px,6vw,88px);font-weight:400;letter-spacing:-3px;line-height:1.06;margin:0 0 32px}.hero-copy .intro{max-width:430px}.hero-photo{min-height:560px;background:linear-gradient(135deg,#bbb49e,#ddd7c6);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;min-height:560px}.photo-empty{font-family:Georgia,serif;font-size:100px;color:#ffffff70}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:12px 23px;font-size:14px;min-height:48px}.button.secondary{background:transparent;color:var(--ink)}section.content-section{padding:90px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:34px}.section-head h2,.page-title{font:400 clamp(36px,4vw,58px)/1.12 Georgia,serif;letter-spacing:-1px;margin:0}.section-head .eyebrow{margin-bottom:12px}.bio-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.bio-grid h2{font:400 44px/1.15 Georgia,serif;margin:0}.prose{max-width:760px}.prose p:first-child{margin-top:0}.prose a{overflow-wrap:anywhere}.prose iframe{max-width:100%}.prose .wp-block-image img{height:auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border:1px solid var(--line);padding:28px;min-height:175px}.card .num{font:italic 24px Georgia,serif;color:var(--muted)}.card h3{font:400 26px/1.25 Georgia,serif;margin:18px 0}.hint{color:var(--muted);font-size:15px}.dark-section{background:var(--dark);color:var(--paper)}.dark-section .hint,.dark-section .eyebrow{color:#c1c7bc}.dark-section .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}.site-footer{padding:28px 0;font-size:13px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.page-main{padding:70px 0;min-height:65vh}.page-title{margin-bottom:44px}.post-list{display:grid;gap:25px}.post-list article{padding:24px 0;border-bottom:1px solid var(--line)}.navigation.pagination{margin-top:30px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.alignwide{max-width:1100px}.alignfull{width:100%}.wp-block-gallery{display:flex;flex-wrap:wrap;gap:12px}.wp-block-gallery figure{flex:1 1 220px;margin:0}.wp-block-gallery img{max-width:100%}
@media(max-width:950px){.nav{gap:14px}.nav a{font-size:12px}.hero{min-height:540px}.hero-copy{padding:60px 5vw}.hero-photo,.hero-photo img{min-height:480px}.cards{gap:15px}.card{padding:20px}}
@media(max-width:760px){.header-inner{min-height:76px;flex-wrap:wrap;padding:15px 0;gap:12px}.brand{font-size:20px}.menu-toggle{display:block}.nav{display:flex;flex-wrap:wrap;width:100%;gap:8px 20px;padding:12px 0}.js .nav{display:none}.js .nav.is-open{display:flex}.nav a{font-size:15px;padding:6px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6vw}.hero h1{font-size:55px;letter-spacing:-2px;max-width:100%;overflow-wrap:normal}.hero-photo{min-height:0;aspect-ratio:4/5}.hero-photo img{min-height:0;height:100%;object-position:center}.hero .eyebrow{margin-bottom:18px}.actions{margin-top:24px}.content-section{padding:58px 0!important}.bio-grid{grid-template-columns:1fr;gap:24px}.cards{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column;gap:18px}.page-main{padding:45px 0}.prose{overflow-wrap:break-word}.photo-empty{font-size:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Direzione fotografica: nome centrale e immagine a tutta larghezza. */
:root{--dark:#242520;--ink:#292a25;--muted:#6d6c62}
.site-header{position:relative;background:var(--dark);color:var(--paper);border:0;z-index:10}
.header-inner{width:min(1380px,94%);display:grid;grid-template-columns:repeat(3,auto) minmax(270px,1fr) repeat(3,auto);gap:22px;min-height:122px}
.brand{grid-column:4;grid-row:1;justify-self:center;font-size:clamp(25px,2.5vw,38px);font-weight:300;letter-spacing:2px;text-align:center;text-transform:uppercase;line-height:1.12;max-width:330px}
.nav{display:contents}.nav a{grid-row:1;font-size:12px;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}
.nav a:nth-child(1){grid-column:1}.nav a:nth-child(2){grid-column:2}.nav a:nth-child(3){grid-column:3}.nav a:nth-child(4){grid-column:5}.nav a:nth-child(5){grid-column:6}.nav a:nth-child(6){grid-column:7}
.home .site-header{position:absolute;top:0;left:0;width:100%;background:linear-gradient(180deg,rgba(20,21,18,.65),transparent)}
.hero{position:relative;display:flex;align-items:flex-end;min-height:780px;min-height:90svh;background:var(--dark);color:var(--paper);isolation:isolate}
.hero-photo{position:absolute;inset:0;z-index:-2;min-height:0;background:linear-gradient(130deg,#494b40,#a59b84)}
.hero-photo img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:75% 40%}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,17,.78),rgba(18,20,17,.12) 75%),linear-gradient(0deg,rgba(18,20,17,.5),transparent 65%);z-index:-1;pointer-events:none}
.hero-copy{width:min(1180px,88%);padding:180px 0 90px;margin:0 auto;align-self:auto}
.hero h1{font-family:system-ui,-apple-system,sans-serif;font-size:clamp(44px,5.8vw,82px);font-weight:300;letter-spacing:.5px;line-height:1.08;text-transform:uppercase;max-width:620px;margin-bottom:24px}
.hero .eyebrow{color:#e0dace}.hero .intro{font-size:19px;font-weight:300;max-width:430px}
.hero .button{background:var(--paper);border-color:var(--paper);color:var(--dark);letter-spacing:.7px}
.hero .button.secondary{background:transparent;color:var(--paper)}
.photo-empty{font-family:system-ui,sans-serif;font-weight:200;letter-spacing:7px;font-size:130px;color:#ffffff25}
.section-head h2,.page-title,.bio-grid h2,.card h3{font-family:system-ui,-apple-system,sans-serif;font-weight:300;letter-spacing:.2px}
.section-head h2,.page-title,.bio-grid h2{font-size:clamp(34px,4.2vw,56px)}
.card{border:0;border-top:1px solid var(--line);padding:28px 0;min-height:155px}.card .num{font:300 16px system-ui,sans-serif;letter-spacing:2px}.card h3{font-size:29px}
section.content-section{padding:82px 0}.dark-section{background:var(--dark)}
@media(min-width:761px){body.admin-bar.home .site-header{top:32px}}
@media(max-width:1100px) and (min-width:761px){.header-inner{gap:12px;grid-template-columns:repeat(3,auto) minmax(190px,1fr) repeat(3,auto)}.brand{font-size:26px;max-width:220px}.nav a{font-size:10px;letter-spacing:.2px}}
@media(max-width:760px){
 .home .site-header{position:relative;background:var(--dark)}
 .header-inner{display:flex;min-height:82px;padding:18px 0;justify-content:space-between;gap:14px;width:88%}
 .brand{max-width:220px;font-size:23px;letter-spacing:1px;text-align:left}
 .menu-toggle{display:block;color:var(--paper);border-color:#aaa99d;min-height:44px}
 .nav{display:flex;width:100%;flex-wrap:wrap;gap:6px 24px;padding:15px 0}.js .nav{display:none}.js .nav.is-open{display:flex}.nav a{font-size:13px;min-height:44px;display:flex;align-items:center;white-space:normal}
 .hero{display:flex;flex-direction:column;min-height:0;align-items:stretch}
 .hero-photo{position:relative;order:0;z-index:0;aspect-ratio:4/5;min-height:0;max-height:580px}
 .hero-photo img{object-position:75% 40%;min-height:0}.hero:after{display:none}
 .hero-copy{order:1;width:88%;padding:34px 0 45px;margin:auto}
 .hero h1{font-size:clamp(32px,8.5vw,51px);letter-spacing:.2px;line-height:1.12;overflow-wrap:normal;margin-bottom:18px}
 .hero .intro{font-size:17px}.hero .eyebrow{margin-bottom:14px}.hero .actions{gap:10px}.hero .button{font-size:13px;padding:12px 18px}
 .photo-empty{font-size:90px}.content-section{padding:55px 0!important}
}

/* Video: category columns on desktop, stacked sections and jump links on phones. */
.jc-video-page>.prose{max-width:none}
.jc-video-links{display:flex;flex-wrap:wrap;gap:10px 26px;margin:0 0 38px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.jc-video-links a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;text-underline-offset:6px}
.jc-video-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px 38px;align-items:start}
.jc-video-category{min-width:0;scroll-margin-top:30px}
.jc-video-category h2:first-child{font:400 clamp(24px,2.5vw,34px)/1.25 system-ui,-apple-system,sans-serif;margin:0 0 26px}
.jc-video-category figure{margin:0 0 24px;width:100%;max-width:100%}
.jc-video-category iframe{max-width:100%;width:100%;border:0}
.jc-video-category .wp-block-embed__wrapper{position:relative;width:100%;aspect-ratio:16/9}
.jc-video-category .wp-block-embed__wrapper iframe{position:absolute;inset:0;width:100%;height:100%}
.jc-video-category figcaption{font-size:14px;color:var(--muted)}
@media(max-width:760px){.jc-video-grid{grid-template-columns:1fr;gap:42px}.jc-video-links{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:32px}.jc-video-links a{font-size:14px}.jc-video-category{scroll-margin-top:18px}.jc-video-category h2:first-child{font-size:28px}}

/* Lightweight YouTube preview; player is created only after explicit activation. */
.jc-youtube-container{position:relative;aspect-ratio:16/9;width:100%;background:#181a17}
.jc-youtube-container::before{display:none!important}
.jc-youtube-preview{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:#181a17;color:#fff;overflow:hidden;cursor:pointer;text-align:left}
.jc-youtube-preview img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;margin:0}
.jc-youtube-title{position:absolute;top:0;left:0;right:0;padding:16px 18px 28px;background:linear-gradient(#000c,transparent);font:500 15px/1.4 system-ui,sans-serif;color:#fff}
.jc-youtube-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:#d90000;color:#fff;border-radius:13px;width:68px;height:48px;font-size:24px;line-height:1;padding-left:3px}
.jc-youtube-preview:hover .jc-youtube-play{background:#b90000}
.jc-youtube-preview:focus-visible{outline:3px solid #b67825;outline-offset:4px}
.jc-youtube-container>iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.jc-youtube-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#181a17;color:#fff;padding:20px}
@media(max-width:480px){.jc-youtube-title{font-size:14px;padding:12px 14px 24px}}

/* Home navigation: keep the portrait clear, with the artist name only in the hero. */
.home .site-header .brand{display:none}
.home .site-header{background:linear-gradient(180deg,rgba(18,20,17,.88) 0%,rgba(18,20,17,.72) 65%,rgba(18,20,17,.12) 100%)}
@media(min-width:761px){
 .home .header-inner{width:94%;max-width:none;grid-template-columns:auto auto auto minmax(20px,1fr) auto auto auto;gap:24px;min-height:102px}
 .home .nav a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;text-shadow:0 1px 3px rgba(0,0,0,.45)}
}
@media(min-width:761px) and (max-width:1100px){
 .home .header-inner{width:96%;gap:14px}
 .home .nav a{font-size:12px;letter-spacing:.2px}
}
@media(max-width:760px){
 .home .site-header{background:var(--dark)}
 .home .header-inner{min-height:68px;padding:12px 0;justify-content:flex-end}
 .home .nav{justify-content:flex-start}
}

/* Transparent home header: use the portrait background without a dark header band. */
@media(min-width:761px){
 .home .site-header{background:transparent}
 .home .nav a{text-shadow:none}
 .home .nav a:nth-child(n+4){color:#252620}
}

/* Alternate menu treatment: all white, soft text shadow, unchanged photo. */
@media(min-width:761px){
 .home .site-header .nav a{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8),0 0 7px rgba(0,0,0,.55)}
}

/* Artist navigation and official profiles. */
.jc-socials{display:flex;align-items:center;gap:6px}
.jc-socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:inherit;text-decoration:none}
.jc-socials svg{display:block;flex:none}
@media(min-width:761px){
 .home .header-inner{display:flex;align-items:flex-start;justify-content:space-between;width:94%;gap:24px;padding:26px 0;min-height:0}
 .home .site-header .nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
 .home .site-header .nav a{color:#fff;min-height:32px;padding:2px 0;font-size:14px;letter-spacing:.7px;text-shadow:0 1px 3px rgba(0,0,0,.35)}
 .home .jc-socials{color:#252620;align-self:flex-start;gap:8px}
 .home .hero-copy{padding-top:300px}
 body:not(.home) .header-inner>.jc-socials{grid-column:1/-1;grid-row:2;justify-self:center;margin:-14px 0 14px}
}
@media(max-width:760px){
 .jc-socials{width:100%;justify-content:flex-start;padding:8px 0 4px;order:2}
 .js .header-inner>.jc-socials{display:none}
 .js .header-inner>.nav.is-open+.jc-socials{display:flex}
 .home .header-inner>.nav{order:1}
 .home .hero-copy{padding-top:34px}
}

/* Biography: full text alongside the selected live portrait. */
.jc-biography-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.jc-biography-layout>.prose{max-width:none;min-width:0}
.jc-biography-photo{margin:0;min-width:0}
.jc-biography-photo img{display:block;width:100%;height:auto}
@media(max-width:900px){
 .jc-biography-layout{grid-template-columns:1fr;gap:32px}
 .jc-biography-photo{grid-row:1;width:100%;max-width:480px;justify-self:center}
}

/* Blend the portrait edges into the page without altering the photograph. */
.jc-biography-photo{position:relative;isolation:isolate}
.jc-biography-photo::after{content:"";position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(to right,var(--paper) 0%,transparent 12%,transparent 92%,var(--paper) 100%),linear-gradient(to bottom,var(--paper) 0%,transparent 6%,transparent 80%,var(--paper) 100%)}

/* Transparent subject silhouette: retain hair detail, dissolve only the lower crop. */
.jc-biography-photo::after{background:linear-gradient(to bottom,transparent 0%,transparent 84%,var(--paper) 100%)}

/* Mobile first screen: portrait, artist name and navigation together. */
.menu-lines{display:flex;width:24px;flex-direction:column;gap:5px}
.menu-lines>span{display:block;height:2px;width:100%;background:currentColor}
@media(max-width:760px){
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:12px;border:0;background:transparent}
 .home .site-header{position:absolute;top:0;left:0;width:100%;background:transparent}
 .home .header-inner{padding:12px 0;min-height:72px}
 .home .menu-toggle{background:rgba(36,37,32,.85);color:var(--paper)}
 .home .site-header.menu-is-open{background:var(--dark)}
 .home .hero{display:flex;flex-direction:column;justify-content:flex-end;min-height:640px;min-height:100svh;isolation:isolate}
 .home .hero-photo{position:absolute;inset:0;order:0;z-index:-2;aspect-ratio:auto;max-height:none;height:100%}
 .home .hero-photo img{height:100%;object-fit:cover;object-position:75% 40%}
 .home .hero::after{display:block;content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(24,25,22,.9),rgba(24,25,22,.58) 22%,transparent 54%);pointer-events:none}
 .home .hero-copy{order:1;width:88%;margin:0 auto;padding:120px 0 max(30px,env(safe-area-inset-bottom));position:relative}
 .home .hero h1{font-size:clamp(38px,10vw,58px);max-width:340px;line-height:1.06;margin:0 0 20px;color:var(--paper)}
 .home .hero .actions{margin-top:20px;gap:10px}
 .home .hero .button{min-height:46px;font-size:13px;padding:10px 14px}
}

/* Artist logo in the mobile masthead, with the portrait left unobstructed. */
.jc-brand-logo{display:none}
@media(max-width:760px){
 .home .site-header{position:relative;background:var(--dark)}
 .home .site-header .brand{display:block;max-width:calc(100% - 64px)}
 .header-inner .brand{width:230px;max-width:calc(100% - 64px);line-height:0}
 .jc-brand-text{display:none}
 .jc-brand-logo{display:block;width:100%;height:76px;object-fit:cover;mix-blend-mode:screen}
 .home .header-inner,.header-inner{justify-content:space-between;min-height:92px;padding:8px 0;align-items:center}
 .home .menu-toggle{background:transparent}
 .home .hero{min-height:calc(100svh - 92px)}
 .home .hero h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .home .hero-copy{padding:80px 0 max(28px,env(safe-area-inset-bottom))}
 .home .hero::after{background:linear-gradient(to top,rgba(24,25,22,.72),transparent 34%)}
}

/* Quiet mobile masthead and actions below the portrait. */
@media(max-width:760px){
 .header-inner .brand{width:auto;max-width:calc(100% - 60px);line-height:1.12}
 .jc-brand-text{display:inline;font-size:clamp(17px,5vw,23px);font-weight:300;letter-spacing:.8px}
 .jc-brand-logo{display:none}
 .home .header-inner,.header-inner{min-height:76px;padding:12px 0}
 .home .hero{display:flex;min-height:0;flex-direction:column;background:var(--paper);color:var(--ink)}
 .home .hero-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/5;max-height:580px;z-index:0}
 .home .hero-photo img{height:100%;object-position:75% 40%}
 .home .hero::after{display:none}
 .home .hero-copy{width:88%;padding:24px 0 30px;margin:auto}
 .home .hero .actions{margin:0;gap:10px}
 .home .hero .button{background:var(--ink);border-color:var(--ink);color:var(--paper)}
 .home .hero .button.secondary{background:transparent;color:var(--ink)}
}

/* Mobile cream masthead, with a restrained editorial wordmark. */
@media(max-width:760px){
 body .site-header,body.home .site-header,body.home .site-header.menu-is-open{background:var(--paper);color:var(--ink)}
 .site-header .brand,.home .site-header .brand{color:var(--ink)}
 .site-header .jc-brand-text{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(20px,5.7vw,27px);letter-spacing:-.7px;line-height:1.1}
 .site-header .menu-toggle,.home .site-header .menu-toggle{color:var(--ink);background:transparent;border:0}
 .site-header .nav a,.home .site-header .nav a{color:var(--ink);text-shadow:none}
 .site-header .jc-socials,.home .site-header .jc-socials{color:var(--ink)}
 .home .header-inner,.header-inner{min-height:76px}
}

/* Mobile home as a continuous white photographic composition. */
@media(max-width:760px){
 body.home{background:#fff}
 body.home .site-header,body.home .site-header.menu-is-open{background:#fff}
 .home .hero,.home .hero-copy,.home .site-footer{background:#fff}
 .home .hero-photo{background:#fff}
 .home .hero-photo::before{content:'';position:absolute;inset:0 0 auto;height:24px;background:linear-gradient(#fff,rgba(255,255,255,0));z-index:1;pointer-events:none}
 .home .header-inner{width:88%;min-height:76px}
 .home .hero-copy{padding:24px 0 30px}
}

/* Complete mobile masthead and quick contacts. */
.jc-footer-mobile{display:none}
@media(max-width:760px){
 .header-inner,.home .header-inner{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;column-gap:4px;row-gap:0;width:94%;min-height:76px}
 .header-inner .brand,.home .site-header .brand{grid-column:2;grid-row:1;justify-self:center;width:auto;max-width:100%;text-align:center}
 .site-header .jc-brand-text{font-size:clamp(18px,5.6vw,25px);letter-spacing:-.8px;white-space:nowrap}
 .header-inner .menu-toggle{grid-column:3;grid-row:1;justify-self:end}
 .header-inner>.nav{grid-column:1/-1;grid-row:2}
 .header-inner>.jc-socials{grid-column:1/-1;grid-row:3}
 .site-footer .footer-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
 .jc-copyright{font-size:13px}
 .jc-footer-mobile{display:block;width:100%}
 .jc-footer-mobile .jc-socials{display:flex;justify-content:center;width:100%;padding:0;gap:10px;color:var(--ink)}
 .jc-footer-booking{font-size:14px;line-height:1.7;margin:16px 0 0;overflow-wrap:anywhere}
 .jc-footer-booking a{text-decoration:none}
}

/* Carry the desktop grey-to-light photographic treatment into mobile. */
@media(max-width:760px){
 body.home{background:linear-gradient(90deg,#575955 0%,#c2c3c1 65%,#e5e5e4 100%)}
 body.home .site-header,body.home .site-header.menu-is-open{background:transparent}
 .home .hero,.home .hero-copy,.home .site-footer{background:transparent}
 .home .hero-photo{background:transparent}
 .home .hero-photo::before{display:none}
 .home .hero-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(18,20,17,.67),rgba(18,20,17,.1) 100%)}
 .home .site-header .brand,.home .site-header .menu-toggle,.home .site-header .nav a,.home .site-header .jc-socials{color:#191b18}
 .home .site-footer{color:#191b18}
 .home .hero .button{background:#242520;color:#fff;border-color:#242520}
 .home .hero .button.secondary{background:transparent;color:#191b18;border-color:#191b18}
 .home .jc-footer-mobile .jc-socials{color:#191b18}
}

/* Keep the grey surround while allowing the portrait to retain its light. */
@media(max-width:760px){
 .home .hero-photo::after{background:linear-gradient(90deg,rgba(18,20,17,.67) 0%,rgba(18,20,17,.22) 15%,transparent 34%,transparent 100%)}
}
@media(min-width:761px) and (max-width:1024px){
 .home .hero::after{background:linear-gradient(90deg,rgba(18,20,17,.72) 0%,rgba(18,20,17,.38) 25%,transparent 52%),linear-gradient(0deg,rgba(18,20,17,.32),transparent 38%)}
}

/* Mobile masthead overlays the photograph rather than occupying a separate band. */
@media(max-width:760px){
 body.home .site-header{position:absolute;top:0;left:0;width:100%;background:transparent}
 body.admin-bar.home .site-header{top:46px}
 .home .hero-photo{aspect-ratio:4/6;max-height:680px}
 .home .hero-photo img{object-position:75% 0%;padding-top:76px;background:linear-gradient(90deg,#575955,#c2c3c1 65%,#e5e5e4)}
 .home .hero-photo::before{display:block;content:'';position:absolute;inset:0 0 auto;height:110px;background:linear-gradient(90deg,#575955,#c2c3c1 65%,#e5e5e4);mask-image:linear-gradient(#000 70%,transparent);-webkit-mask-image:linear-gradient(#000 70%,transparent);z-index:2;pointer-events:none}
 .home .hero-photo::after{z-index:1}
 .site-footer .jc-copyright{order:10;margin-top:8px}
}

/* Blend the photograph itself into the shared backdrop, avoiding a header edge. */
@media(max-width:760px){
 .header-inner,.home .header-inner{grid-template-columns:minmax(0,1fr) 48px;width:88%;column-gap:12px}
 .header-inner .brand,.home .site-header .brand{grid-column:1;justify-self:start;text-align:left}
 .header-inner .menu-toggle{grid-column:2}
 .home .hero-photo{background:transparent;overflow:hidden}
 .home .hero-photo::before{display:none}
 .home .hero-photo img{background:transparent;padding-top:76px;mask-image:linear-gradient(to bottom,transparent 0px,transparent 64px,#000 155px);-webkit-mask-image:linear-gradient(to bottom,transparent 0px,transparent 64px,#000 155px)}
}

/* A record as the music link, with the photo dissolving into the shared backdrop. */
@media(max-width:760px){
 .header-inner .brand,.home .site-header .brand{margin-left:18px}
 .home .hero-photo img{mask-image:linear-gradient(to bottom,transparent 0px,transparent 60px,#000 160px,#000 calc(100% - 100px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0px,transparent 60px,#000 160px,#000 calc(100% - 100px),transparent 100%)}
 .home .hero-photo::after{mask-image:linear-gradient(to bottom,transparent 0px,transparent 60px,#000 160px,#000 calc(100% - 100px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0px,transparent 60px,#000 160px,#000 calc(100% - 100px),transparent 100%)}
 .home .hero-copy{padding:8px 0 20px}
 .home .hero .actions{justify-content:center}
 .home .hero .jc-music-record{position:relative;display:flex;align-items:center;justify-content:center;width:132px;height:132px;min-height:132px;padding:0;border:1px solid #161714;border-radius:50%;background:repeating-radial-gradient(circle at center,#262724 0px,#262724 2px,#363733 3px,#22231f 4px);box-shadow:0 5px 12px rgba(0,0,0,.16);text-decoration:none;isolation:isolate}
 .home .jc-music-record::before{content:'';position:absolute;inset:39px;border-radius:50%;background:#e8e3d9;border:1px solid #b5afa0;z-index:-1}
 .home .hero .jc-music-record>span{color:#232520;font:400 13px Georgia,serif;letter-spacing:.2px}
 .home .hero .jc-music-record:hover{transform:rotate(-5deg)}
 .home .hero .jc-music-record:focus-visible{outline:3px solid #8b5d22;outline-offset:6px}
}
@media(prefers-reduced-motion:reduce){.home .hero .jc-music-record:hover{transform:none}}

/* One photographic surface behind the masthead; no cloud effect on the subject. */
@media(max-width:760px){
 .home .hero-photo img{padding-top:0;mask-image:none;-webkit-mask-image:none;object-position:75% 0%;background:transparent}
 .home .hero-photo::before{display:none}
 .home .hero-photo::after{mask-image:none;-webkit-mask-image:none}
 .jc-footer-booking{margin:0 0 18px}
}

/* Restore the original 4:5 portrait area and reserve space above the hair.
   The backdrop and its lateral gradient cover both areas continuously. */
@media(max-width:760px){
 .home .hero-photo{height:calc(125vw + 76px);aspect-ratio:auto;max-height:none;background:#fff;position:relative}
 .home .hero-photo img{position:absolute;top:76px;left:0;width:100%;height:calc(100% - 76px);padding:0;margin:0;object-fit:cover;object-position:75% 40%;mask-image:none;-webkit-mask-image:none;background:#fff}
 .home .hero-photo::before{display:none}
 .home .hero-photo::after{inset:0;mask-image:none;-webkit-mask-image:none;background:linear-gradient(90deg,rgba(18,20,17,.67) 0%,rgba(18,20,17,.22) 15%,transparent 34%,transparent 100%)}
 .home .site-header{background:transparent}
}

/* Selected typography trial: Cormorant, mobile artist name only. */
@media(max-width:760px){
 .site-header .jc-brand-text{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(21px,6vw,27px);letter-spacing:-.5px}
}

/* Full-screen mobile navigation on its own opaque surface. */
@media(max-width:760px){
 .home .hero-copy{padding:0;min-height:0}
 .js .site-header .header-inner>.nav{display:flex;position:fixed;inset:0;z-index:50;box-sizing:border-box;background:#20211e;color:#f6f2eb;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:8px;width:100%;height:100dvh;margin:0;padding:105px 8vw 130px;overflow-y:auto;transform:translateX(100%);opacity:0;visibility:hidden;transition:transform .7s cubic-bezier(.22,.61,.36,1),opacity .45s ease,visibility .7s;overscroll-behavior:contain}
 .js .site-header .header-inner>.nav.is-open{transform:translateX(0);opacity:1;visibility:visible}
 .site-header .header-inner>.nav.is-open a,.home .site-header .header-inner>.nav.is-open a{display:flex;flex:none;color:#f6f2eb;text-shadow:none;font-family:system-ui,-apple-system,sans-serif;font-size:clamp(25px,7vw,34px);font-weight:300;line-height:1.2;letter-spacing:.3px;padding:8px 0;min-height:48px;text-decoration:none}
 .site-header.menu-is-open .brand{position:relative;z-index:60;color:#f6f2eb}
 .site-header.menu-is-open .menu-toggle{position:relative;z-index:60;color:#f6f2eb;background:transparent}
 .home .site-header.menu-is-open .brand,.home .site-header.menu-is-open .menu-toggle{color:#f6f2eb}
 .site-header.menu-is-open .menu-lines{position:relative;height:24px;display:block}
 .site-header.menu-is-open .menu-lines>span{position:absolute;top:11px;left:0}
 .site-header.menu-is-open .menu-lines>span:nth-child(1){transform:rotate(45deg)}
 .site-header.menu-is-open .menu-lines>span:nth-child(2){opacity:0}
 .site-header.menu-is-open .menu-lines>span:nth-child(3){transform:rotate(-45deg)}
 .js .site-header .header-inner>.nav.is-open+.jc-socials{display:flex;position:fixed;z-index:55;left:0;right:0;bottom:0;width:100%;margin:0;padding:18px 8vw max(18px,env(safe-area-inset-bottom));background:#20211e;color:#f6f2eb;gap:10px;justify-content:flex-start}
 body.jc-menu-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.js .site-header .header-inner>.nav{transition:none}}

/* Typography comparison: Marcellus in the same mobile wordmark position. */
@media(max-width:760px){
 .site-header .jc-brand-text{font-family:Marcellus,Georgia,serif;font-weight:400}
}

/* Stronger, more open Cormorant wordmark and a visible artist monogram. */
@media(max-width:760px){
 .site-header .jc-brand-text{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;letter-spacing:.65px}
 .jc-footer-monogram{display:block;width:94px;height:94px;margin:0 auto 22px;object-fit:contain;mix-blend-mode:screen}
 .jc-footer-mobile{padding-top:12px}
}

/* Original Cormorant treatment; monogram centered between social links. */
@media(max-width:760px){
 .site-header .jc-brand-text{font-weight:500;letter-spacing:-.5px}
 .jc-footer-mobile .jc-socials{gap:5px;align-items:center}
 .jc-social-monogram{display:block;flex:0 0 70px;width:70px;height:70px;object-fit:contain;mix-blend-mode:screen}
}

/* Final mobile direction: editorial masthead, quiet contact block, artist signature. */
@media(max-width:760px){
 .header-inner,.home .header-inner{width:88%;column-gap:16px}
 .header-inner .brand,.home .site-header .brand{margin-left:0;justify-self:start;text-align:left}
 .site-header .jc-brand-text{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(22px,6.4vw,28px);letter-spacing:0;line-height:1.1}
 .jc-footer-mobile{padding-top:8px}
 .jc-footer-booking{margin:0 0 22px;line-height:1.8}
 .jc-booking-label{font-size:11px;letter-spacing:1.1px;text-transform:uppercase}
 .jc-footer-booking a{font-size:16px;text-decoration:none;display:inline-block;padding:4px 0}
 .jc-footer-booking a:hover{text-decoration:underline}
 .jc-footer-mobile .jc-socials{gap:12px;justify-content:center}
 .jc-footer-signature{display:block;width:76px;height:76px;margin:24px auto 0;object-fit:contain;mix-blend-mode:screen}
 .site-footer{padding:30px 0 26px}
 .site-footer .footer-inner{gap:12px}
 .site-footer .jc-copyright{font-size:11px;letter-spacing:.2px;margin-top:0}
}

/* Tour: one live photograph, a clear empty state and one optional signup link. */
.jc-tour-hero{position:relative;height:clamp(320px,45vw,540px);overflow:hidden;background:#333337;color:var(--paper)}
.jc-tour-hero>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.jc-tour-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(20,20,20,.72),transparent 65%);pointer-events:none}
.jc-tour-hero>.wrap{position:absolute;bottom:28px;left:0;right:0;z-index:1}
.jc-tour-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(48px,7vw,76px);line-height:1;margin:0}
.jc-tour-dates{padding:64px 0 72px;max-width:860px}
.jc-tour-dates h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(30px,5vw,46px);font-weight:500;line-height:1.15;margin:0 0 20px}
.jc-tour-dates p{max-width:620px}
.jc-tour-newsletter{margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}
.jc-tour-newsletter h2{font-size:32px}
@media(max-width:760px){.jc-tour-hero{height:380px}.jc-tour-hero>img{object-position:50% 28%}.jc-tour-dates{padding:42px 0 50px}.jc-tour-dates .eyebrow{margin-bottom:16px}.jc-tour-newsletter .button{width:100%}}

/* Selected photographs, distinct to each page, with natural colour and no fades. */
.jc-discography-photo{margin:0 0 38px;overflow:hidden;aspect-ratio:2.4/1;background:#242520}
.jc-discography-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.jc-biography-moments{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:64px;align-items:start}
.jc-biography-moments figure{margin:0}
.jc-biography-moments img{display:block;width:100%;height:auto}
.jc-tour-hero>img{object-position:50% 48%}
@media(max-width:760px){
 .jc-discography-photo{aspect-ratio:4/3;margin-bottom:28px}
 .jc-discography-photo img{object-position:50% 38%}
 .jc-biography-moments{gap:20px;margin-top:42px;grid-template-columns:1fr}
 .jc-biography-moments figure{width:100%;max-width:480px;margin:auto}
 .jc-tour-hero{height:340px}
 .jc-tour-hero>img{object-position:48% 46%}
}

/* Editorial page openings: preserve the biography, integrate rather than decorate. */
.jc-biography-editorial{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);column-gap:clamp(32px,5vw,70px);row-gap:0;align-items:start}
.jc-biography-editorial>.prose{max-width:none;min-width:0}
.jc-bio-intro{grid-column:1;grid-row:1;font-size:19px}
.jc-bio-story{grid-column:1;grid-row:2}
.jc-bio-portrait{grid-column:2;grid-row:1/span 2;margin:4px 0 0}
.jc-bio-portrait img{display:block;width:100%;height:auto}
.jc-discography-page{padding-top:0}
.jc-discography-photo{position:relative;width:100vw;margin-left:calc(50% - 50vw);height:440px;aspect-ratio:auto;margin-bottom:48px}
.jc-discography-photo::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(20,21,18,.65));pointer-events:none}
.jc-discography-photo figcaption{position:absolute;bottom:28px;left:max(5vw,calc((100vw - 1180px)/2));right:5vw;z-index:1;color:#f6f2eb}
.jc-discography-photo .page-title{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(48px,7vw,76px);line-height:1}
@media(max-width:760px){
 .jc-biography-editorial{grid-template-columns:1fr;gap:22px}
 .jc-bio-intro{grid-column:1;grid-row:1;font-size:18px}
 .jc-bio-intro p{margin-top:0;margin-bottom:0}
 .jc-bio-portrait{grid-column:1;grid-row:2;width:100%;max-width:420px;justify-self:center;margin:0;aspect-ratio:4/3;overflow:hidden}
 .jc-bio-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
 .jc-bio-story{grid-column:1;grid-row:3}
 .jc-bio-story p:first-child{margin-top:0}
 .jc-discography-photo{height:340px;margin-bottom:34px}
 .jc-discography-photo img{object-position:50% 36%}
 .jc-discography-photo figcaption{bottom:24px}
}

/* Biography: a landscape opening and one uninterrupted reading column. */
.jc-biography-page{padding-top:0}
.jc-biography-opening{width:100vw;margin:0 0 48px calc(50% - 50vw);height:clamp(340px,40vw,520px);overflow:hidden;background:#171719}
.jc-biography-opening img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.jc-biography-reading{max-width:760px;margin:0 auto}
.jc-biography-reading>.page-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(46px,5vw,68px);line-height:1.05;letter-spacing:-.5px;margin:0 0 30px}
.jc-biography-text{max-width:none;min-width:0;font-size:17px;line-height:1.8}
.jc-biography-text p{margin:0 0 1.25em}
@media(max-width:760px){
 .jc-biography-page{padding-top:0}
 .jc-biography-opening{height:auto;aspect-ratio:2000/1260;margin-bottom:30px}
 .jc-biography-opening img{object-position:center}
 .jc-biography-reading>.page-title{font-size:46px;margin-bottom:24px}
 .jc-biography-text{font-size:17px;line-height:1.75}
}

/* Discography: original artwork, restrained metadata, and explicit listening links. */
.jc-discography-page{width:100%;max-width:none}
.jc-discography-page .jc-discography-photo{width:100%;margin-left:0}
.jc-releases,.jc-discography-player{width:min(1040px,90%);margin:0 auto}
.jc-release-section-title{font:500 clamp(30px,4vw,42px)/1.15 'Cormorant Garamond',Georgia,serif;margin:0 0 30px}
.jc-release-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start}
.jc-release{min-width:0}
.jc-release-art{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;margin:0 0 24px;background:#eeebe4;text-decoration:none}
.jc-release-art img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.jc-release-meta{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin:0 0 8px}
.jc-release h3{font:500 clamp(28px,3vw,36px)/1.15 'Cormorant Garamond',Georgia,serif;margin:0 0 12px}
.jc-release p{line-height:1.7}
.jc-release .jc-release-credit{font-size:13px;color:var(--muted);margin:0 0 20px}
.jc-release-listen{display:inline-flex;gap:16px;align-items:center;min-height:44px;border-bottom:1px solid var(--ink);text-decoration:none;font-size:14px}
.jc-release-listen:hover{text-decoration:underline}
.jc-release-details{border-top:1px solid var(--line);margin-top:24px;padding-top:14px;font-size:14px}
.jc-release-details summary{cursor:pointer;padding:8px 0}
.jc-release-details img{display:block;width:100%;height:auto;margin-top:16px}
.jc-release-details ol{padding-left:22px;line-height:2}
.jc-release-details li span{color:var(--muted);margin-left:8px}
.jc-compilation-title{margin-top:64px}
.jc-release-text-only{max-width:700px;margin:0 0 36px;padding:0 0 26px;border-bottom:1px solid var(--line)}
.jc-discography-player{margin-top:64px;padding-top:32px;border-top:1px solid var(--line)}
.jc-discography-player .prose{max-width:none}
.jc-discography-player iframe{display:block;max-width:100%;width:100%}
.jc-discography-player .wp-block-embed,.jc-discography-player figure{margin-left:0;margin-right:0;max-width:100%}
@media(max-width:760px){
 .jc-release-grid{grid-template-columns:1fr;gap:42px}
 .jc-release-art{margin-bottom:22px}
 .jc-release-section-title{margin-bottom:24px}
 .jc-compilation-title{margin-top:48px}
 .jc-discography-player{margin-top:48px}
 body:not(.home) .jc-footer-signature{mix-blend-mode:multiply;filter:grayscale(1) invert(1)}
}

/* A single chronological catalogue; the editorial playlist sits outside the releases. */
.jc-release-art img{width:100%;height:100%;object-fit:contain}
.jc-release-press{font-size:14px}
.jc-tenco-playlist{margin-top:56px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.jc-tenco-playlist .jc-release-section-title{margin-bottom:14px}
.jc-tenco-playlist p{max-width:620px}

/* Highlight the Club Tenco playlist before the chronological catalogue. */
.jc-tenco-playlist{margin-top:0;margin-bottom:42px;padding-top:0;border-top:0}

/* The existing Spotify player follows the home photograph, ahead of contact details. */
.jc-home-listening{padding:44px 0 30px;color:var(--ink)}
.jc-home-listening-inner{width:min(760px,90%);margin:0 auto;min-width:0}
.jc-home-listening h2{font:500 clamp(28px,4vw,36px)/1.15 'Cormorant Garamond',Georgia,serif;letter-spacing:0;margin:0 0 22px}
.jc-home-listening .prose{max-width:100%;margin:0}
.jc-home-listening .wp-block-embed,.jc-home-listening figure{max-width:100%;margin:0}
.jc-home-listening iframe{display:block;width:100%;max-width:100%;border:0}
@media(max-width:760px){.jc-home-listening{padding:32px 0 22px}.jc-home-listening h2{font-size:28px;margin-bottom:20px}}

/* Contact details and social links must remain available on desktop too. */
@media(min-width:761px){
 .site-footer .footer-inner{justify-content:center;text-align:center;row-gap:18px}
 .jc-footer-mobile{display:block;width:100%;padding-top:18px}
 .jc-footer-booking{margin:0 0 22px;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
 .jc-booking-label{font-size:11px;letter-spacing:1.1px;text-transform:uppercase}
 .jc-footer-booking a{display:inline-block;padding:4px 0;text-decoration:none}
 .jc-footer-booking a:hover{text-decoration:underline}
 .jc-footer-mobile .jc-socials{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;padding:0;color:var(--ink)}
 .jc-footer-signature{display:block;width:76px;height:76px;margin:24px auto 0;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1) invert(1)}
 .site-footer .jc-copyright{font-size:12px}
}

/* Mobile video gallery: a compact opening and a clear four-category index. */
@media(max-width:760px){
 .page-main.jc-video-page{padding-top:26px;padding-bottom:36px}
 .jc-video-page>.page-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:48px;line-height:1.05;letter-spacing:-.5px;margin:0 0 26px}
 .jc-video-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 30px;padding:0;border:0}
 .jc-video-links a{display:flex;align-items:center;justify-content:flex-start;min-width:0;min-height:58px;padding:10px 12px;border:1px solid var(--line);font-size:13px;line-height:1.4;text-decoration:none;overflow-wrap:normal;background:transparent;color:var(--ink)}
 .jc-video-links a:hover,.jc-video-links a:focus-visible{background:#eae5db;border-color:#7c786d}
 .jc-video-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .jc-video-category{border-top:1px solid var(--line);padding-top:23px;scroll-margin-top:20px}
 .jc-video-category h2:first-child{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:33px;line-height:1.12;letter-spacing:-.2px;margin:0 0 22px}
 .jc-video-category figure{margin-bottom:22px}
 .jc-video-category figure:last-child{margin-bottom:0}
 .jc-video-category figcaption{font-size:13px;line-height:1.5;margin-top:10px}
}

/* Contacts echoes the home greys, with enough contrast for the contact information. */
body.jc-contact-page{background:linear-gradient(90deg,#8e908b 0%,#c2c3c1 65%,#e5e5e4 100%);color:#191b18;--ink:#191b18;--muted:#30332e;--line:rgba(25,27,24,.2)}
.jc-contact-page .site-header{background:transparent;color:var(--ink)}
.jc-contact-page .site-footer{background:transparent;color:var(--ink)}
.jc-contact-page .page-main{background:transparent}
.jc-contact-page .jc-footer-mobile .jc-socials{color:var(--ink)}

/* Mobile contacts must exactly match the approved home background and signature. */
@media(max-width:760px){
 body.jc-contact-page{background:linear-gradient(90deg,#575955 0%,#c2c3c1 65%,#e5e5e4 100%)}
 body.jc-contact-page .jc-footer-signature{mix-blend-mode:screen;filter:none}
}

/* Let the home photograph breathe above the player; keep booking on its contact page. */
@media(max-width:760px){
 .jc-home-listening{padding-top:50px}
}

/* Match the biography heading to the existing discography and tour image headings. */
.jc-biography-opening{position:relative;isolation:isolate}
.jc-biography-opening::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(20,21,18,.65));pointer-events:none}
.jc-biography-opening figcaption{position:absolute;bottom:28px;left:max(5vw,calc((100vw - 1180px)/2));right:5vw;z-index:1;color:#f6f2eb}
.jc-biography-opening .page-title{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(48px,7vw,76px);line-height:1;letter-spacing:0}
@media(max-width:760px){.jc-biography-opening figcaption{bottom:24px}}

/* Matching copyright and phonogram symbols. */
.jc-rights-symbols{display:inline-flex;gap:4px;align-items:center;vertical-align:-.12em;margin-right:2px}
.jc-rights-symbols>span{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:13px;height:13px;border:1px solid currentColor;border-radius:50%;font-family:Arial,sans-serif;font-size:9px;font-weight:400;line-height:1;letter-spacing:0}

/* Page photographs: artwork leads Dischi; contacts pairs a full portrait with details. */
.jc-discography-page{padding-top:56px}
.jc-discography-page>.page-title{width:min(1040px,90%);margin:0 auto 36px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(48px,7vw,76px);line-height:1.05;letter-spacing:0}
.jc-contact-page .page-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:0}
.jc-contact-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(30px,5vw,64px);align-items:center}
.jc-contact-photo{margin:0;min-width:0}
.jc-contact-photo img{display:block;width:100%;height:auto}
.jc-contact-details{min-width:0;max-width:none}
.jc-contact-details a{overflow-wrap:anywhere}
.jc-tour-hero{height:clamp(360px,40vw,600px)}
.jc-tour-hero>img{object-position:50% 35%}
.jc-tour-photo-credit{font-size:11px;color:var(--muted);text-align:right;margin-top:8px;margin-bottom:0}
@media(max-width:760px){
 .jc-discography-page{padding-top:26px}
 .jc-discography-page>.page-title{font-size:48px;margin-bottom:28px}
 .jc-contact-page .page-main{padding-top:26px}
 .jc-contact-page .page-title{font-size:48px;margin-bottom:26px}
 .jc-contact-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .jc-tour-hero{height:auto;aspect-ratio:2000/1331}
 .jc-tour-hero>img{object-position:center}
 .jc-tour-hero>.wrap{bottom:20px}
}

/* Desktop biography: keep the complete photograph at a restrained scale. */
@media(min-width:761px){
 .jc-biography-opening{height:clamp(360px,32vw,440px);display:flex;justify-content:flex-end;align-items:center;padding-right:max(5vw,calc((100vw - 1180px)/2));background:#171719}
 .jc-biography-opening>img{flex:0 1 760px;width:min(70%,760px);max-width:70%;height:100%;object-fit:contain;object-position:right center}
 .jc-biography-opening figcaption{bottom:32px;right:55%}
 .jc-biography-opening .page-title{font-size:clamp(44px,5vw,68px)}
}

/* Join the desktop photograph to the surrounding dark canvas without resizing it. */
@media(min-width:761px){
 .jc-biography-opening{background:#121314}
 .jc-biography-opening>img{
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 90%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 90%,transparent 100%);
  mask-composite:intersect;
 }
}

/* Light interior-page headers; contact social links remain in the footer only. */
@media(min-width:761px){
 body:not(.home):not(.jc-contact-page) .site-header{background:var(--paper);color:var(--ink)}
 body:not(.home):not(.jc-contact-page) .site-header .brand,
 body:not(.home):not(.jc-contact-page) .site-header .nav a,
 body:not(.home):not(.jc-contact-page) .site-header .jc-socials{color:var(--ink);text-shadow:none}
}

/* Desktop: social links appear once, in the footer. Keep mobile drawer links. */
@media(min-width:761px){
 body .site-header .header-inner>.jc-socials{display:none}
}

/* One artist wordmark typeface across desktop and mobile. */
.site-header .jc-brand-text{font-family:system-ui,-apple-system,sans-serif;font-weight:300}
@media(max-width:760px){
 .site-header .jc-brand-text{font-size:clamp(20px,5.7vw,26px);line-height:1.1;letter-spacing:0}
}

/* Explicit disclosure controls for CD interiors and track lists. */
.jc-release-details{border-top:0;padding-top:0;margin-top:24px}
.jc-release-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;padding:16px 18px;border:1px solid #817d70;background:#eeebe4;color:var(--ink);font-size:14px;font-weight:500;line-height:1.4;list-style:none;cursor:pointer}
.jc-release-details>summary::-webkit-details-marker{display:none}
.jc-release-details>summary::marker{content:''}
.jc-release-details>summary:hover{background:#e6e1d6;border-color:var(--ink)}
.jc-release-details>summary:focus-visible{outline:3px solid #b67825;outline-offset:4px}
.jc-details-arrow{flex:0 0 20px;transition:transform .18s ease}
.jc-details-hide{display:none}
.jc-release-details[open]>summary{background:#e6e1d6;border-color:var(--ink)}
.jc-release-details[open] .jc-details-show{display:none}
.jc-release-details[open] .jc-details-hide{display:inline}
.jc-release-details[open] .jc-details-arrow{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.jc-details-arrow{transition:none}}

/* Tour archive: one lead photograph, two audience views, optional extra image. */
.jc-tour-gallery{max-width:1040px;padding:0 0 72px}
.jc-tour-gallery>h2{font:500 clamp(32px,4vw,48px)/1.15 'Cormorant Garamond',Georgia,serif;margin:0 0 28px}
.jc-tour-gallery>.eyebrow{border-top:1px solid var(--line);padding-top:38px;margin-bottom:14px}
.jc-deejay-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.jc-deejay-gallery figure{margin:0;min-width:0}
.jc-deejay-gallery img{display:block;width:100%;height:auto}
.jc-deejay-lead{grid-column:1/-1}
.jc-deejay-more>img{width:auto;max-width:100%;max-height:650px;margin:24px auto 0}
@media(max-width:760px){
 .jc-tour-gallery{padding-bottom:48px}
 .jc-deejay-gallery{grid-template-columns:minmax(0,1fr);gap:18px}
 .jc-tour-gallery>.eyebrow{padding-top:28px}
}

/* Press: readable cards and a scrollable original-image reader. */
.jc-press-page{max-width:1040px}
.jc-press-page>.page-title{font:500 clamp(44px,6vw,68px)/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:0;margin-bottom:24px}
.jc-press-intro{max-width:680px;margin:0 0 12px}
.jc-press-hint{font-size:14px;color:var(--muted);margin:0 0 36px}
.jc-press-section-title{font:500 34px/1.2 'Cormorant Garamond',Georgia,serif;margin:0 0 24px}
.jc-press-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
.jc-press-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:24px}
.jc-press-read{display:block;text-decoration:none}
.jc-press-thumb{display:flex;align-items:center;justify-content:center;background:#eeebe4;height:260px;padding:18px;margin-bottom:20px}
.jc-press-thumb img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.jc-press-meta{display:block;color:var(--muted);font-size:12px;letter-spacing:.5px;margin-bottom:12px}
.jc-press-card h3{font:500 clamp(25px,3vw,32px)/1.15 'Cormorant Garamond',Georgia,serif;margin:0 0 20px}
.jc-press-read-label{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid #817d70;font-size:14px;font-weight:500}
.jc-press-read:hover .jc-press-read-label{background:#e6e1d6}
.jc-press-archive{margin-top:40px}
.jc-press-archive>.jc-press-grid{margin-top:30px}
.jc-press-dialog{width:min(96vw,1200px);max-width:96vw;max-height:90dvh;padding:0 24px 24px;border:0;background:var(--paper);color:var(--ink);overflow:auto}
.jc-press-dialog::backdrop{background:rgba(15,17,14,.87)}
.jc-press-dialog-bar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);padding:16px 0;z-index:1;border-bottom:1px solid var(--line)}
.jc-press-dialog-bar h2{font:500 25px/1.2 'Cormorant Garamond',Georgia,serif;margin:0}
.jc-press-close{border:1px solid #817d70;background:var(--paper);color:var(--ink);padding:10px 16px;min-height:44px;cursor:pointer;white-space:nowrap}
.jc-press-dialog>p{font-size:14px}
.jc-press-full{display:block;width:100%;height:auto}
@media(min-width:1001px){
 .header-inner{grid-template-columns:repeat(3,auto) minmax(190px,1fr) repeat(4,auto)}
 .nav a:nth-child(7){grid-column:8;grid-row:1}
}
@media(min-width:761px){
 .home .header-inner{grid-template-columns:repeat(3,auto) minmax(20px,1fr) repeat(4,auto)}
 .home .nav a:nth-child(7){grid-column:8;grid-row:1}
}
@media(min-width:761px) and (max-width:1000px){
 body:not(.home) .header-inner{grid-template-columns:repeat(7,auto);gap:16px 12px;padding:20px 0}
 body:not(.home) .header-inner .brand{grid-column:1/-1;grid-row:1;max-width:none}
 body:not(.home) .nav a:nth-child(n){grid-column:auto;grid-row:2;justify-self:center}
}
@media(max-width:760px){
 .jc-press-page{padding-top:26px}
 .jc-press-page>.page-title{font-size:44px}
 .jc-press-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .jc-press-thumb{height:220px}
 .jc-press-dialog{padding:0 14px 16px}
 .jc-press-dialog-bar h2{font-size:21px}
 .jc-press-close{padding:8px 12px}
}

/* Video categories: one consistent, tactile navigation on both screen sizes. */
.jc-video-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 38px;padding:0;border:0}
.jc-video-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:64px;padding:16px 20px;border:1px solid #cbc3b5;border-radius:8px;background:#eee8dd;color:var(--ink);font-family:system-ui,-apple-system,sans-serif;font-size:15px;font-weight:500;line-height:1.35;text-decoration:none;box-shadow:0 2px 3px #292a2505;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.jc-video-links a::after{content:'↘';flex:none;font-size:20px;line-height:1;color:#76664c}
.jc-video-links a:hover,.jc-video-links a:focus-visible{background:#e4dccd;border-color:#93836a;box-shadow:0 3px 8px #292a2510}
.jc-video-links a:focus-visible{outline:2px solid #76664c;outline-offset:3px}
@media(max-width:760px){.jc-video-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:30px}.jc-video-links a{min-height:64px;padding:13px 12px;gap:7px;font-size:13px}.jc-video-links a::after{font-size:18px}}
@media(prefers-reduced-motion:reduce){.jc-video-links a{transition:none}}



/* Approved anthracite variant with local category icons. */
.jc-video-links a{justify-content:center;gap:10px;min-height:62px;padding:12px 18px;border-color:#343730;background:#292c27;color:#f6f2eb;box-shadow:none}
.jc-video-links a::after{content:none}
.jc-video-links a svg{display:block;flex:none;width:20px;height:20px}
.jc-video-links a span{min-width:0}
.jc-video-links a:hover,.jc-video-links a:focus-visible{background:#41463c;border-color:#41463c;box-shadow:none}
.jc-video-links a:focus-visible{outline:3px solid #8c7551;outline-offset:3px}
@media(max-width:760px){.jc-video-links a{flex-direction:column;justify-content:center;gap:6px;min-height:74px;padding:10px 8px;text-align:center;font-size:13px}.jc-video-links a svg{width:18px;height:18px}}

/* Press previews are the only card actions; keep source labels outside links. */
.jc-press-intro{margin-bottom:32px}
.jc-press-thumb{position:relative;margin-bottom:14px}
.jc-press-open-arrow{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:20px;line-height:1;pointer-events:none}
.jc-press-read:hover .jc-press-thumb{background:#e6e1d6}
.jc-press-meta{margin-bottom:0}
.jc-press-dialog-bar{flex-wrap:wrap}
.jc-press-close{white-space:nowrap}

.jc-press-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;font-size:26px;line-height:1}

.jc-press-card h3{margin:12px 0 0}

.jc-press-images{display:grid;gap:24px}.jc-press-images .jc-press-full{margin:0}

.jc-press-thumb-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.jc-press-thumb-pair img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}

/* Contacts: a continuous black photographic composition on every screen. */
body.jc-contact-page{background:#000;color:#f6f2eb;--ink:#f6f2eb;--muted:#cec9c0;--line:rgba(246,242,235,.22)}
body.jc-contact-page .site-header,body.jc-contact-page .site-footer{background:transparent;color:var(--ink)}
body.jc-contact-page .brand,body.jc-contact-page .nav a,body.jc-contact-page .menu-toggle,body.jc-contact-page .jc-socials{color:var(--ink);text-shadow:none}
body.jc-contact-page .jc-footer-signature{mix-blend-mode:screen;filter:none}
body.jc-contact-page .page-main{padding-top:36px;padding-bottom:0;min-height:0}
body.jc-contact-page .page-title{margin-bottom:18px}
.jc-contact-layout{display:flex;position:relative;isolation:isolate;align-items:center;min-height:clamp(400px,40vw,540px);gap:0;background:#000}
.jc-contact-photo{position:absolute;inset:0 auto 0 0;width:68%;z-index:0;pointer-events:none}
.jc-contact-photo img{width:100%;height:100%;object-fit:contain;object-position:left center;-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 78%,transparent),linear-gradient(0deg,transparent,black 10%,black 94%,transparent);mask-image:linear-gradient(90deg,transparent,black 8%,black 78%,transparent),linear-gradient(0deg,transparent,black 10%,black 94%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.jc-contact-details{position:relative;z-index:1;width:35%;margin-left:65%;padding:24px 0;line-height:1.7}
.jc-contact-details a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:6px}
body.jc-contact-page .site-footer{padding-top:26px}
@media(max-width:760px){
 body.jc-contact-page .page-main{padding-top:22px}
 body.jc-contact-page .page-title{margin-bottom:16px}
 .jc-contact-layout{display:block;min-height:calc(66.67vw + 160px)}
 .jc-contact-photo{inset:0;width:100%}
 .jc-contact-photo img{object-position:center bottom;-webkit-mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent),linear-gradient(0deg,transparent,black 7%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent),linear-gradient(0deg,transparent,black 7%,black 92%,transparent)}
 .jc-contact-details{width:100%;margin-left:0;padding:18px 8px 0;text-align:center;font-size:15px}
 .jc-contact-details p{margin:0 0 14px}
 body.jc-contact-page .site-footer{padding-top:14px}
}

/* Small contact composition adjustments after desktop and phone review. */
@media(min-width:761px){.jc-contact-details{margin-left:67%;width:33%}}
@media(max-width:760px){.jc-contact-photo img{transform:translateY(-18px)}}

/* Consistent type roles across interior pages and viewport sizes. */
.page-main h1,.page-main h2,.page-main h3,.jc-tour-page h1,.jc-tour-page h2,.jc-tour-page h3,.jc-video-page>.page-title,.jc-video-category h2:first-child{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}
.jc-video-page>.page-title{letter-spacing:0}

/* Restore the approved home greys, with a transparent photographic portrait. */
body.jc-contact-page{background:linear-gradient(90deg,#8e908b 0%,#c2c3c1 65%,#e5e5e4 100%);color:#191b18;--ink:#191b18;--muted:#30332e;--line:rgba(25,27,24,.2)}
.jc-contact-layout{background:transparent}
.jc-contact-photo img{-webkit-mask-image:linear-gradient(0deg,transparent,black 13%,black);mask-image:linear-gradient(0deg,transparent,black 13%,black);-webkit-mask-composite:source-over;mask-composite:add}
body.jc-contact-page .jc-footer-signature{mix-blend-mode:multiply;filter:grayscale(1) invert(1)}
@media(max-width:760px){body.jc-contact-page{background:linear-gradient(90deg,#575955 0%,#c2c3c1 65%,#e5e5e4 100%)}body.jc-contact-page .jc-footer-signature{mix-blend-mode:screen;filter:none}}

/* Home desktop monogram only: original artwork and colours; readable on cream. */
.jc-home-signature-original{display:contents}
@media(min-width:761px){
 body.home .jc-home-signature-original{display:block;width:76px;height:76px;margin:24px auto 0;filter:drop-shadow(0 1px 1px rgba(45,40,30,.65))}
 body.home .jc-home-signature-original .jc-footer-signature{margin:0;filter:none;mix-blend-mode:normal;-webkit-mask-image:url('assets/jy-icona.png');mask-image:url('assets/jy-icona.png');mask-mode:luminance;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
}

/* Desktop home: extend the approved mobile backdrop beneath the unchanged hero. */
@media(min-width:761px){
 body.home{background:linear-gradient(90deg,#575955 0%,#c2c3c1 65%,#e5e5e4 100%)}
 body.home .jc-home-listening,body.home .site-footer{background:transparent}
}

/* Home desktop monogram: exactly the approved mobile image treatment. */
@media(min-width:761px){
 body.home .jc-home-signature-original{display:contents;filter:none}
 body.home .jc-home-signature-original .jc-footer-signature{margin:24px auto 0;filter:none;mix-blend-mode:screen;-webkit-mask-image:none;mask-image:none}
}

/* Contacts desktop: match the approved mobile monogram, without other changes. */
@media(min-width:761px){body.jc-contact-page .jc-footer-signature{mix-blend-mode:screen;filter:none}}

/* Contacts only: original photograph, feathered as a whole, on the home backdrop. */
body.jc-contact-page{background:linear-gradient(90deg,#575955 0%,#c2c3c1 65%,#e5e5e4 100%)}
.jc-contact-photo{inset:auto auto auto 0;top:50%;width:68%;height:auto;aspect-ratio:3/2;transform:translateY(-50%)}
.jc-contact-photo img{width:100%;height:auto;object-fit:initial;transform:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 8%,rgba(0,0,0,.38) 20%,rgba(0,0,0,.82) 35%,black 46%,rgba(0,0,0,.85) 58%,rgba(0,0,0,.48) 73%,rgba(0,0,0,.12) 88%,transparent 100%),linear-gradient(0deg,transparent 0%,rgba(0,0,0,.07) 10%,rgba(0,0,0,.3) 23%,rgba(0,0,0,.72) 37%,black 49%,rgba(0,0,0,.85) 61%,rgba(0,0,0,.48) 75%,rgba(0,0,0,.12) 89%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 8%,rgba(0,0,0,.38) 20%,rgba(0,0,0,.82) 35%,black 46%,rgba(0,0,0,.85) 58%,rgba(0,0,0,.48) 73%,rgba(0,0,0,.12) 88%,transparent 100%),linear-gradient(0deg,transparent 0%,rgba(0,0,0,.07) 10%,rgba(0,0,0,.3) 23%,rgba(0,0,0,.72) 37%,black 49%,rgba(0,0,0,.85) 61%,rgba(0,0,0,.48) 75%,rgba(0,0,0,.12) 89%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
@media(max-width:760px){.jc-contact-photo{inset:auto 0 18px;width:100%;height:auto;transform:none}.jc-contact-photo img{transform:none}}

/* Home lower section: paper background and dark original signature. */
body.home .jc-home-listening,body.home .site-footer,body.home section.content-section{background:var(--paper)}
body.home .jc-home-signature-original{display:contents;filter:none}
body.home .jc-home-signature-original .jc-footer-signature{filter:grayscale(1) invert(1);mix-blend-mode:multiply;-webkit-mask-image:none;mask-image:none}

/* Tour desktop only: restrained full-photo composition, matching mobile framing. */
@media(min-width:761px){
 .jc-tour-hero{width:100%;height:clamp(360px,36vw,520px);aspect-ratio:auto;margin-inline:0;background:#08070c}
 .jc-tour-hero>img{object-fit:contain;object-position:center}
}

/* Tour desktop: match the biography canvas and edge feathering. */
@media(min-width:761px){
 .jc-tour-hero{background:#121314}
 .jc-tour-hero>img{width:auto;max-width:100%;height:100%;margin-inline:auto;
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 90%,transparent 100%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 90%,transparent 100%);
 mask-composite:intersect}
}

/* Approved contact composition: clear original photograph on anthracite. */
body.jc-contact-page{background:#121314;color:#f6f2eb;--ink:#f6f2eb;--muted:#cbc8c0;--line:rgba(246,242,235,.22)}
body.jc-contact-page .site-header,body.jc-contact-page .site-footer{background:transparent;color:var(--ink)}
body.jc-contact-page .brand,body.jc-contact-page .nav a,body.jc-contact-page .menu-toggle,body.jc-contact-page .jc-socials{color:var(--ink)}
body.jc-contact-page .jc-footer-signature{mix-blend-mode:screen;filter:none}
body.jc-contact-page .jc-contact-layout{display:flex;align-items:center;min-height:340px;gap:0;background:transparent}
body.jc-contact-page .jc-contact-photo{position:relative;inset:auto;top:auto;width:64%;height:auto;aspect-ratio:auto;transform:none;margin:0;flex:0 0 64%}
body.jc-contact-page .jc-contact-photo img{display:block;width:100%;height:auto;object-fit:contain;transform:none;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 7%,black 82%,transparent 100%),linear-gradient(0deg,transparent 0%,black 12%,black 92%,transparent 100%);
 mask-image:linear-gradient(90deg,transparent 0%,black 7%,black 82%,transparent 100%),linear-gradient(0deg,transparent 0%,black 12%,black 92%,transparent 100%);
 -webkit-mask-composite:source-in;mask-composite:intersect}
body.jc-contact-page .jc-contact-details{width:33%;margin-left:3%;padding:24px 0;line-height:1.7}
@media(max-width:760px){
 body.jc-contact-page .jc-contact-layout{flex-direction:column;min-height:0}
 body.jc-contact-page .jc-contact-details{order:0;width:100%;margin:0;padding:8px 20px 18px;text-align:center;font-size:15px}
 body.jc-contact-page .jc-contact-photo{order:1;flex:0 0 auto;inset:auto;top:auto;width:100%;height:auto;transform:none;margin:0}
 body.jc-contact-page .site-footer{padding-top:14px}
}

/* Approved contacts: paper page with full-width photographic anthracite band. */
body.jc-contact-page{background:var(--paper);color:#232620;--ink:#232620;--muted:#686b61;--line:#d9d5ca}
body.jc-contact-page .jc-contact-layout{background:#121314;color:#f6f2eb;width:100vw;margin-left:calc(50% - 50vw);padding-inline:max(5vw,calc((100vw - 1180px)/2));box-sizing:border-box}
body.jc-contact-page .jc-contact-details,body.jc-contact-page .jc-contact-details a{color:#f6f2eb}
body.jc-contact-page .page-title{margin-bottom:32px}
body.jc-contact-page .site-footer{padding-top:30px}
body.jc-contact-page .jc-footer-signature{filter:grayscale(1) invert(1);mix-blend-mode:multiply}
@media(max-width:760px){
 body.jc-contact-page .jc-contact-layout{padding-inline:0}
 body.jc-contact-page .jc-contact-details{padding-top:26px}
 body.jc-contact-page .page-title{margin-bottom:26px}
}

/* Approved biography and tour headings: on paper above the photographs. */
.jc-biography-page{padding-top:56px}
.jc-biography-page>.page-title{color:var(--ink);margin-bottom:36px}
.jc-tour-heading{padding-top:56px;padding-bottom:36px}
.jc-tour-heading .page-title{color:var(--ink);margin:0}
@media(max-width:760px){
 .jc-biography-page{padding-top:26px}
 .jc-biography-page>.page-title{margin-bottom:28px}
 .jc-tour-heading{padding-top:26px;padding-bottom:28px}
}

/* Biography photo attribution, matching the understated Tour credit. */
.jc-biography-page .jc-biography-opening{margin-bottom:8px}
.jc-biography-photo-credit{font-size:11px;color:var(--muted);text-align:right;margin:0 0 40px}

/* Release links: open only after the visitor chooses a platform. */
.jc-release-stores{margin:16px 0 0;max-width:100%}
.jc-release-stores>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:12px 16px;border:1px solid var(--ink);font-size:14px;font-weight:500;line-height:1.4;list-style:none;cursor:pointer}
.jc-release-stores>summary::-webkit-details-marker{display:none}
.jc-release-stores>summary::marker{content:''}
.jc-release-stores>summary:hover{background:#eeebe4}
.jc-release-stores>summary:focus-visible,.jc-release-stores a:focus-visible{outline:3px solid #b67825;outline-offset:4px}
.jc-stores-chevron{transition:transform .15s;font-size:20px;line-height:1}
.jc-release-stores[open] .jc-stores-chevron{transform:rotate(180deg)}
.jc-release-stores ul{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-top:0}
.jc-release-stores li+li{border-top:1px solid var(--line)}
.jc-release-stores li a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 16px;text-decoration:none;font-size:14px;color:var(--ink)}
.jc-release-stores li a:hover{background:#eeebe4}
.jc-store-action{font-size:12px;color:var(--muted);white-space:nowrap}
.jc-release-stores .jc-store-note{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0 0}

/* Local platform marks, with readable service names alongside. */
.jc-store-name{display:inline-flex;align-items:center;gap:12px;min-width:0}
.jc-platform-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px}
.jc-platform-icon svg{display:block;width:24px;height:24px}
.jc-platform-icon--spotify{color:#1ED760}
.jc-platform-icon--apple-music{color:#FA243C}
.jc-platform-icon--itunes{color:#FB5BC5}
.jc-platform-icon--amazon-music{color:#46C3D0}
.jc-release-stores li a{min-height:58px}
@media(max-width:420px){.jc-store-name{gap:9px}.jc-release-stores li a{padding:12px}.jc-store-action{font-size:12px}}
@media(forced-colors:active){.jc-platform-icon{color:LinkText}}
