@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap');
:root{--bg:#101114;--panel:#1b1c1f;--panel2:#161719;--line:#ffffff1f;--gold:#cba879;--paper:#f2efe9;--muted:#b7b5b2;--font-serif:'Cormorant Garamond',Georgia,serif;--font-sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--font-sans);font-weight:300;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}::selection{background:var(--gold);color:#161616}
.skip{position:absolute;top:-60px;left:8px;z-index:100;background:var(--gold);color:#111;padding:12px}.skip:focus{top:8px}
.header{position:absolute;top:0;left:0;right:0;z-index:10;min-height:92px;padding:10px 5.2%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff28}.brand{width:66px;flex-shrink:0}.brand img{display:block}.header nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(14px,2.45vw,36px)}.header nav a,.langs button,.eyebrow,.kicker,.hero-scroll,.photo-hint{font-size:10px;font-weight:500;letter-spacing:2.7px;text-transform:uppercase}.header nav a{padding:8px 0;white-space:nowrap;transition:color .2s}.header nav a:hover,.langs button:hover,.langs button.active{color:var(--gold)}.langs{display:flex;gap:12px;flex-shrink:0}.langs button{color:var(--paper);background:none;border:0;padding:8px 1px;letter-spacing:1.4px}.langs button.active{border-bottom:1px solid var(--gold)}.menu{display:none}
.hero{position:relative;min-height:770px;padding:153px 7% 100px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 72% 48%,#39312c 0%,#191919 36%,#0e0f12 73%)}.hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(112deg,transparent 0 33px,#ffffff03 35px 36px,transparent 39px 70px);opacity:.35}.hero-photo{position:absolute;right:0;top:0;width:52%;height:100%;background:linear-gradient(90deg,#101114 0%,#10111433 31%,#1011140d 75%),linear-gradient(135deg,#2e2b28,#17181b 54%,#3a3027);background-size:cover;background-position:center}.hero-photo:before{content:"";position:absolute;inset:12% 15% 12% 27%;border:1px solid #d7b58b40;box-shadow:0 0 80px #a77a4520;transform:skewX(-8deg)}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#101114 2%,transparent 25%)}.hero-photo-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.hero-photo-inner span{border:1px solid #cba87963;padding:15px 24px;color:#f2e8dca3;font-size:10px;text-align:center;letter-spacing:2px;max-width:260px;line-height:1.8}.hero-content{position:relative;z-index:1;max-width:830px}.eyebrow{color:var(--gold);letter-spacing:3.4px;line-height:1.8}.hero h1{font-family:var(--font-serif);font-size:clamp(84px,10.1vw,150px);font-weight:400;line-height:.78;letter-spacing:-4px;margin:32px 0 42px}.hero h1 em{font-weight:400;font-style:normal}.gold-line{height:2px;width:54px;background:var(--gold);margin:0 0 24px}.tagline{font-family:var(--font-serif);font-style:italic;font-size:clamp(30px,3.8vw,49px);line-height:1.04;margin:0 0 17px}.hero-sub{font-size:14px;line-height:1.8;color:#d3d1cf;max-width:450px;margin-bottom:32px}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.btn{border:1px solid var(--gold);padding:17px 23px;display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;text-align:center;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:1.7px;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-outline{background:#14141499;color:var(--paper)}.btn-gold{background:#997750;color:#fff}.btn-gold:hover{background:#ae895f}.hero-scroll{position:absolute;z-index:1;bottom:34px;left:7%;color:#a5a39e;display:flex;align-items:center;gap:12px;letter-spacing:2px}.scroll-line{height:1px;width:52px;background:var(--gold)}
.section{padding:95px 7%}.kicker{color:var(--gold);letter-spacing:3px;line-height:1.7}h2,h3,p{margin-top:0}h2{font-family:var(--font-serif);font-weight:400;line-height:.98;font-size:clamp(43px,5.4vw,75px);margin:20px 0 27px}h2 i{font-weight:400}p{line-height:1.8}.intro{text-align:center;padding-top:88px;padding-bottom:76px}.intro h2{font-size:clamp(42px,5.4vw,79px);margin-bottom:25px}.intro-text{max-width:750px;margin:auto;color:var(--muted);font-size:15px}
.pathways{padding-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.path-card{position:relative;min-height:525px;display:flex;align-items:flex-end;overflow:hidden;background:#222;isolation:isolate}.path-photo{position:absolute;inset:0;transition:transform .6s;background:linear-gradient(0deg,#0b0b0df3 0%,#12131577 44%,#12131544),radial-gradient(circle at 70% 29%,#75675a 0,#393c3b 27%,#181a1c 70%)}.path-card.jazz .path-photo{background:linear-gradient(0deg,#0b0b0df3 0%,#12131577 44%,#12131544),radial-gradient(circle at 40% 25%,#41464d,#26282d 40%,#101113 80%)}.path-card.sax .path-photo{background:linear-gradient(0deg,#0b0b0df2 0%,#12131580 47%,#12131544),radial-gradient(circle at 60% 25%,#89613b,#352d2c 40%,#121315 80%)}.path-photo:after{content:"";position:absolute;inset:12% 14% 25%;border:1px solid #cba87924}.path-card:hover .path-photo{transform:scale(1.04)}.photo-hint{position:absolute;z-index:1;top:34%;left:10%;right:10%;text-align:center;line-height:1.6;color:#e5d6c79e}.path-caption{position:relative;z-index:2;padding:35px 30px;width:100%}.path-caption h3{font:400 clamp(46px,4.3vw,68px)/.88 var(--font-serif);margin:20px 0 20px}.path-caption p{font-size:12px;color:#ddd8d2;line-height:1.7;min-height:44px}.path-link{display:inline-flex;align-items:center;gap:12px;color:var(--gold);letter-spacing:2px;font-size:11px;text-transform:uppercase;margin-top:14px}
.details{padding-top:25px;padding-bottom:90px}.detail-row{display:grid;grid-template-columns:50px 1.1fr 1fr;gap:25px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}.detail-row:first-child{border-top:1px solid var(--line)}.detail-num{font-family:var(--font-serif);font-size:24px;color:var(--gold)}.detail-row h2{font-size:clamp(32px,3.2vw,48px);margin:9px 0 0}.detail-row p{font-size:14px;color:#c3c0bc;margin:0 0 12px}.thin-link{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);display:inline-block;padding:8px 0}
.about{background:#1a1b1e;display:grid;grid-template-columns:1.15fr 1fr;gap:10%}.about p{max-width:680px;color:#d5d1cc;font-size:14px}.about .pending{color:#9d978d;font-style:italic;font-size:12px}.credentials{border-left:1px solid #b8966d73;padding-left:35px;display:flex;flex-direction:column;justify-content:center;gap:30px}.credentials>div{display:grid;grid-template-columns:34px 1fr;gap:8px}.small-num{font-family:var(--font-serif);font-size:24px;color:var(--gold)}.credentials strong{display:block;font:500 26px/1.1 var(--font-serif)}.credentials small{display:block;font-size:12px;color:#c1b9b1;line-height:1.6;margin-top:7px}.selmer-card{border:1px solid #cba8798a;padding:22px 23px;margin-top:3px;background:linear-gradient(140deg,#282521,#1b1a1a);transition:background .2s}.selmer-card:hover{background:#302b24}.selmer-card .selmer-label{display:block;color:var(--gold);letter-spacing:2.6px;font-size:12px;margin-bottom:10px}.selmer-card strong{font-size:24px}.selmer-card small{color:var(--gold);font-size:11px;letter-spacing:1px}
.section-head{display:flex;gap:7%;justify-content:space-between;align-items:end;margin-bottom:26px}.section-head p{max-width:410px;font-size:14px;color:var(--muted);margin:0 0 8px}.section-head h2{margin-bottom:0}.media-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:14px;grid-template-rows:210px 210px}.media-primary{grid-row:span 2}.media-primary,.media-secondary{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;gap:22px;background:radial-gradient(ellipse at 55% 35%,#393431 0%,#202124 51%,#121315 100%);border:1px solid #ffffff1a;color:#b8b1a8;font-size:10px;letter-spacing:1.5px;line-height:1.8}.media-secondary{background:radial-gradient(ellipse at 45% 35%,#2c2f30,#141518 77%)}.media-future{background:radial-gradient(ellipse at 40% 25%,#3b2e26,#141518 74%)}.play-icon{width:65px;height:65px;border:1px solid #cba8798a;border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--gold);font-size:31px;padding-left:5px}.future-icon{color:var(--gold);font-size:46px}
.presskit{display:flex;justify-content:space-between;align-items:center;gap:8%;background:#17181b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.presskit>div:first-child{max-width:720px}.presskit p{max-width:640px;color:var(--muted);font-size:14px}.press-note{min-width:280px;min-height:160px;border:1px solid #cba87966;padding:25px;background:#cba87908}.press-note>span{font-size:36px;float:right;color:var(--gold)}.press-note strong{display:block;font:500 29px var(--font-serif);margin-top:22px}.press-note small{display:block;color:#bcb8af;margin-top:9px;line-height:1.5}
.booking{background:#1b1c1f}.fields{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 25px}.fields label{display:flex;flex-direction:column;gap:9px;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:#d3cbc0}.fields label.full{grid-column:span 2}.fields input,.fields select,.fields textarea{border:1px solid #ffffff38;border-radius:0;outline:none;background:#111215;color:#f3eee7;padding:16px;min-height:54px;letter-spacing:0;font-size:14px;text-transform:none;width:100%}.fields textarea{resize:vertical}.fields input:focus,.fields select:focus,.fields textarea:focus{border-color:var(--gold)}.form-actions{display:flex;gap:30px;align-items:center;margin-top:26px}.form-actions>p{max-width:450px;font-size:12px;color:#b6aea5;margin:0}.form-status{color:var(--gold);font-size:13px;min-height:18px;margin:18px 0 0}.footer{padding:62px 7% 28px;background:#0c0d0f}.footer-top{display:flex;justify-content:space-between;gap:25px}.footer-top h2{font:400 36px var(--font-serif);letter-spacing:1px;margin:14px 0 2px}.footer p{color:var(--muted);font-size:12px}.to-top{color:var(--gold);font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-top:25px}.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#9b9792;font-size:11px}
@media(max-width:1100px){.header nav{gap:14px}.header nav a{font-size:9px;letter-spacing:1.5px}.pathways{gap:10px}.path-card{min-height:490px}.path-caption{padding:25px}.path-caption h3{font-size:52px}}
@media(max-width:850px){.header{min-height:78px;padding:8px 5%}.brand{width:55px}.brand img{width:54px;height:54px}.menu{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;width:40px;height:42px;margin-left:auto;order:2}.menu span{display:block;width:26px;height:1px;background:var(--gold)}.header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:25px 7% 30px;background:#141518;flex-direction:column;align-items:flex-start;gap:16px;box-shadow:0 25px 35px #0009}.header nav.open{display:flex}.header nav a{font-size:12px;letter-spacing:2px}.langs{order:1;margin-left:auto}.hero{min-height:700px;padding:145px 7% 90px}.hero-photo{width:100%;opacity:.25}.hero h1{font-size:clamp(70px,11vw,112px)}.pathways{grid-template-columns:1fr 1fr}.path-card:last-child{grid-column:span 2;min-height:350px}.about{grid-template-columns:1fr;gap:30px}.credentials{padding-left:25px}.section{padding:70px 7%}.pathways{padding-top:0}.detail-row{grid-template-columns:38px 1fr;gap:18px}.detail-row>div:last-child{grid-column:2}.section-head{align-items:start;flex-direction:column}.presskit{flex-direction:column;align-items:stretch}.press-note{min-width:0}.hero-scroll{bottom:25px}}
@media(max-width:600px){.hero{min-height:710px;padding:135px 6% 80px}.eyebrow{letter-spacing:2px;font-size:9px}.hero h1{font-size:clamp(57px,14vw,83px);letter-spacing:-2px;margin:35px 0}.tagline{font-size:31px}.hero-sub{font-size:12px}.hero-actions{flex-direction:column;align-items:stretch}.btn{font-size:10px}.hero-scroll{left:6%}.section{padding:65px 6%}.pathways{grid-template-columns:1fr;gap:14px;padding-top:0}.path-card,.path-card:last-child{grid-column:auto;min-height:450px}.path-caption h3{font-size:62px}.detail-row h2{font-size:38px}.credentials strong{font-size:23px}.media-grid{grid-template-columns:1fr;grid-template-rows:280px 200px 200px}.media-primary{grid-row:auto}.fields{grid-template-columns:1fr}.fields label.full{grid-column:auto}.form-actions{flex-direction:column;align-items:stretch}.form-actions .btn{width:100%}.footer-top,.footer-bottom{flex-direction:column;gap:15px}.to-top{margin-top:0}.footer-top h2{font-size:30px}.header{gap:9px}.langs{gap:7px}.langs button{font-size:9px}.menu{width:30px}.hero-photo-inner span{font-size:8px;max-width:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}

.media-channel{transition:border-color .2s ease,background .2s ease;cursor:pointer}.media-channel:hover{border-color:var(--gold);background:radial-gradient(ellipse at 55% 35%,#4a3e31 0%,#252324 51%,#121315 100%)}.media-channel-caption{font-size:11px;letter-spacing:.6px;text-transform:none;color:var(--gold)}.footer-youtube{color:var(--gold);text-decoration:none;transition:color .2s}.footer-youtube:hover{text-decoration:underline}

/* Official ensemble profile */
.credentials .ensemble-link{display:inline-block;margin-top:10px;color:var(--gold);font-size:11px;letter-spacing:.4px;line-height:1.55;text-decoration:none}.credentials .ensemble-link:hover,.credentials .ensemble-link:focus-visible{text-decoration:underline}

/* Real artist photography, November 2026 */
.hero-photo{background:#111;overflow:hidden}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:51% 26%;filter:brightness(.79) saturate(.84)}
.hero-photo::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#101114 0%,#101114a8 18%,#10111400 62%);border:0;box-shadow:none;transform:none}
.hero-photo::after{z-index:2;background:linear-gradient(0deg,#101114a8 0%,transparent 23%,#10111434 100%)}
.path-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.70) saturate(.78)}
.path-card.classical .path-photo img{object-position:52% 25%}
.path-card.jazz .path-photo img{object-position:51% 29%;filter:brightness(.68) saturate(.72)}
.path-photo::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,#08090bdc 0%,transparent 76%)}
.path-photo:after{z-index:2;pointer-events:none}
.path-card.sax .path-photo::before{background:radial-gradient(ellipse at 50% 35%,#b99d7935,transparent 70%)}
.photo-hint-sax{font-family:var(--font-serif);font-size:20px;font-weight:400;letter-spacing:3px;opacity:.75;top:25%}
.about-portrait{float:right;width:34%;max-width:185px;aspect-ratio:3/4;margin:0 0 15px 24px;overflow:hidden;border:1px solid #a58a684d}
.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 19%;filter:saturate(.75) brightness(.87)}
.photo-story{background:#111215}
.photo-story-intro{max-width:720px}
.photo-story-intro p{color:var(--muted);font-size:14px}
.portrait-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.portrait-grid figure{margin:0;position:relative;aspect-ratio:3/4;overflow:hidden;background:#18191c}
.portrait-grid figure img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:brightness(.86) saturate(.83);transition:transform .4s ease}
.portrait-grid figure:hover img{transform:scale(1.025)}
.portrait-grid figure figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#050607aa,transparent);padding:40px 18px 17px;color:#e9d4b9;font-size:10px;letter-spacing:2.4px}
.press-download{display:block;cursor:pointer;text-decoration:none;transition:background .2s,transform .2s}
.press-download:hover{background:#3b3025;transform:translateY(-2px)}
.booking-photo-banner{position:relative;min-height:370px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0c0c0f}
.booking-photo-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:brightness(.42) saturate(.65)}
.booking-photo-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111114db 0%,#14141688 60%,#14141644)}
.booking-photo-banner>div{z-index:1;position:relative;width:86%;max-width:900px;text-align:center}
.booking-photo-banner p{font:italic 400 clamp(34px,4.9vw,70px)/1.04 var(--font-serif);margin:14px 0 0}
@media(max-width:850px){.hero-photo img{object-position:50% 27%;filter:brightness(.42) saturate(.77)}.hero-photo::before{background:linear-gradient(90deg,#10111499,#10111444)}.portrait-grid{gap:10px}}
@media(max-width:600px){.hero-photo img{object-position:60% 22%}.hero-photo::before{background:#10111477}.about-portrait{width:38%;margin-left:12px}.portrait-grid{grid-template-columns:1fr 1fr;gap:10px}.portrait-grid figure:first-child{grid-column:auto;aspect-ratio:3/4}.booking-photo-banner{min-height:290px}}

/* Hero readability and refined line lengths */
.hero-content{max-width:690px}
.hero h1{font-size:clamp(68px,7.0vw,106px);letter-spacing:-2.3px;line-height:.88}
.hero .tagline{max-width:540px;font-size:clamp(29px,3.15vw,45px);line-height:1.09}
@media(max-width:850px){.hero-content{max-width:680px}.hero h1{font-size:clamp(65px,10vw,100px)}.hero .tagline{max-width:520px}}
@media(max-width:600px){.hero h1{font-size:clamp(55px,14vw,78px);letter-spacing:-1.6px}.hero .tagline{font-size:29px;max-width:350px}}

@media(min-width:851px){.hero h1{font-size:clamp(68px,6.5vw,100px)}}

/* Professional CV / biographical timeline — sourced from the artist's French CV */
.bio-career-link{display:inline-block;margin-top:10px}
.career{background:linear-gradient(155deg,#191a1d 0%,#111215 65%,#141517 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.career-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-bottom:28px;border-bottom:1px solid #ffffff28}
.career-heading h2{font:400 clamp(45px,5.5vw,76px)/.95 var(--font-serif);margin:17px 0 0}
.career-heading h2 i{font-weight:400;color:var(--gold)}
.career-heading>p{max-width:375px;color:#bcb9b3;font-size:14px;line-height:1.8;margin:0 0 3px}
.career-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:44px}
.career-column{min-width:0}
.career-col-head{display:flex;align-items:center;gap:13px;margin-bottom:24px;padding-bottom:15px;border-bottom:1px solid #cba87955}
.career-col-head h3{font:400 32px/1.06 var(--font-serif);margin:0}
.career-number{font:500 10px var(--font-sans);letter-spacing:1px;color:var(--gold);padding:7px;border:1px solid #cba87966}
.career-list{list-style:none;margin:0;padding:0}
.career-list li{display:grid;grid-template-columns:83px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid #ffffff16}
.career-list li time{font-size:10px;font-weight:500;letter-spacing:.7px;color:var(--gold);padding-top:5px;white-space:nowrap}
.career-list strong{display:block;font-size:13px;font-weight:500;line-height:1.55;color:#e9e5df}
.career-list span{display:block;margin-top:5px;font-size:11px;line-height:1.6;color:#aca69f}
.career-source{font-size:11px;color:#97928d;margin:40px 0 0}
@media(max-width:1050px){.career-columns{gap:18px}.career-list li{grid-template-columns:1fr;gap:4px}.career-col-head h3{font-size:27px}}
@media(max-width:780px){.career-columns{grid-template-columns:1fr;gap:30px}.career-heading{align-items:start;flex-direction:column;gap:20px}.career-col-head h3{font-size:32px}.career-list li{grid-template-columns:90px 1fr;gap:12px}.career-source{margin-top:30px}}
@media(max-width:410px){.career-list li{grid-template-columns:1fr;gap:6px}}

.credentials .ensemble-link{display:block;width:fit-content;max-width:100%;margin-right:0;overflow-wrap:anywhere}

/* Selected user-supplied Classical Clarinet cover. Correct image is used everywhere. */
.path-card.classical .path-photo img{object-position:52% 24%;filter:brightness(.82) saturate(.86)}
/* Curated original performance and press gallery */
.gallery{background:#151518;padding-top:84px;padding-bottom:100px;border-top:1px solid #ffffff1b}
.gallery-heading{max-width:870px}.gallery-heading h2{font:400 clamp(48px,6.2vw,78px)/.95 var(--font-serif);margin:16px 0 14px;color:#f1ede7}.gallery-heading h2 i{font-weight:400;color:#d9b98c}.gallery-heading p{font-size:14px;color:#b7b5b2;line-height:1.8}
.gallery-filters{display:flex;gap:6px;flex-wrap:wrap;margin:32px 0 21px}.gallery-filter{border:1px solid #ffffff32;background:transparent;color:#d7d2c9;padding:11px 17px;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;transition:background .2s}.gallery-filter:hover,.gallery-filter.active{background:#cba879;color:#151518;border-color:#cba879}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:10px}.gallery-item{position:relative;display:block;width:100%;padding:0;border:0;cursor:pointer;background:#26272a;overflow:hidden;aspect-ratio:3/4}.gallery-item-wide{grid-column:span 2;aspect-ratio:1.8/1}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 25%;filter:brightness(.9) saturate(.86);transition:transform .35s,filter .35s}.gallery-item:hover img{transform:scale(1.035);filter:brightness(1) saturate(1)}.gallery-open{position:absolute;bottom:12px;right:14px;font:30px var(--font-serif);color:white;text-shadow:0 1px 10px #0008}.gallery-item[hidden]{display:none!important}.gallery-rights{font-size:12px;color:#a5a09a;margin-top:22px}
.photo-viewer{background:#08090bf5;border:1px solid #ffffff33;max-width:min(94vw,1200px);max-height:95vh;width:max-content;padding:20px 20px 14px;color:white;text-align:center}.photo-viewer::backdrop{background:#020204dc}.photo-viewer img{display:block;max-width:min(86vw,1150px);max-height:79vh;object-fit:contain}.photo-viewer-caption{margin:10px 0 2px;color:#dbd5ce;font-size:12px}.photo-close{position:absolute;right:5px;top:2px;z-index:2;cursor:pointer;background:#161719;border:0;color:white;font-size:28px;line-height:1;padding:6px 14px}
.performance-layout{display:grid;grid-template-columns:1.18fr 1fr;gap:16px}.featured-video{background:#1c1d20;display:grid;grid-template-columns:minmax(220px, .8fr) 1fr;border:1px solid #ffffff1b}.featured-video video{width:100%;height:440px;object-fit:contain;display:block;background:#080809}.featured-video-caption{display:flex;flex-direction:column;justify-content:end;padding:28px}.featured-video-caption h3,.media-side h3{font:400 clamp(31px,3vw,43px)/1 var(--font-serif);margin:16px 0;color:var(--paper)}.featured-video-caption p,.media-side p{font-size:12px;line-height:1.8;color:var(--muted)}.media-side{display:grid;grid-template-rows:1fr 1fr;gap:16px}.youtube-card,.sax-media-note{display:flex;flex-direction:column;justify-content:end;padding:28px;background:linear-gradient(135deg,#222427,#101114);border:1px solid #ffffff25;min-height:210px}.youtube-card:hover{border-color:var(--gold)}.youtube-mark{width:42px;height:42px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-size:27px;margin-bottom:8px}.sax-media-note{background:radial-gradient(circle at 82% 15%,#79542b44,transparent 60%),#191719}
@media(max-width:1100px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.performance-layout{grid-template-columns:1fr}.featured-video{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.gallery{padding-top:70px;padding-bottom:70px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.gallery-item-wide{grid-column:span 2;aspect-ratio:1.5/1}.gallery-filters{gap:6px}.gallery-filter{font-size:9px;padding:9px 10px}.featured-video{grid-template-columns:1fr}.featured-video video{height:min(78vh,540px)}.featured-video-caption{padding:20px}.media-side{grid-template-rows:auto}.youtube-card,.sax-media-note{min-height:165px;padding:22px}.photo-viewer{padding:35px 7px 12px}}

/* Additional orchestra performance recording supplied by the artist */
.orchestral-reel{margin-top:18px;display:grid;grid-template-columns: minmax(230px,.62fr) 1fr;gap:24px;padding:16px;background:linear-gradient(125deg,#212123,#121316);border:1px solid #ffffff22;align-items:center}
.orchestral-video{min-width:0;background:#080809;display:flex;justify-content:center;align-items:center;min-height:280px}
.orchestral-video video{display:block;max-height:390px;width:100%;object-fit:contain;background:#080809}
.orchestral-copy{padding:18px 20px}
.orchestral-copy h3{font:400 clamp(32px,3.5vw,52px)/1.02 var(--font-serif);color:var(--paper);margin:14px 0 18px}
.orchestral-copy h3 em{color:var(--gold);font-weight:400}
.orchestral-copy p{max-width:430px;color:var(--muted);font-size:13px;line-height:1.8}
.orchestral-copy small{display:block;color:#c0ae98;margin-top:25px;letter-spacing:1.3px;font-size:10px}
@media(max-width:650px){.orchestral-reel{grid-template-columns:1fr;gap:0;padding:12px}.orchestral-video{min-height:220px}.orchestral-video video{height:340px}.orchestral-copy{padding:25px 12px 17px}}

/* Artist's new professional saxophone portrait, 2026 */
.path-card.sax .path-photo img{object-position:51% 30%;filter:brightness(.86) grayscale(1)}
.path-card.sax .path-photo::before{z-index:1;background:linear-gradient(0deg,#08090be9 0%,#10111477 38%,#10111412 75%)}
.path-card.sax .path-photo::after{border-color:#cba87922}
.sax-media-note{text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.sax-media-note:hover,.sax-media-note:focus-visible{border-color:#cba87999;transform:translateY(-2px)}
.sax-demo{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:0;margin-top:48px;min-height:540px;background:#16171a;border:1px solid #ffffff27;overflow:hidden}
.sax-demo-photo{position:relative;min-height:400px;background:#222}
.sax-demo-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 21%;filter:brightness(.9) grayscale(1)}
.sax-demo-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#11111444,transparent 70%)}
.sax-demo-content{padding:clamp(30px,4.7vw,72px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.sax-demo h3{font:400 clamp(38px,4.2vw,67px)/.98 var(--font-serif);margin:18px 0;color:var(--paper)}
.sax-demo h3 em{font-weight:400;color:var(--gold)}
.sax-demo-content>p{font-size:14px;line-height:1.8;color:var(--muted);max-width:480px;margin:0 0 26px}
.sax-demo-placeholder{display:flex;gap:18px;align-items:center;width:100%;padding:23px 24px;margin:0 0 23px;background:#202123;border:1px dashed #cba87977}
.sax-demo-glyph{font:37px var(--font-serif);color:var(--gold)}
.sax-demo-placeholder strong{font-size:11px;letter-spacing:2.1px;color:var(--paper);display:block}
.sax-demo-placeholder small{font-size:12px;color:#aaa5a0;display:block;margin-top:6px}
@media(max-width:850px){.sax-demo{grid-template-columns:1fr 1fr;min-height:420px}.sax-demo-content{padding:28px}.sax-demo h3{font-size:42px}}
@media(max-width:650px){.sax-demo{grid-template-columns:1fr}.sax-demo-photo{min-height:470px}.sax-demo-photo img{object-position:50% 26%}.sax-demo-content{padding:32px 23px 40px}.sax-demo h3{font-size:46px}}


/* Saxophone: complete live event video and two extra press portraits. */

.sax-demo-video{width:100%;margin:0 0 24px;padding:17px 17px 14px;background:#0e0f11;border:1px solid #c3a16b45}
.sax-video-label{display:block;color:#c9ad81;font-size:10px;letter-spacing:2.2px;text-transform:uppercase;margin-bottom:7px}
.sax-video-title{font:400 clamp(22px,2.35vw,30px)/1.2 var(--font-serif);margin:0 0 12px;color:#f2eee9}
.sax-demo-video video{display:block;width:100%;height:min(60vh,445px);min-height:290px;object-fit:contain;background:#070708;border:0;outline-offset:4px}
.sax-video-runtime{display:block;color:#b4aea7;font-size:11px;letter-spacing:.2px;margin-top:10px}
@media(max-width:650px){.sax-demo-video{padding:12px}.sax-demo-video video{height:min(73vh,520px)}}

/* Lightweight iPhone deployment: video will be added once site is live. */
.video-temp{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;width:100%;background:#0c0d10;border:1px solid #ffffff29;gap:0}
.video-temp img{display:block;object-fit:contain;max-height:300px;width:100%;max-width:100%;height:auto}
.video-temp p{font-size:13px;line-height:1.5;color:#d7c1a3;text-align:center;padding:15px 20px;margin:0}
