/* Design tokens: change these to adjust the complete site. */
:root{--paper:#faf8f3;--ink:#262923;--muted:#65685f;--accent:#795c30;--line:#deded4;--soft:#efeee7;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--width:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:#e6d7bc}.container{width:min(var(--width),calc(100% - 80px));margin-inline:auto}.section{padding-block:100px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(3rem,5.3vw,5.1rem);margin-bottom:28px}h2{font-size:clamp(2.1rem,3.8vw,3.6rem);margin-bottom:28px}h3{line-height:1.3;font-size:1.2rem;font-weight:600}p{color:var(--muted);margin-bottom:22px}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:650;color:var(--accent);margin-bottom:20px}.lead{font-size:1.12rem;line-height:1.8}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;background:var(--ink);color:white;padding:14px 23px;border:1px solid var(--ink);text-decoration:none;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--accent);border-color:var(--accent)}.button-outline{background:transparent;color:var(--ink)}.button-outline:hover{color:white}.button-small{padding:10px 17px;font-size:.8rem}.text-link{font-size:.9rem;font-weight:600;text-decoration:underline}.button-row{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.skip-link{position:fixed;top:10px;left:10px;z-index:10;background:white;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}.nav-wrap{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-family:var(--serif);font-size:1.6rem;line-height:1.2;letter-spacing:-.03em;text-decoration:none}.brand span{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:6px}nav{display:flex;align-items:center;gap:30px}nav>a:not(.button){font-size:.84rem;text-decoration:none}nav>a:hover{text-decoration:underline}.menu-toggle{border:1px solid var(--line);background:transparent;padding:8px 14px;cursor:pointer}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px;padding-block:65px 80px}.hero-copy{padding-block:25px}.hero-copy h1{max-width:620px}.hero-location{font-size:.75rem;margin:34px 0 0;letter-spacing:.07em}.hero-photo{position:relative}.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:60% center}.photo-caption{position:absolute;bottom:20px;left:20px;background:var(--paper);padding:9px 15px;font-size:.72rem}.occasion-strip{border-block:1px solid var(--line)}.occasions{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-block:32px}.occasions h2{font-family:var(--sans);letter-spacing:0;font-size:1rem;font-weight:600;margin-bottom:9px}.occasions p{font-size:.88rem;margin:0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:340px;margin-bottom:5px;font-size:.95rem}.audio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.audio-card{background:white;border:1px solid var(--line);padding:30px}.audio-card .eyebrow{margin-bottom:8px;display:block}.audio-card h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;margin-bottom:25px}.media-note,.form-note{font-size:.73rem;margin:13px 0 0}.media-note a{display:inline-block}.music-section{background:var(--soft)}.ensemble-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.ensemble-card{background:var(--paper);text-decoration:none;display:flex;flex-direction:column;border:1px solid transparent;transition:border-color .2s}.ensemble-card:hover{border-color:var(--accent)}.card-photo{position:relative;overflow:hidden}.card-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s}.ensemble-card:hover img{transform:scale(1.025)}.category{position:absolute;left:15px;bottom:15px;background:var(--paper);padding:5px 10px;font-size:.67rem}.card-copy{padding:25px;display:flex;flex-direction:column;flex:1}.card-copy h3{font-family:var(--serif);font-weight:400;font-size:1.55rem}.card-copy p{font-size:.88rem}.card-copy .text-link{margin-top:auto;font-size:.79rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-image img{width:100%;aspect-ratio:4/5;object-fit:cover}.signature{font-family:var(--serif);font-style:italic;font-size:1.8rem;color:var(--accent);margin-top:30px}.references{background:var(--ink);color:var(--paper)}.references .eyebrow{color:#d2bb92}.reference-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px}.reference-highlights span{padding:24px 20px 24px 0;border-top:1px solid #51544c;font-family:var(--serif);font-size:1.4rem}.reference-details{margin-top:30px;border-top:1px solid #51544c;padding-top:22px}.reference-details summary{cursor:pointer;font-size:.9rem}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:30px}.reference-grid h3{font-size:1rem}.reference-grid ul{padding-left:18px;color:#d3d5ca;font-size:.85rem}.lessons img{width:100%;aspect-ratio:4/3;object-fit:cover}.contact-section{background:var(--soft)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-direct{display:flex;flex-direction:column;align-items:start;gap:12px;margin-top:35px}.contact-direct a{font-size:1.05rem}.contact-direct span{font-size:.85rem;color:var(--muted)}form>label{display:block;font-size:.8rem;font-weight:600;margin-bottom:8px}input:not([type=checkbox]),textarea{display:block;width:100%;border:1px solid #b4b6aa;background:var(--paper);padding:12px 14px;color:var(--ink);margin-bottom:22px;border-radius:0}textarea{resize:vertical}.checkbox-label{display:flex;align-items:start;gap:10px;font-size:.74rem;font-weight:400}.checkbox-label input{flex-shrink:0;margin-top:5px;width:16px;height:16px;accent-color:var(--accent)}.honeypot{display:none}form>.button{margin-top:20px}.site-footer{padding-top:45px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:25px}.footer-top{align-items:center;padding-bottom:35px}.social-links{display:flex;gap:24px;font-size:.8rem}.footer-bottom{border-top:1px solid var(--line);padding-block:22px;font-size:.73rem;color:var(--muted)}.footer-bottom>div{display:flex;gap:23px}.ensemble-intro>.text-link{display:inline-block;margin-bottom:45px}.ensemble-intro h1{font-size:clamp(2.7rem,4.5vw,4.5rem)}.ensemble-image{width:100%;aspect-ratio:4/3;object-fit:cover}.ensemble-details{padding-bottom:25px}.prose{max-width:760px}.prose p{line-height:1.85}.prose h2{font-size:2.4rem;margin-top:45px}.prose h3{margin-top:30px}.prose a{overflow-wrap:anywhere}.legal .prose{margin-top:35px}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.video-placeholder{aspect-ratio:16/9;background:var(--soft);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;text-align:center}.video-placeholder p{font-size:.73rem;max-width:280px;margin:14px 0 5px}.video-placeholder a{font-size:.78rem}.video-card h3{font-size:.85rem;margin-top:14px}.media-loader iframe{border:0;width:100%;display:block}.media-loader[data-audio] iframe{height:166px}.media-loader[data-video].is-loaded{padding:0;display:block}.media-loader[data-video] iframe{height:100%;aspect-ratio:16/9}.closing-cta{background:var(--soft);text-align:center}.closing-cta h2{max-width:700px;margin-inline:auto}
@media(min-width:1400px){.hero{gap:85px;padding-top:80px}}
@media(max-width:1000px){.container{width:calc(100% - 48px)}.hero,.split{gap:40px}.contact-grid{gap:50px}nav{gap:20px}.ensemble-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:3.6rem}.section{padding-block:75px}}
@media(max-width:700px){html{scroll-padding-top:90px}.container{width:calc(100% - 36px)}.section{padding-block:58px}.nav-wrap{min-height:78px;flex-wrap:wrap;gap:0}.brand{font-size:1.4rem}.menu-toggle:not([hidden]){display:block}nav{width:100%;flex-wrap:wrap;gap:16px;padding:16px 0 20px}body.js nav{display:none}body.js nav.is-open{display:flex}nav .button{width:100%}.hero{grid-template-columns:1fr;padding-block:35px 45px;gap:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.7rem,11vw,4rem)}.hero .lead{font-size:1rem}.hero-photo img{aspect-ratio:5/4;object-position:50% 40%}.hero-location{margin-top:22px}.button-row{gap:18px}.occasions{grid-template-columns:1fr;gap:24px;padding-block:28px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:22px;max-width:none}.audio-grid,.split,.contact-grid,.video-grid{grid-template-columns:1fr;gap:28px}.ensemble-grid{grid-template-columns:1fr;gap:22px}.about-image img{aspect-ratio:5/4}.reference-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-highlights span{font-size:1.15rem}.reference-grid{grid-template-columns:1fr;gap:15px}.contact-grid{gap:40px}.contact-direct a{overflow-wrap:anywhere}.footer-top,.footer-bottom{flex-direction:column;gap:25px;align-items:start}.footer-bottom>div{flex-wrap:wrap;gap:17px}.social-links{flex-wrap:wrap}.ensemble-intro>.text-link{margin-bottom:25px}.audio-card{padding:24px}.lessons{gap:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Refined typography and Spotify album layout. */
.menu-toggle{display:none}
h1{font-size:clamp(2.65rem,4.2vw,4.1rem);line-height:1.14;letter-spacing:-.035em}
h2{font-size:clamp(2rem,3.1vw,3rem);line-height:1.16;letter-spacing:-.03em}
.hero h1{max-width:580px}
.hero .lead{font-size:1.1rem;line-height:1.75}
nav>a:not(.button){font-size:.95rem}
.button{font-size:.95rem}
.button-small{font-size:.88rem}
.text-link{font-size:.95rem}
.hero{padding-block:55px 65px}
.hero-photo img{aspect-ratio:5/6}
.occasion-strip p{font-size:.95rem}
.card-copy p{font-size:.95rem}
.eyebrow{font-size:.78rem}
.album-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.spotify-card{min-width:0}
.spotify-placeholder{min-height:352px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:var(--soft);border:1px solid var(--line);gap:18px;text-align:center}
.spotify-placeholder .media-note{margin:0}
.media-loader[data-spotify].is-loaded{display:block;padding:0;border:0;background:transparent}
.media-loader[data-spotify] iframe{height:352px;width:100%;border:0;border-radius:12px}
@media(max-width:1000px){.hero h1{font-size:3.1rem}.album-grid{gap:40px}}
@media(max-width:700px){.menu-toggle:not([hidden]){display:block}.hero h1{font-size:clamp(2.5rem,9vw,3.2rem)}.hero .lead{font-size:1.05rem}.hero-photo img{aspect-ratio:5/4}.album-grid{grid-template-columns:1fr;gap:30px}.hero{padding-block:35px 45px}}

/* Current quartet, studio portrait and compact footer. */
.ensemble-figure{margin:0;min-width:0}
.ensemble-figure figcaption{font-size:.78rem;line-height:1.6;color:var(--muted);margin-top:12px}
.ensemble-figure:has(figcaption) .ensemble-image{aspect-ratio:2048/1240;object-fit:contain}
.about-image img{object-position:center 25%}
.members-section{padding-block:20px 45px}
.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.member-card{border-top:1px solid var(--line);padding-top:24px}
.member-card .eyebrow{margin-bottom:10px}
.member-card h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;margin-bottom:16px}
.member-card>p:last-child{font-size:.95rem;margin-bottom:0}
.compact-footer{padding-block:25px}
.footer-line{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:.78rem}
.footer-copyright{color:var(--muted)}
.footer-line .social-links{gap:20px;font-size:.8rem}
.footer-legal{display:flex;gap:20px;width:auto;padding:0}
.footer-legal>a:not(.button){font-size:.78rem;color:var(--muted);text-decoration:underline}
@media(max-width:700px){.member-grid{grid-template-columns:1fr;gap:30px}.footer-line{align-items:start;gap:20px}.footer-copyright{width:100%}body.js .footer-legal{display:flex}.footer-legal{flex-wrap:wrap;gap:16px}.compact-footer{padding-block:28px}.footer-line .social-links{flex-wrap:wrap}}

/* Softer photographic edges; typography sizes retained. */
.hero-photo img,.about-image img,.lessons>img,.ensemble-image{border-radius:10px}

/* Phone layout and comfortable touch targets, including narrow screens. */
@media(max-width:700px){
 .hero-copy,.hero-photo,.album-grid>div,.contact-grid>div,.split>div{min-width:0}
 .hero h1{font-size:clamp(2.25rem,9vw,3.2rem);overflow-wrap:break-word}
 .hero-photo img{aspect-ratio:5/4;object-position:50% 40%}
 .button,.menu-toggle:not([hidden]){min-height:44px}
 #navigation>a:not(.button){min-height:44px;display:flex;align-items:center;padding-inline:4px}
 .button-row>.text-link{min-height:44px;display:inline-flex;align-items:center}
 .footer-legal>a,.footer-line .social-links>a{min-height:44px;display:inline-flex;align-items:center}
 .footer-line{gap:10px}.footer-legal{gap:8px 18px}
 .spotify-placeholder{padding:24px 18px}
 .media-loader iframe{max-width:100%}
 input:not([type=checkbox]),textarea{font-size:16px}
}
@media(max-width:380px){.hero .button-row{align-items:stretch;flex-direction:column;gap:10px}.hero .button-row>.text-link{justify-content:center}.hero h1{letter-spacing:-.03em}}

/* Original saxophone emblem, used once in the page header. */
.site-header .brand{display:inline-flex;align-items:center;gap:12px}
.site-header .brand-icon{width:36px;height:36px;flex-shrink:0}
.site-header .brand>.brand-name{font-family:var(--serif);font-size:1.6rem;line-height:1.2;letter-spacing:-.03em;text-transform:none;color:var(--ink);margin:0}
@media(max-width:700px){.site-header .brand{gap:9px}.site-header .brand-icon{width:32px;height:32px}.site-header .brand>.brand-name{font-size:1.4rem}}

/* Ensemble relationships and studio portraits. */
.album-band-photo{width:100%;height:auto;aspect-ratio:2048/1240;object-fit:contain;border-radius:10px;margin-bottom:28px}
.album-grid{align-items:center}
.featured-ensemble{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;background:var(--paper);margin-bottom:38px;align-items:center}
.featured-photo img{width:100%;height:auto;aspect-ratio:2048/1240;object-fit:contain}
.featured-copy{padding:30px 35px 30px 0}
.featured-copy h3{font-family:var(--serif);font-size:2.2rem;font-weight:400;line-height:1.2}
.other-ensembles-heading{font-size:1rem;margin-bottom:24px;color:var(--muted)}
.member-card{display:flex;flex-direction:column}
.member-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:10px;margin-bottom:24px}
.member-info{flex:1}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.related-card{padding:28px;background:var(--soft);text-decoration:none;border:1px solid var(--line)}
.related-card:hover{border-color:var(--accent)}
.related-card h3{font-family:var(--serif);font-size:1.6rem;font-weight:400}
.related-card p{font-size:.95rem}
.reference-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:45px}
.reference-category{border-top:1px solid #51544c;padding-top:22px}
.reference-category ul{list-style:none;padding:0;margin:0}
.reference-category li{font-family:var(--serif);font-size:1.35rem;line-height:1.4;padding-block:10px}
@media(max-width:700px){.featured-ensemble{grid-template-columns:1fr;gap:0}.featured-copy{padding:25px}.featured-copy h3{font-size:1.85rem}.related-grid,.reference-category-grid{grid-template-columns:1fr;gap:28px}.member-photo{aspect-ratio:4/5}.album-band-photo{margin-bottom:24px}.reference-category-grid{margin-top:30px}}

/* Informative media consent and a visible removal control. */
.media-controls{padding:10px 0;text-align:right}
.media-remove{background:transparent;border:1px solid var(--line);padding:8px 12px;color:var(--ink);font-size:.8rem;cursor:pointer;min-height:44px}
.media-loader[data-video].is-loaded{aspect-ratio:auto;min-height:0}
.media-loader[data-video].is-loaded iframe{height:auto;aspect-ratio:16/9}
.video-placeholder:not(.is-loaded){aspect-ratio:auto;min-height:300px}
.video-placeholder .media-note{max-width:none;line-height:1.6}
.spotify-placeholder .media-note{line-height:1.6}
.form-note{font-size:.8rem;line-height:1.7}

/* Updated social links, including Linktree. */
.footer-line .social-links{flex-wrap:wrap;row-gap:8px}
.footer-line .all-links{font-weight:600}
@media(max-width:700px){.footer-line .social-links{gap:4px 18px}}

/* SoundCloud uses the same per-player consent controls. */
.soundcloud-placeholder .media-note{margin-block:16px}
.soundcloud-placeholder>.text-link{display:inline-block;margin-top:10px}
.media-loader[data-soundcloud] iframe{height:166px}
