.broker-oo-page .oo-hero::after {
  content: 'O&O / MEDIA /';
  width: 6ch;
}

.oo-console { width: min(1080px,100%); }
.oo-signal-flow { display: grid; grid-template-columns: repeat(7,max-content); align-items: center; justify-content: space-between; gap: 18px; margin: 28px 0 18px; }
.oo-signal-flow div { min-width: 150px; padding: 20px; border: 1px solid rgba(255,255,255,.34); background: rgba(255,255,255,.045); }
.oo-signal-flow small { display: block; margin-bottom: 22px; color: rgba(255,255,255,.5); font: 600 9px/1.3 'IBM Plex Mono',monospace; letter-spacing: .1em; text-transform: uppercase; }
.oo-signal-flow strong { display: block; color: #fff; font-size: 17px; letter-spacing: -.03em; }
.oo-signal-flow b { color: #ff4b50; font: 600 18px/1 'IBM Plex Mono',monospace; }

.oo-fit-grid article { min-height: 285px; }
.oo-channel-grid { grid-template-columns: repeat(3,1fr); }
.oo-channel-grid article,.oo-channel-grid article:nth-child(even),.oo-channel-grid article:nth-last-child(-n+2) { border-bottom: 0; border-right: 1px solid var(--ink); }
.oo-channel-grid article:last-child { border-right: 0; }

.collaboration { background: var(--paper); }
.collaboration-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(48px,8vw,110px); align-items: start; }
.collaboration-list { border-top: 1px solid var(--ink); }
.collaboration-list p { margin: 0; padding: 25px 0; color: var(--muted); border-bottom: 1px solid var(--ink); font-size: 17px; line-height: 1.65; }
.collaboration-list strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: 19px; letter-spacing: -.025em; }

.contact-section { padding: clamp(90px,11vw,150px) 0; color: #fff; background: var(--ink); box-shadow: inset 3px 0 0 var(--red); }
.contact-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(48px,8vw,120px); align-items: start; }
.contact-copy { position: sticky; top: 110px; }
.contact-copy h2 { max-width: 650px; }
.contact-copy > p:not(.kicker) { max-width: 590px; color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.65; }
.contact-email { margin-top: 28px; font-size: 14px!important; }
.contact-email a { color: #ff6065; text-underline-offset: 4px; }

.contact-form { display: grid; gap: 20px; padding: clamp(24px,4vw,44px); color: var(--ink); background: #fff; border: 1px solid #fff; box-shadow: 14px 14px 0 var(--red); }
.contact-form label { display: grid; gap: 9px; font: 600 10px/1.4 'IBM Plex Mono',monospace; letter-spacing: .1em; text-transform: uppercase; }
.contact-form input,.contact-form select,.contact-form textarea { width: 100%; min-height: 50px; padding: 13px 14px; color: var(--ink); background: var(--paper); border: 1px solid #aaa; border-radius: 0; font: 400 16px/1.45 'Inter',sans-serif; text-transform: none; }
.contact-form textarea { min-height: 138px; resize: vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color: var(--red); outline: 3px solid rgba(192,39,45,.15); }
.contact-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-form .button { width: 100%; border-radius: 0; cursor: pointer; }
.contact-form small { color: #676767; font-size: 12px; line-height: 1.5; }
.form-honeypot { position: absolute!important; left: -9999px!important; width: 1px!important; height: 1px!important; opacity: 0!important; }
.form-success { margin: 0; padding: 14px; color: #fff; background: #176b3a; font-weight: 800; }

@media (max-width:900px) {
  .oo-signal-flow { grid-template-columns: 1fr 1fr; }
  .oo-signal-flow b { display: none; }
  .collaboration-grid,.contact-layout { grid-template-columns: 1fr; }
  .contact-copy { position: static; }
  .oo-channel-grid { grid-template-columns: 1fr; }
  .oo-channel-grid article,.oo-channel-grid article:nth-child(even),.oo-channel-grid article:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--ink); }
  .oo-channel-grid article:last-child { border-bottom: 0; }
}

@media (max-width:620px) {
  .broker-oo-page .oo-hero::after { right: -65vw; }
  .oo-signal-flow { gap: 10px; }
  .oo-signal-flow div { min-width: 0; padding: 15px; }
  .oo-signal-flow small { margin-bottom: 14px; }
  .oo-signal-flow strong { font-size: 14px; }
  .contact-form { padding: 22px; box-shadow: 8px 8px 0 var(--red); }
  .contact-form .form-row { grid-template-columns: 1fr; }
}
