/* Existing brand assets, kept deliberately quiet after the service overview. */
.project-signatures { background: #0d090f; scroll-margin-top: 110px; }
.signature-row { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding-block: 29px; }
.signature-row > p { font-size: 11px; color: #a18e9c; white-space: nowrap; }
.signature-logos { display: flex; align-items: center; justify-content: space-between; gap: 65px; width: min(100%, 790px); }
.signature { display: flex; align-items: center; justify-content: center; min-height: 52px; opacity: .22; transition: opacity .2s ease-out; }
.signature:hover, .signature:focus-visible { opacity: .65; }
.signature-quadrion { width: 190px; }
.signature-quadrion img { width: 100%; }
.signature-mubarak { width: 180px; }
.mubarak-logo-crop { position: relative; width: 100%; aspect-ratio: 982 / 194; overflow: hidden; }
.mubarak-logo-crop img { position: absolute; width: 203.67%; max-width: none; left: -47.25%; top: -463.91%; }
.signature-ugcc { gap: 12px; }
.signature-ugcc > span:last-child { font-size: 25px; letter-spacing: .13em; font-weight: 700; color: #fff; }
.ugcc-logo-crop { position: relative; width: 38px; height: 52px; overflow: hidden; mix-blend-mode: screen; }
.ugcc-logo-crop img { position: absolute; width: 520px; max-width: none; left: -8.5px; top: -5px; filter: grayscale(1) brightness(.8) invert(1) contrast(2); }

.quadrion-story { margin-top: 34px; padding-top: 54px; border-top: 1px solid var(--line); scroll-margin-top: 122px; }
.quadrion-brandline { display: flex; align-items: center; gap: 26px; margin-bottom: 34px; }
.quadrion-brandline > img { width: 185px; opacity: .78; }
.quadrion-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; margin-bottom: 42px; }
.quadrion-intro h3 { font-size: clamp(40px, 4.4vw, 65px); line-height: 1.08; letter-spacing: -.055em; }
.quadrion-intro p { font-size: 15px; line-height: 1.9; max-width: 530px; }
.quadrion-intro .quadrion-lead { font-size: 18px; color: var(--ink); margin-bottom: 12px; line-height: 1.5; }
.quadrion-experience { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(290px, 1fr); gap: 38px; align-items: start; }
.quadrion-visual { min-width: 0; margin: 0; }
.quadrion-window-label { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border: 1px solid #b997aa35; border-bottom: 0; border-radius: 7px 7px 0 0; background: #211724; font-size: 11px; color: #cfbac9; }
.quadrion-window-label > span:last-child { color: #ac96a6; }
.quadrion-visual > a { display: block; border: 1px solid #b997aa35; border-top: 0; border-radius: 0 0 7px 7px; overflow: hidden; background: #0b1013; }
.quadrion-visual img { width: 100%; aspect-ratio: 1600 / 1000; object-fit: contain; }
.quadrion-visual figcaption { display: flex; justify-content: space-between; align-items: start; gap: 24px; font-size: 11px; line-height: 1.8; color: #bba7b5; padding-top: 12px; min-height: 53px; }
.quadrion-visual figcaption > a { color: var(--rose-light); flex: none; text-decoration: underline; text-underline-offset: 4px; }
.quadrion-chapters { border-top: 1px solid var(--line); }
.quadrion-chapters button { display: grid; grid-template-columns: 23px minmax(0, 1fr) 15px; align-items: baseline; gap: 12px; text-align: left; width: 100%; padding: 20px 0; border-bottom: 1px solid var(--line); }
.chapter-number { font-size: 11px; color: #a48b9a; }
.quadrion-chapters strong { font-size: 16px; font-weight: 500; line-height: 1.4; color: #c9b8c4; letter-spacing: -.02em; }
.chapter-arrow { font-size: 17px; color: #917584; }
.chapter-summary { display: none; margin-top: 13px; font-size: 13px; line-height: 1.85; color: var(--muted); }
.quadrion-chapters [aria-pressed="true"] strong, .quadrion-chapters [aria-pressed="true"] .chapter-arrow, .quadrion-chapters [aria-pressed="true"] .chapter-number { color: var(--rose-light); }
.quadrion-chapters [aria-pressed="true"] .chapter-summary { display: block; }
.quadrion-chapters button:hover strong { color: var(--ink); }
.quadrion-principles { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; border-top: 1px solid var(--line); padding-top: 30px; margin-top: 35px; }
.quadrion-principles h4 { font-size: 20px; letter-spacing: -.03em; margin-bottom: 13px; }
.quadrion-principles p { font-size: 14px; line-height: 1.9; max-width: 510px; }
.quadrion-next { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 31px; margin-top: 29px; border-top: 1px solid var(--line); }
.quadrion-next p { color: #c5aebb; font-size: 12px; line-height: 1.8; }
.quadrion-next p > span { color: #a790a0; font-size: 11px; }
@media (max-width: 1100px) {
  .signature-logos { gap: 35px; max-width: 650px; }
  .quadrion-experience { grid-template-columns: minmax(0, 1.55fr) minmax(275px, 1fr); gap: 26px; }
  .quadrion-chapters button { padding-block: 15px; gap: 8px; }
  .quadrion-chapters strong { font-size: 15px; }
  .quadrion-visual figcaption { display: block; }
  .quadrion-visual figcaption > a { display: inline-block; margin-top: 5px; }
}
@media (max-width: 850px) {
  .signature-row { display: block; padding-block: 24px; }
  .signature-row > p { text-align: center; font-size: 10px; margin-bottom: 12px; }
  .signature-logos { margin-inline: auto; }
  .quadrion-experience { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .quadrion-chapters button { padding-block: 17px; grid-template-columns: 26px minmax(0, 1fr) 20px; }
  .quadrion-chapters strong { font-size: 17px; }
  .chapter-summary { font-size: 14px; margin-top: 9px; max-width: 520px; }
}
@media (max-width: 760px) {
  .signature-logos { gap: 20px; }
  .signature-quadrion { width: 32%; }
  .signature-mubarak { width: 31%; }
  .signature-ugcc { gap: 6px; }
  .signature-ugcc > span:last-child { font-size: 15px; letter-spacing: .04em; }
  .ugcc-logo-crop { width: 23px; height: 33px; }
  .ugcc-logo-crop img { width: 329px; left: -5.4px; top: -3px; }
  .quadrion-story { margin-top: 18px; padding-top: 36px; scroll-margin-top: 98px; }
  .quadrion-brandline { gap: 16px; margin-bottom: 29px; flex-wrap: wrap; }
  .quadrion-brandline > img { width: 160px; }
  .quadrion-brandline .status-label { font-size: 10px; }
  .quadrion-intro { grid-template-columns: 1fr; gap: 25px; margin-bottom: 28px; }
  .quadrion-intro h3 { font-size: clamp(39px, 10.8vw, 57px); }
  .quadrion-intro p { font-size: 14px; }
  .quadrion-intro .quadrion-lead { font-size: 17px; margin-bottom: 10px; }
  .quadrion-window-label { padding: 10px; font-size: 10px; }
  .quadrion-principles { grid-template-columns: 1fr; gap: 28px; margin-top: 29px; padding-top: 28px; }
  .quadrion-next { display: block; margin-top: 26px; padding-top: 23px; }
  .quadrion-next > a { margin-top: 16px; font-size: 13px; }
}
@media (max-width: 370px) {
  .signature-logos { gap: 13px; }
  .signature-ugcc > span:last-child { font-size: 13px; }
  .signature-ugcc { gap: 4px; }
  .quadrion-chapters strong { font-size: 15px; }
}

/* Brand extension: use Monolith's published wordmark and Orbit's captured logo. */
@font-face { font-family: MonolithBrand; src: url('fonts/monolith-nunito-800.woff2') format('woff2'); font-style: normal; font-weight: 800; font-display: swap; }
.signature-row { gap: 38px; }
.signature-logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 38px; width: auto; max-width: none; flex: 1; }
.signature-logos .signature { width: 100%; max-width: 180px; justify-self: center; opacity: .45; }
.signature-logos .signature:hover, .signature-logos .signature:focus-visible { opacity: .9; }
.monolith-wordmark { display: inline-flex; align-items: baseline; white-space: nowrap; font-family: MonolithBrand, sans-serif; font-weight: 800; font-size: 25px; letter-spacing: .025em; line-height: 1.3; color: #fff; }
.monolith-wordmark img { width: auto; height: .72em; margin-inline: .05em; transform: translateY(.008em); }
.signature-monolith .monolith-wordmark { font-size: clamp(15px, 1.45vw, 22px); }
.orbit-logo-crop { position: relative; display: block; width: 100%; max-width: 170px; aspect-ratio: 170 / 55; overflow: hidden; mix-blend-mode: screen; }
.orbit-logo-crop img { position: absolute; width: 847.059%; max-width: none; left: -72.941%; top: -45.455%; filter: grayscale(1) contrast(4); }
.signature-orbit { mix-blend-mode: screen; }
.monolith-story, .orbit-story { padding-top: 62px; margin-top: 42px; border-top: 1px solid var(--line); scroll-margin-top: 120px; }
.project-brandline { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-bottom: 32px; }
.project-brandline .monolith-wordmark { opacity: .83; }
.monolith-intro { max-width: 790px; margin-bottom: 34px; }
.monolith-intro h3, .orbit-copy h3 { font-size: clamp(38px, 4.3vw, 63px); line-height: 1.08; letter-spacing: -.055em; }
.monolith-intro > p { max-width: 660px; margin-top: 23px; font-size: 16px; line-height: 1.85; }
.monolith-experience { display: flex; flex-direction: column; }
.monolith-visual, .orbit-visual { margin: 0; min-width: 0; }
.project-window-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 18px; background: #211724; border: 1px solid #b997aa35; border-bottom: 0; border-radius: 7px 7px 0 0; font-size: 12px; line-height: 1.7; color: #cdb9c8; }
.project-window-bar a { color: var(--rose-light); text-decoration: underline; text-underline-offset: 4px; }
.monolith-visual > a, .orbit-visual > a { display: block; overflow: hidden; background: #11131b; border: 1px solid #b997aa35; }
.monolith-visual img { width: 100%; aspect-ratio: 1710 / 897; object-fit: contain; }
.monolith-visual figcaption, .orbit-visual figcaption { padding-top: 14px; font-size: 12px; line-height: 1.75; color: #bba7b5; }
.monolith-controls { order: -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 22px; border-bottom: 1px solid var(--line); }
.monolith-controls button { position: relative; padding: 17px 20px 19px 0; text-align: left; color: #bba7b5; transition: color .18s ease-out; }
.monolith-controls button::after { content: ''; position: absolute; inset: auto 20px -1px 0; height: 2px; background: var(--rose-light); transform: scaleX(0); transform-origin: left; transition: transform .18s ease-out; }
.monolith-controls button[aria-pressed="true"]::after { transform: scaleX(1); }
.monolith-controls button[aria-pressed="true"], .monolith-controls button:hover { color: var(--rose-light); }
.monolith-controls span { display: block; font-size: 17px; font-weight: 500; }
.monolith-controls small { display: block; font-size: 12px; line-height: 1.7; color: var(--muted); margin-top: 7px; }
.monolith-capabilities { display: grid; grid-template-columns: 1fr 1fr auto; gap: 55px; align-items: start; margin-top: 33px; padding-top: 30px; border-top: 1px solid var(--line); }
.monolith-capabilities h4 { font-size: 20px; letter-spacing: -.03em; margin-bottom: 11px; }
.monolith-capabilities p { font-size: 14px; line-height: 1.85; }
.monolith-capabilities > a { font-size: 13px; white-space: nowrap; align-self: center; }
.orbit-story { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 70px; align-items: start; }
.orbit-copy .case-meta { margin-bottom: 24px; gap: 14px; }
.orbit-copy > p { margin: 24px 0; font-size: 15px; line-height: 1.85; }
.orbit-copy h3 { font-size: clamp(36px, 3.5vw, 50px); }
.orbit-visual { position: sticky; top: 120px; }
.orbit-visual img { width: 100%; aspect-ratio: 1440 / 960; object-fit: contain; }
.orbit-applications { margin-block: 25px; border-top: 1px solid var(--line); }
.orbit-applications details { border-bottom: 1px solid var(--line); }
.orbit-applications summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; cursor: pointer; padding: 17px 0; font-size: 16px; line-height: 1.5; }
.orbit-applications summary::-webkit-details-marker { display: none; }
.orbit-applications summary span { flex: 0 0 20px; width: 20px; height: 20px; margin-inline: 4px; text-align: center; font-size: 20px; line-height: 20px; color: var(--rose-light); transition: transform .18s ease-out; }
.orbit-applications details[open] summary { color: var(--rose-light); }
.orbit-applications details[open] summary span { transform: rotate(45deg); }
.orbit-applications details p { font-size: 14px; line-height: 1.85; padding: 0 20px 21px 0; }
@media (max-width: 1100px) {
  .signature-row { display: block; }
  .signature-row > p { text-align: center; margin-bottom: 16px; }
  .signature-logos { gap: 30px; }
  .monolith-capabilities { grid-template-columns: 1fr 1fr; gap: 26px 50px; }
  .monolith-capabilities > a { grid-column: 1 / -1; justify-self: start; }
  .orbit-story { gap: 35px; grid-template-columns: 1fr 1.1fr; }
}
@media (max-width: 760px) {
  .signature-logos { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px 20px; max-width: 520px; }
  .signature-logos .signature { grid-column: span 2; max-width: 130px; min-height: 45px; }
  .signature-logos .signature-monolith { grid-column: 2 / span 2; }
  .signature-logos .signature-orbit { grid-column: 4 / span 2; }
  .signature-monolith .monolith-wordmark { font-size: clamp(14px, 3.7vw, 18px); }
  .monolith-story, .orbit-story { padding-top: 38px; margin-top: 30px; scroll-margin-top: 98px; }
  .project-brandline { gap: 13px; margin-bottom: 24px; }
  .project-brandline .monolith-wordmark { font-size: 23px; }
  .project-brandline .status-label { font-size: 10px; }
  .monolith-intro h3 { font-size: clamp(35px, 9.5vw, 53px); }
  .monolith-intro > p { font-size: 15px; margin-top: 21px; }
  .monolith-intro { margin-bottom: 14px; }
  .monolith-controls { margin-bottom: 18px; gap: 10px; }
  .monolith-controls button { padding: 16px 0; min-height: 48px; }
  .monolith-controls button::after { right: 0; }
  .monolith-controls span { font-size: 13px; }
  .monolith-controls small { display: none; }
  .project-window-bar { padding: 10px 12px; font-size: 10px; }
  .monolith-visual figcaption, .orbit-visual figcaption { font-size: 11px; }
  .monolith-capabilities { grid-template-columns: 1fr; gap: 25px; margin-top: 23px; padding-top: 25px; }
  .monolith-capabilities > a { grid-column: auto; }
  .orbit-story { grid-template-columns: 1fr; gap: 30px; }
  .orbit-copy h3 { font-size: 38px; }
  .orbit-visual { position: static; }
}
@media (prefers-reduced-motion: reduce) { .monolith-controls button, .monolith-controls button::after, .orbit-applications summary span { transition: none; } }
.motion-off .monolith-controls button, .motion-off .monolith-controls button::after, .motion-off .orbit-applications summary span { transition: none; }

/* Supporting client work follows the main product stories. */
.secondary-work { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); scroll-margin-top: 120px; }
.secondary-work > .section-label { margin-bottom: 22px; font-size: 12px; }
.client-summaries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
.client-summary { min-width: 0; scroll-margin-top: 120px; }
.client-summary h3 { font-size: 23px; line-height: 1.35; letter-spacing: -.03em; }
.client-summary p { max-width: 490px; margin-top: 12px; font-size: 14px; line-height: 1.8; }
.client-summary .text-link { margin-top: 14px; font-size: 12px; min-height: 44px; }
@media (max-width: 760px) {
  .secondary-work { margin-top: 34px; padding-top: 24px; scroll-margin-top: 98px; }
  .secondary-work > .section-label { margin-bottom: 20px; }
  .client-summaries { grid-template-columns: 1fr; gap: 24px; }
  .client-summary { scroll-margin-top: 98px; }
  .client-summary + .client-summary { border-top: 1px solid var(--line); padding-top: 24px; }
  .client-summary h3 { font-size: 21px; }
}
