:root{--ink:#181918;--paper:#f4f0e8;--mist:#d9d0c1;--coral:#ef7259;--line:rgba(244,240,232,.42);--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);line-height:1.45}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip-link{background:var(--paper);color:var(--ink);left:16px;padding:10px 16px;position:fixed;top:-100px;z-index:100}.skip-link:focus{top:16px}.header{align-items:center;background:rgba(17,18,16,.72);border-bottom:1px solid rgba(244,240,232,.24);display:grid;grid-template-columns:1fr auto;min-height:79px;padding:10px 3.6vw;position:sticky;top:0;z-index:10;backdrop-filter:blur(15px)}.wordmark img{filter:brightness(0) invert(1);height:52px;object-fit:contain;object-position:left center;width:70px}.nav{align-items:center;display:flex;gap:clamp(14px,1.8vw,33px);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.nav a{transition:color .2s}.nav a:hover{color:var(--coral)}.nav-contact{border:1px solid var(--paper);border-radius:100px;padding:10px 13px}.nav-contact span{color:var(--coral);font-size:15px;margin-left:8px}.menu-button{display:none}.kicker,.index,.label,.eyebrow,.person-role{font:10px var(--mono);letter-spacing:.09em;text-transform:uppercase}.hero,.path-section,.method,.app-strip,.people,.contact,.detail-hero,.detail-intro,.detail-offerings,.detail-process{isolation:isolate;overflow:hidden;position:relative}.hero::before,.path-section::before,.method::before,.app-strip::before,.people::before,.contact::before,.detail-hero::before,.detail-intro::before,.detail-offerings::before,.detail-process::before{background:linear-gradient(90deg,rgba(10,11,10,.81) 0%,rgba(10,11,10,.42) 62%,rgba(10,11,10,.13) 100%);content:"";inset:0;position:absolute;z-index:-1}.hero{background:url("assets/sujo-hero.jpg") center/cover no-repeat;display:grid;min-height:calc(100vh - 79px)}.hero-copy{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 120px);padding:8vw 9vw 6vw}.kicker{margin:0 0 22px}.hero h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:.9}.hero h1{font-size:clamp(62px,7.1vw,116px);margin:0;max-width:760px}.hero h1 em,h2 em{font-style:italic}.intro{font-size:16px;line-height:1.55;margin:34px 0 29px;max-width:390px}.circle-link{align-items:center;border:1px solid var(--paper);border-radius:50%;display:flex;font:10px var(--mono);height:112px;justify-content:center;line-height:1.35;text-transform:uppercase;transition:background .2s,color .2s;width:112px}.circle-link b{font-family:var(--sans);font-size:24px;font-weight:400;margin-left:8px}.circle-link:hover{background:var(--paper);color:var(--ink)}.hero-image,.path-photo{display:none}.hero-footer{align-items:center;border-top:1px solid var(--line);display:flex;font:9px var(--mono);justify-content:space-between;letter-spacing:.06em;padding:14px 3.6vw;text-transform:uppercase}.band-ink{background:#11120f;padding:9vw 12vw}.band-ink .eyebrow{color:var(--mist)}.band-ink p{font-family:var(--serif);font-size:clamp(40px,5vw,82px);letter-spacing:-.025em;line-height:.98;margin:20px 0 0;max-width:1040px}.path-section{background:url("assets/sujo-dancer.jpg") center/cover no-repeat;display:grid;grid-template-columns:1fr 1fr;min-height:760px}.path-reverse{background-image:url("assets/sujo-movement.jpg")}.path-heading,.path-copy{position:relative;z-index:1}.path-heading{padding:8vw 4vw 4vw 8vw}.index{margin:0 0 24px}.path-heading h2,.method h2,.people h2,.contact h2,.app-strip h2{font-size:clamp(57px,6.3vw,100px);margin:0}.path-copy{align-self:end;justify-self:end;padding:4vw 8vw 8vw 4vw}.path-copy p:not(.label){font-size:16px;line-height:1.58;max-width:365px}.path-copy .label{border-top:1px solid var(--line);margin:0 0 20px;padding-top:12px}.text-link{border-bottom:1px solid var(--paper);display:inline-block;font:10px var(--mono);letter-spacing:.07em;margin-top:18px;padding-bottom:8px;text-transform:uppercase}.text-link span{color:var(--coral);font-size:17px;margin-left:10px}.method{background:url("assets/sujo-detail.jpg") center/cover no-repeat;padding:9vw 7vw 7vw}.method::before{background:linear-gradient(90deg,rgba(10,11,10,.9),rgba(10,11,10,.55))}.method-top,.people-heading{display:grid;grid-template-columns:1fr 2fr;position:relative;z-index:1}.method-statement{font-family:var(--serif);font-size:clamp(38px,4.7vw,72px);letter-spacing:-.025em;line-height:.98;margin:9vw 0 7vw 33.33%;max-width:800px;position:relative;z-index:1}.method-grid{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);position:relative;z-index:1}.method-grid article{min-height:275px;padding:22px 28px 20px 0}.method-grid article+article{border-left:1px solid var(--line);padding-left:28px}.method-grid span{color:var(--coral);font:10px var(--mono)}.method-grid h3{font-family:var(--serif);font-size:37px;font-weight:400;letter-spacing:-.02em;margin:30px 0 12px}.method-grid p{font-size:14px;line-height:1.55;max-width:300px}.method-note{border-top:1px solid var(--line);display:flex;font:10px var(--mono);justify-content:space-between;letter-spacing:.06em;padding-top:12px;position:relative;text-transform:uppercase;z-index:1}.app-strip{background:url("assets/sujo-movement.jpg") center/cover no-repeat;display:grid;grid-template-columns:1fr 1fr;min-height:660px}.app-strip::before{background:linear-gradient(90deg,rgba(10,11,10,.83),rgba(10,11,10,.3))}.app-copy{padding:9vw 7vw;position:relative;z-index:1}.app-copy h2{margin:0 0 28px}.app-copy>p:last-child{font-size:15px;line-height:1.55;max-width:320px}.app-image{align-self:end;filter:drop-shadow(0 25px 34px rgba(0,0,0,.4));justify-self:center;max-height:610px;object-fit:contain;padding-top:48px;position:relative;z-index:1}.people{background:url("assets/sujo-detail.jpg") center/cover no-repeat;padding:9vw 7vw}.people::before{background:linear-gradient(90deg,rgba(10,11,10,.88),rgba(10,11,10,.57))}.people-lead{margin:8vw 0 5vw 33.333%;max-width:570px;position:relative;z-index:1}.people-lead p{font-family:var(--serif);font-size:clamp(33px,3.7vw,54px);letter-spacing:-.02em;line-height:1;margin:0}.people-grid{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding-top:27px;position:relative;z-index:1}.portrait{aspect-ratio:3/3.4;background-position:center;background-size:cover;margin-bottom:18px}.portrait-summer{background-image:url("assets/summer-jones.jpg")}.portrait-hannah{align-items:center;background:rgba(217,169,146,.82);display:flex;justify-content:center}.portrait-hannah span{font-family:var(--serif);font-size:clamp(90px,12vw,180px);font-style:italic;letter-spacing:-.06em}.person-role{color:#ffad9e;margin:0 0 7px}.person h3{font-family:var(--serif);font-size:37px;font-weight:400;letter-spacing:-.02em;margin:0 0 12px}.person>p:last-child{font-size:14px;max-width:420px}.contact{background:url("assets/sujo-hero.jpg") center/cover no-repeat;padding:9vw 7vw 5vw}.contact::before{background:rgba(10,11,10,.84)}.contact>*{position:relative;z-index:1}.contact .index{color:var(--mist)}.contact-bottom{align-items:end;border-top:1px solid var(--line);display:flex;gap:40px;justify-content:space-between;margin-top:9vw;padding-top:24px}.contact-bottom>p{font-size:16px;line-height:1.5;margin:0;max-width:390px}.contact-actions{display:flex;flex-wrap:wrap;gap:10px}.button-light,.button-outline{border-radius:100px;display:inline-block;font:10px var(--mono);letter-spacing:.06em;padding:14px 17px;text-transform:uppercase}.button-light{background:var(--paper);color:var(--ink)}.button-outline{border:1px solid var(--paper)}.contact-actions span{color:var(--coral);font-size:16px;margin-left:8px}.footer{align-items:center;background:#10110f;display:flex;justify-content:space-between;padding:19px 3.6vw}.footer .wordmark img{height:37px;width:52px}.footer p,.footer>a:last-child{font:9px var(--mono);letter-spacing:.05em;text-transform:uppercase}
.detail-hero{background:url("assets/sujo-dancer.jpg") center/cover no-repeat;display:grid;min-height:calc(100vh - 79px)}.detail-hero::before{background:linear-gradient(90deg,rgba(10,11,10,.86),rgba(10,11,10,.18))}.detail-page .detail-hero:has(.image-musician){background-image:url("assets/sujo-movement.jpg")}.detail-hero-copy{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 79px);padding:8vw 9vw;position:relative;z-index:1}.detail-hero-copy h1{font-family:var(--serif);font-size:clamp(64px,7.2vw,116px);font-weight:400;letter-spacing:-.04em;line-height:.88;margin:0}.detail-hero-copy>p:not(.kicker){font-size:16px;line-height:1.55;margin:30px 0;max-width:385px}.detail-hero-image{display:none}.detail-intro{background:url("assets/sujo-detail.jpg") center/cover no-repeat;display:grid;grid-template-columns:1fr 2fr;padding:10vw 7vw}.detail-intro::before{background:rgba(10,11,10,.79)}.detail-intro>*,.detail-offerings>*,.detail-process>*{position:relative;z-index:1}.detail-intro h2,.detail-process h2{font-family:var(--serif);font-size:clamp(48px,5.2vw,82px);font-weight:400;letter-spacing:-.035em;line-height:.94;margin:0 0 34px}.detail-intro p:last-child{font-size:19px;line-height:1.5;max-width:600px}.detail-offerings{background:url("assets/sujo-movement.jpg") center/cover no-repeat;display:grid;grid-template-columns:repeat(3,1fr);padding:0 7vw}.detail-offerings::before{background:rgba(10,11,10,.78)}.detail-offerings article{min-height:335px;padding:30px 28px 34px 0}.detail-offerings article+article{border-left:1px solid var(--line);padding-left:28px}.detail-offerings span{color:var(--coral);font:10px var(--mono)}.detail-offerings h3{font-family:var(--serif);font-size:37px;font-weight:400;letter-spacing:-.025em;margin:58px 0 12px}.detail-offerings p{font-size:14px;line-height:1.55;max-width:305px}.detail-photo{display:none}.detail-process{background:url("assets/sujo-hero.jpg") center/cover no-repeat;display:grid;grid-template-columns:1fr 2fr;padding:10vw 7vw}.detail-process::before{background:rgba(10,11,10,.75)}.detail-process ol{border-top:1px solid var(--line);list-style:none;margin:0;padding:0}.detail-process li{border-bottom:1px solid var(--line);font-size:17px;line-height:1.48;padding:19px 0 18px}.detail-process b{font:10px var(--mono);letter-spacing:.08em;margin-right:12px;text-transform:uppercase}.detail-contact{padding-top:9vw}
@media(max-width:900px){.header{grid-template-columns:1fr auto}.menu-button{align-items:center;background:none;border:0;color:var(--paper);cursor:pointer;display:flex;font:10px var(--mono);gap:10px;letter-spacing:.08em;padding:10px 0;text-transform:uppercase}.menu-button i,.menu-button i::before{background:var(--paper);content:"";display:block;height:1px;width:24px}.menu-button i::before{transform:translateY(-5px)}.nav{align-items:flex-start;background:#11120f;border-bottom:1px solid var(--line);display:none;flex-direction:column;gap:0;left:0;padding:12px 3.6vw 25px;position:absolute;top:78px;width:100%}.nav.open{display:flex}.nav a{border-bottom:1px solid var(--line);padding:13px 0;width:100%}.nav-contact{border:0;border-radius:0}.hero-copy,.detail-hero-copy{padding:17vw 7vw 14vw}.path-section{grid-template-columns:1fr}.path-heading{padding:12vw 7vw}.path-copy{justify-self:start;padding:5vw 7vw 15vw}.method-top,.people-heading,.detail-intro,.detail-process{grid-template-columns:1fr 1.4fr}.method-statement,.people-lead{margin-left:0}.app-strip{min-height:550px}.app-copy{padding:11vw 7vw}.contact-bottom{align-items:flex-start;flex-direction:column}.detail-intro,.detail-process{padding:12vw 7vw}}
@media(max-width:590px){.header{min-height:65px;padding:5px 6vw}.wordmark img{height:44px;width:60px}.nav{top:64px}.hero,.detail-hero{min-height:640px}.hero-copy,.detail-hero-copy{min-height:640px;padding:21vw 7vw 14vw}.hero h1,.detail-hero-copy h1{font-size:clamp(58px,16vw,86px)}.hero-footer span:nth-child(2){display:none}.band-ink{padding:21vw 7vw}.path-section{min-height:660px}.path-heading{padding:19vw 7vw 7vw}.path-copy{padding:5vw 7vw 19vw}.method,.people{padding:19vw 7vw}.method-top,.people-heading,.detail-intro,.detail-process{display:block}.method-top .index,.people-heading .index,.detail-intro .index,.detail-process .index{margin-bottom:18px}.method-statement{font-size:43px;margin:21vw 0 15vw}.method-grid{display:block}.method-grid article{min-height:auto;padding:25px 0}.method-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.method-note{display:block;line-height:1.6}.method-note strong{display:block}.app-strip{display:block}.app-copy{padding:19vw 7vw 4vw}.app-image{margin:auto;max-height:540px}.people-lead{margin:21vw 0 15vw}.people-grid{display:block}.person+.person{margin-top:16vw}.contact{padding:19vw 7vw 10vw}.contact h2{font-size:clamp(58px,15vw,86px)}.contact-bottom{margin-top:20vw}.contact-actions{display:block;width:100%}.button-light,.button-outline{margin-bottom:9px;text-align:center;width:100%}.footer{padding:15px 7vw}.footer p{display:none}.detail-intro,.detail-process{padding:19vw 7vw}.detail-intro p:last-child{font-size:17px}.detail-offerings{display:block;padding:0 7vw}.detail-offerings article{min-height:0;padding:28px 0}.detail-offerings article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.detail-offerings h3{margin-top:28px}.detail-process li{font-size:16px}}


/* SUJO3 requested content and photography; existing typography/theme retained. */
#dancers{background-image:url("assets/dancer-motion-bw.jpg");background-position:58% center}
#musicians{background-image:url("assets/violin-recital-bw.jpg");background-position:50% 35%}
.everyone-section{background-image:url("assets/sujo-movement.jpg");background-position:center}
#dancers::before,#musicians::before,.everyone-section::before{background:linear-gradient(0deg,rgba(10,11,10,.78),rgba(10,11,10,.16) 75%),linear-gradient(90deg,rgba(10,11,10,.64),rgba(10,11,10,.2) 45%,rgba(10,11,10,.63))}
.portrait-summer{background-image:url("assets/summer-jones-portrait-bw.jpg");background-position:center}
.method-biography{position:relative;z-index:1;max-width:760px;margin:0 0 70px 33.33%}
.method-biography p:not(.label),.biography-copy p{font-size:16px;line-height:1.65;margin:0 0 1.2em}
.method-biography .label{color:var(--coral);margin-bottom:22px}
.section-biography{border-top:1px solid var(--line);margin-top:28px;padding-top:16px;max-width:365px}
.section-biography summary{cursor:pointer;font-size:14px;font-weight:500;line-height:1.55;min-height:44px;padding:8px 0}
.section-biography summary::marker{color:var(--coral)}
.section-biography .biography-copy{padding-top:20px}
.section-biography summary:focus-visible,.reference-link:focus-visible{outline:2px solid var(--coral);outline-offset:5px}
.reference-card{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;max-width:640px}
.reference-card .label{color:var(--coral);margin:0 0 12px;border:0;padding:0}
.reference-link{display:block;font:500 16px/1.5 var(--sans);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.reference-link:hover{color:var(--coral)}
.reference-card .reference-description,.path-copy .reference-card .reference-description{font-size:13px;line-height:1.6;color:rgba(244,240,232,.85);margin:12px 0 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.detail-page.dancer-page .detail-hero{background-image:url("assets/dancer-motion-bw.jpg");background-position:58% center}
.detail-page.musician-page .detail-hero{background-image:url("assets/violin-performance-bw.jpg");background-position:center 35%}
.musician-page .detail-intro{background-image:url("assets/violin-gesture-bw.jpg");background-position:center 35%}
.musician-page .detail-offerings,.musician-page .detail-process{background-image:url("assets/violin-recital-bw.jpg")}
.dancer-biography{display:grid;grid-template-columns:.8fr 1.4fr;gap:7vw;padding:8vw 7vw;background:var(--ink)}
.bio-portrait{max-width:380px;align-self:start}
.bio-portrait img{width:100%;height:auto;display:block}
.dancer-biography h2{font-family:var(--serif);font-size:clamp(48px,5.2vw,82px);font-weight:400;letter-spacing:-.035em;line-height:.94;margin:0 0 34px}
.dancer-biography .index{color:var(--coral);margin-bottom:24px}
.musician-reference{padding:0 7vw 65px;background:var(--ink)}
.musician-reference .reference-card{max-width:820px;margin:0 auto;padding-top:28px}
.photo-gallery{display:grid;gap:20px;padding:65px 24px;background:var(--ink);margin:0 auto}
.photo-gallery figure{margin:0;min-width:0}
.photo-gallery img{width:100%;height:auto;display:block}
.dance-gallery{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1050px}
.musician-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1400px;padding-left:7vw;padding-right:7vw}
@media(max-width:900px){
 .method-biography{margin-left:0;max-width:720px}
 .dancer-biography{grid-template-columns:1fr 1.4fr;gap:5vw}
 #musicians{background-position:48% center}
}
@media(max-width:590px){
 .method-biography{margin-bottom:45px}
 .dancer-biography{display:block;padding:15vw 7vw}
 .bio-portrait{max-width:320px;margin:0 auto 40px}
 .photo-gallery{grid-template-columns:1fr;padding:40px 7vw;gap:22px}
 .dance-gallery figure{max-width:360px;margin:0 auto}
 .musician-reference{padding:0 7vw 45px}
 #dancers::before,#musicians::before,.everyone-section::before{background:linear-gradient(0deg,rgba(10,11,10,.9),rgba(10,11,10,.6) 55%,rgba(10,11,10,.7))}
 .detail-page.musician-page .detail-hero{background-position:58% center}
}


/* Clear, cache-safe SUJO brand mark and requested biography additions. */
.wordmark{display:inline-flex;align-items:center;justify-self:start}
.wordmark img{width:76px;height:64px;filter:none;opacity:1;object-fit:contain;object-position:left center}
.header{padding-top:7px;padding-bottom:7px}
.person-bio{line-height:1.65}
.musician-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.musician-page .detail-contact{background-image:url("assets/violin-recital-bw.jpg")}
@media(max-width:590px){
 .header{padding-top:5px;padding-bottom:5px}
 .wordmark img{width:64px;height:54px}
 .musician-gallery{grid-template-columns:1fr}
 .musician-founder .biography-copy{margin-top:35px}
}


/* Editorial client stories, continuing the full-bleed SUJO chapter system. */
.testimonials{background:url("assets/sujo-movement.jpg") center 42%/cover no-repeat;isolation:isolate;overflow:hidden;padding:9vw 7vw 6vw;position:relative}
.testimonials::before{background:linear-gradient(90deg,rgba(10,11,10,.95) 0%,rgba(10,11,10,.86) 62%,rgba(10,11,10,.72) 100%);content:"";inset:0;position:absolute;z-index:-1}
.testimonials>*{position:relative;z-index:1}
.testimonials-heading{display:grid;grid-template-columns:1fr 2fr}
.testimonials-heading h2{font-family:var(--serif);font-size:clamp(57px,6.3vw,100px);font-weight:400;letter-spacing:-.04em;line-height:.9;margin:0}
.testimonials-intro{font-family:var(--serif);font-size:clamp(31px,3.6vw,52px);letter-spacing:-.02em;line-height:1.03;margin:8vw 0 6vw 33.333%;max-width:720px}
.testimonial-stream{background:rgba(11,12,11,.74);border-top:1px solid var(--line)}
.testimonial{border-bottom:1px solid var(--line);display:grid;gap:5vw;grid-template-areas:"meta quote";grid-template-columns:minmax(170px,.7fr) minmax(0,2fr);margin:0;padding:5vw 2.5vw}
.testimonial blockquote{grid-area:quote;margin:0;max-width:850px;position:relative}
.testimonial blockquote p{font-family:var(--serif);font-size:clamp(22px,2.05vw,31px);letter-spacing:-.012em;line-height:1.28;margin:0}
.testimonial blockquote p+p{margin-top:1em}
.testimonial figcaption{align-self:start;grid-area:meta;padding-top:8px}
.testimonial figcaption strong{display:block;font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-.02em;line-height:1.05}
.testimonial figcaption span{color:#ffad9e;display:block;font:9px var(--mono);letter-spacing:.08em;margin-top:10px;text-transform:uppercase}
.testimonial-featured{background:transparent}
.testimonial-short blockquote{max-width:850px}
.testimonial-short blockquote p{font-size:clamp(22px,2.05vw,31px);line-height:1.28}
.testimonials-note{color:rgba(244,240,232,.68);font:9px/1.6 var(--mono);letter-spacing:.04em;margin:24px 0 0 33.333%;max-width:620px;text-transform:uppercase}
@media(max-width:900px){
 .testimonials-heading{grid-template-columns:1fr 1.4fr}
 .testimonials-intro{margin-left:0}
 .testimonial{gap:4vw;grid-template-columns:minmax(145px,.6fr) minmax(0,1.7fr);padding:5vw 2.5vw}
 .testimonials-note{margin-left:0}
}
@media(max-width:590px){
 .testimonials{padding:19vw 7vw 12vw}
 .testimonials-heading{display:block}
 .testimonials-heading .index{margin-bottom:18px}
 .testimonials-intro{font-size:37px;margin:21vw 0 15vw}
 .testimonial{display:grid;gap:0;grid-template-areas:"meta" "quote";grid-template-columns:1fr;padding:14vw 3vw}
 .testimonial figcaption{border-left:2px solid var(--coral);margin-bottom:28px;padding:0 0 0 14px}
 .testimonial figcaption strong{font-size:30px}
 .testimonial blockquote p{font-size:24px;line-height:1.31}
 .testimonial-short blockquote p{font-size:24px;line-height:1.31}
 .testimonials-note{margin-top:24px}
}


/* Hannah portrait: matched monochrome treatment and tonal range. */
.portrait-hannah{background-color:#777;background-image:url("assets/hannah-wilcox-portrait-bw.jpg");background-position:center 28%;background-size:cover;display:block}
