/* V44 — neutral surfaces, Midnight Violet accents, Sage only on dark surfaces. */
:root {
  --violet:#261732;
  --sage:#aea989;
  --oxblood:var(--violet);
  --brass:var(--violet);
  --on-brass:var(--paper);
  --studio-key:var(--violet);
  --studio-key-text:var(--violet);
  --studio-tint:var(--violet);
  --accent:var(--violet);
  --accent-sage:var(--violet);
  --accent-sand:var(--violet);
  --accent-ink:var(--paper);
  --line:#26173230;
  --title-accent:var(--violet);
  --studio-hover-cursor:url('/assets/brand/cursor-9042-hover.svg?v=44');
}
::selection {background:var(--violet);color:white}
/* A dark violet cannot be read against black. Keep the supporting ink local. */
body.ink,.menu,.footer,.home-services,.home-inquiry,.studio-team,.header.over-dark,
.svc-deliverables,
.svc-page :is(.identity-symbol,.identity-compact,.svc-type-poster,.svc-identity-system,.coming-scene,.project-modes,.svc-team-band,.svc-cta,.svc-web-visual,.svc-responsive-study,.content-direction-board,.svc-duo,.svc-duo--food) {
  --brass:var(--sage);
  --on-brass:var(--ink-black);
  --title-accent:var(--sage);
  --studio-key:var(--sage);--studio-key-text:var(--sage);--studio-tint:var(--sage);
  --accent:var(--sage);--accent-sage:var(--sage);--accent-ink:var(--ink-black);
  --studio-hover-cursor:url('/assets/brand/cursor-9042-hover-sage.svg?v=44');
}
.light-panel,.identity-wordmark,.identity-wide,.svc-screen,.svc-message-flow,.service-dropdown,.image-viewer {
  --brass:var(--violet);--on-brass:var(--paper);--title-accent:var(--violet);
  --studio-key:var(--violet);--studio-key-text:var(--violet);--studio-tint:var(--violet);
  --accent:var(--violet);--accent-sage:var(--violet);--accent-ink:var(--paper);
  --studio-hover-cursor:url('/assets/brand/cursor-9042-hover.svg?v=44');
}
/* Punctuation must retain the parent's type metrics, even inside split titles. */
:is(h1,h2,h3,h4,h5,h6,[data-title]) span.title-stop {
  display:inline!important;font:inherit!important;letter-spacing:inherit!important;
  margin:0!important;color:var(--title-accent)!important;
}
.studio-home .signal-title h1,.studio-home .portfolio-index h2 {color:var(--ink-black)}
.desk-no {background:var(--violet)}
.quick-actions .quick-contact {background:var(--ink-black);color:var(--paper)}
.proof-inks::before {background:var(--ink-black)}
.proof-inks::after {background:var(--violet)}
body .pill:is(:hover,:focus-visible),body .quick-actions a:is(:hover,:focus-visible),
body .quick-actions .quick-contact:is(:hover,:focus-visible) {
  background:var(--brass);border-color:var(--brass);color:var(--on-brass);
}
.studio-home .home-inquiry {background:var(--violet);color:var(--paper)}
.studio-home .home-inquiry>a:is(:hover,:focus-visible) {color:var(--sage)}
.svc-page :is(.identity-symbol,.identity-compact,.svc-type-poster,.svc-identity-system,.coming-scene,.project-modes,.svc-team-band,.svc-cta,.svc-web-visual,.svc-responsive-study) {
  background:var(--ink-black);color:var(--paper);--muted:#d0cecf;--line:#ffffff50;
}
.svc-page :is(.identity-symbol,.identity-compact,.svc-type-poster,.svc-team-band)>img {filter:invert(1)}
.svc-page .identity-wide {color:var(--ink-black)}
.svc-page .identity-colors>span:nth-child(2) {background:var(--violet);color:var(--paper)}
.svc-page .identity-colors>span:nth-child(3) {background:var(--sage);color:var(--ink-black)}
.svc-page .identity-colors>span:nth-child(2)::before {display:none}
.svc-page .svc-cta .pill {color:inherit;border-color:currentColor}
.svc-page .svc-cta .pill:is(:hover,:focus-visible) {color:var(--ink-black)}
.svc-page .svc-type-poster :is(p,small),.svc-page .svc-team-band p {color:inherit}
.svc-page .svc-message-flow {color:var(--ink-black)}
@media(hover:hover) and (pointer:fine) {
  body :is(a,button,summary,label,[role="button"],[data-zoom]):hover,
  body :is(a,button,summary,label,[role="button"],[data-zoom]):hover * {
    cursor:var(--studio-hover-cursor) 8 5,pointer!important;
  }
  body :is(input[type="checkbox"],input[type="radio"],input[type="submit"],input[type="button"],select):is(:hover,:focus) {
    cursor:var(--studio-hover-cursor) 8 5,pointer!important;
  }
  body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),textarea,[contenteditable="true"]),
  body [contenteditable="true"] * {cursor:text!important}
  body :disabled,body [aria-disabled="true"] {cursor:not-allowed!important}
}
/* Introduction → process → a single portfolio section. */
.content-v44 .svc-hero {padding-bottom:clamp(36px,5vw,78px)}
.content-v44 .content-approach {padding-top:0;padding-bottom:clamp(72px,9vw,144px);align-items:center;gap:clamp(28px,7vw,112px)}
.content-v44 .content-approach .svc-section-heading {margin:0}
.content-v44 .content-direction-board {
  min-height:420px;padding:clamp(26px,3.5vw,56px);gap:28px;
  background:var(--violet);color:var(--paper);--title-accent:var(--sage);
}
.content-v44 .content-direction-board>.eyebrow {font:500 11px/1.4 var(--studio-type);letter-spacing:.04em}
.content-v44 .content-direction-board h3 {font:550 clamp(30px,3.2vw,58px)/1.05 var(--studio-type);letter-spacing:-.04em;margin:0}
.content-v44 .direction-questions {display:grid;gap:0}
.content-v44 .direction-questions p {display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 0;margin:0;font-size:15px;border-bottom:1px solid #ffffff40}
.content-v44 .direction-questions small {font:500 10px/1.5 var(--studio-type);letter-spacing:.05em;color:#d4cfd8}
.content-v44 .content-process {padding-block:clamp(64px,7vw,112px);border-block:1px solid var(--line);background:var(--paper)}
.content-v44 .content-process .svc-section-heading {max-width:none;margin-bottom:48px}
.content-v44 .content-process ol {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px;counter-reset:none}
.content-v44 .content-process li {display:block;padding:22px 0 0;min-width:0;border-top:1px solid var(--line)}
.content-v44 .content-process .process-number {display:block;color:var(--violet);font:550 12px/1.2 var(--studio-type);margin-bottom:22px}
.content-v44 .content-process h3 {font:600 clamp(20px,1.8vw,28px)/1.3 var(--studio-type);letter-spacing:-.04em;margin:0 0 12px}
.content-v44 .content-process li p {margin:0;font-size:14px;line-height:1.65;color:#5b575e;word-break:keep-all}
.content-v44 .content-process .scope-note {margin:32px 0 0;font-size:12px;color:#68636b}
.content-v44 .content-channel {padding-block:clamp(72px,9vw,144px)}
.content-v44 .channel-heading {align-items:end;gap:28px;margin-bottom:34px}
.content-v44 .channel-heading h2 {font-size:clamp(30px,4vw,64px);margin:16px 0;letter-spacing:-.055em}
.content-v44 .channel-heading p {max-width:35em}
.content-v44 .channel-films {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.content-v44 .channel-film,.content-v44 .channel-film:first-child {grid-row:auto;grid-column:auto;min-width:0}
.content-v44 .film-thumb,.content-v44 .channel-film:first-child .film-thumb {aspect-ratio:16/9;min-height:0}
.content-v44 .film-thumb img {height:100%;width:100%;object-fit:cover}
.content-v44 .channel-film h3,.content-v44 .channel-film:first-child h3 {font-size:clamp(18px,1.45vw,24px);line-height:1.5;margin:12px 0 18px;word-break:keep-all}
.content-v44 .channel-film .film-index {margin-top:16px;color:var(--violet)}
.content-v44 .channel-scope {margin-top:32px;font-size:12px;line-height:1.6}
.content-v44 .svc-faq {padding-top:0}
@media(max-width:1000px) {
  .content-v44 .content-process ol {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px) {
  .content-v44 .content-approach {gap:32px;padding-bottom:64px}
  .content-v44 .content-direction-board {min-height:330px;padding:26px;gap:24px}
  .content-v44 .content-direction-board h3 {font-size:clamp(29px,8.3vw,45px)}
  .content-v44 .direction-questions p {font-size:13px;padding:12px 0;gap:12px}
  .content-v44 .direction-questions small {font-size:9px}
  .content-v44 .content-process {padding-block:58px}
  .content-v44 .content-process .svc-section-heading {margin-bottom:26px}
  .content-v44 .content-process ol {grid-template-columns:1fr;gap:0}
  .content-v44 .content-process li {display:grid;grid-template-columns:27px minmax(0,1fr);gap:8px 14px;padding:22px 0}
  .content-v44 .content-process .process-number {grid-column:1;grid-row:1/3;margin:4px 0 0}
  .content-v44 .content-process h3 {grid-column:2;margin:0;font-size:21px}
  .content-v44 .content-process li p {grid-column:2;font-size:13px;line-height:1.7}
  .content-v44 .content-process .scope-note {margin-top:12px}
  .content-v44 .channel-heading {display:flex;flex-direction:column;align-items:start;gap:18px}
  .content-v44 .channel-heading h2 {font-size:clamp(27px,7.8vw,42px)}
  .content-v44 .channel-films {grid-template-columns:1fr;gap:36px}
  .content-v44 .channel-film h3,.content-v44 .channel-film:first-child h3 {font-size:20px;margin-block:10px 14px}
  .content-v44 .content-channel {padding-block:64px}
}

/* V46 — compact monoline icons, quiet rules, no ornamental animation. */
.content-v44 .process-illustrated .svc-section-heading {display:block}
.content-v44 .process-illustrated .svc-section-heading h2 {margin-top:18px}
.content-v44 .process-illustrated ol {gap:36px 40px}
.content-v44 .process-illustrated li {display:block;padding:24px 0 0;border-top:1px solid var(--line)}
.content-v44 .process-step-top {display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;color:var(--violet)}
.content-v44 .process-art {display:block;width:56px;height:56px;flex:0 0 auto}
.content-v44 .process-illustrated .process-number {display:block;margin:0;font:500 11px/1.4 var(--studio-type);letter-spacing:.03em;color:#746d79}
.content-v44 .process-illustrated h3 {margin:0 0 10px}
.content-v44 .process-illustrated li p {max-width:none}
@media(max-width:700px) {
  .content-v44 .process-illustrated .svc-section-heading {margin-bottom:32px}
  .content-v44 .process-illustrated ol {gap:28px}
  .content-v44 .process-illustrated li {display:block;padding:20px 0 0}
  .content-v44 .process-step-top {margin-bottom:16px}
  .content-v44 .process-art {width:44px;height:44px}
  .content-v44 .process-illustrated h3 {font-size:21px;margin:0 0 8px}
  .content-v44 .process-illustrated li p {font-size:13px;letter-spacing:-.015em}
  .content-v44 .process-illustrated .scope-note {margin-top:28px}
}

/* V47 — Content's introduction / process / portfolio rhythm across services. */
.service-editorial .content-approach {display:grid;grid-template-columns:1fr 1fr}
.service-editorial .content-direction-board {display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.service-editorial .service-scope-pair {grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,7vw,112px)}
.service-scope-pair article {border-top:1px solid var(--line);padding-top:26px}
.service-scope-pair h3 {font-size:clamp(22px,2.3vw,34px);line-height:1.4;margin:16px 0 12px;letter-spacing:-.04em}
.service-scope-pair p {font-size:15px;line-height:1.9;max-width:37em;color:var(--muted)}
.service-editorial .service-portfolio {padding-block:clamp(72px,9vw,144px);max-width:2000px;margin:auto}
.service-editorial .service-portfolio>.svc-section-heading {margin-bottom:42px;max-width:750px}
.service-source-note {font-size:12px;line-height:1.8;color:var(--muted);margin-top:32px}
.service-editorial .brand-example-grid {gap:44px 30px}
.service-editorial .brand-thumb {height:auto;aspect-ratio:1.7;background:#fff;overflow:hidden}
.service-editorial .brand-example h3 {margin-block:14px 10px}
.service-editorial .brand-example>p {font-size:14px;line-height:1.8}
.service-project-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 26px;margin-bottom:42px}
.service-project {min-width:0;display:block}
.service-project-image {aspect-ratio:1;overflow:hidden;background:#fff}
.service-project-image img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.service-project-caption {display:flex;justify-content:space-between;gap:18px;padding-top:18px;border-bottom:1px solid var(--line);padding-bottom:20px}
.service-project-caption h3 {font-size:21px;line-height:1.4;margin:0 0 4px}
.service-project-caption p {font-size:15px;line-height:1.6;margin:0}
.service-project-caption small {display:block;font-size:11px;color:var(--muted);margin-top:12px}
.service-project-caption>span {font-size:23px;color:var(--violet)}
.service-project:is(:hover,:focus-visible) .service-project-image img {transform:scale(1.025)}
.service-project:is(:hover,:focus-visible) h3 {text-decoration:underline;text-underline-offset:.2em}
.service-editorial .edition-panel {margin-top:0}
.service-editorial .edition-panel-line {border-top:1px solid var(--line)}
.service-alternative-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin-bottom:38px}
.service-alternative-grid a {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-top:1px solid var(--line)}
.service-alternative-grid small {display:block;font-size:12px;color:var(--muted);margin-bottom:10px}
.service-alternative-grid strong {font-size:28px;line-height:1.4;font-weight:500}
.service-alternative-grid a>span:last-child {font-size:26px;color:var(--violet)}
.service-alternative-grid a:is(:hover,:focus-visible) strong {text-decoration:underline;text-underline-offset:.2em}
.preparing-signal {display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--sage);margin-right:8px}
@media(prefers-reduced-motion:no-preference){.preparing-signal{animation:preparing-signal 3s ease-in-out infinite}@keyframes preparing-signal{50%{opacity:.4}}}
@media(max-width:1000px){.service-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .service-editorial .content-approach {grid-template-columns:1fr}
 .service-editorial .service-scope-pair {grid-template-columns:1fr;gap:28px;margin-top:8px}
 .service-scope-pair article {padding-top:22px}
 .service-scope-pair h3 {font-size:23px}
 .service-scope-pair p {font-size:14px}
 .service-editorial .service-portfolio {padding-block:64px}
 .service-editorial .service-portfolio>.svc-section-heading {margin-bottom:30px}
 .service-editorial .brand-example-grid {gap:34px}
 .service-project-grid {grid-template-columns:1fr;gap:32px}
 .service-project-caption {padding-top:16px}
 .service-project-caption h3 {font-size:21px}
 .service-alternative-grid {grid-template-columns:1fr}
 .service-alternative-grid a {padding:24px 0}
 .service-alternative-grid strong {font-size:25px}
}
