/* Sound Theory — native adaptation of approved Paper12/13/14 refinement.
   Scoped identity; no artist-page selectors or shared audio/media instances. */
@font-face{font-family:"ST Radley";src:url("/media/sound-theory/Radley-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"ST Instrument Serif";src:url("/media/sound-theory/InstrumentSerif-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
html,.st-themed,.st-portal{--st-mood-bg:#F7D65B;--st-mood-ink:#20201D;--st-cover-bg:#F7D65B;--st-cover-ink:#20201D}
html[data-st-mood="sunrise"],html[data-st-mood="sunrise"] .st-themed,html[data-st-mood="sunrise"] .st-portal{--st-mood-bg:#F7EBD1;--st-mood-ink:#20201D;--st-cover-bg:#F7EBD1;--st-cover-ink:#20201D}
html[data-st-mood="noon"],html[data-st-mood="noon"] .st-themed,html[data-st-mood="noon"] .st-portal{--st-mood-bg:#F7D65B;--st-mood-ink:#20201D;--st-cover-bg:#F7D65B;--st-cover-ink:#20201D}
html[data-st-mood="sunset"],html[data-st-mood="sunset"] .st-themed,html[data-st-mood="sunset"] .st-portal{--st-mood-bg:#AC4825;--st-mood-ink:#FAF8F0;--st-cover-bg:#AC4825;--st-cover-ink:#FAF8F0}
html[data-st-mood="night"],html[data-st-mood="night"] .st-themed,html[data-st-mood="night"] .st-portal{--st-mood-bg:#1D1F1E;--st-mood-ink:#FAF8F0;--st-cover-bg:#343A36;--st-cover-ink:#FAF8F0}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)),.st-portal{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased;color:#20201D;font-size:16px;line-height:1.5;overflow-wrap:break-word}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)){background:#FFFDF7;--st-gutter:max(5vw,calc((100vw - 1440px)/2))}
html[data-page^="sound-theory"]{scroll-padding-bottom:158px}
/* Color the browser canvas exposed by native rubber-band scrolling; keep bounce enabled. */
html[data-page^="sound-theory"],html[data-page^="sound-theory"] body:not(.is-page-transitioning){background-color:var(--st-mood-bg);transition:background-color .25s ease}
/* Preserve the black stage between the independently moving page cards. */
html[data-page^="sound-theory"]:has(body.is-page-transitioning){background-color:#000;transition:none}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) *,:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) *::before,:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) *::after,.st-portal,.st-portal *,.st-portal *::before,.st-portal *::after{box-sizing:border-box}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) :where(h1,h2,h3,p,figure,ol),.st-portal :where(h1,h2,h3,p){margin:0;font-weight:400}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) a,.st-portal a{color:inherit;text-decoration:none}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) button,.st-portal button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) :where(a,button,summary):focus-visible,.st-portal :where(a,button):focus-visible{outline:2px solid currentColor;outline-offset:4px}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) :where(a,button):hover,.st-portal :where(a,button):hover{text-decoration:underline;text-underline-offset:4px}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) :where(h1,h2)[tabindex="-1"]:focus{outline:none}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) [id]{scroll-margin-top:96px}
.st-portal[data-st-portal][hidden]{display:none!important}
.st-portal:not([open]):is(dialog){display:none}
/* The header spacer moves with the document during bounce, unlike the fixed header. */
.st-content{--st-header-space:72px;padding-top:var(--st-header-space);background:#FFFDF7;box-shadow:inset 0 var(--st-header-space) 0 var(--st-mood-bg);transition:box-shadow .25s ease}
.st-section{padding-inline:var(--st-gutter);width:100%}
.st-heading{font-family:"ST Radley",Georgia,serif;font-size:48px;line-height:48px;letter-spacing:normal}
.st-heading-group{display:flex;flex-direction:column;gap:32px;min-width:0}
.st-kicker{display:flex;align-items:center;gap:12px;font-size:16px;line-height:20px;letter-spacing:.2em}
.st-kicker>span{width:10px;height:10px;flex:none;border-radius:50%;background:var(--st-mood-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--st-mood-ink) 40%,transparent);transition:background-color .25s ease,box-shadow .25s ease}
.st-link{font-size:14px;line-height:22px}
.st-header{position:fixed;left:0;top:0;width:100%;height:72px;z-index:40;padding:16px max(5vw,calc((100vw - 1440px)/2));background:var(--st-mood-bg);color:var(--st-mood-ink);display:flex;align-items:center;justify-content:space-between;transition:background-color .25s ease,color .25s ease}
.st-brand{display:flex;align-items:baseline;gap:16px}
.st-wordmark{font-size:20px;line-height:26px;letter-spacing:.08em;white-space:nowrap}
.st-byline{font-size:13px;line-height:20px;white-space:nowrap}
.st-header-nav{display:flex;gap:36px;align-items:center}
.st-header-nav a{display:flex;align-items:center;min-height:44px;font-size:15px;line-height:22px}
.st-talk-link{position:relative}
.st-talk-link::after{content:"";position:absolute;bottom:6px;left:0;right:0;height:1px;background:currentColor}
.st-icon-button{background:none;border:0;padding:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none}
.st-menu-toggle{display:none}
.st-hero{min-height:550px;height:calc(85vh - 72px);padding:0 var(--st-gutter) 72px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:16px;background:var(--st-mood-bg);color:var(--st-mood-ink);transition:background-color .25s ease,color .25s ease}
.st-hero-copy{display:flex;flex-direction:column;gap:16px;min-width:0;padding-right:16px}
#st-title{font-size:56px;line-height:67.2px;letter-spacing:normal;font-weight:400}
.st-hero-copy>p{font-size:18px;line-height:27px;max-width:405.333px}
.st-hero-offer{display:flex;flex-direction:column;gap:12px}
.st-hero-services{font-size:28px;line-height:34px}
.st-hero-byline{font-size:16px;line-height:24px}
.st-hero-art{min-width:0;padding-left:19px;display:flex;align-items:center}
.st-circles{display:block;width:260px;max-width:100%;height:auto}
.st-listening{display:flex;flex-direction:column;gap:16px;min-width:0}
.st-listening-intro>p{font-size:16px;line-height:24px;text-align:center}
.st-mobile-circles,.st-mobile-break{display:none}
.st-player{border:1px solid currentColor;border-radius:20px;overflow:hidden;width:100%}
.st-moods{display:flex;align-items:center;justify-content:space-between;padding:28px 20px 24px;gap:4px}
.st-mood{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:47px;width:76px;padding:0;background:transparent;border:0;font-size:16px!important;line-height:20px!important}
.st-mood-circle{display:block;width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;flex:none}
.st-mood[aria-pressed="true"] .st-mood-circle{background:currentColor}
.st-track{display:flex;align-items:center;gap:16px;height:100px;padding:18px;background:#252522;color:#FAF8F0}
.st-cover{display:grid;place-items:center;width:60px;height:60px;flex:none;border:0;border-radius:7px;padding:0;background:var(--st-cover-bg);color:var(--st-cover-ink)!important}
.st-cover-ring{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:30px;height:30px}
.st-track-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.st-track-title{font-size:16px;line-height:20px}
.st-track-status{font-size:12px;line-height:18px;color:#D0CEC6}
.st-image-placeholder{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center;padding:24px;background:#E9E5D9;color:#626358;border:1px solid #C8C8BE}
.st-placeholder-title{font-family:"ST Radley",Georgia,serif;font-size:28px;line-height:34px}
.st-placeholder-note{font-size:14px;line-height:20px}
.st-venue-mobile{display:none}
.st-experience{display:flex;flex-direction:column;gap:64px;padding-block:112px}
.st-section-intro{display:grid;grid-template-columns:736fr 464fr;align-items:end;gap:96px}
.st-section-aside{font-size:18px;line-height:27px;min-width:0}
.st-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start}
.st-case{min-width:0;display:flex;flex-direction:column;gap:24px}
.st-case .st-image-placeholder{aspect-ratio:3/2}
.st-case-heading{display:flex;flex-direction:column;gap:8px}
.st-case-heading h3{font-family:"ST Radley",Georgia,serif;font-size:28px;line-height:34px}
.st-case-context{font-size:14px;line-height:20px;color:#626358}
.st-case-body{font-size:17px;line-height:26px;max-width:560px}
.st-services{display:flex;flex-direction:column;gap:48px;padding-bottom:112px;width:100%}
.st-service-list{border-bottom:1px solid #C8C8BE}
.st-service{border-top:1px solid #C8C8BE}
.st-service summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:79px;padding:16px var(--st-gutter);cursor:pointer;touch-action:manipulation}
.st-service summary::-webkit-details-marker{display:none}
.st-service summary::marker{content:""}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) .st-service summary:focus-visible{outline-offset:-5px}
.st-service summary h3{font-family:"ST Radley",Georgia,serif;font-size:24px;line-height:36px}
.st-service-plus{display:grid;place-items:center;flex:none;width:20px;height:24px;font-size:24px;line-height:24px;font-weight:300}
.st-service[open]>summary{background:#20201D;color:#FFFDF7}
.st-service[open] .st-service-plus{transform:rotate(45deg)}
.st-service-body{padding:28px var(--st-gutter);display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.st-service-body>p{max-width:640px;font-size:16px;line-height:27px}
.st-service-body>a{font-size:14px;line-height:22px;letter-spacing:.03em;text-decoration:underline!important;text-underline-offset:4px}
.st-approach{display:grid;grid-template-columns:520fr 680fr;column-gap:96px;row-gap:32px;align-items:start;padding-bottom:112px}
.st-approach-heading{grid-column:2;grid-row:1}
.st-approach-intro{font-size:18px;line-height:27px}
.st-handbook{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;gap:16px;padding-top:96px;min-width:0}
.st-handbook .st-image-placeholder{aspect-ratio:520/368}
.st-handbook figcaption{font-size:14px;line-height:20px;color:#626358}
.st-steps{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:24px;list-style:none;padding:0;min-width:0}
.st-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:28px;border-top:1px solid #C8C8BE;padding-top:20px}
.st-number{font-size:13px;line-height:30px;color:#626358}
.st-step>div{display:flex;flex-direction:column;gap:8px}
.st-step h3{font-family:"ST Radley",Georgia,serif;font-size:24px;line-height:30px}
.st-step p{font-size:16px;line-height:24px}
.st-performance-credits{display:flex;flex-direction:column;gap:32px;padding-bottom:112px}
#st-further-title{font-family:"ST Radley",Georgia,serif;font-size:32px;line-height:38px}
.st-further-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:96px}
.st-further-notes article{border-top:1px solid #C8C8BE;padding-top:20px;display:flex;flex-direction:column;gap:12px}
.st-further-notes h3{font-size:18px;line-height:26px}
.st-further-notes p{font-size:16px;line-height:24px;color:#626358}
.st-performance-label{font-size:14px;line-height:20px;color:#626358}
.st-logos{display:flex;align-items:center;justify-content:space-between;gap:24px;border-block:1px solid #C8C8BE;padding-block:16px;min-height:112px}
.st-logos img{display:block;width:13.580247%;max-width:176px;height:59px;object-fit:contain;min-width:0}
.st-research{display:flex;flex-direction:column;gap:48px;padding-bottom:112px}
.st-research .st-section-intro{grid-template-columns:repeat(2,minmax(0,1fr))}
.st-research .st-section-aside{color:#626358}
.st-finding,.st-literature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:96px;align-items:center}
.st-finding{padding-block:36px;border-block:1px solid #C8C8BE}
.st-metric{display:flex;flex-direction:column;gap:12px;min-width:0}
.st-metric>p{font-family:"ST Instrument Serif",Georgia,serif;font-size:112px;line-height:112px}
.st-metric>span{font-size:14px;line-height:20px;color:#626358}
.st-finding-copy{display:flex;flex-direction:column;gap:14px;min-width:0}
.st-finding-copy h3,.st-literature>h3{font-family:"ST Radley",Georgia,serif;font-size:26px;line-height:32px}
.st-finding-copy>p{font-size:16px;line-height:24px}
.st-finding-copy>.st-citation{font-size:13px;line-height:20px;color:#626358}
.st-citation a{text-decoration:underline!important;text-underline-offset:3px}
.st-literature{align-items:start}
.st-contact{display:grid;grid-template-columns:minmax(0,56.790123%) minmax(0,28.395062%);justify-content:space-between;gap:0;align-items:center;padding-top:72px;padding-bottom:96px;border-top:1px solid #C8C8BE}
#st-contact-title{font-size:40px;line-height:44px;letter-spacing:normal}
.st-inquiry-action{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.st-contact-button{display:flex;width:294px;max-width:100%;align-items:center;justify-content:center;min-height:72px;padding:24px;background:#20201D;color:#FFFDF7!important;font-size:20px;line-height:24px}
.st-email{font-size:16px;line-height:24px}
.st-footer{display:flex;flex-direction:column;gap:48px;padding-top:56px;padding-bottom:158px;background:var(--st-mood-bg);color:var(--st-mood-ink);transition:background-color .25s ease,color .25s ease}
.st-footer-main{display:flex;gap:48px;justify-content:space-between;align-items:flex-start}
.st-footer-brand{display:flex;flex-direction:column;gap:16px;min-width:0}
.st-footer-brand .st-wordmark{font-size:24px;line-height:30px;letter-spacing:.06em}
.st-footer-brand p{font-size:16px;line-height:24px}
.st-footer-nav{display:flex;gap:48px}
.st-footer-nav a{font-size:16px;line-height:24px;min-height:44px;display:flex;align-items:center}
.st-colophon{display:flex;align-items:center;justify-content:space-between;font-size:14px;line-height:20px;border-top:1px solid color-mix(in srgb,currentColor 35%,transparent);padding-top:24px;transition:border-color .25s ease}
.st-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}
.st-floating{position:fixed;bottom:24px;right:24px;z-index:45;width:632px;height:110px;display:flex;align-items:center;gap:20px;padding:16px 20px;border:1px solid #D0CEC6;border-radius:18px;background:#252522;color:#FAF8F0;box-shadow:0 8px 24px #00000020}
/* Mood-colored selector wing; existing dock size, spacing and dark playback area are retained. */
.st-floating::before{content:"";position:absolute;inset:0 auto 0 0;width:300px;border-radius:17px 0 0 17px;background:var(--st-mood-bg);pointer-events:none;transition:background-color .25s ease}
.st-floating .st-moods{position:relative;z-index:1;width:260px;flex:none;padding:0;gap:12px;color:var(--st-mood-ink);transition:color .25s ease}
.st-floating .st-track{position:relative;z-index:1}
.st-hero-footnote{transition:background-color .25s ease,color .25s ease}
.st-floating .st-mood{width:56px;gap:9px;font-size:14px!important;line-height:20px!important}.st-floating .st-mood-circle{width:17px;height:17px}
.st-floating .st-track{width:292px;height:70px;flex:none;gap:12px;border-left:1px solid #8D8D85;padding:0 0 0 18px}
.st-floating .st-cover{width:52px;height:52px;border-radius:6px}
.st-floating .st-cover-ring{width:28px;height:28px}
.st-floating .st-track-copy{gap:6px}
.st-floating .st-track-title{font-size:13px;line-height:18px}
.st-floating .st-track-status{font-size:11px;line-height:16px}
.st-mobile-dock{display:none;transition:background-color .25s ease}
.st-mobile-dock[data-over-footer="true"]{background:var(--st-mood-bg)}
.st-listen-panel{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;min-height:338px;max-height:calc(100dvh - 24px);padding:20px 20px max(34px,env(safe-area-inset-bottom));border:0;border-radius:20px 20px 0 0;background:#252522;color:#FAF8F0;overflow-y:auto;z-index:60}
.st-listen-panel[open]{display:flex;flex-direction:column;gap:18px}
.st-listen-panel::backdrop{background:#00000055}
.st-panel-heading{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:12px}
.st-panel-heading h2{font-size:22px;line-height:28px}
.st-listen-panel .st-player{border-color:#77796F;border-radius:14px}
.st-listen-panel .st-moods{padding:24px 12px 20px;background:var(--st-mood-bg);color:var(--st-mood-ink);transition:background-color .25s ease,color .25s ease}
.st-listen-panel .st-track{padding:16px;gap:12px}
.st-menu{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#1D1F1E;color:#FAF8F0;overflow-y:auto;z-index:60}
.st-menu[open]{display:flex;flex-direction:column}
.st-menu::backdrop{background:#1D1F1E}
.st-menu-header{height:80px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:20px 24px}
.st-menu .st-brand{flex-direction:column;align-items:flex-start;gap:5px}
.st-menu .st-wordmark{font-size:20px;line-height:24px;letter-spacing:.06em}
.st-menu .st-byline{font-size:11px;line-height:15px}
.st-menu-body{display:flex;flex-direction:column;flex:1;justify-content:space-between;gap:36px;padding:36px 24px max(32px,env(safe-area-inset-bottom))}
.st-menu-links{display:flex;flex-direction:column}
.st-menu-links a{display:block;padding-block:17px;border-bottom:1px solid #4F504A;font-size:30px;line-height:38px;letter-spacing:-.02em}
.st-menu-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:24px;font-size:15px;line-height:24px}
.st-menu-return{font-size:16px}
@media(min-width:901px) and (max-width:1100px){
 .st-hero{grid-template-columns:1fr .8fr 1.15fr}#st-title{font-size:44px;line-height:52.8px}.st-hero-copy>p{font-size:16px;line-height:24px}.st-hero-art{padding-left:0}
 .st-hero .st-moods{padding-inline:10px}.st-hero .st-track{padding:14px;gap:12px}.st-hero .st-track-title{font-size:14px}.st-hero .st-track-status{font-size:11px}.st-hero .st-mood{font-size:14px!important}
 .st-section-intro,.st-approach,.st-further-notes,.st-finding,.st-literature,.st-contact{column-gap:48px}.st-section-intro{grid-template-columns:1.4fr 1fr}.st-heading{font-size:42px;line-height:44px}.st-contact{grid-template-columns:1.4fr 1fr}.st-footer-nav{gap:24px}
}
@media(max-width:900px){
 html[data-page^="sound-theory"]{scroll-padding-bottom:100px}
 :is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)){--st-gutter:24px}.st-content{--st-header-space:80px}
 :is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) [id]{scroll-margin-top:104px}
 .st-header{height:80px;padding:18px 24px}.st-brand{flex-direction:column;align-items:flex-start;gap:5px}
 .st-wordmark{font-size:20px;line-height:24px;letter-spacing:.06em}.st-byline{font-size:11px;line-height:15px}
 .st-header-nav{display:none}.st-menu-toggle{display:flex}
 .st-hero{display:flex;flex-direction:column;align-items:stretch;gap:28px;height:auto;min-height:0;padding:24px 24px 48px}
 .st-hero-copy{gap:28px;padding:0}#st-title{font-size:40px;line-height:48px}
 .st-hero-copy>p{font-size:16px;line-height:24px;max-width:none}
 .st-hero-services{font-size:24px;line-height:30px}.st-hero-offer{gap:10px}
 .st-desktop-break{display:none}.st-hero-art{display:none}.st-listening{gap:28px}
 .st-listening-intro{display:flex;align-items:center;gap:24px}.st-mobile-circles{display:block;flex:none;width:80px;height:80px}.st-mobile-break{display:block}
 .st-listening-intro>p{font-size:16px;line-height:24px;text-align:left}
 .st-moods{padding:24px 12px 20px;gap:4px}.st-mood{flex:1;font-size:16px!important}.st-mood-circle{width:17px;height:17px}.st-mood[aria-pressed="true"]>span:last-child{text-decoration:underline;text-underline-offset:4px}
 .st-track{padding:16px;gap:12px}.st-track-title{font-size:16px;line-height:20px}
 .st-heading{font-size:34px;line-height:38px}.st-heading-group{gap:20px}
 .st-kicker{font-size:12px;line-height:18px;letter-spacing:.1em}.st-kicker>span{display:none}
 .st-experience{gap:32px;padding-block:64px}.st-section-intro{display:flex;flex-direction:column;align-items:stretch;gap:32px}
 .st-section-aside{font-size:16px;line-height:24px}
 .st-cases{display:flex;flex-direction:column;gap:32px}.st-case{width:100%;gap:20px}.st-case-heading h3{font-size:26px;line-height:30px}
 .st-case-heading{gap:8px}.st-case-context{font-size:14px;line-height:22px}.st-case[data-st-project="pink-agave"]{padding-top:12px}.st-case-body{font-size:16px;line-height:24px;max-width:none}
 .st-case .st-placeholder-title{font:14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif}.st-case .st-image-placeholder{gap:8px;background:#F0EFE8}
 .st-case .st-venue-desktop{display:none}.st-venue-mobile{display:block;font-size:14px;line-height:22px}
 .st-services{padding:56px 24px 64px;gap:32px}.st-services>.st-section{padding-inline:0}
 .st-service summary{min-height:71px;padding:18px 0;gap:16px}.st-service summary h3{font-size:18px;line-height:27px}.st-service[open]>summary{padding-inline:12px}
 .st-service-body{padding:24px 0;gap:20px}.st-service-body>p{line-height:24px}
 .st-approach{display:flex;flex-direction:column;gap:32px;padding-top:56px;padding-bottom:64px}
 .st-approach-heading{gap:20px}.st-approach-intro{font-size:16px;line-height:24px;margin-top:12px!important}
 .st-handbook{padding:0;width:100%;gap:16px}.st-handbook .st-image-placeholder{aspect-ratio:342/242;background:#F0EFE8}.st-handbook .st-placeholder-title{font:16px/24px "Helvetica Neue",Helvetica,Arial,sans-serif;color:#20201D}
 .st-handbook .st-placeholder-note{font-size:13px;line-height:20px}.st-handbook figcaption{display:none}
 .st-steps{width:100%;gap:28px}.st-step{grid-template-columns:24px minmax(0,1fr);gap:16px;padding-top:20px}.st-step h3{font-size:24px;line-height:30px}.st-step p{font-size:16px;line-height:24px}
 .st-performance-credits{padding-top:40px;padding-bottom:56px;gap:28px}
 #st-further-title{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;line-height:18px;letter-spacing:.16em;text-transform:uppercase}
 .st-further-notes{display:flex;flex-direction:column;gap:28px}.st-further-notes article{padding-top:16px;gap:8px}.st-further-notes h3{font-family:"ST Radley",Georgia,serif;font-size:24px;line-height:30px}.st-further-notes p{font-size:14px;line-height:22px}
 .st-performance-label{padding-top:18px;font-size:14px;line-height:20px}
 .st-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 27px;padding-block:24px;min-height:154px}.st-logos img{width:100%;height:40px}
 .st-research{padding-top:56px;padding-bottom:64px;gap:32px}
 .st-finding{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding-top:24px;padding-bottom:0;border-bottom:0}
 .st-finding .st-metric,.st-finding .st-finding-copy{display:contents}
 .st-metric>p{font-size:80px;line-height:88px;order:0}.st-finding-copy h3{order:1}.st-finding-copy>p:not(.st-citation){order:2}.st-metric>span{order:3;font-size:14px;line-height:22px}.st-finding-copy>.st-citation{order:4}
 .st-finding-copy{gap:20px}.st-finding-copy h3{font-size:26px;line-height:30px}.st-literature>h3{font-size:24px;line-height:30px}
 .st-finding-copy>p{font-size:16px;line-height:24px}.st-finding-copy>.st-citation{font-size:14px;line-height:22px}
 .st-literature{display:flex;flex-direction:column;gap:16px;padding-top:24px;border-top:1px solid #C8C8BE}.st-literature .st-finding-copy{gap:16px}
 .st-contact{display:flex;flex-direction:column;align-items:stretch;padding-top:56px;padding-bottom:64px;gap:28px;border-top:0}
 #st-contact-title{font-size:40px;line-height:44px}.st-inquiry-action{align-items:stretch;gap:28px}.st-contact-button{width:100%}
 .st-footer{gap:28px;padding-top:40px;padding-bottom:120px}.st-footer-main{flex-direction:column;gap:28px;align-items:stretch}.st-footer-brand{gap:28px}.st-footer-brand p{font-size:16px;line-height:24px}
 .st-footer-nav{justify-content:space-between;gap:12px}.st-footer-nav a{font-size:14px;line-height:22px}.st-colophon{padding-top:16px}.st-colophon p{display:none}
 .st-floating{display:none}
 .st-mobile-dock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:45;height:calc(88px + env(safe-area-inset-bottom));background:#FFFDF7}
 .st-listen-open{position:absolute;right:16px;bottom:calc(24px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;width:184px;height:56px;padding:12px 18px;border:1px solid var(--st-mood-ink);border-radius:16px;background:var(--st-mood-bg);color:var(--st-mood-ink)!important;box-shadow:0 6px 18px #00000020;font-size:15px!important;line-height:22px!important;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
 .st-listen-panel .st-track-title{font-size:15px}
}
@media(min-width:601px) and (max-width:900px){:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)){--st-gutter:5vw}.st-hero{padding-inline:5%}.st-listening{max-width:500px}.st-services{padding-inline:5%}.st-logos img{justify-self:center;max-width:140px}.st-handbook{max-width:520px}}
@media(max-width:359px){.st-listening-intro{gap:16px}.st-listening-intro>p{font-size:14px;line-height:21px}.st-moods{padding-inline:8px}.st-mood{font-size:14px!important}.st-track{padding:14px 12px;gap:10px}.st-track-title{font-size:14px}.st-track-status{font-size:11px;line-height:16px}.st-panel-heading h2{font-size:20px}.st-listen-panel .st-track{padding-inline:12px}.st-listen-panel .st-track-title{font-size:14px}.st-menu-links a{font-size:28px}.st-contact-button{font-size:18px}.st-footer-nav{gap:8px}}
@media(prefers-reduced-motion:reduce){.st-content,html[data-page^="sound-theory"],html[data-page^="sound-theory"] body,.st-mobile-dock,.st-footer,.st-colophon,.st-header,.st-hero,.st-kicker>span,.st-floating::before,.st-floating .st-moods,.st-listen-panel .st-moods,.st-listen-open{transition:none}:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) *,.st-portal *{scroll-behavior:auto!important}}

/* Approved Paper20/21 composition + integrated project story. */
.st-hero{height:693px;min-height:0}.st-offer figure{display:flex;flex-direction:column;gap:10px}.st-offer img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.st-offer figcaption{font-size:13px;line-height:20px;color:#626358}.st-offer .st-case-heading h3{font-size:34px;line-height:40px}.st-offer .st-case-heading{gap:8px}.st-offer .st-case-body{font-size:18px;line-height:27px}.st-text-link{text-decoration:underline!important;text-underline-offset:5px;align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font-size:16px;line-height:24px}
.st-selected-work{padding-block:0 96px;display:flex;flex-direction:column;gap:48px}.st-event-teaser{display:grid;grid-template-columns:400px minmax(0,1fr);gap:96px;align-items:center}.st-event-teaser img,.st-project-layout img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}.st-event-copy{max-width:640px;display:flex;flex-direction:column;gap:28px}.st-project-label{font-size:12px;line-height:18px;letter-spacing:.08em}.st-event-copy h3{font-family:"ST Radley",Georgia,serif;font-size:48px;line-height:52px}.st-event-copy>p:not(.st-project-label){font-size:18px;line-height:28px;max-width:540px}
.st-performance-credits{padding-block:64px 72px;background:#F0EFE8}.st-hospitality{display:flex;flex-direction:column;gap:28px;padding-top:32px;border-top:1px solid #C8C8BE}.st-hospitality .st-kicker{font-size:13px;letter-spacing:.12em;color:#626358}.st-hospitality .st-case{gap:16px}.st-approach{padding-block:80px;grid-template-columns:520fr 680fr;align-items:start}.st-approach-heading{grid-column:1;grid-row:1}.st-steps{grid-column:2;grid-row:1;padding-top:52px}.st-research{padding-block:64px;gap:32px;border-top:1px solid #C8C8BE}.st-research .st-heading{font-size:36px;line-height:40px}.st-research .st-metric>p{font-size:80px;line-height:88px}.st-finding{padding-block:24px}.st-contact{padding-block:72px 80px}
.st-project-hero{padding-block:36px 80px}.st-project-back{margin-bottom:40px}.st-project-layout{display:grid;grid-template-columns:minmax(0,1fr) 432px;gap:96px;align-items:center}.st-project-intro{display:flex;flex-direction:column;gap:28px;max-width:660px}.st-project-intro h1{font-family:"ST Radley",Georgia,serif;font-size:56px;line-height:60px}.st-project-intro>p:not(.st-project-label){font-size:20px;line-height:30px;max-width:570px}.st-project-role{display:flex;flex-direction:column;gap:12px;border-top:1px solid #C8C8BE;padding-top:24px}.st-project-story{padding-block:64px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:96px;background:#F0EFE8}.st-project-story article{display:flex;flex-direction:column;gap:24px;max-width:560px}.st-project-story h2,.st-project-contact h2{font-family:"ST Radley",Georgia,serif;font-size:36px;line-height:42px}.st-project-story article>p:last-child{font-size:18px;line-height:28px}.st-project-contact{padding-block:72px;display:flex;align-items:center;justify-content:space-between;gap:32px}.st-track-title{overflow-wrap:anywhere}.st-floating .st-track-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.st-track-copy{flex:1}
@media(min-width:901px) and (max-width:1150px){.st-event-teaser{grid-template-columns:34% 1fr;gap:48px}.st-project-layout{grid-template-columns:1fr 36%;gap:48px}.st-project-intro h1{font-size:44px;line-height:48px}.st-event-copy h3{font-size:42px;line-height:46px}.st-header-nav{gap:24px}}
@media(max-width:900px){
.st-hero{height:auto;padding:48px 24px 56px;gap:24px;align-items:center}.st-hero-copy{gap:24px;align-items:center;text-align:center;width:100%}.st-hero-copy>p{max-width:330px}.st-listening{gap:24px;width:100%;max-width:500px}.st-listening-intro{flex-direction:column;gap:40px;padding-top:16px}.st-mobile-circles{width:224px;height:224px}.st-listening-intro>p{text-align:center}.st-hero-art{display:none}.st-experience{padding-block:64px}.st-offer .st-case-heading h3{font-size:30px;line-height:36px}.st-offer .st-case-body{font-size:16px;line-height:24px}.st-offer figcaption{font-size:12px;line-height:18px}.st-offer .st-text-link{margin-top:-8px}
.st-selected-work{padding-block:0 64px;gap:32px}.st-event-teaser{display:flex;flex-direction:column;gap:28px;align-items:stretch}.st-event-teaser figure{max-width:400px;width:100%;align-self:center}.st-event-copy{gap:24px}.st-event-copy h3{font-size:36px;line-height:40px}.st-event-copy>p:not(.st-project-label){font-size:16px;line-height:24px}.st-performance-credits{padding-block:48px 56px}.st-hospitality{padding-top:24px;gap:24px}.st-approach{padding-block:64px;gap:32px}.st-steps{padding:0}.st-approach-intro{margin:12px 0 0!important}.st-research{padding-block:48px}.st-research .st-heading{font-size:32px;line-height:36px}.st-research .st-metric>p{font-size:64px;line-height:72px}.st-contact{padding-block:56px 64px}
.st-project-hero{padding-block:24px 56px}.st-project-back{margin-bottom:32px}.st-project-layout{display:flex;flex-direction:column;gap:32px;align-items:stretch}.st-project-intro{display:contents}.st-project-intro .st-project-label{order:0}.st-project-intro h1{font-size:36px;line-height:40px;order:1}.st-project-intro>p:not(.st-project-label){font-size:16px;line-height:24px;order:2}.st-project-layout>figure{order:3;width:100%;max-width:400px;align-self:center}.st-project-role{order:4;padding-top:0;border:0;gap:16px}.st-project-story{padding-block:48px;display:flex;flex-direction:column;gap:32px}.st-project-story article+article{padding-top:32px;border-top:1px solid #C8C8BE}.st-project-story h2,.st-project-contact h2{font-size:30px;line-height:36px}.st-project-story article>p:last-child{font-size:16px;line-height:24px}.st-project-contact{padding-block:56px;align-items:stretch;flex-direction:column;gap:20px}.st-project-contact .st-text-link{align-self:flex-start}
.st-menu-links a{padding-block:11px;font-size:28px;line-height:34px}.st-menu-body{padding-top:20px;gap:28px}
}
@media(min-width:601px) and (max-width:900px){.st-hero{padding-inline:5%}.st-project-layout{display:grid;grid-template-columns:1fr 38%;gap:32px}.st-project-intro{display:flex;gap:24px}.st-project-intro h1{font-size:34px;line-height:38px}.st-project-role{border-top:1px solid #C8C8BE;padding-top:20px}.st-project-story{display:grid;gap:36px}.st-project-story article+article{padding-top:0;border:0}.st-event-teaser{display:grid;grid-template-columns:38% 1fr;gap:36px}.st-event-copy h3{font-size:34px;line-height:38px}}
@media(max-width:359px){.st-hero{padding-inline:24px}.st-event-copy h3,.st-project-intro h1{font-size:32px;line-height:36px}.st-offer .st-case-heading h3{font-size:28px;line-height:34px}.st-footer-nav{flex-wrap:wrap}}

html[data-page^="sound-theory"] #study{display:none}html[data-page^="sound-theory"] .skip-link{background:#FFFDF7;color:#20201D}.st-seek-row{display:flex;align-items:center;gap:10px}.st-seek-row input{min-width:0;width:100%;height:20px;margin:0;accent-color:#FAF8F0;cursor:pointer}.st-seek-row span{font-size:11px;line-height:18px;white-space:nowrap}.st-seek-row input:focus-visible{outline:2px solid #FAF8F0;outline-offset:3px}.st-track:has(.st-seek-row){height:auto;min-height:112px}.st-listen-panel .st-track:has(.st-seek-row){min-height:112px}

/* Current approved Paper33/34: earlier proof, two open editorial services, About. */
.st-selected-work>.st-event-teaser{margin-top:0}.st-services{padding-top:64px}
.st-service[open]>summary{background:transparent;color:inherit}.st-service[open] .st-service-plus{transform:none;font-size:0}.st-service-plus::after{content:"+";font-size:24px;grid-area:1/1}.st-service[open] .st-service-plus::after{content:"−"}
.st-service-body{padding-top:12px;padding-bottom:32px;gap:24px}.st-service-body>h4{margin:0;max-width:820px;font-family:"ST Radley",Georgia,serif;font-size:30px;line-height:38px;font-weight:400}.st-service-body>p{max-width:820px;font-size:18px;line-height:26px}
.st-virgin-lead{font-family:"ST Radley",Georgia,serif;font-size:34px;line-height:40px}.st-hospitality .st-case-heading h3{font-size:26px;line-height:32px}.st-hospitality .st-case-body{font-size:17px;line-height:26px}
.st-about{display:grid;grid-template-columns:520fr 680fr;gap:96px;padding-block:80px}.st-about-body{padding-top:52px;display:flex;flex-direction:column;gap:24px;min-width:0}.st-about-body p{font-size:18px;line-height:27px}
.st-contact{display:flex;flex-direction:column;align-items:stretch;gap:24px}.st-contact #st-contact-title{font-family:"ST Radley",Georgia,serif;font-size:48px;line-height:52px}.st-contact>p:not(.st-kicker){font-size:18px;line-height:27px}.st-contact .st-cases article{display:flex;flex-direction:column;gap:12px;border-top:1px solid #C8C8BE;padding-top:24px}.st-contact .st-cases h3{font-family:"ST Radley",Georgia,serif;font-size:26px;line-height:32px}.st-contact .st-cases a{text-decoration:underline;text-underline-offset:5px}.st-contact .st-cases p{font-size:17px;line-height:26px}
@media(max-width:900px){.st-services{padding-top:56px}.st-service[open]>summary{padding-inline:0}.st-service-body>h4{font-size:28px;line-height:30px}.st-service-body>p{font-size:18px;line-height:26px}.st-service-body{padding-top:16px;padding-bottom:32px;gap:24px}.st-virgin-lead{font-size:30px;line-height:36px}.st-hospitality .st-cases{gap:28px}.st-about{display:flex;flex-direction:column;gap:32px;padding-block:56px}.st-about-body{padding-top:0;gap:32px}.st-contact #st-contact-title{font-size:36px;line-height:40px}.st-contact .st-cases{gap:32px}}

/* Bounded sticky-player presentation trial. Shared audio/controller untouched. */
#st-header{background-color:var(--st-header-preview,var(--st-mood-bg));transition:background-color 400ms ease,color .25s ease}
#st-floating{height:138px;padding-bottom:40px;transition:width 600ms cubic-bezier(.625,.05,0,1),height 600ms cubic-bezier(.625,.05,0,1),padding 600ms cubic-bezier(.625,.05,0,1),border-radius 600ms cubic-bezier(.625,.05,0,1)}
#st-floating .st-play-hint{position:absolute;left:20px;bottom:12px;width:260px;color:var(--st-mood-ink);font-size:11px;line-height:16px;text-align:center;white-space:nowrap}
#st-floating::before{width:300px;transition:width 600ms cubic-bezier(.625,.05,0,1),background-color .25s ease}
#st-floating.is-compact .st-play-hint,#st-listen-panel.is-compact .st-play-hint{display:none}
#st-floating.is-compact{height:110px;padding-bottom:16px}
#st-floating.is-compact:not(:hover):not(:focus-within){width:440px;height:64px;padding:10px 14px;gap:12px;border-radius:32px}
#st-floating.is-compact:not(:hover):not(:focus-within)::before{width:0}
#st-floating.is-compact:not(:hover):not(:focus-within) .st-track{order:0;width:auto;flex:1;min-width:0;height:44px;padding:0;border:0}
#st-floating.is-compact:not(:hover):not(:focus-within) .st-cover{width:40px;height:40px;border-radius:50%}
#st-floating.is-compact:not(:hover):not(:focus-within) .st-track-status{display:none}
#st-floating.is-compact:not(:hover):not(:focus-within) .st-track-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
#st-floating.is-compact:not(:hover):not(:focus-within) .st-moods{order:1;width:112px;gap:0;color:#FAF8F0}
#st-floating.is-compact:not(:hover):not(:focus-within) .st-mood{width:28px;min-height:44px;gap:0}
#st-floating.is-compact:not(:hover):not(:focus-within) .st-mood>span:last-child{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
#st-floating.is-compact:not(:hover):not(:focus-within) .st-mood-circle{width:12px;height:12px}
#st-listen-panel .st-play-hint{font-size:12px;line-height:18px;text-align:center}
@media(max-width:700px){
 #st-floating{display:flex;left:0;right:0;bottom:0;width:100%;height:calc(132px + env(safe-area-inset-bottom));padding:8px 16px calc(32px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;gap:16px}
 #st-floating::before{width:48%;border-radius:17px 0 0 0}
 #st-floating .st-moods{width:42%;gap:0}.st-floating .st-mood{font-size:11px!important;width:25%}
 #st-floating .st-track{width:calc(58% - 16px);padding-left:12px;gap:8px}.st-floating .st-cover{width:36px;height:36px}.st-floating .st-track-title{font-size:12px}
 #st-floating .st-play-hint{left:0;right:0;width:100%;bottom:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:#252522;color:#FAF8F0;font-size:11px}
 #st-floating.is-compact{height:calc(96px + env(safe-area-inset-bottom));padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
 #st-floating .st-cover,#st-floating.is-compact:not(:hover):not(:focus-within) .st-cover{width:44px;height:44px;flex-shrink:0}
 #st-floating.is-compact:not(:hover):not(:focus-within){width:100%;height:calc(64px + env(safe-area-inset-bottom));padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-radius:0;gap:10px}
 #st-floating.is-compact:not(:hover):not(:focus-within) .st-moods{width:112px}
}
@media(prefers-reduced-motion:reduce){#st-floating,#st-floating::before,#st-header{transition:none}}

/* Approved FIFA case story. All selectors scoped to this route's main element. */
:is(#st-project-page,#st-virgin-page) .st-fifa-opening{padding-block:48px 88px}
:is(#st-project-page,#st-virgin-page) .st-fifa-opening-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:64px;align-items:center;margin-top:56px}
:is(#st-project-page,#st-virgin-page) .st-fifa-intro{display:flex;flex-direction:column;gap:28px;min-width:0}
:is(#st-project-page,#st-virgin-page) .st-fifa-intro h1{font-family:"ST Radley",Georgia,serif;font-size:clamp(54px,5.6vw,88px);line-height:1.04;font-weight:400;margin:0;text-wrap:balance}
:is(#st-project-page,#st-virgin-page) .st-fifa-subtitle{font-size:24px;line-height:1.4;max-width:480px}
:is(#st-project-page,#st-virgin-page) .st-fifa-credit{font-size:14px;line-height:22px}
:is(#st-project-page,#st-virgin-page) .st-fifa-opening figure{margin:0;display:flex;justify-content:flex-end}
:is(#st-project-page,#st-virgin-page) .st-fifa-opening img{display:block;width:auto;max-width:100%;height:auto;max-height:80svh;object-fit:contain}
:is(#st-project-page,#st-virgin-page) .st-fifa-chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.15fr);gap:64px;padding-block:80px;border-top:1px solid #C8C8BE}
:is(#st-project-page,#st-virgin-page) .st-fifa-chapter>.st-project-label{padding-top:9px}
:is(#st-project-page,#st-virgin-page) .st-fifa-chapter-body{min-width:0;display:flex;flex-direction:column;gap:24px}
:is(#st-project-page,#st-virgin-page) .st-fifa-chapter h2{font-family:"ST Radley",Georgia,serif;font-size:44px;line-height:1.13;font-weight:400;max-width:720px;margin:0}
:is(#st-project-page,#st-virgin-page) .st-fifa-chapter-body>p{font-size:18px;line-height:28px;max-width:760px}
:is(#st-project-page,#st-virgin-page) .st-fifa-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 36px;margin-top:20px}
:is(#st-project-page,#st-virgin-page) .st-fifa-principles article{border-top:1px solid #C8C8BE;padding-top:24px;display:flex;flex-direction:column;gap:16px}
:is(#st-project-page,#st-virgin-page) .st-fifa-principles h3{font-family:"ST Radley",Georgia,serif;font-size:26px;line-height:32px;font-weight:400;margin:0}
:is(#st-project-page,#st-virgin-page) .st-fifa-principles p{font-size:17px;line-height:26px}
:is(#st-project-page,#st-virgin-page) .st-fifa-final figure{margin:24px 0 0;max-width:600px}
:is(#st-project-page,#st-virgin-page) .st-fifa-final img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:900px){
 :is(#st-project-page,#st-virgin-page) .st-fifa-opening-grid{gap:32px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-intro h1{font-size:52px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-chapter{grid-template-columns:minmax(0,1fr) minmax(0,2.15fr);gap:32px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-chapter h2{font-size:36px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-principles{grid-template-columns:1fr}
}
@media(max-width:600px){
 :is(#st-project-page,#st-virgin-page) .st-fifa-opening{padding-block:32px 56px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-opening-grid{grid-template-columns:1fr;gap:40px;margin-top:48px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-intro{gap:24px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-intro h1{font-size:clamp(44px,12.3vw,54px);line-height:1.06}
 :is(#st-project-page,#st-virgin-page) .st-fifa-subtitle{font-size:22px;line-height:30px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-opening img{width:100%;max-height:none}
 :is(#st-project-page,#st-virgin-page) .st-fifa-chapter{display:flex;flex-direction:column;gap:24px;padding-block:48px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-chapter>.st-project-label{padding-top:0}
 :is(#st-project-page,#st-virgin-page) .st-fifa-chapter h2{font-size:34px;line-height:39px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-chapter-body>p{font-size:17px;line-height:26px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-principles{gap:32px;margin-top:12px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-final figure{margin-top:12px}
}

/* Approved reference-mix fact row, inside FIFA guidance, not a fifth principle. */
:is(#st-project-page,#st-virgin-page) .st-fifa-reference{display:grid;grid-template-columns:1fr 1.7fr;gap:36px;border-top:1px solid #C8C8BE;padding-top:28px;margin-top:20px}
:is(#st-project-page,#st-virgin-page) .st-fifa-duration{font-family:"ST Radley",Georgia,serif;font-size:64px;line-height:1.05}
:is(#st-project-page,#st-virgin-page) .st-fifa-reference-label{font-size:14px;line-height:22px;margin-top:12px}
:is(#st-project-page,#st-virgin-page) .st-fifa-reference h3{font-family:"ST Radley",Georgia,serif;font-size:26px;line-height:32px;font-weight:400;margin:0 0 16px}
:is(#st-project-page,#st-virgin-page) .st-fifa-reference>div>p:not(.st-fifa-duration):not(.st-fifa-reference-label){font-size:17px;line-height:26px}
@media(max-width:600px){:is(#st-project-page,#st-virgin-page) .st-fifa-reference{grid-template-columns:1fr;gap:28px}:is(#st-project-page,#st-virgin-page) .st-fifa-duration{font-size:56px}}

/* Bounded FIFA editorial layout: case-only overrides. */
:is(#st-project-page,#st-virgin-page) .st-fifa-opening{padding-bottom:0}
:is(#st-project-page,#st-virgin-page) .st-fifa-opening-grid{display:block;max-width:1000px;margin-top:88px}
:is(#st-project-page,#st-virgin-page) .st-fifa-intro{max-width:1000px}
:is(#st-project-page,#st-virgin-page) .st-fifa-storymap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:80px;padding-top:28px;border-top:1px solid #C8C8BE}
:is(#st-project-page,#st-virgin-page) .st-fifa-storymap>div{display:flex;flex-direction:column;gap:12px}
:is(#st-project-page,#st-virgin-page) .st-fifa-map-number{font-size:14px;line-height:20px}
:is(#st-project-page,#st-virgin-page) .st-fifa-storymap h2{font-family:"ST Radley",Georgia,serif;font-size:18px;line-height:24px;font-weight:400;margin:0}
:is(#st-project-page,#st-virgin-page) .st-fifa-storymap>div>p:last-child{font-size:16px;line-height:24px;max-width:320px}
:is(#st-project-page,#st-virgin-page) .st-fifa-chapter{grid-template-columns:160px minmax(0,1fr);gap:48px;margin-top:160px;padding-block:0;border-top:0;overflow:visible}
:is(#st-project-page,#st-virgin-page) .st-fifa-marker{position:sticky;top:120px;align-self:start;display:flex;flex-direction:column;gap:12px}
:is(#st-project-page,#st-virgin-page) .st-fifa-marker-number{font-family:Arial,Helvetica,sans-serif;font-size:80px;line-height:1;font-weight:300}
:is(#st-project-page,#st-virgin-page) .st-fifa-marker .st-project-label{font-size:14px;line-height:22px;letter-spacing:.08em}
:is(#st-project-page,#st-virgin-page) .st-fifa-chapter h2{font-size:44px;line-height:1.13}
:is(#st-project-page,#st-virgin-page) .st-fifa-chapter-body>p{font-size:18px;line-height:28px}
:is(#st-project-page,#st-virgin-page) .st-fifa-chapter-body>h2+p{font-size:26px;line-height:1.35;max-width:760px}
:is(#st-project-page,#st-virgin-page) .st-fifa-brief{grid-template-columns:120px minmax(0,1fr) minmax(0,400px);gap:40px}
:is(#st-project-page,#st-virgin-page) .st-fifa-arrival{margin:0;min-width:0;align-self:start}
:is(#st-project-page,#st-virgin-page) .st-fifa-arrival img{display:block;width:100%;height:auto;object-fit:contain}
:is(#st-project-page,#st-virgin-page) .st-fifa-final figure{max-width:none;width:80%;margin-top:24px}
:is(#st-project-page,#st-virgin-page) .st-project-contact{padding-top:0;margin-top:120px}
@media(min-width:1600px){:is(#st-project-page,#st-virgin-page) .st-fifa-brief{grid-template-columns:140px minmax(0,1fr) minmax(0,480px)}}
@media(min-width:601px) and (max-width:1100px){:is(#st-project-page,#st-virgin-page) .st-fifa-brief{grid-template-columns:120px minmax(0,1fr)}:is(#st-project-page,#st-virgin-page) .st-fifa-arrival{grid-column:2;max-width:480px}}
@media(max-width:600px){
 :is(#st-project-page,#st-virgin-page) .st-fifa-opening-grid{margin-top:48px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-storymap{grid-template-columns:1fr;gap:28px;margin-top:48px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-chapter{display:flex;gap:28px;margin-top:96px;padding-block:0}
 :is(#st-project-page,#st-virgin-page) .st-fifa-marker{position:static;gap:8px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-marker-number{font-size:48px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-chapter h2{font-size:34px;line-height:39px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-chapter-body>p{font-size:18px;line-height:28px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-chapter-body>h2+p{font-size:22px;line-height:1.35}
 :is(#st-project-page,#st-virgin-page) .st-fifa-arrival{width:100%;margin-top:12px}
 :is(#st-project-page,#st-virgin-page) .st-fifa-final figure{width:100%}
 :is(#st-project-page,#st-virgin-page) .st-project-contact{margin-top:72px;padding-top:0}
}

/* Current Paper39 + Bar A. New case-only composition. */
:is(#st-project-page,#st-virgin-page) .case-compact-opening{padding:48px 5% 48px;display:flex;flex-direction:column;align-items:flex-start}
:is(#st-project-page,#st-virgin-page) .case-compact-opening>.st-project-label{margin-top:40px}
:is(#st-project-page,#st-virgin-page) .case-compact-opening h1{font-family:"ST Radley",Georgia,serif;font-size:80px;line-height:84px;font-weight:400;margin:16px 0 0}
:is(#st-project-page,#st-virgin-page) .case-workbar{margin-inline:5%;display:grid;grid-template-columns:160fr 348fr 388fr 400fr;background:#252522;border-radius:17px;overflow:hidden;color:#FAF8F0}
:is(#st-project-page,#st-virgin-page) .case-work-label{color:#8F908A;font-size:12px;line-height:18px;letter-spacing:.1em;padding:34px 0 34px 28px}
:is(#st-project-page,#st-virgin-page) .case-workbar>a{display:flex;flex-direction:column;gap:12px;padding:34px 32px 36px 0;min-width:0;text-decoration:none}
:is(#st-project-page,#st-virgin-page) .case-workbar>a+a{border-left:1px solid #3B3C38;padding-left:32px}
:is(#st-project-page,#st-virgin-page) .case-cap{display:flex;align-items:center;gap:10px;font-size:12px;line-height:18px;letter-spacing:.1em}
:is(#st-project-page,#st-virgin-page) .case-workbar i,:is(#st-project-page,#st-virgin-page) .case-strip i{display:block;width:10px;height:10px;border-radius:50%;background:var(--chapter-dot);flex-shrink:0}
:is(#st-project-page,#st-virgin-page) .case-deliverable{font-family:"ST Radley",Georgia,serif;font-size:27px;line-height:33px;white-space:nowrap}
:is(#st-project-page,#st-virgin-page) .case-fact{font-size:15px;line-height:22px;color:#A9AAA2}
:is(#st-project-page,#st-virgin-page) .case-workbar>a:hover .case-deliverable,:is(#st-project-page,#st-virgin-page) .case-workbar>a:focus-visible .case-deliverable{text-decoration:underline;text-underline-offset:5px}
:is(#st-project-page,#st-virgin-page) .case-workbar>a:focus-visible{outline:2px solid #FAF8F0;outline-offset:-5px}
:is(#st-project-page,#st-virgin-page) .case-compact-row{display:grid;grid-template-columns:120fr 696fr 400fr;gap:40px;padding-top:120px;scroll-margin-top:calc(var(--fifa-header-height,72px) + 64px);outline-offset:-3px}
:is(#st-project-page,#st-virgin-page) #guidance{padding-top:96px}
:is(#st-project-page,#st-virgin-page) .case-compact-marker{display:flex;flex-direction:column;gap:12px;align-self:start}
:is(#st-project-page,#st-virgin-page) .case-compact-marker>p{font-size:80px;font-weight:300;line-height:80px}
:is(#st-project-page,#st-virgin-page) .case-compact-marker>span{font-size:14px;line-height:22px;letter-spacing:.08em}
:is(#st-project-page,#st-virgin-page) .case-compact-content{min-width:0;display:flex;flex-direction:column;gap:22px}
:is(#st-project-page,#st-virgin-page) .case-compact-row h2{font-family:"ST Radley",Georgia,serif;font-size:44px;line-height:50px;font-weight:400;margin:0}
:is(#st-project-page,#st-virgin-page) .case-compact-content>p{font-size:18px;line-height:28px}
:is(#st-project-page,#st-virgin-page) .case-compact-content .case-lead{font-size:26px;line-height:35px}
:is(#st-project-page,#st-virgin-page) .case-compact-row figure{margin:0;align-self:start}
:is(#st-project-page,#st-virgin-page) .case-compact-row figure img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center top}
:is(#st-project-page,#st-virgin-page) .case-compact-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px;margin-top:26px}
:is(#st-project-page,#st-virgin-page) .case-compact-principles article{border-top:1px solid #C8C8BE;padding-top:20px;display:flex;flex-direction:column;gap:14px}
:is(#st-project-page,#st-virgin-page) .case-compact-principles h3{font-family:"ST Radley",Georgia,serif;font-size:22px;line-height:28px;font-weight:400;margin:0}
:is(#st-project-page,#st-virgin-page) .case-compact-principles p{font-size:16px;line-height:25px}
:is(#st-project-page,#st-virgin-page) .case-reference-number{border-top:1px solid #20201D;padding-top:24px;display:flex;flex-direction:column;gap:8px}
:is(#st-project-page,#st-virgin-page) .case-reference-number>p{font-family:"ST Radley",Georgia,serif;font-size:132px;line-height:128px;white-space:nowrap}
:is(#st-project-page,#st-virgin-page) .case-reference-number>span{font-size:14px;line-height:22px;letter-spacing:.08em}
:is(#st-project-page,#st-virgin-page) .case-live-row>.case-compact-content{min-height:600px;justify-content:space-between}
:is(#st-project-page,#st-virgin-page) .case-final-copy{display:flex;flex-direction:column;gap:22px}
:is(#st-project-page,#st-virgin-page) .case-compact-cta{border-top:1px solid #C8C8BE;padding-top:28px;display:flex;flex-direction:column;gap:20px}
:is(#st-project-page,#st-virgin-page) .case-compact-cta h2{font-size:36px;line-height:42px}
:is(#st-project-page,#st-virgin-page) .case-compact-cta>div{display:flex;gap:40px;flex-wrap:wrap}
:is(#st-project-page,#st-virgin-page) .case-live-row{padding-bottom:120px}
:is(#st-project-page,#st-virgin-page) .case-strip{position:fixed;top:var(--fifa-header-height,72px);left:0;right:0;z-index:35;min-height:48px;background:#252522;color:#A9AAA2;display:flex;justify-content:center;gap:40px;padding:0 5%}
:is(#st-project-page,#st-virgin-page) .case-strip[hidden]{display:none}
:is(#st-project-page,#st-virgin-page) .case-strip>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 14px;font-size:14px;line-height:20px;text-decoration:none}
:is(#st-project-page,#st-virgin-page) .case-strip>a[aria-current="location"],:is(#st-project-page,#st-virgin-page) .case-strip>a:hover,:is(#st-project-page,#st-virgin-page) .case-strip>a:focus-visible{color:#FAF8F0;text-decoration:underline;text-underline-offset:5px}
:is(#st-project-page,#st-virgin-page) .case-strip>a:focus-visible{outline:2px solid #FAF8F0;outline-offset:-3px}
@media(min-width:601px) and (max-width:1200px){
 :is(#st-project-page,#st-virgin-page) .case-workbar{grid-template-columns:repeat(3,minmax(0,1fr))}
 :is(#st-project-page,#st-virgin-page) .case-work-label{grid-column:1/-1;padding:18px 24px 0}
 :is(#st-project-page,#st-virgin-page) .case-workbar>a{padding:24px!important}
 :is(#st-project-page,#st-virgin-page) .case-deliverable{white-space:normal;font-size:24px}
 :is(#st-project-page,#st-virgin-page) .case-compact-row{grid-template-columns:90px minmax(0,1fr) minmax(200px,30%);gap:24px}
 :is(#st-project-page,#st-virgin-page) .case-compact-row h2{font-size:36px;line-height:42px}
 :is(#st-project-page,#st-virgin-page) .case-compact-content .case-lead{font-size:22px;line-height:30px}
 :is(#st-project-page,#st-virgin-page) .case-compact-principles{grid-template-columns:1fr}
 :is(#st-project-page,#st-virgin-page) .case-reference-number>p{font-size:84px;line-height:90px}
 :is(#st-project-page,#st-virgin-page) .case-live-row>.case-compact-content{min-height:0;gap:64px}
}
@media(max-width:600px){
 :is(#st-project-page,#st-virgin-page) .case-compact-opening{padding:32px 24px 40px}
 :is(#st-project-page,#st-virgin-page) .case-compact-opening>.st-project-label{margin-top:40px}
 :is(#st-project-page,#st-virgin-page) .case-compact-opening h1{font-size:44px;line-height:48px}
 :is(#st-project-page,#st-virgin-page) .case-workbar{margin-inline:24px;grid-template-columns:1fr}
 :is(#st-project-page,#st-virgin-page) .case-work-label{padding:22px 24px 0}
 :is(#st-project-page,#st-virgin-page) .case-workbar>a{padding:24px!important;border-left:0!important}
 :is(#st-project-page,#st-virgin-page) .case-workbar>a+a{border-top:1px solid #3B3C38}
 :is(#st-project-page,#st-virgin-page) .case-deliverable{white-space:normal;font-size:26px;line-height:32px}
 :is(#st-project-page,#st-virgin-page) .case-compact-row{display:flex;flex-direction:column;gap:28px;padding-top:96px}
 :is(#st-project-page,#st-virgin-page) .case-compact-marker>p{font-size:48px;line-height:48px}
 :is(#st-project-page,#st-virgin-page) .case-compact-marker>span{max-width:240px}
 :is(#st-project-page,#st-virgin-page) .case-compact-row h2{font-size:34px;line-height:39px}
 :is(#st-project-page,#st-virgin-page) .case-compact-content .case-lead{font-size:22px;line-height:30px}
 :is(#st-project-page,#st-virgin-page) .case-compact-principles{grid-template-columns:1fr;gap:32px;margin-top:10px}
 :is(#st-project-page,#st-virgin-page) .case-compact-row figure{width:100%}
 :is(#st-project-page,#st-virgin-page) .case-reference-number{width:100%}
 :is(#st-project-page,#st-virgin-page) .case-reference-number>p{font-size:112px;line-height:116px}
 :is(#st-project-page,#st-virgin-page) .case-live-row>.case-compact-content{min-height:0;gap:56px}
 :is(#st-project-page,#st-virgin-page) .case-compact-cta h2{font-size:30px;line-height:36px}
 :is(#st-project-page,#st-virgin-page) .case-compact-cta>div{gap:16px;flex-direction:column}
 :is(#st-project-page,#st-virgin-page) .case-live-row{padding-bottom:96px}
 :is(#st-project-page,#st-virgin-page) .case-strip{gap:0;padding-inline:8px;justify-content:space-between}
 :is(#st-project-page,#st-virgin-page) .case-strip>a{font-size:11px;gap:6px;padding-inline:8px;flex:1;min-height:48px}
 :is(#st-project-page,#st-virgin-page) .case-strip i{width:8px;height:8px}
}

/* Focused fit correction: explicit CSS sizing overrides native image height attributes. */
:is(#st-project-page,#st-virgin-page) .case-compact-row figure img{height:auto;aspect-ratio:2/3}
:is(#st-project-page,#st-virgin-page) .case-reference-number{min-width:0}
@media(min-width:601px) and (max-width:900px){:is(#st-project-page,#st-virgin-page) .case-reference-number>p{font-size:68px;line-height:76px}}
@media(max-width:359px){:is(#st-project-page,#st-virgin-page) .case-reference-number>p{font-size:92px;line-height:100px}}

/* FIFA final candidate (Paper boards 42 desktop / 43 mobile) — Claude, Oct 25. Bar starts on the content column, ends on the image edge; shorter; credits in 03. */
:is(#st-project-page,#st-virgin-page) .case-workbar{border-radius:14px}
:is(#st-project-page,#st-virgin-page) .case-workbar>a{gap:6px}
:is(#st-project-page,#st-virgin-page) .case-cap{font-size:11px}
:is(#st-project-page,#st-virgin-page) .case-workbar i{width:9px;height:9px}
:is(#st-project-page,#st-virgin-page) .case-fact{font-size:13.5px;line-height:20px}
:is(#st-project-page,#st-virgin-page) .case-credits{margin:12px 0 0;max-width:560px;display:flex;flex-direction:column}
:is(#st-project-page,#st-virgin-page) .case-credits>div{display:flex;gap:0;padding:12px 0;border-top:1px solid #C8C8BE}
:is(#st-project-page,#st-virgin-page) .case-credits>div:last-child{border-bottom:1px solid #C8C8BE}
:is(#st-project-page,#st-virgin-page) .case-credits dt{width:140px;flex-shrink:0;font-size:12px;line-height:22px;letter-spacing:.09em;text-transform:uppercase;color:#626358}
:is(#st-project-page,#st-virgin-page) .case-credits dd{margin:0;font-size:16px;line-height:22px}
@media(min-width:1201px){
 :is(#st-project-page,#st-virgin-page) .case-compact-opening>.st-project-label{margin-top:8px}
 :is(#st-project-page,#st-virgin-page) .case-workbar{margin-left:calc(var(--st-gutter) + (100% - 2 * var(--st-gutter) - 80px) * 120 / 1216 + 40px);margin-right:var(--st-gutter);grid-template-columns:348fr 388fr 400fr}
 :is(#st-project-page,#st-virgin-page) .case-workbar>a,:is(#st-project-page,#st-virgin-page) .case-workbar>a+a{padding:22px 24px 24px 28px}
 :is(#st-project-page,#st-virgin-page) .case-deliverable{font-size:22px;line-height:28px}
}
@media(min-width:601px) and (max-width:1200px){
 :is(#st-project-page,#st-virgin-page) .case-compact-opening>.st-project-label{margin-top:8px}
 :is(#st-project-page,#st-virgin-page) .case-workbar{margin-left:calc(var(--st-gutter) + 114px);margin-right:var(--st-gutter)}
 :is(#st-project-page,#st-virgin-page) .case-workbar>a{padding:18px 20px 20px 22px!important}
 :is(#st-project-page,#st-virgin-page) .case-deliverable{font-size:20px;line-height:26px}
}
@media(max-width:600px){
 :is(#st-project-page,#st-virgin-page) .case-compact-opening>.st-project-label{margin-top:28px}
 :is(#st-project-page,#st-virgin-page) .case-workbar>a{gap:4px;padding:16px 20px!important}
 :is(#st-project-page,#st-virgin-page) .case-deliverable{font-size:21px;line-height:27px}
 :is(#st-project-page,#st-virgin-page) .case-credits dt{width:96px;font-size:11px}
 :is(#st-project-page,#st-virgin-page) .case-credits dd{font-size:15px;line-height:21px}
}

/* FIFA case page — fluid type (Claude, Oct 25). Sizes scale with the window from the 1440 design instead of jumping at breakpoints. Sticky chapter strip removed. */
:is(#st-project-page,#st-virgin-page) .case-strip,:is(#st-project-page,#st-virgin-page) .case-strip:not([hidden]){display:none!important}
@media(min-width:601px){
 :is(#st-project-page,#st-virgin-page) .case-compact-opening h1{font-size:clamp(52px,5.56vw,80px);line-height:1.05}
 :is(#st-project-page,#st-virgin-page) .case-compact-marker>p{font-size:clamp(52px,5.56vw,80px);line-height:1}
 :is(#st-project-page,#st-virgin-page) .case-compact-marker>span{font-size:clamp(12px,.97vw,14px);line-height:1.57}
 :is(#st-project-page,#st-virgin-page) .case-compact-row h2{font-size:clamp(30px,3.06vw,44px);line-height:1.14}
 :is(#st-project-page,#st-virgin-page) .case-compact-content .case-lead{font-size:clamp(19px,1.81vw,26px);line-height:1.35}
 :is(#st-project-page,#st-virgin-page) .case-compact-content>p{font-size:clamp(16px,1.25vw,18px);line-height:1.56}
 :is(#st-project-page,#st-virgin-page) .case-compact-principles h3{font-size:clamp(19px,1.53vw,22px);line-height:1.27}
 :is(#st-project-page,#st-virgin-page) .case-compact-principles p{font-size:clamp(15px,1.11vw,16px);line-height:1.56}
 :is(#st-project-page,#st-virgin-page) .case-reference-number>p{font-size:clamp(64px,9.17vw,132px);line-height:.97}
 :is(#st-project-page,#st-virgin-page) .case-compact-cta h2{font-size:clamp(28px,2.5vw,36px);line-height:1.17}
 :is(#st-project-page,#st-virgin-page) .case-deliverable{font-size:clamp(17px,1.53vw,22px);line-height:1.27;white-space:normal}
 :is(#st-project-page,#st-virgin-page) .case-fact{font-size:clamp(12.5px,.94vw,13.5px);line-height:1.48}
 :is(#st-project-page,#st-virgin-page) .case-credits dd{font-size:clamp(15px,1.11vw,16px)}
 :is(#st-project-page,#st-virgin-page) .case-compact-row{column-gap:clamp(24px,2.78vw,40px)}
}
@media(max-width:600px){
 :is(#st-project-page,#st-virgin-page) .case-compact-row h2{font-size:30px;line-height:35px}
 :is(#st-project-page,#st-virgin-page) .case-compact-content .case-lead{font-size:20px;line-height:28px}
 :is(#st-project-page,#st-virgin-page) .case-compact-content>p{font-size:16px;line-height:25px}
 :is(#st-project-page,#st-virgin-page) .case-reference-number>p{font-size:96px;line-height:96px}
}
@media(min-width:601px) and (max-width:1000px){
 :is(#st-project-page,#st-virgin-page) .case-workbar{margin-left:var(--st-gutter)}
}

/* Buttons and links, reference-led (Claude, Oct 25): solid/outline buttons instead of underlined text with arrows (Altaura); breadcrumb instead of "← Selected work" (Benji B). Colours follow the active mood. */
:is(#st-project-page,#st-virgin-page) .case-crumbs{display:flex;align-items:center;gap:10px;font-size:13px;line-height:20px;letter-spacing:.08em;text-transform:uppercase;color:#626358}
:is(#st-project-page,#st-virgin-page) .case-crumbs a{color:#20201D;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}
:is(#st-project-page,#st-virgin-page) .case-crumbs a:hover,:is(#st-project-page,#st-virgin-page) .case-crumbs a:focus-visible{border-bottom-color:currentColor}
:is(#st-project-page,#st-virgin-page) .case-crumbs+h1{margin-top:28px}
:is(#st-project-page,#st-virgin-page) .case-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:1px solid #20201D;border-radius:12px;font-size:16px;line-height:1;color:#20201D;text-decoration:none;background:transparent;transition:background-color .2s ease,color .2s ease}
:is(#st-project-page,#st-virgin-page) .case-btn--solid{background:#20201D;color:#FAF8F0}
:is(#st-project-page,#st-virgin-page) .case-btn:hover,:is(#st-project-page,#st-virgin-page) .case-btn:focus-visible{background:#20201D;color:#FAF8F0}
:is(#st-project-page,#st-virgin-page) .case-btn--solid:hover,:is(#st-project-page,#st-virgin-page) .case-btn--solid:focus-visible{background:#3A3B36;border-color:#3A3B36}
:is(#st-project-page,#st-virgin-page) .case-btn:focus-visible{outline:2px solid #20201D;outline-offset:3px}
:is(#st-project-page,#st-virgin-page) .case-compact-cta>div{gap:12px}
.st-header .st-talk-link{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:10px;background:var(--st-mood-ink);color:var(--st-mood-bg)!important;text-decoration:none!important;border:0!important;transition:opacity .2s ease}
.st-header .st-talk-link:hover,.st-header .st-talk-link:focus-visible{opacity:.85}
@media(max-width:600px){
 :is(#st-project-page,#st-virgin-page) .case-crumbs+h1{margin-top:20px}
 :is(#st-project-page,#st-virgin-page) .case-compact-cta>div{flex-direction:column;align-items:stretch}
 :is(#st-project-page,#st-virgin-page) .case-btn{width:100%}
}
.st-header .st-talk-link::after{content:none!important;display:none!important}

/* Site-wide Sound Theory buttons (Claude, Oct 25) — same system as the FIFA page. */
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page),.st-portal) .st-btn{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:52px;padding:0 26px;border:1px solid #20201D;border-radius:12px;font-size:16px;line-height:1;color:#20201D!important;text-decoration:none!important;background:transparent;transition:background-color .2s ease,color .2s ease;margin-top:4px}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page),.st-portal) .st-btn--solid{background:#20201D;color:#FAF8F0!important}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page),.st-portal) .st-btn:hover,:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page),.st-portal) .st-btn:focus-visible{background:#20201D;color:#FAF8F0!important}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page),.st-portal) .st-btn--solid:hover,:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page),.st-portal) .st-btn--solid:focus-visible{background:#3A3B36;border-color:#3A3B36}
:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page),.st-portal) .st-btn:focus-visible{outline:2px solid #20201D;outline-offset:3px}
#sound-theory-page .st-contact .st-cases article{display:flex;flex-direction:column;gap:16px}
@media(max-width:600px){:is(#sound-theory-page,:is(#st-project-page,#st-virgin-page)) .st-btn{align-self:stretch;width:100%}}

/* Virgin Voyages: shared case system, with the approved Scarlet Night sequence. */
#st-virgin-page #handbook{padding-top:96px}
#st-virgin-page .virgin-photo-placeholder{width:100%;aspect-ratio:2/3;background:#E7E5DC;align-self:start}
#st-virgin-page .virgin-venues{border-top:1px solid #C8C8BE;padding-top:18px;display:flex;flex-direction:column;gap:10px}
#st-virgin-page .virgin-venues>p:first-child{font-size:12px;line-height:18px;letter-spacing:.09em}
#st-virgin-page .virgin-venues>p:last-child{font-family:"ST Radley",Georgia,serif;font-size:20px;line-height:30px}
#st-virgin-page .virgin-scarlet{scroll-margin-top:96px}
#st-virgin-page .virgin-scarlet-heading .case-compact-content{max-width:860px}
#st-virgin-page .virgin-timeline{margin:56px 0 0;padding:0;display:grid;grid-template-columns:396fr 324fr 324fr 396fr;list-style:none;color:#FAF8F0}
#st-virgin-page .virgin-timeline>li{padding:44px 32px 52px;display:flex;flex-direction:column;gap:18px;background:#AC4825}
#st-virgin-page .virgin-timeline>li:first-child{padding-left:var(--st-gutter)}
#st-virgin-page .virgin-timeline>li:nth-child(2){background:#7A3A20}
#st-virgin-page .virgin-timeline>li:nth-child(3){background:#4A2A1E}
#st-virgin-page .virgin-timeline>li:last-child{background:#1D1F1E;padding-right:var(--st-gutter)}
#st-virgin-page .virgin-timeline h3{font-family:"ST Radley",Georgia,serif;font-size:28px;line-height:34px;font-weight:400}
#st-virgin-page .virgin-timeline p{font-size:16px;line-height:25px;color:#FAF8F0}
#st-virgin-page .virgin-timeline>li:nth-child(2)>p{color:#FAF8F0}
#st-virgin-page .virgin-timeline>li:nth-child(3)>p{color:#FAF8F0}
#st-virgin-page .virgin-timeline>li:last-child>p{color:#FAF8F0}
#st-virgin-page .virgin-timeline .virgin-phase-label{display:flex;align-items:center;gap:10px;font-size:12px;line-height:18px;letter-spacing:.1em;color:#FAF8F0}
#st-virgin-page .virgin-phase-label i{display:block;width:10px;height:10px;border-radius:50%;background:currentColor;flex:none}
#st-virgin-page .virgin-timeline>li:last-child .virgin-phase-label{color:#F7D65B}
#st-virgin-page .virgin-scale-cta{padding-top:64px;padding-bottom:120px;display:flex;flex-direction:column;gap:72px}
#st-virgin-page .virgin-scale{margin:0;border-top:1px solid #20201D;padding-top:28px;padding-left:160px;display:grid;grid-template-columns:220fr 240fr 220fr 456fr;align-items:end}
#st-virgin-page .virgin-scale>div{display:flex;flex-direction:column;gap:6px;min-width:0}
#st-virgin-page .virgin-scale dd{margin:0;font-family:"ST Radley",Georgia,serif;font-size:clamp(36px,3.89vw,56px);line-height:1.07}
#st-virgin-page .virgin-scale dt{font-size:13px;line-height:20px;letter-spacing:.085em}
#st-virgin-page .virgin-scale>div:last-child{border-left:1px solid #C8C8BE;padding-left:32px}
#st-virgin-page .virgin-scale>div:last-child dd{font-size:clamp(52px,6.67vw,96px);line-height:1}
#st-virgin-page .virgin-scale-cta>.case-compact-cta{padding-left:160px}
@media(min-width:601px) and (max-width:1200px){
 #st-virgin-page .virgin-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
 #st-virgin-page .virgin-timeline>li{padding:32px var(--st-gutter)}
 #st-virgin-page .virgin-scale{padding-left:0;gap:20px;grid-template-columns:1fr 1fr 1fr}
 #st-virgin-page .virgin-scale>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #C8C8BE;padding:24px 0 0}
 #st-virgin-page .virgin-scale-cta>.case-compact-cta{padding-left:114px}
}
@media(max-width:600px){
 #st-virgin-page .virgin-timeline{grid-template-columns:1fr;margin-top:40px}
 #st-virgin-page .virgin-timeline>li{padding:32px 24px!important}
 #st-virgin-page .virgin-scale-cta{padding-top:48px;padding-bottom:96px;gap:48px}
 #st-virgin-page .virgin-scale{padding-left:0;grid-template-columns:1fr 1fr;gap:28px 16px}
 #st-virgin-page .virgin-scale>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #C8C8BE;padding:24px 0 0}
 #st-virgin-page .virgin-scale>div:last-child dd{font-size:clamp(56px,18vw,76px)}
 #st-virgin-page .virgin-scale-cta>.case-compact-cta{padding-left:0}
 #st-virgin-page .virgin-photo-placeholder{width:100%}
}

#st-virgin-page .case-compact-cta h2{font-family:"ST Radley",Georgia,serif;font-weight:400}

/* Requested scale placement: exactly 72px after the work bar at every viewport. */
#st-virgin-page .virgin-scale-top{margin-top:72px}

/* Virgin mobile scale uses the existing case credits component; desktop scale is untouched. */
#st-virgin-page .virgin-scale-mobile{display:none}
@media(max-width:600px){
 #st-virgin-page .virgin-scale-top>.virgin-scale{display:none}
 #st-virgin-page .virgin-scale-mobile{display:flex;flex-direction:column;gap:24px;border-top:1px solid #C8C8BE;padding-top:12px}
 #st-virgin-page .virgin-scale-mobile .case-credits{margin:0;max-width:none}
 #st-virgin-page .virgin-scale-mobile dd{min-width:0}
 #st-virgin-page .virgin-annual{font-family:"ST Radley",Georgia,serif;color:#20201D}
 #st-virgin-page .virgin-annual>p:first-child{font-size:72px;line-height:1;letter-spacing:-1.5px;white-space:nowrap}
 #st-virgin-page .virgin-annual>p:last-child{font-size:22px;line-height:1.3}
}

/* === Claude: Virgin scale moved beside 01 on desktop (mirrors 02's number) === */
#st-virgin-page .virgin-scale-aside>p{font-size:clamp(48px,5.9vw,85px)!important;line-height:1!important;letter-spacing:-1px}
#st-virgin-page .virgin-scale-aside .case-credits{margin-top:32px}
#st-virgin-page .virgin-scale-aside .case-credits dt{width:120px}

/* === Claude: Virgin page v44 (photo, overview, venues list, 4-up rules, chapter rules) === */
#st-virgin-page .virgin-hero{margin:56px 0 0}
#st-virgin-page .virgin-hero img{display:block;width:100%;height:auto;aspect-ratio:1296/560;object-fit:cover;object-position:50% 40%}
#st-virgin-page .virgin-overview{display:grid;grid-template-columns:120fr 696fr 400fr;column-gap:clamp(24px,2.78vw,40px);row-gap:56px;padding-top:112px}
#st-virgin-page .virgin-overview-intro{grid-column:2/3;display:flex;flex-direction:column;gap:20px}
#st-virgin-page .virgin-overview h2{font-family:"ST Radley",Georgia,serif;font-weight:400;font-size:clamp(40px,3.89vw,56px);line-height:1.07;margin:0}
#st-virgin-page .virgin-overview .case-lead{font-size:clamp(19px,1.81vw,26px);line-height:1.35;margin:0}
#st-virgin-page .virgin-stats{grid-column:2/4;border-top:1px solid #20201D;padding-top:28px;display:grid;grid-template-columns:456fr 680fr;gap:40px;align-items:start}
#st-virgin-page .virgin-stats .virgin-annual{font-family:"ST Radley",Georgia,serif;color:#20201D}
#st-virgin-page .virgin-stats .virgin-annual>p:first-child{font-size:clamp(64px,6.67vw,96px);line-height:1;letter-spacing:-.015em;white-space:nowrap;margin:0}
#st-virgin-page .virgin-stats .virgin-annual>p:last-child{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:20px;line-height:1.4;margin:12px 0 0}
#st-virgin-page .virgin-stat-grid{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
#st-virgin-page .virgin-stat-grid>div{display:flex;flex-direction:column;gap:6px;border-left:1px solid #C8C8BE;padding-left:20px;min-width:0}
#st-virgin-page .virgin-stat-grid dd{margin:0;font-family:"ST Radley",Georgia,serif;font-size:clamp(30px,2.78vw,40px);line-height:1.1;white-space:nowrap}
#st-virgin-page .virgin-stat-grid dt{font-size:12px;line-height:18px;letter-spacing:.09em;text-transform:uppercase;color:#626358}
#st-virgin-page .virgin-venue-list>p{font-size:12px;line-height:18px;letter-spacing:.09em;color:#626358;margin:0 0 12px}
#st-virgin-page .virgin-venue-list ul{list-style:none;margin:0;padding:0;border-bottom:1px solid #C8C8BE}
#st-virgin-page .virgin-venue-list li{font-family:"ST Radley",Georgia,serif;font-size:18px;line-height:24px;padding:10px 0;border-top:1px solid #C8C8BE}
#st-virgin-page .case-compact-principles.virgin-principles{grid-column:2/4;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:72px}
#st-virgin-page .virgin-principles article{border-top-color:#20201D}
/* chapter rhythm: hairline between chapters (both case pages) */
:is(#st-project-page,#st-virgin-page) .case-compact-row{border-top:1px solid #C8C8BE;margin-top:96px;padding-top:96px}
#st-project-page #guidance{border-top:0;margin-top:0}
#st-virgin-page .virgin-scarlet-heading{margin-top:96px}
@media(min-width:601px) and (max-width:1200px){
 #st-virgin-page .virgin-overview{grid-template-columns:90px minmax(0,1fr) minmax(200px,30%)}
 #st-virgin-page .virgin-stats{grid-template-columns:1fr;gap:32px}
 #st-virgin-page .case-compact-principles.virgin-principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
}
@media(max-width:600px){
 #st-virgin-page .virgin-hero{margin-top:40px;padding-inline:0}
 #st-virgin-page .virgin-hero img{aspect-ratio:4/3;object-position:45% 50%}
 #st-virgin-page .virgin-overview{display:flex;flex-direction:column;gap:32px;padding-top:72px}
 #st-virgin-page .virgin-stats{display:flex;flex-direction:column;gap:24px;border-top-color:#C8C8BE;padding-top:16px}
 #st-virgin-page .virgin-stats .virgin-annual>p:first-child{font-size:72px;letter-spacing:-1.5px}
 #st-virgin-page .virgin-stats .virgin-annual>p:last-child{font-family:"ST Radley",Georgia,serif;font-size:22px;line-height:1.3;margin-top:4px}
 #st-virgin-page .virgin-stat-grid{display:flex;flex-direction:column;gap:0;border-bottom:1px solid #C8C8BE}
 #st-virgin-page .virgin-stat-grid>div{flex-direction:row-reverse;justify-content:flex-end;align-items:baseline;gap:0;border-left:0;padding:12px 0;border-top:1px solid #C8C8BE}
 #st-virgin-page .virgin-stat-grid dt{width:140px;flex-shrink:0;font-size:11px;line-height:22px}
 #st-virgin-page .virgin-stat-grid dd{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;line-height:22px}
 #st-virgin-page .virgin-venue-list{width:100%}
 #st-virgin-page .case-compact-principles.virgin-principles{display:grid;grid-template-columns:1fr;margin-top:8px}
 :is(#st-project-page,#st-virgin-page) .case-compact-row{margin-top:72px;padding-top:72px}
 #st-virgin-page .virgin-scarlet-heading{margin-top:72px}
}
#st-virgin-page .virgin-stat-grid .vm{display:none}
@media(max-width:600px){#st-virgin-page .virgin-stat-grid .vm{display:inline}#st-virgin-page .virgin-stat-grid .vd{display:none}#st-virgin-page .virgin-stat-grid{width:100%}#st-virgin-page .virgin-stats{width:100%}}
@media(max-width:600px){
 :is(#st-project-page,#st-virgin-page) .case-compact-row{margin-top:48px;padding-top:64px}
 #st-virgin-page .virgin-scarlet-heading{margin-top:48px}
 #st-virgin-page .virgin-venue-list ul{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
 #st-virgin-page .virgin-venue-list li{font-size:17px}
}

/* === Claude: photo moved into Overview (right lane, 3:2) === */
#st-virgin-page .virgin-overview{padding-top:96px}
#st-virgin-page .virgin-overview-intro{grid-row:1}
#st-virgin-page .virgin-overview-photo{grid-column:3/4;grid-row:1;margin:0;align-self:start;display:flex;flex-direction:column;gap:10px}
#st-virgin-page .virgin-overview-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
#st-virgin-page .virgin-overview-photo figcaption{font-size:12px;line-height:18px;letter-spacing:.09em;text-transform:uppercase;color:#626358}
#st-virgin-page .virgin-stats{grid-row:2}
@media(max-width:600px){#st-virgin-page .virgin-overview{padding-top:64px}#st-virgin-page .virgin-overview-photo{width:100%}}

/* === Claude: Virgin photos follow FIFA (2:3 in right lane) === */
#st-virgin-page .virgin-venues{margin-top:28px}
@media(max-width:600px){#st-virgin-page #handbook figure{width:100%}}
/* === Claude: Overview numbers in right lane (list), all sizes === */
#st-virgin-page .virgin-overview{row-gap:0}
#st-virgin-page .virgin-stats{grid-column:3/4;grid-row:1;display:flex;flex-direction:column;gap:24px;border-top:1px solid #20201D;padding-top:20px;width:100%}
#st-virgin-page .virgin-stats .virgin-annual>p:first-child{font-size:clamp(48px,5.9vw,85px)}
#st-virgin-page .virgin-stats .virgin-annual>p:last-child{font-size:16px;letter-spacing:.06em;text-transform:uppercase;margin-top:10px}
#st-virgin-page .virgin-stat-grid{display:flex;flex-direction:column;gap:0;width:100%;border-bottom:1px solid #C8C8BE}
#st-virgin-page .virgin-stat-grid>div{flex-direction:row-reverse;justify-content:flex-end;align-items:baseline;gap:0;border-left:0;padding:12px 0;border-top:1px solid #C8C8BE}
#st-virgin-page .virgin-stat-grid dt{width:140px;flex-shrink:0;font-size:12px;line-height:22px}
#st-virgin-page .virgin-stat-grid dd{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:22px;white-space:normal}
#st-virgin-page .virgin-stat-grid .vm{display:inline}
#st-virgin-page .virgin-stat-grid .vd{display:none}
@media(min-width:601px) and (max-width:1200px){#st-virgin-page .virgin-stat-grid dt{width:120px;font-size:11px}}
@media(max-width:600px){#st-virgin-page .virgin-stats .virgin-annual>p:first-child{font-size:72px}#st-virgin-page .virgin-stats .virgin-annual>p:last-child{font-family:"ST Radley",Georgia,serif;font-size:22px;letter-spacing:0;text-transform:none}}
@media(min-width:601px){#st-virgin-page .virgin-stats .virgin-annual>p:last-child{font-size:18px;letter-spacing:0;text-transform:none;margin-top:8px}}
@media(min-width:601px){#st-virgin-page .virgin-overview .case-lead{font-size:clamp(22px,2.22vw,32px);line-height:1.3}#st-virgin-page .virgin-overview-intro{gap:28px}}

/* === Claude: Selected work as a 3-up grid (Altaura "recent work" / Benji B studio grid) === */
#st-work{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,2.22vw,32px);row-gap:40px;align-items:stretch}
#st-work>.st-work-heading{grid-column:1/-1}
#st-work .st-event-teaser{display:flex;flex-direction:column;gap:24px;align-items:stretch;margin:0}
#st-work .st-event-teaser figure{margin:0;width:100%;max-width:none;align-self:stretch}
#st-work .st-event-teaser img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 50%}
#st-work .st-event-teaser:first-of-type img{object-position:50% 22%}
#st-work .st-event-copy{display:flex;flex-direction:column;gap:12px;flex:1;align-items:flex-start}
#st-work .st-event-copy h3{font-size:clamp(26px,2.22vw,32px);line-height:1.15;margin:0}
#st-work .st-event-copy>p:not(.st-project-label){font-size:16px;line-height:1.55;margin:0}
#st-work .st-event-copy .st-btn{margin-top:auto}
#st-work .st-event-copy>p:not(.st-project-label){margin-bottom:12px}
@media(min-width:601px) and (max-width:900px){
 #st-work{grid-template-columns:1fr;row-gap:48px}
 #st-work .st-event-teaser{display:grid;grid-template-columns:38% minmax(0,1fr);gap:32px;align-items:center}
}
@media(max-width:600px){
 #st-work{grid-template-columns:1fr;row-gap:56px}
 #st-work .st-event-teaser img{aspect-ratio:4/3}
 #st-work .st-event-copy .st-btn{align-self:stretch}
}
#st-experience .st-clients-heading{grid-column:1/-1;margin-bottom:8px}

/* === Claude: lower-section refinement (services, about, research, contact) === */
.st-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,4.4vw,64px);row-gap:48px}
.st-service-card{border-top:1px solid #20201D;padding-top:24px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.st-service-name{font-size:12px;line-height:18px;letter-spacing:.12em;text-transform:uppercase;color:#626358}
.st-service-card h3{font-family:"ST Radley",Georgia,serif;font-weight:400;font-size:clamp(24px,2.22vw,32px);line-height:1.2;margin:0 0 4px}
.st-service-card>p:not(.st-service-name){font-size:16px;line-height:1.65;max-width:560px}
.st-about-body .st-about-lead{font-size:clamp(20px,1.81vw,26px);line-height:1.38;color:#20201D}
.st-contact-email{margin-top:-4px}
.st-contact-email-link{font-size:16px;text-decoration:underline!important;text-underline-offset:4px}
@media(min-width:901px){
 .st-services{padding-top:120px;padding-bottom:120px}
 .st-approach,#st-approach{padding-top:120px;padding-bottom:120px}
 .st-research{padding-top:120px;padding-bottom:120px}
 .st-contact{padding-top:120px;padding-bottom:120px}
 .st-research .st-section-intro,.st-research .st-finding{grid-template-columns:minmax(0,616fr) minmax(0,680fr);column-gap:0}
 .st-research .st-metric{padding-right:48px}
}
@media(max-width:900px){.st-service-grid{grid-template-columns:1fr}}
@media(max-width:600px){.st-service-grid{padding-inline:0;row-gap:40px}.st-about-body .st-about-lead{font-size:20px}}
@media(min-width:901px){.st-service-grid{grid-template-columns:minmax(0,616fr) minmax(0,680fr);column-gap:0}.st-service-card:first-child{margin-right:48px}}
@media(min-width:901px){#st-contact .st-cases{display:grid;grid-template-columns:minmax(0,616fr) minmax(0,680fr);column-gap:0}#st-contact .st-cases>article:first-child{margin-right:48px}}
@media(min-width:901px){
 .st-services{padding-top:80px;padding-bottom:72px;gap:40px}
 .st-approach,#st-approach{padding-top:72px;padding-bottom:72px}
 .st-research{padding-top:72px;padding-bottom:72px;gap:40px}
 .st-contact{padding-top:72px;padding-bottom:88px}
}
@media(max-width:900px){
 .st-services{padding-top:56px;padding-bottom:48px}
 .st-approach,#st-approach{padding-top:48px;padding-bottom:48px}
 .st-research{padding-top:48px;padding-bottom:48px}
 .st-contact{padding-top:48px;padding-bottom:56px}
}
@media(min-width:901px){
 .st-services{padding-bottom:56px}
 .st-approach,#st-approach{padding-top:56px;padding-bottom:56px}
 .st-research{padding-top:56px;padding-bottom:56px}
 .st-contact{padding-top:56px}
}

/* === Claude: About with portrait (photo left, copy right — same pattern as Selected work) === */
.st-about-photo{margin:0}
.st-about-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
@media(min-width:901px){
 #st-approach.st-about{grid-template-columns:minmax(0,616fr) minmax(0,680fr);column-gap:0;row-gap:0;align-items:start}
 #st-approach .st-about-photo{grid-column:1;grid-row:1/3;max-width:456px}
 #st-approach>.st-heading-group{grid-column:2;grid-row:1}
 #st-approach .st-about-body{grid-column:2;grid-row:2;padding-top:32px}
}
@media(max-width:900px){#st-approach>.st-heading-group{order:0}#st-approach .st-about-photo{order:1;max-width:420px}#st-approach .st-about-body{order:2}}

/* === Claude: load-flash fix. Ring styles load with the page (not injected later), so the
   rings button never paints as a grey default <button> before its stylesheet arrives. === */
.st-rings{display:block;width:260px;max-width:100%;aspect-ratio:1;padding:0;margin:0;border:0;background:none;color:inherit;cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}
.st-rings canvas{display:block;width:100%;height:100%}
.st-rings:focus-visible{outline:1.5px solid currentColor;outline-offset:6px}
@keyframes st-rings-in{from{opacity:0}to{opacity:1}}
#st-header:not([hidden]){animation:st-rings-in .3s ease both}
@media(prefers-reduced-motion:reduce){#st-header:not([hidden]){animation:none}}

/* === Claude: mobile mini-player. One slim floating bar (Spotify / Apple Music mini-player pattern),
   same before and after first play: play · title/status · four mood dots. === */
@media(max-width:700px){
 #st-floating,#st-floating.is-compact,#st-floating.is-compact:not(:hover):not(:focus-within){left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;height:64px;padding:10px 8px 10px 10px;border-radius:16px;gap:6px;border:0;background:#252522;color:#FAF8F0;box-shadow:0 10px 30px #0000003a}
 #st-floating::before,#st-floating.is-compact:not(:hover):not(:focus-within)::before{width:0;display:none}
 #st-floating .st-play-hint{display:none}
 #st-floating .st-track,#st-floating.is-compact:not(:hover):not(:focus-within) .st-track{order:0;flex:1;min-width:0;width:auto;height:44px;padding:0;border:0;gap:10px;background:none}
 #st-floating .st-cover,#st-floating.is-compact:not(:hover):not(:focus-within) .st-cover{width:44px;height:44px;border-radius:12px;flex-shrink:0}
 #st-floating .st-track-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
 #st-floating .st-track-title,#st-floating.is-compact:not(:hover):not(:focus-within) .st-track-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:18px}
 #st-floating .st-track-status,#st-floating.is-compact:not(:hover):not(:focus-within) .st-track-status{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:15px;color:#BDBDB3}
 #st-floating .st-seek-row{display:none}
 #st-floating .st-moods,#st-floating.is-compact:not(:hover):not(:focus-within) .st-moods{order:1;width:auto;flex:none;display:flex;gap:0;color:#FAF8F0}
 #st-floating .st-mood,#st-floating.is-compact:not(:hover):not(:focus-within) .st-mood{position:relative;width:30px;min-height:44px;gap:0;padding:0;justify-content:center}
 #st-floating .st-mood>span:last-child{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
 #st-floating .st-mood-circle,#st-floating.is-compact:not(:hover):not(:focus-within) .st-mood-circle{width:13px;height:13px;border-width:1.5px}
}

/* No "press play" instructions anywhere: the colour change is meant to be a surprise. */
.st-play-hint{display:none!important}
@media(min-width:701px){#st-floating:not(.is-compact){height:110px;padding-bottom:16px}}

/* === Claude: mobile player v2 — follows the reference player: moods are named, and the track line
   names the mood selection, so a tap reads as "a different vibe", not an unlabeled dot. === */
@media(max-width:700px){
 #st-floating,#st-floating.is-compact,#st-floating.is-compact:not(:hover):not(:focus-within){flex-wrap:wrap;align-content:flex-start;height:auto;padding:6px 10px 10px;row-gap:4px;column-gap:0}
 #st-floating .st-moods,#st-floating.is-compact:not(:hover):not(:focus-within) .st-moods{order:0;width:100%;justify-content:space-between;padding:0 2px;border-bottom:1px solid #3A3A36}
 #st-floating .st-mood,#st-floating.is-compact:not(:hover):not(:focus-within) .st-mood{width:auto;min-height:40px;flex-direction:row;align-items:center;gap:6px;padding:0 4px;font-size:12px;line-height:16px;color:#BDBDB3}
 #st-floating .st-mood[aria-pressed="true"]{color:#FAF8F0}
 #st-floating .st-mood>span:last-child,#st-floating.is-compact:not(:hover):not(:focus-within) .st-mood>span:last-child{position:static;width:auto;height:auto;clip-path:none;overflow:visible}
 #st-floating .st-mood-circle,#st-floating.is-compact:not(:hover):not(:focus-within) .st-mood-circle{width:11px;height:11px}
 #st-floating .st-track,#st-floating.is-compact:not(:hover):not(:focus-within) .st-track{order:1;width:100%;flex:1 1 100%;height:48px;padding-top:4px}
 #st-floating .st-cover,#st-floating.is-compact:not(:hover):not(:focus-within) .st-cover{width:40px;height:40px;border-radius:10px}
}
@media(max-width:700px){#st-floating .st-cover,#st-floating.is-compact:not(:hover):not(:focus-within) .st-cover{width:76px;height:44px;border-radius:12px}}
/* About photo scales with the page: always 74% of its column (456px at 1440), so the gap to the text scales too. */
@media(min-width:901px){#st-approach .st-about-photo{width:74%;max-width:none}}
