/* Small typography corrections from the rendered, mobile-first audit. */
/* Balance short headings; keep prose flexible rather than forcing a single line. */
main :is(h2,h3,h4){text-wrap:balance}
main :is(.svc__body p,.studio-quote blockquote p,.core-card__desc,.studio-covers__area p,.how__step-desc,.faq__answer p,.tier__best,.tier__note,.tn-summary__note,.tn-focus-hint){text-wrap:pretty}
main :is(.covers__intro,.tiers__head,.how__head,.submit__head,.core__head,.video__head,.studio-section-head,.studio-work__head)>p:not(.eyebrow){font-size:var(--fs-body);line-height:1.7;text-wrap:pretty}
.studio-section-intro{font-size:var(--fs-body);line-height:1.7;text-wrap:pretty}
/* Approved DM Mono label system, with Jost and Manrope retained. */
.eyebrow{font-family:var(--font-label);font-size:var(--fs-eyebrow)!important;font-weight:500;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px}
.eyebrow+h2{margin-top:0}
/* The home services heading uses flex gap instead of collapsing margins. */
.player__head>.eyebrow{margin-bottom:0}
.close-cta .eyebrow{margin-bottom:16px}
.close-cta h2{font-size:clamp(34px,6vw,76px)}
.studio-service-name{text-wrap:balance}
.studio-quote figcaption a:not(.studio-quote__avatar):not(.studio-quote__photo){min-height:44px}
.studio-quote__photo:focus-visible{outline:2px solid var(--accent-bright);outline-offset:4px}
.studio-quote__name-link{flex-wrap:nowrap;column-gap:10px!important;row-gap:0}
.studio-quote__name-link>span:first-child{min-width:0;font:inherit!important;color:inherit!important}
.sidequote cite a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:inherit}
.sidequote cite a span{color:var(--accent-bright)}
@media(min-width:1000px){
 .studio-section-head{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px}
 .studio-section-intro{max-width:none}
 .studio-report-preview__title{grid-column:1/-1}
 .studio-report-preview__link{grid-row:3}
}
@media(min-width:860px) and (max-width:1199px){
 .studio-covers .head-duo{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px}
}
/* The approved grain sits over photographs, beneath text, and never intercepts input. */
[data-film-grain]{isolation:isolate}
.fine-grain-canvas,.fine-grain-exposure{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.fine-grain-canvas{mix-blend-mode:soft-light;opacity:.24;image-rendering:pixelated}
.fine-grain-exposure{background:#000;opacity:0}
.nf h1{max-width:1000px;text-wrap:balance}
.nf p{text-wrap:pretty}


.drawer .form-input,.drawer .form-select,.drawer .form-textarea{font-size:16px}
.drawer .form-input,.drawer .form-select{min-height:44px}
@media(min-width:1000px){.video__head{max-width:960px}}

/* Editorial link arrows: right for actions, diagonal for external destinations. */
.link-arrow{display:inline-block;width:30px;height:24px;flex:none;vertical-align:middle;overflow:visible;color:inherit}
.link-arrow--diagonal{width:24px;height:24px}
.sidequote cite a .link-arrow{color:var(--accent-bright)}
.studio-quote__name-link .link-arrow{width:22px;height:22px;color:var(--accent-bright)}
.tn-summary__mark svg{width:24px;height:24px}
/* Matching, comfortably sized transport controls on both listening sections. */
.work-play,.studio-listening .bap__play{width:56px;height:56px;min-width:56px;min-height:56px;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.15);transition:background-color 180ms ease,transform 180ms ease}
.work-play svg,.studio-listening .bap__play svg{width:24px;height:24px}
.work-deck__controls{grid-template-columns:56px minmax(0,1fr)}
.work-play:focus-visible,.studio-listening .bap__play:focus-visible{outline:2px solid var(--accent-bright);outline-offset:5px}
.work-play:active,.studio-listening .bap__play:active{transform:scale(.96)}
@media(hover:hover){.work-play:hover,.studio-listening .bap__play:hover{background:var(--accent-bright)}}
@media(prefers-reduced-motion:reduce){.work-play,.studio-listening .bap__play{transition:none}}


/* Small uppercase metadata only: navigation, buttons and prose retain their fonts. */
:is(.core-card__cat,.core-card__input>span,.core-card__spec b,.studio-track-service,.studio-choice-service,.studio-list-label,.studio-report-preview__label,.studio-quote__tag,.work-selection__head h3,#work-audio-label,.dl-btn__meta,.vimeo-item__cap-role,.tn-selected__label,.tn-step-dot__label,.tn-svc-card__label,.tn-focus__title,.tier__sample-meta,.form-label){font-family:var(--font-label);font-size:12px;line-height:1.6;letter-spacing:.08em;font-weight:500}
.studio-core .core-card__cat,.studio-core .core-card__input>span,.studio-track-list-head .studio-list-label,.studio-submission .form-label,.studio-submission .tn-focus__title{font-family:var(--font-label);font-size:12px;letter-spacing:.08em;font-weight:500}
.work-deck__top #work-audio-label{font-family:var(--font-label);font-size:12px;letter-spacing:.08em}
.work-deck__top{flex-wrap:wrap}
.guardian cite,.sidequote cite,.tier-group__label,.tier__badge{font-family:var(--font-label);font-size:12px;line-height:1.6;letter-spacing:.08em;font-weight:500}
@media(max-width:379px){.hero .eyebrow{letter-spacing:.12em}}
