@font-face {
    font-family: 'SWS Cormorant';
    src: url('../assets/one-music/fonts/cormorant-garamond-400.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'SWS Suite Icons';
    src: url('../assets/one-music/fonts/fontawesome-webfont.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

/* Shared paper-and-ink system; the selected Services folio retains its own layout. */
body.sws-site--suite {
    --sws-dark: #0b0b0b;
    --sws-text: #191916;
    --sws-muted: #6d685f;
    --sws-line: #cec7ba;
    --suite-ink: #0b0b0b;
    --suite-paper: #f3efe6;
    --suite-accent: #c81754;
    --suite-brass: #a67c45;
    --suite-ash: #b8b1a4;
    background: var(--suite-paper);
    color: var(--sws-text);
}
.sws-site--suite .sws-header { position: relative; height: 86px; background: #f3efe6; border-bottom: 1px solid #cdc7bb; }
.sws-site--suite .sws-header__inner { height: 86px; width: 100%; margin: 0; padding: 0 36px; gap: 26px; border: 0; border-radius: 0; }
.sws-site--suite .sws-brand { color: #161613; }
.sws-site--suite .sws-brand__text { font-size: 16px; letter-spacing: 2.7px; }
.sws-site--suite .sws-nav { position: static; display: flex; flex-direction: row; align-items: center; width: auto; margin-left: auto; gap: 25px; padding: 0; background: none; border: 0; border-radius: 0; backdrop-filter: none; }
.sws-site--suite .sws-nav .sws-nav__link { min-height: 44px; align-self: center; color: #24231e; font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; white-space: nowrap; }
.sws-site--suite .sws-nav .sws-nav__link:hover,
.sws-site--suite .sws-nav .sws-nav__link--active { color: #c81754; }
.sws-site--suite .sws-nav__link--active::after { bottom: 0; height: 2px; }
.sws-site--suite .sws-header-actions { order: 3; margin: 0; }
.sws-site--suite .sws-menu-toggle { display: none; }
.sws-site--suite :is(.sws-header-user, .sws-notification, .sws-admin-link) { color: #24231e; background: transparent; border-color: #878176; box-shadow: none; }
.sws-site--suite .sws-nav .sws-admin-link { width: 38px; min-height: 38px; padding: 0; justify-content: center; border-radius: 50%; color: #24231e; background: transparent; }
.sws-site--suite .sws-nav .sws-admin-link:hover,
.sws-site--suite .sws-nav .sws-admin-link--active { color: #c81754; border-color: #c81754; }
.sws-site--suite .sws-admin-link > span { display: none; }
.sws-site--suite .sws-header-user__avatar { background: #ded8cc; color: #201f1b; }
.sws-site--suite .sws-flash-region { position: relative; inset: auto; }
.sws-site--suite .sws-flash-region:has(.message) { padding-top: 16px; }
.sws-site--suite .message { border-width: 1px 0; border-radius: 0; box-shadow: none; background: transparent; }
.sws-site--suite .sws-sonar-page { background: #f3efe6; color: #191916; }
.sws-site--suite :is(h1, h2, h3) { font-family: 'SWS Cormorant', Georgia, serif; font-weight: 400; letter-spacing: -.7px; }
.sws-site--suite h1 { font-size: clamp(44px, 4.5vw, 68px); line-height: 1.05; font-variant-caps: small-caps; }
.sws-site--suite .sws-admin-suite .sws-admin-title,
.sws-site--suite .sws-project-console h1,
.sws-site--suite .sws-project-ledger h1 { font-variant-caps: small-caps; }
.sws-site--suite h2 { font-size: 34px; line-height: 1.1; }
.sws-site--suite h3 { font-size: 25px; line-height: 1.2; }
.sws-site--suite :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid #c81754; outline-offset: 4px; }
.sws-site--suite :is(.sws-label, .sws-admin-eyebrow) { color: #4d493f; text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: 1.3px; }
.sws-site--suite .sws-input { background: transparent; color: #171715; border: 1px solid #aaa293; border-radius: 2px; box-shadow: none; min-height: 46px; padding: 11px 13px; font-size: 14px; line-height: 1.5; }
.sws-site--suite .sws-input:focus { border-color: #c81754; background: #f8f5ee; box-shadow: 0 1px 0 #c81754; }
.sws-site--suite .sws-input:disabled { color: #7b766b; background: #e7e1d7; }
.sws-site--suite textarea.sws-input { min-height: 110px; resize: vertical; }
.sws-site--suite :is(.sws-workspace-action, .sws-button, .sws-submit, .sws-submit-button, .sws-primary-action) { background: #c81754; color: #fff9ed; border: 1px solid #c81754; border-radius: 2px; min-height: 44px; padding: 12px 22px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.3px; box-shadow: none; text-decoration: none; transition: background 180ms ease, transform 180ms ease; }
.sws-site--suite :is(.sws-workspace-action, .sws-button, .sws-submit, .sws-submit-button, .sws-primary-action):hover { background: #a90f45; border-color: #a90f45; transform: translateY(-1px); }
.sws-site--suite :is(.sws-secondary-action, .sws-button--secondary) { min-height: 44px; color: #24211d; background: transparent; border: 1px solid #8a8378; border-radius: 2px; padding: 11px 20px; box-shadow: none; text-decoration: none; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.sws-site--suite .sws-danger-action { color: #b81449; background: none; border-radius: 0; box-shadow: none; }
.sws-site--suite .error-message { color: #b31347; font-size: 12px; margin-top: 7px; }
.sws-site--suite .sws-footer { background: #f3efe6; color: #6c665c; border-top: 1px solid #cec7ba; }
.sws-site--suite .sws-footer__content { padding-block: 24px; }
.sws-site--suite .sws-footer__brand { color: #24211d; }
.sws-site--suite :is(.sws-footer__copyright, .sws-footer__detail) { color: #6c665c; }
.sws-suite-icon { font-family: 'SWS Suite Icons'; font-style: normal; font-weight: normal; }
.sws-suite-icon--right::before { content: '\f178'; }
.sws-suite-icon--left::before { content: '\f177'; }
.sws-suite-icon--close::before { content: '\f00d'; }

/* Existing service admin forms share the suite's paper drawer treatment. */
:is(.sws-site--suite, .sws-site--sonar-services) .sws-modal { color: #191916; background: #f3efe6; border: 1px solid #a9a194; border-radius: 3px; box-shadow: 0 24px 80px #0005; }
:is(.sws-site--suite, .sws-site--sonar-services) .sws-modal::backdrop { background: #0b0b0b99; backdrop-filter: none; }
:is(.sws-site--suite, .sws-site--sonar-services) .sws-modal__shell { background: #f3efe6; border-radius: 0; }
:is(.sws-site--suite, .sws-site--sonar-services) .sws-modal__header { background: #f3efe6; color: var(--suite-ink, #0b0b0b); border-bottom: 1px solid #cec7ba; }
:is(.sws-site--suite, .sws-site--sonar-services) .sws-modal__header h2 { color: var(--suite-ink, #0b0b0b); font-family: 'SWS Cormorant', Georgia, serif; font-weight: 400; }
:is(.sws-site--suite, .sws-site--sonar-services) .sws-modal__close { color: var(--suite-ink, #0b0b0b); border-color: #a9a194; }
.sws-site--sonar-services .sws-modal { position: fixed; inset: 0 0 0 auto; margin: 0 0 0 auto; width: min(640px, 100%); max-width: 100%; height: 100svh; max-height: 100svh; border-radius: 0; border-width: 0 0 0 1px; }
.sws-site--sonar-services .sws-modal[open] { animation: sws-suite-drawer-enter 240ms cubic-bezier(.2,.7,.2,1); }
.sws-site--sonar-services .sws-modal__shell { min-height: 100%; max-height: none; }
.sws-site--sonar-services .sws-modal__header { position: sticky; top: 0; z-index: 2; }
.sws-site--sonar-services .sws-modal { --suite-ink: #0b0b0b; --suite-paper: #f3efe6; background: var(--suite-paper); color: var(--suite-ink); }
.sws-site--sonar-services .sws-modal .sws-input { background: transparent; color: var(--suite-ink); border: 1px solid #a69e91; border-radius: 1px; box-shadow: none; min-height: 46px; padding: 10px 12px; font: 400 21px/1.45 'SWS Cormorant', Georgia, serif; }
.sws-site--sonar-services .sws-modal .sws-input:focus { outline: 0; border-color: #c81754; box-shadow: inset 0 -1px #c81754; }
.sws-site--sonar-services .sws-modal textarea.sws-input { min-height: 112px; resize: vertical; }
.sws-site--sonar-services .sws-modal :is(.sws-label, .sws-admin-eyebrow) { display: block; color: #4d493f; font: 600 12px/1.5 Raleway, sans-serif; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.sws-site--sonar-services .sws-modal .sws-admin-eyebrow { color: #c81754; }
.sws-site--sonar-services .sws-modal :is(.sws-workspace-action, .sws-secondary-action, .sws-file-picker__button) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 1px; padding: 11px 22px; border: 1px solid #938a7b; color: #24211d; background: transparent; box-shadow: none; font: 600 12px/1.5 Raleway, sans-serif; text-transform: uppercase; letter-spacing: .08em; text-decoration: none; }
.sws-site--sonar-services .sws-modal .sws-workspace-action { background: #c81754; color: #fff9ed; border-color: #c81754; }
.sws-site--sonar-services .sws-modal .sws-workspace-action:hover { background: #a90f45; border-color: #a90f45; transform: none; }
.sws-site--sonar-services .sws-modal :is(.sws-secondary-action, .sws-file-picker__button):hover { background: #e7e0d4; transform: none; }
.sws-site--sonar-services .sws-modal .sws-modal__close { width: 44px; height: 44px; border: 0; border-radius: 0; color: var(--suite-ink); background: transparent; }
.sws-site--sonar-services .sws-modal .sws-modal__actions { background: transparent; border-top: 1px solid #cec7ba; }
.sws-site--sonar-services .sws-modal .sws-service-image-preview { display: block; width: 180px; height: 120px; max-width: 100%; object-fit: cover; border: 1px solid #cec7ba; border-radius: 1px; margin: 5px 0 12px; }
.sws-site--sonar-services .sws-modal .sws-file-picker { border-radius: 1px; background: transparent; }
.sws-site--sonar-services .sws-modal .sws-file-picker__name { color: #625c52; font: 400 16px/1.5 'SWS Cormorant', Georgia, serif; }
.sws-site--sonar-services .sws-modal .sws-service-danger-zone { background: transparent; border: 0; border-top: 1px solid #cec7ba; border-radius: 0; padding: 24px 0 0; }
.sws-site--sonar-services .sws-modal .sws-service-danger-zone strong { color: #8d163c; font: 600 12px/1.5 Raleway, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.sws-site--sonar-services .sws-modal .sws-service-danger-zone p { color: #625c52; font: 400 17px/1.5 'SWS Cormorant', Georgia, serif; }
.sws-site--sonar-services .sws-modal .sws-danger-action { display: inline-flex; align-items: center; min-height: 44px; color: #a90f45; background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 10px 0; font: 600 12px/1.5 Raleway, sans-serif; text-transform: uppercase; letter-spacing: .05em; }
.sws-site--sonar-services .sws-modal :is(button, a, input, select, textarea, .sws-file-picker__button):focus-visible { outline: 2px solid #c81754; outline-offset: 4px; }
@keyframes sws-suite-drawer-enter { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }

@media (max-width: 1240px) {
    .sws-site--suite .sws-header,
    .sws-site--suite .sws-header__inner { height: 76px; }
    .sws-site--suite .sws-header__inner { padding-inline: 24px; gap: 16px; }
    .sws-site--suite .sws-brand__text { font-size: 14px; letter-spacing: 2px; }
    .sws-site--suite .sws-header-actions { margin-left: auto; }
    .sws-site--suite .sws-menu-toggle { display: flex; border-color: #8f877a; }
    .sws-site--suite .sws-menu-toggle__line { background: #1a1915; }
    .sws-site--suite .sws-nav { display: none; position: absolute; inset: 76px 0 auto; width: 100%; flex-direction: column; gap: 8px; align-items: stretch; padding: 16px 24px 24px; margin: 0; background: #f3efe6; border-bottom: 1px solid #c8c0b1; }
    .sws-site--suite .sws-nav.sws-nav--open { display: flex; }
    .sws-site--suite .sws-nav .sws-nav__link { align-self: stretch; }
    .sws-site--suite .sws-nav__link--active::after { display: none; }
}
@media (max-width: 640px) {
    .sws-site--suite .sws-header__inner { padding-inline: 18px; }
    .sws-site--suite .sws-brand { gap: 11px; }
    .sws-site--suite .sws-brand__text { font-size: 11px; letter-spacing: 1.5px; }
    .sws-site--suite .sws-brand__mark { transform: scale(.8); width: 33px; transform-origin: left center; }
    .sws-site--suite .sws-header-user__name { display: none; }
    .sws-site--suite .sws-footer__details { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
    .sws-site--suite *, .sws-site--suite *::before, .sws-site--suite *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
    .sws-site--sonar-services .sws-modal[open] { animation: none; }
}
