:root{--bg:#f7f7f5;--bg-soft:#f2f2ef;--ink:#181a1a;--muted:#6c7270;--stroke:#dddeda;--blue:#a8bfd1;--blue-soft:rgba(168,191,209,.22);--pink:#d9a8bc;--pink-soft:rgba(217,168,188,.20);--serif:Georgia,"Times New Roman",serif;--sans:Inter,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,rgba(168,191,209,.05),transparent 17%),linear-gradient(180deg,transparent 0,transparent 70%,rgba(217,168,188,.05) 100%),var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #537a96;outline-offset:4px}.shell{max-width:1190px;margin:auto;padding-inline:clamp(24px,5.5vw,82px)}.skip{position:absolute;left:-9999px;top:0;padding:10px;background:white;z-index:20}.skip:focus{left:12px}.header{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--stroke)}.logo{font-size:17px;font-weight:750;letter-spacing:-.035em;white-space:nowrap}.logo-dot,.period{color:var(--pink)}.nav{margin-left:auto;display:flex;gap:28px;color:#555d5a;font-size:12px}.nav a:hover,.arrow-link:hover,.subtle-link:hover,.text-link:hover{text-decoration:underline;text-underline-offset:4px}.lang-switch{border:0;border-left:1px solid var(--stroke);margin-left:28px;padding:7px 0 7px 20px;background:none;font-size:11px;letter-spacing:.08em;cursor:pointer}.intro{padding-top:108px;padding-bottom:60px;min-height:540px}.intro-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.72fr);gap:42px;align-items:start}.eyebrow,.index,.tiny-label,.intro-foot,.dates-list-title,.specialties,.footer{font-size:10px;letter-spacing:.14em;font-weight:650}.eyebrow{display:flex;gap:11px;align-items:center;color:var(--muted)}.status-mark{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--pink))}h1,h2,h3,p{margin-top:0}h1{max-width:850px;margin:28px 0 25px;font-family:var(--serif);font-size:clamp(54px,7vw,104px);line-height:1.04;font-weight:400;letter-spacing:-.065em}.lede{font-size:18px;max-width:525px;color:#4b5452;font-weight:350;line-height:1.68}.intro-links{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:35px;font-size:12px}.text-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:7px}.subtle-link{color:var(--muted)}.intro-foot{display:flex;justify-content:space-between;margin-top:96px;color:#89908c;font-size:9px}.intro-aside{padding-top:8px}.portrait-card{position:relative;min-height:430px;border:1px solid var(--stroke);background:linear-gradient(155deg,rgba(255,255,255,.55),rgba(255,255,255,.15)),linear-gradient(135deg,var(--pink-soft),transparent 38%,var(--blue-soft));overflow:hidden}.portrait-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.portrait-card.has-photo img{display:block}.portrait-fallback{position:absolute;inset:auto 26px 26px 26px;background:rgba(247,247,245,.88);backdrop-filter:blur(6px);padding:20px 20px 18px;border:1px solid rgba(24,26,26,.06)}.portrait-tag{display:inline-block;margin-bottom:11px;font-size:10px;letter-spacing:.14em;color:#707775}.portrait-fallback strong{display:block;font-family:var(--serif);font-size:32px;letter-spacing:-.04em;font-weight:400;margin-bottom:8px}.portrait-fallback p{margin:0;color:#59615e;font-size:13px;line-height:1.7}.section{border-top:1px solid var(--stroke);padding-top:52px;padding-bottom:92px;scroll-margin-top:25px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.index{color:#66716d;font-size:9px}.section h2{font-family:var(--serif);font-size:clamp(39px,4vw,61px);font-weight:400;letter-spacing:-.05em;line-height:1.15;margin:10px 0 0}.section-description{max-width:300px;color:var(--muted);font-size:12px;margin:0 0 6px}.featured-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.featured-grid article,.mixes-main,.mix-note{min-height:238px;background:#f0f0ed;padding:25px 26px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid rgba(24,26,26,.03)}.featured-feature{background:#eceeec!important}.tint-blue{background:linear-gradient(180deg,var(--blue-soft),rgba(240,240,237,.85))!important}.tint-pink{background:linear-gradient(180deg,var(--pink-soft),rgba(240,240,237,.85))!important}.tiny-label{color:#818886;font-size:9px}.featured-feature .tiny-label,.mixes-main .tiny-label{color:#688da4}.feature-date{color:var(--muted);font-size:10px;margin-top:10px}.featured-grid h3,.mixes-main h3{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;font-size:clamp(24px,2.3vw,34px);line-height:1.17;margin:23px 0 9px}.featured-grid p,.mixes-main>p{font-size:12px;color:var(--muted);margin:0 0 22px}.arrow-link{margin-top:auto;font-size:11px;font-weight:700;letter-spacing:.01em}.credits{display:grid;grid-template-columns:1fr 2.25fr;gap:32px;padding-top:48px;margin-top:25px}.credits-lower{border-top:1px solid var(--stroke);margin-top:32px;padding-top:35px}.credits-label h3{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:-.035em;margin-bottom:4px}.credits-label p{font-size:11px;color:var(--muted);max-width:170px}.credit-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--stroke)}.credit-row:first-child{border-top:1px solid var(--stroke)}.credit-row strong{font-weight:500;font-size:13px}.credit-row span{font-size:11px;color:#66716d;text-align:right}.name-cloud{font-size:15px;line-height:2.2;margin:0;color:#48514e}.name-cloud span:not(:last-child):after{content:" / ";color:#b8bdb9;margin:0 7px}.mixes-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:14px;align-items:stretch}.mix-player-shell{width:100%;margin-top:12px}.audio-card{width:100%;border:1px solid var(--stroke);background:rgba(247,247,245,.84);padding:16px 16px 14px}.audio-row{display:flex;align-items:center;gap:14px}.play-audio{width:46px;height:46px;border-radius:50%;border:1px solid var(--stroke);background:white;cursor:pointer;flex:0 0 auto}.wave{display:grid;grid-template-columns:repeat(20,1fr);gap:5px;flex:1;align-items:end;height:42px}.wave i{display:block;background:linear-gradient(180deg,var(--blue),var(--pink));opacity:.55;border-radius:999px}.audio-note{margin:10px 0 0;color:var(--muted);font-size:11px}.mix-actions{display:flex;gap:18px;align-items:center;margin-top:18px;flex-wrap:wrap}.mixes-side{display:grid;gap:14px}.mix-note p{font-size:13px;line-height:1.7;color:#5e6663;margin:18px 0 0}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.video-card{min-width:0}.video-thumb{display:block;position:relative;width:100%;aspect-ratio:16/9;border:0;padding:0;background:#e1e3e0;cursor:pointer;overflow:hidden}.video-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(.92);transition:transform .25s;display:block}.video-thumb:hover img{transform:scale(1.025)}.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:51px;height:51px;border-radius:100%;background:rgba(247,247,245,.93);font-size:16px;padding-left:3px}.video-meta{display:flex;justify-content:space-between;color:#66716d;font-size:10px;letter-spacing:.06em;margin:15px 0 7px}.video-card h3{font-weight:500;font-size:15px;line-height:1.4;margin:0 0 3px}.video-card p{font-size:12px;color:var(--muted)}.video-card a:hover{text-decoration:underline;text-underline-offset:3px}.calendar-legend{display:flex;gap:25px;justify-content:flex-end;margin:-13px 0 21px;font-size:11px;color:var(--muted)}.calendar-legend>span{display:inline-flex;gap:8px;align-items:center}.key-dot{width:7px;height:7px;display:inline-block;border-radius:50%}.key-tr{background:var(--pink)}.key-int{background:var(--blue)}.calendar-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px}.calendar{max-width:520px}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.calendar-top h3{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:-.03em;margin:0}.calendar-top button{border:1px solid var(--stroke);width:31px;height:31px;border-radius:50%;background:transparent;cursor:pointer}.calendar-top button:hover{background:#eaebe8}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.weekdays{font-size:10px;color:#868e89;margin-bottom:13px}.calendar-cell{height:48px;display:flex;align-items:center;flex-direction:column;justify-content:center;position:relative;font-size:12px;color:#9ca29e}.calendar-cell.in-month{color:#474f4b}.calendar-cell.today{font-weight:750}.calendar-cell.today:before{content:"";position:absolute;width:32px;height:32px;border:1px solid #aebbb3;border-radius:50%;z-index:-1;top:4px}.day-marks{display:flex;gap:3px;height:5px;position:absolute;bottom:6px}.day-marks i{width:5px;height:5px;border-radius:50%;background:var(--pink)}.day-marks i.international{background:var(--blue)}.dates-list-title{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--stroke);color:var(--muted);font-size:9px}.date-item{display:grid;grid-template-columns:61px 1fr auto;gap:15px;align-items:baseline;border-bottom:1px solid var(--stroke);padding:17px 0}.date-item time{font-size:13px;white-space:nowrap}.date-item strong{display:block;font-weight:550;font-size:13px}.date-item .place{display:block;color:var(--muted);font-size:11px;padding-top:3px}.date-item .city{font-weight:600;color:#49514e}.date-item .role{font-size:10px;white-space:nowrap;color:var(--muted)}.date-item .place:before{content:"";width:5px;height:5px;display:inline-block;border-radius:50%;background:var(--pink);margin-right:7px;vertical-align:2px}.date-item.abroad .place:before{background:var(--blue)}.empty-dates{color:var(--muted);font-size:13px;padding-top:27px;line-height:1.7}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}.about-lead{font-family:var(--serif);font-size:clamp(24px,3vw,39px);line-height:1.4;letter-spacing:-.035em;max-width:570px}.about-details{max-width:420px;color:var(--muted);font-size:13px;line-height:1.9}.about-details .specialties{display:flex;flex-wrap:wrap;gap:11px 20px;color:#79817d;font-size:9px;margin:24px 0 24px}.doc-row{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:24px}.about-details .arrow-link{color:var(--ink)}.footer{border-top:1px solid var(--stroke);display:flex;gap:20px;justify-content:space-between;padding-top:30px;padding-bottom:38px;color:#8e9590;font-size:9px}.footer a:hover{color:var(--ink)}@media(max-width:980px){.intro-layout,.mixes-layout,.about-grid,.calendar-layout{grid-template-columns:1fr}.intro{padding-top:96px}.intro-foot{margin-top:60px}.portrait-card{min-height:320px;max-width:540px}.featured-grid{grid-template-columns:1fr 1fr}.featured-feature{grid-column:span 2}.calendar-layout{gap:30px}.about-grid{gap:35px}}@media(max-width:760px){.nav{gap:18px;font-size:11px}.lang-switch{margin-left:18px;padding-left:14px}.video-grid{grid-template-columns:1fr}.credits{grid-template-columns:1fr}.credit-row{grid-template-columns:1fr}.credit-row span{text-align:left}.date-item{grid-template-columns:50px 1fr;gap:8px}.date-item .role{grid-column:2;margin-top:-9px}.section-head{flex-direction:column;align-items:flex-start}.section-description{max-width:unset}.featured-grid{grid-template-columns:1fr}.featured-feature{grid-column:auto}.footer{flex-direction:column;align-items:flex-start}}@media(max-width:620px){.shell{padding-inline:20px}.header{height:auto;padding-top:20px;padding-bottom:20px;gap:10px;align-items:flex-start;flex-wrap:wrap}.nav{order:3;width:100%;margin-left:0;gap:16px 18px;flex-wrap:wrap}.lang-switch{margin-left:auto;border-left:0;padding-left:0}h1{font-size:clamp(44px,18vw,68px)}.lede{font-size:16px}.intro-links{gap:16px 18px}.featured-grid article,.mixes-main,.mix-note{padding:22px}.wave{gap:4px}.calendar{max-width:100%}.calendar-cell{height:42px}.footer{padding-bottom:28px}}
/* PHOTO & SPOTIFY UPDATE — 2026-10 */
.portrait-figure,.about-photo{margin:0}
.portrait-card{border:0;min-height:0;aspect-ratio:0.91;background:#e5e6e3}
.portrait-card img{display:block;position:static;inset:auto;width:100%;height:100%;object-fit:cover;object-position:39% center}
.portrait-figure figcaption{display:flex;justify-content:space-between;gap:18px;color:#8b918d;font-size:9px;font-weight:650;letter-spacing:.13em;margin-top:14px}
.about-intro{min-width:0}
.about-photo{max-width:286px;margin-top:34px}
.about-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 54%;filter:grayscale(1)}
.about-details{padding-top:5px}
.mixes-main{min-height:320px}
.mix-player-shell{margin-top:8px}
.spotify-frame{display:block;border:none;width:100%;min-height:152px;border-radius:12px;background:#e5e7e5}
.spotify-caption{margin:10px 0 0;color:#7b8580;font-size:11px}
.spotify-caption a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.portrait-card{aspect-ratio:1.4;max-width:540px}.portrait-card img{object-position:center 40%}.about-photo{max-width:280px}}
@media(max-width:620px){.intro{padding-top:54px}.intro-layout{gap:40px}.portrait-card{aspect-ratio:1.16}.portrait-figure figcaption{font-size:9px}.about-photo{max-width:260px}}

.spotify-preview{width:100%;min-height:152px;border-radius:11px;display:flex;align-items:center;gap:24px;justify-content:space-between;padding:25px 28px;background:linear-gradient(110deg,rgba(168,191,209,.19),rgba(247,247,245,.8) 57%,rgba(217,168,188,.15));border:1px solid rgba(24,26,26,.06)}
.spotify-preview-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.spotify-brand{font-size:9px;letter-spacing:.13em;font-weight:700;color:#71838a;margin-bottom:8px}
.spotify-track{font:400 25px/1.22 var(--serif);letter-spacing:-.04em}
.spotify-artist{font-size:12px;color:var(--muted);line-height:1.6}
.spotify-load{cursor:pointer;border:1px solid #9badaf;white-space:nowrap;padding:10px 14px;border-radius:0;background:rgba(255,255,255,.62);font-size:11px;font-weight:650;color:#303b3c;transition:background .2s}
.spotify-load:hover{background:white}
@media(max-width:620px){.spotify-preview{padding:24px;flex-direction:column;align-items:flex-start;gap:18px}.spotify-load{white-space:normal}}

/* 2026-10 — restrained engineering-focused revision */
.hero-subline{color:#616967;font-size:.68em;letter-spacing:-.055em}
.intro-layout{grid-template-columns:minmax(0,1.5fr) minmax(215px,.55fr);align-items:center;gap:clamp(32px,5vw,70px)}
.intro{min-height:0;padding-top:94px;padding-bottom:65px}
.intro h1{font-size:clamp(47px,6.5vw,86px);max-width:760px;line-height:1.09}
.intro-foot{margin-top:66px}
.intro-aside{display:flex;justify-content:center;padding-top:0}
.portrait-figure{width:min(100%,235px);margin:0 auto}
.portrait-card{min-height:0;aspect-ratio:1;width:100%;border-radius:50%;padding:5px;background:linear-gradient(155deg,rgba(168,191,209,.65),rgba(247,247,245,.85) 43%,rgba(217,168,188,.75));border:0}
.portrait-card img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:40% center}
.portrait-figure figcaption{justify-content:center;text-align:center;font-size:9px;margin-top:17px}
.portrait-figure figcaption span:last-child{display:none}
.about-photo{max-width:175px;margin-top:26px}
.about-photo img{aspect-ratio:1;border-radius:50%;width:175px;height:175px;object-fit:cover;object-position:50% 36%;border:4px solid #9fc1dd;box-shadow:0 0 0 2px rgba(113,157,190,.50)}
.featured-secondary.tint-blue{background:linear-gradient(170deg,rgba(168,191,209,.21),rgba(240,240,237,.72))!important}
.featured-secondary.tint-pink{background:linear-gradient(170deg,rgba(217,168,188,.13),rgba(240,240,237,.7))!important}
.recording-preview{margin-top:45px;padding-top:36px;border-top:1px solid var(--stroke)}
.recording-preview-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:22px}
.recording-preview-head h3{font:400 27px/1.18 var(--serif);letter-spacing:-.04em;margin:11px 0 0}
.recording-preview-head .arrow-link{font-size:12px;white-space:nowrap;margin-bottom:6px}
.recording-list{border-top:1px solid var(--stroke)}
.recording-row{display:grid;grid-template-columns:65px minmax(0,1fr) minmax(75px,125px);gap:25px;padding:15px 8px;border-bottom:1px solid var(--stroke);align-items:baseline}
.recording-row:hover{background:rgba(168,191,209,.06)}
.recording-year{font:500 12px/1.7 var(--sans);color:#66716d;font-variant-numeric:tabular-nums}
.recording-info{display:flex;flex-direction:column;gap:3px}
.recording-info strong{font-size:13px;font-weight:550;line-height:1.6}
.recording-info span{font-size:11px;color:var(--muted)}
.recording-info a:hover{text-decoration:underline;text-underline-offset:3px}
.recording-type{font-size:10px;color:#66716d;text-align:right;letter-spacing:.025em}
@media(max-width:980px){.intro-layout{grid-template-columns:minmax(0,1.4fr) minmax(160px,.55fr);gap:25px}.intro h1{font-size:clamp(47px,6.6vw,75px)}.portrait-figure{width:190px}.portrait-card{aspect-ratio:1}.intro-foot{margin-top:54px}}
@media(max-width:650px){.intro{padding-top:63px}.intro-layout{grid-template-columns:1fr;gap:36px}.intro-aside{justify-content:flex-start}.portrait-figure{width:166px;margin:0}.portrait-figure figcaption{justify-content:flex-start;margin-left:3px}.intro h1{font-size:clamp(45px,11vw,63px);margin-bottom:21px}.intro-foot{margin-top:54px}.recording-preview-head{align-items:flex-start;flex-direction:column;gap:16px}.recording-row{grid-template-columns:44px 1fr;gap:12px;padding:13px 2px}.recording-type{grid-column:2;text-align:left;margin-top:-8px}.about-photo,.about-photo img{width:146px;height:146px}}

/* Discography page — no artwork, text-only chronological rows */
.discography-main{padding-top:60px;padding-bottom:115px}
.discography-back{display:inline-block;color:var(--muted);font-size:12px;margin-bottom:56px}
.discography-back:hover{text-decoration:underline;text-underline-offset:3px}
.discography-heading{max-width:870px}
.discography-heading h1{font-size:clamp(54px,7vw,93px);margin:18px 0 22px}
.discography-heading .lede{max-width:670px}
.discography-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin:35px 0 95px;font-size:12px}
.discography-content{border-top:1px solid var(--stroke);padding-top:42px}
.discography-content h2{font:400 30px/1.2 var(--serif);margin:12px 0 0;letter-spacing:-.035em}
.discography-filter{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.discography-filter button{border:1px solid var(--stroke);background:transparent;color:var(--muted);font-size:11px;padding:9px 14px;cursor:pointer}
.discography-filter button.active{border-color:rgba(168,191,209,.85);background:rgba(168,191,209,.22);color:var(--ink)}
.discography-footnote{font-size:12px;color:var(--muted);margin-top:24px}
.discography-content .recording-row{padding:19px 8px}
@media(max-width:650px){.discography-main{padding-top:36px}.discography-heading h1{font-size:clamp(44px,11vw,62px)}.discography-actions{margin-bottom:65px}.discography-filter{margin-top:10px}}

.recording-tracks{margin-top:8px;color:#5e6764}
.recording-tracks summary{font-size:11px;cursor:pointer;width:max-content;border-bottom:1px dotted #9ea9a4}
.recording-tracks summary:hover{color:var(--ink)}
.recording-tracklist{padding-left:18px;margin:12px 0 4px;columns:2;column-gap:45px;font-size:12px;line-height:2}
.recording-tracklist li{break-inside:avoid;padding-left:3px}
@media(max-width:650px){.recording-tracklist{columns:1}}

/* Discography-only spotlight, removed from homepage in revision 5. */
.discography-spotlight{padding:38px 0 52px;border-top:1px solid var(--stroke);scroll-margin-top:32px}
.discography-section-head{display:flex;gap:32px;justify-content:space-between;align-items:end;margin:0 0 26px}
.discography-section-head h2{font:400 clamp(29px,3vw,38px)/1.15 var(--serif);letter-spacing:-.045em;margin:11px 0 0}
.discography-section-head>p{max-width:260px;font-size:12px;color:var(--muted);margin:0 0 3px}
.disco-current{display:grid;grid-template-columns:minmax(230px,.76fr) minmax(380px,1.25fr);gap:18px;align-items:stretch}
.disco-current-copy{padding:29px 30px;background:linear-gradient(145deg,rgba(168,191,209,.17),rgba(242,242,239,.66));display:flex;align-items:flex-start;flex-direction:column;min-height:208px}
.disco-current-copy h3{font:400 clamp(27px,3vw,40px)/1.15 var(--serif);letter-spacing:-.045em;margin:24px 0 7px}
.disco-current-copy p{font-size:12px;color:var(--muted);margin:0 0 20px}
.disco-player{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:12px}
.disco-player .spotify-preview{min-height:208px;flex:1}
.disco-player .spotify-frame{min-height:208px;width:100%}
.disco-player .audio-card{min-height:120px;display:flex;align-items:center}
.discography-content{padding-top:38px}
@media(max-width:780px){.disco-current{grid-template-columns:1fr}.discography-section-head{align-items:flex-start;flex-direction:column;gap:13px}.disco-current-copy{min-height:165px}.disco-player .spotify-preview{min-height:155px}}
@media(max-width:650px){.discography-actions{margin-bottom:43px}.discography-spotlight{padding-top:34px;padding-bottom:48px}.disco-current-copy{padding:24px}.disco-player .spotify-preview{padding:24px}}

/* Revision 6: clearly blue portrait frame, not neutral grey. */
.about-photo img {border: 6px solid #79ade0; box-shadow: 0 0 0 5px #d8ebfa; }
.archive-counter{margin:10px 0 0;color:var(--muted);font-size:11px;letter-spacing:.02em}
/* The uploaded About photograph is already monochrome. Applying grayscale to the
   image element would desaturate the CSS border as well, turning blue into gray. */
.about-photo img {filter:none !important}

/* Portrait placement: black-and-white at top, colour in About. */
.portrait-card img { object-position: 50% 42%; }
.about-photo img { object-position: 23% 50%; }

/* Selected work: three equal cards in muted yellow, blue, pink. */
.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}
.featured-grid>article{grid-column:auto;min-width:0;min-height:250px;height:100%}
.featured-grid>article:nth-child(1){background:#fcf8e2!important}
.featured-grid>article:nth-child(2){background:#e9f3fa!important}
.featured-grid>article:nth-child(3){background:#faeaf1!important}
.credit-row a.artist-spotify,.name-cloud a.artist-spotify{text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(112,152,184,.40);transition:color .2s,text-decoration-color .2s}
.credit-row a.artist-spotify:hover,.name-cloud a.artist-spotify:hover{color:#426b89;text-decoration-color:#426b89}
@media(max-width:980px){.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.featured-grid>article{grid-column:auto}}
@media(max-width:760px){.featured-grid{grid-template-columns:1fr}.featured-grid>article{min-height:225px}}

/* About — quiet professional links and Dante certification */
.profile-links{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px 24px;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);padding:23px 0;margin:24px 0 25px}
.profile-item{display:flex;align-items:center;flex-direction:column;gap:10px;width:94px;min-width:0;color:var(--muted);text-align:center;text-decoration:none;line-height:1.3}
.profile-item:focus-visible{outline:2px solid #537a96;outline-offset:4px}
.profile-item .profile-icon{display:grid;place-items:center;flex:none;width:55px;height:55px;border:1px solid #d7ddda;border-radius:50%;background:#f8f8f5;color:#303735;transition:transform .2s,border-color .2s,background .2s}
.profile-item:is(a):hover .profile-icon{transform:translateY(-2px);border-color:#a8bfd1;background:#eaf3f7}
.profile-label{font:500 10px/1.4 var(--sans);color:#737b78;letter-spacing:.015em;white-space:nowrap}
.profile-sb{font-size:19px;font-weight:800;letter-spacing:-.09em;text-transform:lowercase}
.profile-credential .profile-icon.profile-dante{width:74px;height:56px;border:0;border-radius:5px;background:#111;overflow:hidden}
.profile-dante img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:620px){.profile-links{gap:14px 12px}.profile-item{width:88px}}

/* Polished About icons: one nonduplicated row, middle Dante badge is decorative. */
.profile-links{justify-content:flex-start}
.profile-item .profile-icon{background:#fff}
.profile-credential .profile-icon.profile-dante{
  display:grid;place-items:center;width:55px;height:55px;
  background:#fff;border:1px solid #d7ddda;border-radius:50%;
  overflow:hidden
}
.profile-credential .profile-dante img{display:block;width:52px;height:43px;object-fit:contain}
.profile-credential{cursor:default}

/* Selected Work: consistent white interiors with pastel frames. */
.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;grid-auto-rows:1fr}
.featured-grid>article{
  grid-column:auto;display:flex;flex-direction:column;align-items:flex-start;
  min-width:0;min-height:335px;height:100%;padding:24px 23px;
  background:#fff!important;color:#181a1a;
  border:6px solid #f1e7b9;border-radius:15px
}
.featured-grid>article:nth-child(1){border-color:#f1e7b9;background:#fff!important}
.featured-grid>article:nth-child(2){border-color:#cadfec;background:#fff!important}
.featured-grid>article:nth-child(3){border-color:#edd3de;background:#fff!important}
.feature-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:22px}
.feature-topline .tiny-label,.feature-topline .feature-date{margin:0;color:#555b57}
.feature-topline .feature-date{white-space:nowrap}
.featured-grid>article h3{
  margin:28px 0 12px;min-height:87px;
  font-family:var(--serif);font-weight:400;
  color:#181a1a;line-height:1.14;
}
.featured-grid>article p,.featured-grid>article .arrow-link{color:#181a1a}
.featured-grid>article .arrow-link{margin-top:auto}

/* Collaboration names remain intact on narrow screens, including accented names. */
@media(max-width:860px){
  .featured-grid{grid-template-columns:1fr}
  .featured-grid>article{min-height:260px}
  .featured-grid>article h3{min-height:0}
}
@media(max-width:650px){
  .name-cloud{display:flex;flex-wrap:wrap;gap:7px 21px;align-items:baseline;line-height:1.8}
  .name-cloud>span{position:relative;display:inline-block;white-space:nowrap;max-width:100%}
  .name-cloud>span a{white-space:nowrap}
  .name-cloud>span:not(:last-child)::after{content:none}
  .name-cloud>span:not(:first-child)::before{content:"/";position:absolute;left:-13px;top:0;color:#b8bdb9}
  .name-cloud>span.line-start::before{content:none}
}

/* Dante mark: uninterrupted black circle, leaving certification artwork unchanged. */
.profile-credential .profile-icon.profile-dante{
  background:#080808;
  border:1px solid #080808;
  box-shadow:none;
}

/* About icons: the same soft-gradient circular frame as the main portrait.
   All three centers are black with white artwork. */
.profile-item .profile-icon,
.profile-credential .profile-icon.profile-dante{
  box-sizing:border-box;
  display:grid;place-items:center;
  flex:0 0 70px;
  width:70px;height:70px;
  padding:0;
  border:5px solid transparent;
  border-radius:50%;
  background:
    linear-gradient(#080808,#080808) padding-box,
    linear-gradient(155deg,rgba(168,191,209,.65),rgba(247,247,245,.85) 43%,rgba(217,168,188,.75)) border-box;
  color:#fff;
  box-shadow:none;
  overflow:hidden;
}
.profile-item:is(a):hover .profile-icon{
  border-color:transparent;
  background:
    linear-gradient(#080808,#080808) padding-box,
    linear-gradient(155deg,rgba(168,191,209,.65),rgba(247,247,245,.85) 43%,rgba(217,168,188,.75)) border-box;
  transform:translateY(-2px);
}
.profile-item .profile-icon svg{stroke:#fff}
.profile-sb{color:#fff}
.profile-credential .profile-dante img{display:block;width:58px;height:51px;object-fit:contain}

/* Work cards: same five-pixel pastel-gradient frame as the portrait. */
.featured-grid>article,
.featured-grid>article:nth-child(1),
.featured-grid>article:nth-child(2),
.featured-grid>article:nth-child(3){
  border:5px solid transparent;
  border-radius:15px;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(155deg,rgba(168,191,209,.65),rgba(247,247,245,.85) 43%,rgba(217,168,188,.75)) border-box !important;
  color:#181a1a;
}

/* Core live projects & collaborations precede the Discography section. */
.artist-credits{padding-top:52px;padding-bottom:68px}
.artist-credits>.credits:first-child{margin-top:0;padding-top:0}
@media(max-width:760px){
  .artist-credits{padding-top:38px;padding-bottom:52px}
}

/* Two equal-width feature cards across the original three-card content width. */
#work .featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:860px){#work .featured-grid{grid-template-columns:minmax(0,1fr)}}

/* Hero links: a dotted affordance at rest, heavier text on interaction. */
.intro-links a,
.intro-links .text-link,
.intro-links .subtle-link{
  display:inline-block;
  font-weight:400;
  color:#3f4946;
  border-bottom:0;
  padding-bottom:3px;
  text-decoration-line:underline;
  text-decoration-style:dotted;
  text-decoration-color:#8e9b96;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
  transition:color .16s ease;
}
.intro-links a:hover,
.intro-links a:focus-visible,
.intro-links a:active{
  font-weight:700;
  color:#181a1a;
  text-decoration-line:underline;
  text-decoration-style:solid;
  text-decoration-color:currentColor;
  text-decoration-thickness:1px;
}
/* Leave SINCE 2007 in the copy column; align roles directly beneath the photo. */
.intro-foot{justify-content:flex-start}
.portrait-figure figcaption.hero-roles{
  display:block;
  width:100%;
  margin:14px 0 0;
  color:#89908c;
  font:650 9px/1.5 var(--sans);
  letter-spacing:.12em;
  text-align:center;
  white-space:nowrap;
}

/* Align the since-date and portrait-role caption on one shared baseline.
   Use the hero's two-column measurements for the single metadata row. */
.intro-layout{
  --hero-left:minmax(0,1.5fr);
  --hero-right:minmax(215px,.55fr);
  --hero-gap:clamp(32px,5vw,70px);
  grid-template-columns:var(--hero-left) var(--hero-right);
  column-gap:var(--hero-gap);
  row-gap:14px;
  align-items:end;
}
.intro-copy,.intro-aside{min-width:0}
.intro-foot{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:var(--hero-left) var(--hero-right);
  column-gap:var(--hero-gap);
  align-items:baseline;
  margin:0;
}
.intro-foot .hero-roles{
  display:block;
  font:inherit;
  font-weight:650;
  letter-spacing:inherit;
  text-align:center;
  white-space:nowrap;
}
@media(max-width:980px){
  .intro-layout{
    --hero-left:minmax(0,1.4fr);
    --hero-right:minmax(160px,.55fr);
    --hero-gap:25px;
  }
}
@media(max-width:650px){
  .intro-layout{grid-template-columns:minmax(0,1fr);row-gap:14px}
  .intro-foot{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:8px 14px;
  }
  .intro-foot .hero-roles{text-align:right}
}

/* About contact/document links: one horizontal group, with the same subtle
   dotted underline and regular weight as the hero navigation links. */
.about-details .doc-row{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:12px 23px;
  margin:24px 0 0;
}
.about-details .doc-row a.arrow-link{
  display:inline-block;
  margin:0;
  padding:0 0 3px;
  font-size:12px;
  font-weight:400;
  color:#3f4946;
  text-decoration-line:underline;
  text-decoration-style:dotted;
  text-decoration-color:#8e9b96;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
  transition:color .16s ease;
}
.about-details .doc-row a.arrow-link:hover,
.about-details .doc-row a.arrow-link:focus-visible,
.about-details .doc-row a.arrow-link:active{
  font-weight:700;
  color:#181a1a;
  text-decoration-line:underline;
  text-decoration-style:solid;
  text-decoration-color:currentColor;
  text-decoration-thickness:1px;
}

/* Video thumbnails and embedded players share the same five-pixel
   blue-to-cream-to-pink gradient frame as the portrait and credit cards. */
.video-frame{
  width:100%;
  padding:5px;
  border-radius:15px;
  background:linear-gradient(155deg,rgba(168,191,209,.65),rgba(247,247,245,.85) 43%,rgba(217,168,188,.75));
}
.video-frame .video-thumb,
.video-frame iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border:0;
  border-radius:10px;
  overflow:hidden;
}
.video-frame iframe{background:#080808}

/* Selected recordings: three compact Spotify-linked albums. */
.selected-recordings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.selected-recording-card{display:flex;flex-direction:column;min-width:0;color:var(--ink);text-decoration:none}
.selected-recording-card img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--stroke);border-radius:3px;background:#ececea;transition:transform .2s ease}
.selected-recording-card:hover img{transform:translateY(-3px)}
.selected-recording-card:focus-visible{outline:2px solid #537a96;outline-offset:5px}
.selected-recording-title{font:400 clamp(19px,2vw,25px)/1.2 var(--serif);letter-spacing:-.035em;line-height:1.05;margin-top:10px;display:flex;justify-content:space-between;gap:10px}
.selected-recording-title span{font:400 18px/1.2 var(--sans);flex:none;color:#7193a4}
.selected-recording-artist{font-size:12px;line-height:1.2;color:var(--muted);margin-top:1px}
.selected-recording-role{font-size:12px;line-height:1.2;letter-spacing:normal;text-transform:none;margin-top:0;color:#557282}
.selected-recordings-more{display:inline-block;margin-top:27px;color:var(--ink);text-underline-offset:5px;font-size:13px}
@media(max-width:650px){.selected-recordings-grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.selected-recording-card:last-child{grid-column:1/-1;max-width:calc(50% - 8px)}.selected-recording-title{font-size:20px}.selected-recording-title span{font-size:15px}}
@media(max-width:400px){.selected-recordings-grid{grid-template-columns:1fr}.selected-recording-card:last-child{grid-column:auto;max-width:none}}

/* About: clear service headings and short descriptions. */
.about-services{display:grid;gap:17px}
.about-services p{margin:0}
.about-services strong{display:block;color:var(--ink);font-size:13px;font-weight:600;line-height:1.45}
.about-services span{display:block;color:var(--muted);font-size:13px;line-height:1.6;margin-top:3px}

/* Hero portrait starts at the headline, not at the bottom of the intro copy. */
.intro-layout{align-items:start}
.intro-aside{align-self:start;margin-top:20px;padding-top:0}
@media(max-width:650px){.intro-aside{margin-top:0}}
/* About services: three distinct headings with their descriptions directly below. */
.about-services{gap:18px}
.about-services p{display:flex;flex-direction:column;gap:3px}
.about-services strong{display:block;font-size:14px;line-height:1.4}
.about-services span{display:block;margin:0;line-height:1.55}
