/* The transmission: one editorial rail, one working desk, the original closing CRT.
   Source geometry, artwork, type families and the magenta master colour stay intact. */
#main .growth-routes a {min-height:44px;}
#main .source-agency .studio-hero {
  min-height:0!important;
  padding-block:clamp(32px,4vw,58px)!important;
}
#main .source-agency .studio-hero > .container {
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  grid-template-areas:'badge scene' 'headline scene' 'description scene' 'actions scene';
  gap:22px clamp(28px,4vw,60px);
  align-items:center;
}
#main .source-agency .studio-hero .hero-subtitle {
  font-size:clamp(3.5rem,5.8vw,5.5rem);
  line-height:1.01;
  letter-spacing:-.045em;
}
#main .source-agency .studio-hero .hero-subtitle span {
  display:block; margin-top:3px; color:#c6bdd2;
  font:inherit; font-weight:450; letter-spacing:inherit;
}
#main .source-agency .hero-description .studio-offer {
  margin-bottom:14px;
  color:#f2eff4;
  font-size:clamp(20px,2vw,26px);
  font-weight:500;
  line-height:1.45;
}
#main .source-agency .hero-description p:not(.studio-offer) { font-size:16px; line-height:1.65; }
#main .source-agency .studio-hero .studio-scene { min-height:420px; padding-bottom:28px; align-self:center; }
#main .source-agency .studio-hero .cta-primary { color:#11070f; background:#ff0080; border-color:#ff0080; }
#main .source-agency .studio-hero .cta-secondary { border-color:transparent; background:transparent; color:#cdc7d4; }
#main .source-agency .studio-hero .cta-secondary:hover { border-color:#ffffff35; background:#ffffff05; }
.brand-lockup { display:inline-flex; align-items:center; gap:10px; min-width:0; }
.brand-lockup .wordmark-text { font-size:18px; font-weight:600; letter-spacing:.015em; }
.wordmark .ms-emblem { width:38px; height:38px; filter:none; transition:transform .2s ease; transform-origin:center; }
.footer-mark .brand-lockup { gap:12px; }
.footer-mark .ms-emblem { width:46px; height:46px; }
.footer-mark .wordmark-text { font-size:24px; letter-spacing:.005em; }
.wordmark:active .ms-emblem { transform:scale(.94); }

#main > .contact-opening { padding-block:clamp(32px,4vw,64px); }
#main .contact-workbench {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  grid-template-areas:'intro brief' 'art brief';
  gap:28px clamp(32px,5vw,80px);
  align-items:start;
}
#main .contact-intro { grid-area:intro; min-width:0; }
#main .contact-intro h1 {
  margin:16px 0 22px;
  max-width:14ch;
  font-size:clamp(2.3rem,3.9vw,3.8rem);
  font-weight:550;
  letter-spacing:-.045em;
  line-height:1.08;
  text-wrap:balance;
}
#main .contact-intro .lede { max-width:41ch; font-size:17px; line-height:1.65; }
#main .contact-intake { grid-area:brief; min-width:0; }
#main .contact-direct { align-items:center; gap:14px 24px; margin-top:24px; }
#main .contact-email { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
#main .contact-languages { max-width:48ch; margin-top:18px; font-size:13px; line-height:1.7; }
#main .contact-art { grid-area:art; min-width:0; }
#main .contact-art .ms-art { width:min(100%,280px); max-width:280px; margin:0; }
#main .contact-art .ms-art img { opacity:1; filter:none; }
#main .contact-intake .brief-helper { margin:0; padding:0; background:none; border:0; }
/* The outer contact rail already owns the gutter; override the shared width rule only here. */
#main .contact-intake .brief-helper > .wrap { width:100%!important; max-width:none; margin:0; padding:0; }
#main .contact-intake .brief-helper h2 { margin:0 0 22px; font-size:clamp(1.5rem,2.3vw,2rem); line-height:1.2; letter-spacing:-.025em; }
#main .brief-helper label { margin-block:16px 8px; font-size:14px; }
#main .brief-helper textarea {
  min-height:156px;
  padding:14px 16px;
  border:1px solid #5c505c;
  border-radius:2px;
  background:#09080d;
  color:#f3eff4;
  font-size:16px;
  line-height:1.6;
}
#main .brief-helper textarea::placeholder { color:#aaa4b0; opacity:1; }
#main .brief-helper textarea:focus-visible { border-color:var(--pink); outline:2px solid var(--pink); outline-offset:3px; }
#main .brief-selected { margin:0 0 18px; color:#f2bdd7; font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
#main .brief-guide, #main .brief-context { margin-top:8px; }
#main .brief-helper summary { min-height:44px; padding-block:12px; color:#c7c1ce; font-size:14px; cursor:pointer; }
#main .brief-helper summary:focus-visible { outline:2px solid var(--pink); outline-offset:3px; }
#main .brief-starters { display:flex; flex-wrap:wrap; gap:8px 18px; margin-bottom:12px; }
#main .brief-starters button {
  min-height:44px;
  padding:8px 0;
  border:0;
  border-bottom:1px solid #554451;
  border-radius:0;
  background:none;
  color:#f0e9f3;
  font:inherit;
  font-size:14px;
  text-align:start;
  cursor:pointer;
}
#main .brief-starters button:active { color:#ff76b5; border-color:var(--pink); }
#main .brief-context select { margin-bottom:12px; font-size:16px; min-height:46px; }
#main .brief-helper #brief-privacy, #main .brief-helper #brief-manual { font-size:12px; line-height:1.7; }
#main .brief-helper .brief-actions { gap:12px; align-items:stretch; }
#main .brief-helper [data-brief-copy], #main .contact-direct .btn-accent { color:#11070f; background:#ff0080; border-color:#ff0080; font-weight:650; }
#main .brief-helper [data-brief-human] { color:#e2dce8; background:none; border-color:#6e5d71; }
#main .brief-status { min-height:1.7em; margin-top:12px; color:#e8d5e3; font-size:14px; }
#main .contact-reference { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:20px 56px; margin-top:44px; padding-top:26px; border-top:1px solid var(--editorial-rule); }
#main .contact-reference > a { display:flex; align-items:center; min-height:44px; width:fit-content; }
#main .contact-reference details { font-size:14px; }
#main .contact-reference summary { cursor:pointer; min-height:44px; padding-block:10px; }
#main .contact-reference p { color:#bcb4c3; line-height:1.7; }
#main .contact-reference .market-links { grid-column:1 / -1; margin:0; }
#main .contact-intro > .market-links { margin-block:24px 0; padding-block-start:16px; border-block-start:1px solid var(--editorial-rule); }

@media (hover:hover) and (pointer:fine) {
  .wordmark:hover .ms-emblem { transform:rotate(-5deg); }
  #main .brief-starters button:hover { color:#ff76b5; border-color:var(--pink); }
  #main .brief-helper [data-brief-copy]:hover, #main .contact-direct .btn-accent:hover { background:#ff57a8; border-color:#ff57a8; }
}
@media (max-width:900px) {
  #main .source-agency .studio-hero > .container { grid-template-columns:minmax(0,1fr); grid-template-areas:'badge' 'headline' 'description' 'actions' 'scene'; gap:16px; }
  #main .source-agency .studio-hero .studio-scene { min-height:124px; height:124px; padding:0; }
  #main .contact-workbench { gap:24px 32px; }
  #main .contact-intro h1 { font-size:clamp(2.1rem,4.5vw,3.1rem); }
  #main .contact-direct { align-items:stretch; flex-direction:column; gap:8px; }
  #main .contact-direct .btn { width:fit-content; }
}
@media (max-width:720px) {
  .brand-lockup .wordmark-text { font-size:16px; }
  .wordmark .ms-emblem { width:34px; height:34px; }
  .footer-mark .wordmark-text { font-size:22px; }
  .footer-mark .ms-emblem { width:42px; height:42px; }
  #main .source-agency .studio-hero { padding-block:26px 36px!important; }
  #main .source-agency .studio-hero > .container { gap:12px; }
  #main .source-agency .studio-hero .hero-subtitle { font-size:clamp(2.8rem,11.6vw,4rem); line-height:1.06; }
  #main .source-agency .hero-description .studio-offer { margin-bottom:8px; font-size:17px; }
  #main .source-agency .hero-description p:not(.studio-offer) { font-size:15px; line-height:1.65; }

  #main .contact-workbench { grid-template-columns:minmax(0,1fr); grid-template-areas:'intro' 'brief' 'art'; gap:32px; }
  #main .contact-intro h1 { max-width:18ch; margin:12px 0 16px; font-size:clamp(1.85rem,7.7vw,2.7rem); }
  #main .contact-intro .lede { font-size:15px; line-height:1.65; }
  #main .contact-direct { margin-top:18px; }
  #main .contact-direct .btn { width:100%; }
  #main .contact-languages { margin-top:12px; font-size:12px; }
  #main .contact-intake .brief-helper h2 { margin-bottom:18px; font-size:25px; }
  #main .contact-art .ms-art { width:min(72vw,260px); margin-inline:auto; }
  #main .contact-reference { grid-template-columns:minmax(0,1fr); gap:20px; margin-top:28px; }
  #main .contact-reference .market-links { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { .wordmark .ms-emblem { transition:none; } }
