/* Approved Editorial Split family. Load after page/component styles.
   Contexts in :is() give this family precedence over the older form overrides.
   A decorative CSS arrow cell survives dynamic labels and sending/retry states. */
:root{
 --action-height:52px;
 --action-cell:64px;
 --action-motion:180ms ease;
 --action-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 24' fill='none' stroke='%230a0f0b' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h28M24 6l6 6-6 6'/%3E%3C/svg%3E");
}
:is(.btn,.tier__choose,.studio-contact .drawer__send,.studio-submission .tn-nav .btn):not(.btn--ghost){
 position:relative;display:inline-flex;align-items:center;justify-content:flex-start;
 min-width:var(--action-min-width,88px);max-width:100%;min-height:var(--action-height);height:auto;
 padding:12px calc(var(--action-cell) + 18px) 12px 18px;gap:0;
 border:1px solid var(--accent);border-radius:0;background:transparent;
 color:var(--text);font:400 18px/1.3 var(--font-display);letter-spacing:0;
 text-transform:none;text-align:left;text-decoration:none;white-space:normal;
 box-shadow:none;transform:none;overflow:hidden;isolation:isolate;
 transition:background-color var(--action-motion),border-color var(--action-motion),color var(--action-motion);
 touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
:is(.btn,.tier__choose,.studio-contact .drawer__send,.studio-submission .tn-nav .btn):not(.btn--ghost)::before{display:none;content:none}
:is(.btn,.tier__choose,.studio-contact .drawer__send,.studio-submission .tn-nav .btn):not(.btn--ghost)::after{
 content:'';display:block;position:absolute;inset:0 0 0 auto;
 width:var(--action-cell);height:auto;min-height:0;border:0;border-left:1px solid var(--accent);
 background:var(--accent) var(--action-arrow) center/30px 24px no-repeat;
 transform:none;pointer-events:none;
 transition:background-color var(--action-motion),background-position var(--action-motion),border-color var(--action-motion);
}
:is(.btn,.tier__choose)>.link-arrow,:is(.btn,.tier__choose)>.arr{display:none}
.tier__choose{width:100%}
/* Quieter back/secondary actions have no competing gold cell. */
:is(.btn.btn--ghost,.studio-submission .tn-nav .btn--ghost){
 display:inline-flex;align-items:center;justify-content:flex-start;min-width:44px;min-height:44px;
 padding:10px 0;gap:12px;border:0;border-radius:0;background:transparent;color:var(--text-dim);
 font:400 17px/1.3 var(--font-display);letter-spacing:0;text-transform:none;text-align:left;
 box-shadow:none;transform:none;transition:color var(--action-motion);touch-action:manipulation;
}
:is(.btn.btn--ghost,.studio-submission .tn-nav .btn--ghost)::before,
:is(.btn.btn--ghost,.studio-submission .tn-nav .btn--ghost)::after{display:none;content:none}
/* Motion changes only paint, never button width or neighbouring layout. */
@media(hover:hover) and (pointer:fine){
 :is(.btn,.tier__choose,.studio-contact .drawer__send,.studio-submission .tn-nav .btn):not(.btn--ghost):not(:disabled):hover{background:rgba(201,164,92,.05);border-color:var(--accent-bright);color:var(--text);transform:none}
 :is(.btn,.tier__choose,.studio-contact .drawer__send,.studio-submission .tn-nav .btn):not(.btn--ghost):not(:disabled):hover::after{background-color:var(--accent-bright);background-position:calc(50% + 3px) center;border-color:var(--accent-bright);transform:none}
 :is(.btn.btn--ghost,.studio-submission .tn-nav .btn--ghost):not(:disabled):hover{background:transparent;color:var(--accent-bright);transform:none}
}
:is(.btn,.tier__choose,.studio-contact .drawer__send,.studio-submission .tn-nav .btn):not(.btn--ghost):not(:disabled):active{background:rgba(201,164,92,.12);color:var(--text);border-color:var(--accent-bright);transform:none}
:is(.btn,.tier__choose,.studio-contact .drawer__send,.studio-submission .tn-nav .btn):not(.btn--ghost):not(:disabled):active::after{background-color:var(--accent-bright);transform:none}
:is(.btn,.tier__choose,.studio-contact .drawer__send,.studio-submission .tn-nav .btn):disabled{opacity:.45;cursor:default;transform:none}
/* Label-based sending states keep their cell and dimensions. */
.studio-contact .drawer__send,#tn-submit{--action-min-width:min(240px,100%)}
:is(.btn,.tier__choose)[aria-busy=true]{cursor:wait}

/* Editorial supporting links, including sample/report downloads. */
:is(.cta-link,.studio-work__spotify,.studio-report-preview__link){
 display:inline-flex;align-items:center;gap:14px;min-width:44px;min-height:44px;max-width:100%;
 padding:9px 0;border:0;border-bottom:1px solid var(--accent);background:transparent;
 font:400 17px/1.4 var(--font-display);letter-spacing:0;text-transform:none;color:var(--accent);
 text-decoration:none;transition:color var(--action-motion),border-color var(--action-motion);
}
:is(.cta-link,.studio-work__spotify,.studio-report-preview__link) svg{transition:transform var(--action-motion)}
.dl-btn{transition:border-color var(--action-motion),background-color var(--action-motion)}
.dl-btn__title{font:400 clamp(19px,2vw,22px)/1.2 var(--font-display);letter-spacing:-.01em}
.dl-btn__arrow svg,.tier__sample-arrow svg{transition:transform var(--action-motion)}
.tier__sample{min-height:52px;transition:border-color var(--action-motion),background-color var(--action-motion)}
.tier__sample-label{font:400 16px/1.3 var(--font-display)}
@media(hover:hover) and (pointer:fine){
 :is(.cta-link,.studio-work__spotify,.studio-report-preview__link):hover{gap:14px;color:var(--text);border-color:var(--accent-bright)}
 :is(.cta-link,.studio-report-preview__link):hover svg{transform:translateX(3px)}
 .studio-work__spotify:hover svg{transform:translate(2px,-2px)}
 .dl-btn:hover,.tier__sample:hover{background:var(--bg-2);border-color:var(--accent-bright)}
 .dl-btn:hover .dl-btn__arrow svg,.tier__sample:hover .tier__sample-arrow svg{transform:translateY(3px)}
}
/* Transport buttons keep the familiar audio/video meaning. */
.work-play,.studio-listening .bap__play{
 width:56px;height:56px;min-width:56px;min-height:56px;border:1px solid var(--accent);border-radius:50%;
 background:var(--accent);color:var(--accent-ink);box-shadow:none;
 transition:background-color var(--action-motion),border-color var(--action-motion),color var(--action-motion);transform:none;
}
.studio-listening .bap__play.is-playing{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.studio-listening .bap__play.is-playing svg{animation:none}
.vimeo-item__play-icon{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transition:background-color var(--action-motion),border-color var(--action-motion);transform:none}
.work-record__action{transition:background-color var(--action-motion),border-color var(--action-motion),color var(--action-motion)}
.work-record.is-selected .work-record__action{background:var(--accent);color:var(--accent-ink)}
@media(hover:hover) and (pointer:fine){
 .work-play:not(:disabled):hover,.studio-listening .bap__play:hover,.studio-listening .bap__play.is-playing:hover,.vimeo-item:hover .vimeo-item__play-icon{background:var(--accent-bright);border-color:var(--accent-bright);color:var(--accent-ink);transform:none}
}
.work-play:active,.studio-listening .bap__play:active{background:var(--accent-bright);transform:none}
.work-play:disabled{opacity:.45;cursor:default}

/* Small controls use the same face and reliable touch sizing. */
:is(.studio-listening .bap__ab,.tier__toggle-btn,.studio-submission .tn-track-toggle button){
 min-height:44px;min-width:44px;font:400 16px/1.3 var(--font-display);letter-spacing:0;text-transform:none;
 padding:10px 14px;background:transparent;color:var(--text-dim);
 transition:background-color var(--action-motion),color var(--action-motion),border-color var(--action-motion);
}
.tier .tier__toggle .tier__toggle-btn{font-size:15px;padding:8px 12px}
.tier__toggle-btn span{font:400 11px/1.4 var(--font-body);letter-spacing:0;text-transform:none}
:is(.studio-listening .bap__ab,.tier__toggle-btn,.studio-submission .tn-track-toggle button).is-active{background:var(--accent);color:var(--accent-ink);font-weight:400}
.tier__toggle-btn.is-active span{color:var(--accent-ink);opacity:1}
.tier__crown{min-height:52px}
.studio-contact .stepper button,.stepper button{min-width:44px;min-height:44px;font-family:var(--font-display);transition:color var(--action-motion),background-color var(--action-motion)}
@media(hover:hover) and (pointer:fine){
 :is(.studio-listening .bap__ab,.tier__toggle-btn,.studio-submission .tn-track-toggle button):not(.is-active):not(:disabled):hover{background:rgba(201,164,92,.08);color:var(--text)}
}
.faq-btn{min-height:44px;transition:color var(--action-motion)}
.studio-service-item summary{transition:color var(--action-motion)}
/* Neutralise legacy hover-only rules on touch devices. Selected states remain. */
@media(hover:none){
 :is(.cta-link,.studio-work__spotify,.studio-report-preview__link):hover{gap:14px;color:var(--accent);border-color:var(--accent)}
 :is(.cta-link,.studio-work__spotify,.studio-report-preview__link):hover svg{transform:none}
 .work-play:not(:disabled):hover,.studio-listening .bap__play:hover,.studio-listening .bap__play.is-playing:hover,.vimeo-item:hover .vimeo-item__play-icon{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:none}
 :is(.studio-listening .bap__ab,.tier__toggle-btn,.studio-submission .tn-track-toggle button):not(.is-active):hover{background:transparent;color:var(--text-dim)}
 .stepper button:not(:disabled):hover{background:transparent;color:var(--text-dim)}
 .studio-contact .stepper button:not(:disabled):hover{color:var(--accent)}
 .faq-btn:hover{color:var(--text)}
}
/* Shared keyboard treatment. Existing navigation remains independent. */
:is(.btn,.tier__choose,.cta-link,.studio-work__spotify,.studio-report-preview__link,.dl-btn,.tier__sample,.work-play,.studio-listening .bap__play,.vimeo-item__play,.work-record,.studio-listening .bap__ab,.tier__toggle-btn,.tn-track-toggle button,.faq-btn,.studio-service-item summary,.stepper button):focus-visible{outline:2px solid var(--accent-bright);outline-offset:4px}
@media(prefers-reduced-motion:reduce){
 :is(.btn,.tier__choose,.cta-link,.studio-work__spotify,.studio-report-preview__link,.dl-btn,.tier__sample,.work-play,.studio-listening .bap__play,.vimeo-item__play-icon,.work-record__action,.studio-listening .bap__ab,.tier__toggle-btn,.tn-track-toggle button,.faq-btn,.studio-service-item summary,.stepper button),
 :is(.btn,.tier__choose)::after,
 :is(.cta-link,.studio-work__spotify,.studio-report-preview__link,.dl-btn,.tier__sample) svg{transition:none!important;animation:none!important}
 :is(.btn,.tier__choose):not(.btn--ghost):hover::after{background-position:center!important}
 :is(.cta-link,.studio-work__spotify,.studio-report-preview__link,.dl-btn,.tier__sample):hover svg{transform:none!important}
}
