/*
 * Mobile editorial composition
 * A phone-specific presentation, intentionally independent from the desktop scenes.
 */
@media (max-width: 767px) {
  :root {
    --mobile-pad: clamp(18px, 5.4vw, 24px);
    --mobile-ink: #071110;
    --mobile-ink-soft: #0c1918;
    --mobile-paper: #eee9df;
    --mobile-gold: #c7aa73;
  }

  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    background: var(--mobile-ink);
  }

  .site-header {
    height: 72px;
    padding: 0 var(--mobile-pad);
    border-bottom: 1px solid rgba(255,255,255,.16);
    background: linear-gradient(180deg, rgba(3,9,9,.82), rgba(3,9,9,.12));
  }

  .site-header nav {
    display: none;
  }

  .site-header .brand {
    min-width: 0;
    gap: 10px;
  }

  .brand-symbol {
    width: 39px;
    height: 39px;
  }

  .brand-symbol::before {
    left: 7px;
    top: 6px;
    bottom: 6px;
  }

  .brand-symbol::after {
    left: 6px;
    right: 6px;
    top: 21px;
  }

  .brand-symbol b,
  .brand-symbol i {
    top: 4px;
    font-size: 20px;
  }

  .brand-symbol b { left: 4px; }
  .brand-symbol i { left: 19px; top: 13px; }
  .brand-symbol small { right: 2px; bottom: 2px; }

  .brand-wordmark strong,
  .briefs-page .brand-wordmark strong,
  body:not(.briefs-page) .site-header .brand-wordmark strong {
    max-width: none;
    color: #eee4d0;
    font-size: clamp(10px, 3vw, 12px);
    line-height: 1;
    letter-spacing: .035em;
    white-space: nowrap;
  }

  .header-cta-v2 {
    min-width: 0;
    min-height: 36px;
    padding: 8px 10px;
    gap: 6px;
    border-color: rgba(199,170,115,.58);
  }

  .header-cta-v2::before {
    content: "Open brief";
    font-size: 7px;
    line-height: 1;
    letter-spacing: .14em;
  }

  .header-cta-v2 small {
    display: none;
  }

  .header-cta-v2 span {
    margin-left: 0;
    font-size: 9px;
  }

  .section-number {
    font-size: 8px;
    line-height: 1.4;
    letter-spacing: .18em;
  }

  .eyebrow {
    gap: 10px;
    font-size: 8px;
    line-height: 1.45;
    letter-spacing: .17em;
  }

  .eyebrow span {
    width: 24px;
  }

  /* The opening photograph and the proposition no longer compete for space. */
  .hero-v4 {
    min-height: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    background: var(--mobile-ink);
  }

  .hero-v4::after {
    z-index: 1;
    height: clamp(350px, 58svh, 470px);
    background:
      linear-gradient(180deg, rgba(3,9,9,.36), transparent 48%, rgba(3,9,9,.3)),
      linear-gradient(90deg, rgba(3,9,9,.34), transparent 62%);
    pointer-events: none;
  }

  .hero-v4 > img {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    height: clamp(350px, 58svh, 470px);
    display: block;
    object-fit: cover;
    object-position: 62% center;
    filter: saturate(.76) contrast(1.04) brightness(.85);
  }

  .hero-v4 .hero-copy {
    z-index: 2;
    width: 100%;
    padding: 38px var(--mobile-pad) 24px;
    background: var(--mobile-ink);
  }

  .hero-v4 h1 {
    max-width: 12ch;
    margin: 17px 0 19px;
    font-size: clamp(42px, 12.2vw, 55px);
    line-height: .93;
    letter-spacing: -.04em;
  }

  .hero-v4 .hero-lead {
    max-width: 36rem;
    font-size: 15.5px;
    line-height: 1.6;
  }

  .hero-signature {
    position: relative;
    inset: auto;
    width: 100%;
    padding: 0 var(--mobile-pad) 34px;
    gap: 9px;
    background: var(--mobile-ink);
    color: #bec8c3;
    font-size: 6.5px;
    letter-spacing: .15em;
  }

  .hero-signature i {
    width: 18px;
  }

  .credibility {
    min-height: 0;
    padding: 24px var(--mobile-pad) 27px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 22px;
    overflow: visible;
    background: #0b1716;
  }

  .credibility span {
    grid-column: 1 / -1;
    margin-bottom: 3px;
    font-size: 8px;
  }

  .credibility div {
    min-width: 0;
    font-size: 8px;
    line-height: 1.45;
    letter-spacing: .14em;
  }

  /* Each editorial scene becomes a photograph followed by a quiet reading panel. */
  .principle-editorial,
  .mobility-editorial,
  .network-v2,
  .briefs-visual,
  .process-visual {
    min-height: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    overflow: hidden;
    background: var(--mobile-ink);
  }

  .principle-editorial::after,
  .mobility-editorial::after,
  .network-v2::after,
  .briefs-visual::after,
  .process-visual::after {
    display: none;
  }

  .principle-editorial > img,
  .mobility-editorial > img,
  .network-v2 > img,
  .briefs-visual > img,
  .process-visual > img {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    display: block;
    object-fit: cover;
    transform: none;
    opacity: 1;
  }

  .principle-editorial > img {
    object-position: 62% center;
    filter: saturate(.72) contrast(1.03) brightness(.86);
  }

  .principle-copy {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
    padding: 40px var(--mobile-pad) 46px;
    background: #0d1a19;
  }

  .principle-copy .section-number {
    margin-bottom: 27px;
  }

  .principle-copy h2,
  .mobility-copy h2,
  .network-v2-content h2,
  .briefs-visual-copy h2,
  .process-title h2,
  .request-v2 .request-copy h2 {
    margin: 18px 0 20px;
    font-size: clamp(37px, 10.7vw, 47px);
    line-height: .98;
    letter-spacing: -.035em;
  }

  .principle-copy > p:last-child,
  .mobility-copy p,
  .network-secondary,
  .briefs-visual-copy > p:not(.eyebrow),
  .request-v2 .request-copy > p:not(.eyebrow) {
    font-size: 14px;
    line-height: 1.68;
  }

  /* Capabilities is a compact picture + editorial index, not a squeezed desktop table. */
  .capabilities-v2 {
    min-height: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    background: #101d1c;
  }

  .capabilities-v2::after {
    display: none;
  }

  .capabilities-backdrop {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
    object-position: 56% center;
    filter: saturate(.75) contrast(1.03) brightness(.87);
    opacity: 1;
  }

  .capabilities-v2 .capabilities-intro {
    position: relative;
    z-index: 2;
    padding: 40px var(--mobile-pad) 25px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    background: #101d1c;
  }

  .capabilities-intro .section-number {
    margin-bottom: 28px;
  }

  .capabilities-intro h2 {
    margin: 18px 0 22px;
    font-size: clamp(37px, 10.7vw, 47px);
    line-height: .98;
  }

  .capabilities-intro > p {
    max-width: 34rem;
    margin: 0;
    color: #bdc7c3;
    font-size: 14px;
    line-height: 1.66;
  }

  .capabilities-v2 .capability-line {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 0 var(--mobile-pad) 45px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border: 0;
    background: #101d1c;
  }

  .capability-line span {
    min-height: 70px;
    padding: 16px 12px 14px 0;
    display: flex;
    align-items: flex-end;
    border-top: 1px solid rgba(255,255,255,.17);
    color: #d6ddd9;
    font-size: 7.5px;
    line-height: 1.45;
    letter-spacing: .14em;
    white-space: normal;
  }

  .capability-line span:nth-of-type(even) {
    padding-left: 14px;
    border-left: 1px solid rgba(255,255,255,.17);
  }

  .capability-line i {
    display: none;
  }

  .mobility-editorial > img {
    object-position: 57% center;
    filter: saturate(.7) contrast(1.04) brightness(.86);
  }

  .mobility-copy {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 40px var(--mobile-pad) 46px;
    background: #e9e4da;
    color: #0b1717;
  }

  .mobility-copy > span {
    color: #755c37;
    font-size: 8px;
    letter-spacing: .17em;
  }

  .mobility-copy h2 {
    max-width: 12ch;
    color: #0b1717;
  }

  .mobility-copy h2 i {
    color: #6d765f;
  }

  .mobility-copy p {
    max-width: 35rem;
    color: #4b5652;
  }

  .network-v2 > img {
    object-position: 64% center;
    filter: saturate(.73) contrast(1.04) brightness(.82);
  }

  .network-v2-content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 40px var(--mobile-pad) 16px;
    background: #081312;
  }

  .network-v2-content h2 {
    margin-bottom: 4px;
  }

  .network-secondary {
    position: relative;
    inset: auto;
    z-index: 2;
    max-width: none;
    margin: 0;
    padding: 16px var(--mobile-pad) 30px;
    background: #081312;
    color: #b9c3bf;
  }

  .network-signature {
    position: relative;
    inset: auto;
    z-index: 2;
    width: 100%;
    padding: 0 var(--mobile-pad) 43px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    background: #081312;
  }

  .network-signature > span {
    grid-column: 1 / -1;
    margin-bottom: 12px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,.18);
    font-size: 7px;
  }

  .network-signature strong {
    padding: 12px 8px 0 0;
    color: #d4dbd7;
    font-size: 7px;
    line-height: 1.4;
    letter-spacing: .11em;
  }

  .network-signature strong + strong {
    padding-left: 10px;
    border-left: 1px solid rgba(255,255,255,.14);
  }

  .network-signature i {
    display: none;
  }

  .briefs-visual > img {
    object-position: 58% center;
    filter: saturate(.7) contrast(1.03) brightness(.85);
  }

  .briefs-visual-copy {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
    padding: 40px var(--mobile-pad) 48px;
    background: #111b19;
  }

  .briefs-visual-copy .section-number {
    margin-bottom: 27px;
  }

  .briefs-visual-copy > p:not(.eyebrow) {
    max-width: 35rem;
    color: #bac3bf;
  }

  .briefs-visual-copy > a {
    min-height: 45px;
    margin-top: 23px;
    padding: 13px 0 10px;
    align-items: center;
  }

  .process-visual > img {
    object-position: 45% center;
    filter: saturate(.72) contrast(1.02) brightness(.85);
  }

  .process-title,
  .process-flow {
    position: relative;
    z-index: 2;
    background: #0a1514;
  }

  .process-title {
    padding: 40px var(--mobile-pad) 20px;
  }

  .process-title .section-number {
    margin-bottom: 27px;
  }

  .process-flow {
    padding: 0 var(--mobile-pad) 48px;
  }

  .process-flow article {
    min-width: 0;
    padding: 20px 0;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 12px;
  }

  .process-flow h3 {
    margin-bottom: 8px;
    font-size: 22px;
    line-height: 1.1;
  }

  .process-flow p {
    font-size: 12.5px;
    line-height: 1.62;
  }

  /* The enquiry is a native vertical phone form with a separate trust preface. */
  .request,
  .request-v2 {
    padding: 50px var(--mobile-pad) 56px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 39px;
    background: #142126;
  }

  .request-copy,
  .brief-form {
    min-width: 0;
  }

  .request-v2 .request-copy h2 {
    max-width: 13ch;
  }

  .request-confidence {
    margin-top: 33px;
    padding-top: 20px;
  }

  .request-confidence span {
    font-size: 7px;
  }

  .request-confidence strong {
    margin-top: 13px;
    font-size: 31px;
    line-height: 1.03;
  }

  .brief-form,
  .request-v2 .brief-form {
    width: 100%;
    padding: 28px 20px 22px;
    background: #d3cdc2;
    box-shadow: 0 20px 48px rgba(0,0,0,.24);
  }

  .request-v2 .form-heading {
    margin-bottom: 26px;
    padding-bottom: 19px;
  }

  .request-v2 .form-heading span {
    font-size: clamp(27px, 8.2vw, 34px);
    line-height: 1.02;
  }

  .request-v2 .form-heading p {
    max-width: 29rem;
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.55;
  }

  .field-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .brief-form label,
  .request-v2 .brief-form label {
    margin-bottom: 19px;
    font-size: 8px;
    letter-spacing: .12em;
  }

  .brief-form input,
  .brief-form select,
  .brief-form textarea,
  .request-v2 .brief-form input,
  .request-v2 .brief-form select,
  .request-v2 .brief-form textarea {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    font-size: 16px;
  }

  .brief-form input,
  .brief-form select {
    min-height: 48px;
    padding: 11px 0;
  }

  .brief-form textarea {
    min-height: 145px;
    padding-top: 13px;
  }

  .form-footer {
    margin-top: 7px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .form-footer p {
    margin: 0;
    line-height: 1.5;
  }

  .form-footer button {
    width: 100%;
    min-height: 52px;
    padding: 16px;
  }

  .brief-form.is-submitted {
    min-height: 430px;
  }

  .brief-confirmation {
    padding: 30px 4px;
  }

  .brief-confirmation h3 {
    font-size: 37px;
    line-height: 1;
  }

  .footer-minimal {
    min-height: 72px;
    padding: 0 var(--mobile-pad);
  }

  /* Representative briefs: image cover, introduction, then compact expandable cards. */
  .briefs-page {
    background: var(--mobile-paper);
  }

  .briefs-page .site-header {
    position: absolute;
    inset: 0 0 auto;
    background: linear-gradient(180deg, rgba(3,9,9,.84), rgba(3,9,9,.08));
  }

  .briefs-page .assignments-intro {
    min-height: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    background: var(--mobile-ink);
  }

  .briefs-page .assignments-intro > img {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    display: block;
    object-fit: cover;
    object-position: 64% center;
    filter: saturate(.72) contrast(1.03) brightness(.8);
  }

  .briefs-page .assignments-intro-shade {
    display: none;
  }

  .briefs-page .assignments-intro .section-number {
    position: relative;
    inset: auto;
    padding: 38px var(--mobile-pad) 0;
    background: var(--mobile-ink);
  }

  .briefs-page .assignments-intro-copy {
    width: 100%;
    padding: 24px var(--mobile-pad) 45px;
    background: var(--mobile-ink);
  }

  .briefs-page .assignments-intro-copy .eyebrow {
    margin-bottom: 18px;
  }

  .briefs-page .assignments-intro h1 {
    margin-bottom: 22px;
    font-size: clamp(45px, 13vw, 58px);
    line-height: .9;
  }

  .briefs-page .assignments-intro p {
    font-size: 14px;
    line-height: 1.65;
  }

  .briefs-page .brief-library {
    padding: 38px var(--mobile-pad) 64px;
    background: var(--mobile-paper);
  }

  .briefs-page .brief-library-intro {
    padding: 0 0 24px;
    display: block;
    border-color: #aaa79e;
  }

  .briefs-page .brief-library-intro span {
    font-size: 8px;
  }

  .briefs-page .brief-library-intro p {
    margin: 10px 0 0;
    max-width: 34rem;
    text-align: left;
    font-size: 11px;
    line-height: 1.62;
  }

  .briefs-page .brief-item {
    margin: 11px 0;
    border: 1px solid #c2beb4;
    background: #f5f1e8;
  }

  .briefs-page .brief-item summary {
    min-height: 0;
    padding: 17px 15px 18px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 20px;
    grid-template-rows: auto auto;
    column-gap: 11px;
    row-gap: 6px;
    align-items: start;
  }

  .briefs-page .brief-item summary > span {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
  }

  .briefs-page .brief-item summary small {
    grid-column: 2;
    grid-row: 1;
    align-self: auto;
    font-size: 7px;
    line-height: 1.35;
  }

  .briefs-page .brief-item summary h2 {
    grid-column: 2;
    grid-row: 2;
    align-self: auto;
    font-size: clamp(19px, 5.8vw, 24px);
    line-height: 1.07;
  }

  .briefs-page .brief-item summary b {
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
    justify-self: end;
  }

  .briefs-page .brief-body {
    margin: 0 10px 10px;
    padding: 22px 15px 25px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    border-top: 1px solid #cbc5b8;
    background: #e8e2d7;
  }

  .briefs-page .brief-body h3 {
    margin-bottom: 8px;
    font-size: 8px;
  }

  .briefs-page .brief-body p {
    font-size: 12px;
    line-height: 1.68;
  }

  .assignment-cta-v2 {
    min-height: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
    background: var(--mobile-ink);
  }

  .assignment-cta-v2::after {
    display: none;
  }

  .assignment-cta-v2 > img {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: 56% center;
    filter: saturate(.7) brightness(.78);
  }

  .assignment-cta-copy {
    padding: 38px var(--mobile-pad) 22px;
  }

  .assignment-cta-copy h2 {
    margin: 15px 0;
    font-size: clamp(39px, 11.5vw, 50px);
    line-height: .95;
  }

  .assignment-cta-copy > p:last-child {
    font-size: 13px;
    line-height: 1.6;
  }

  .assignment-cta-v2 .button {
    width: calc(100% - (2 * var(--mobile-pad)));
    min-height: 50px;
    margin: 0 var(--mobile-pad) 45px;
    justify-content: space-between;
    align-items: center;
  }
}

@media (max-width: 359px) {
  :root { --mobile-pad: 16px; }

  .brand-wordmark strong,
  .briefs-page .brand-wordmark strong,
  body:not(.briefs-page) .site-header .brand-wordmark strong {
    font-size: 9px;
  }

  .header-cta-v2::before {
    content: "Brief";
  }

  .hero-v4 > img,
  .hero-v4::after {
    height: 340px;
  }

  .hero-v4 h1 {
    font-size: 40px;
  }

  .hero-signature {
    font-size: 6px;
  }

  .principle-copy h2,
  .mobility-copy h2,
  .network-v2-content h2,
  .briefs-visual-copy h2,
  .process-title h2,
  .request-v2 .request-copy h2,
  .capabilities-intro h2 {
    font-size: 35px;
  }

  .brief-form,
  .request-v2 .brief-form {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/*
 * Compact mobile image cards
 * Restores the tighter photographic framing while keeping editorial copy on-image.
 */
@media (max-width: 767px) {
  .principle-editorial,
  .capabilities-v2,
  .mobility-editorial,
  .network-v2,
  .briefs-visual,
  .process-visual,
  .briefs-page .assignments-intro,
  .assignment-cta-v2 {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    justify-content: stretch;
    overflow: hidden;
  }

  .principle-editorial > img,
  .capabilities-backdrop,
  .mobility-editorial > img,
  .network-v2 > img,
  .briefs-visual > img,
  .process-visual > img,
  .briefs-page .assignments-intro > img,
  .assignment-cta-v2 > img {
    position: relative;
    inset: auto;
    z-index: 0;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
  }

  .principle-editorial::after,
  .capabilities-v2::after,
  .mobility-editorial::after,
  .network-v2::after,
  .briefs-visual::after,
  .process-visual::after,
  .briefs-page .assignments-intro-shade,
  .assignment-cta-v2::after {
    position: relative;
    inset: auto;
    z-index: 1;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 100%;
  }

  .principle-editorial > img,
  .mobility-editorial > img,
  .network-v2 > img,
  .process-visual > img {
    aspect-ratio: 1 / 1;
  }

  .capabilities-backdrop,
  .briefs-visual > img,
  .briefs-page .assignments-intro > img {
    aspect-ratio: 4 / 5;
  }

  .assignment-cta-v2 > img {
    aspect-ratio: 5 / 6;
  }

  .principle-copy,
  .capabilities-v2 .capabilities-intro,
  .mobility-copy,
  .network-v2-content,
  .briefs-visual-copy,
  .process-title,
  .briefs-page .assignments-intro .section-number,
  .briefs-page .assignments-intro-copy,
  .assignment-cta-copy {
    position: relative;
    z-index: 2;
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    width: 100%;
    background: transparent;
  }

  .principle-copy {
    padding: 30px var(--mobile-pad) 31px;
  }

  .principle-copy .section-number {
    margin-bottom: 17px;
  }

  .principle-copy h2,
  .mobility-copy h2,
  .network-v2-content h2,
  .briefs-visual-copy h2,
  .process-title h2,
  .capabilities-intro h2 {
    margin-top: 13px;
    margin-bottom: 14px;
    font-size: clamp(34px, 9.8vw, 43px);
  }

  .principle-copy > p:last-child,
  .mobility-copy p,
  .briefs-visual-copy > p:not(.eyebrow) {
    font-size: 12.5px;
    line-height: 1.56;
  }

  .capabilities-v2 {
    background: #101d1c;
  }

  .capabilities-v2 .capabilities-intro {
    padding: 31px var(--mobile-pad) 32px;
  }

  .capabilities-intro .section-number {
    margin-bottom: 17px;
  }

  .capabilities-intro > p {
    font-size: 12.5px;
    line-height: 1.56;
  }

  .capabilities-v2 .capability-line {
    position: relative;
    z-index: 2;
    grid-column: 1;
    grid-row: 2;
    padding: 0 var(--mobile-pad) 34px;
    background: #101d1c;
  }

  .mobility-copy {
    padding: 30px var(--mobile-pad) 32px;
  }

  .network-v2 {
    background: #081312;
  }

  .network-v2-content {
    padding: 31px var(--mobile-pad) 32px;
  }

  .network-secondary {
    position: relative;
    z-index: 2;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    padding: 27px var(--mobile-pad) 18px;
    background: #081312;
    color: #c7d0cc;
  }

  .network-signature {
    position: relative;
    z-index: 2;
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    padding: 0 var(--mobile-pad) 35px;
    background: #081312;
  }

  .briefs-visual-copy {
    padding: 31px var(--mobile-pad) 34px;
  }

  .briefs-visual-copy .section-number {
    margin-bottom: 17px;
  }

  .briefs-visual-copy > a {
    margin-top: 16px;
  }

  .process-visual {
    background: #0a1514;
  }

  .process-title {
    padding: 31px var(--mobile-pad) 32px;
  }

  .process-title .section-number {
    margin-bottom: 17px;
  }

  .process-flow {
    position: relative;
    z-index: 2;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    padding: 3px var(--mobile-pad) 40px;
    background: #0a1514;
  }

  .briefs-page .assignments-intro {
    min-height: 0;
    padding: 0;
    background: #071110;
  }

  .briefs-page .assignments-intro .section-number {
    align-self: start;
    padding: 107px var(--mobile-pad) 0;
  }

  .briefs-page .assignments-intro-copy {
    padding: 0 var(--mobile-pad) 38px;
  }

  .briefs-page .assignments-intro h1 {
    margin-bottom: 18px;
    font-size: clamp(43px, 12.4vw, 55px);
  }

  .briefs-page .assignments-intro p {
    font-size: 12.5px;
    line-height: 1.58;
  }

  .assignment-cta-v2 {
    background: #071110;
  }

  .assignment-cta-copy {
    padding: 31px var(--mobile-pad) 102px;
  }

  .assignment-cta-copy h2 {
    font-size: clamp(38px, 10.8vw, 47px);
  }

  .assignment-cta-v2 .button {
    position: relative;
    z-index: 3;
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    margin-bottom: 35px;
  }
}

@media (max-width: 359px) {
  .principle-copy,
  .mobility-copy,
  .network-v2-content,
  .briefs-visual-copy,
  .process-title,
  .capabilities-v2 .capabilities-intro {
    padding-top: 26px;
    padding-bottom: 27px;
  }

  .principle-copy h2,
  .mobility-copy h2,
  .network-v2-content h2,
  .briefs-visual-copy h2,
  .process-title h2,
  .capabilities-intro h2 {
    font-size: 32px;
  }
}

@media (max-width: 767px) and (orientation: landscape) and (max-height: 500px) {
  .hero-v4 > img,
  .hero-v4::after {
    height: 78svh;
    min-height: 300px;
  }

  .briefs-page .assignments-intro > img {
    aspect-ratio: 16 / 8;
  }
}

/*
 * Mobile image-overlay composition
 * Retains the phone-first rhythm while restoring the immersive desktop treatment.
 */
@media (max-width: 767px) {
  .hero-v4,
  .principle-editorial,
  .capabilities-v2,
  .mobility-editorial,
  .network-v2,
  .briefs-visual,
  .process-visual,
  .briefs-page .assignments-intro,
  .assignment-cta-v2 {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
  }

  .hero-v4 > img,
  .principle-editorial > img,
  .capabilities-backdrop,
  .mobility-editorial > img,
  .network-v2 > img,
  .briefs-visual > img,
  .process-visual > img,
  .briefs-page .assignments-intro > img,
  .assignment-cta-v2 > img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    opacity: 1;
    transform: none;
  }

  .hero-v4::after,
  .principle-editorial::after,
  .capabilities-v2::after,
  .mobility-editorial::after,
  .network-v2::after,
  .briefs-visual::after,
  .process-visual::after,
  .assignment-cta-v2::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    display: block;
    pointer-events: none;
  }

  .hero-v4 {
    min-height: max(700px, 100svh);
    padding: 110px var(--mobile-pad) 34px;
  }

  .hero-v4 > img {
    object-position: 63% center;
    filter: saturate(.76) contrast(1.04) brightness(.82);
  }

  .hero-v4::after {
    height: 100%;
    background:
      linear-gradient(180deg, rgba(3,9,9,.28) 0%, rgba(3,9,9,.06) 33%, rgba(3,9,9,.43) 58%, rgba(3,9,9,.96) 100%),
      linear-gradient(90deg, rgba(3,9,9,.48), transparent 74%);
  }

  .hero-v4 .hero-copy {
    width: 100%;
    padding: 0 0 21px;
    background: transparent;
  }

  .hero-v4 h1 {
    max-width: 11ch;
    font-size: clamp(43px, 12.5vw, 56px);
    text-shadow: 0 2px 24px rgba(0,0,0,.28);
  }

  .hero-v4 .hero-lead {
    max-width: 33rem;
    color: #e0e5e1;
    text-shadow: 0 1px 16px rgba(0,0,0,.3);
  }

  .hero-signature {
    width: 100%;
    padding: 0;
    background: transparent;
  }

  .principle-editorial {
    min-height: 650px;
    justify-content: flex-end;
  }

  .principle-editorial > img {
    object-position: 61% center;
    filter: saturate(.72) contrast(1.04) brightness(.8);
  }

  .principle-editorial::after {
    background:
      linear-gradient(180deg, rgba(5,13,13,.12) 18%, rgba(5,13,13,.55) 58%, rgba(5,13,13,.96) 100%),
      linear-gradient(90deg, rgba(5,13,13,.64), transparent 76%);
  }

  .principle-copy {
    width: 100%;
    padding: 44px var(--mobile-pad) 47px;
    background: transparent;
  }

  .principle-copy h2,
  .principle-copy > p:last-child {
    text-shadow: 0 2px 20px rgba(0,0,0,.3);
  }

  .capabilities-v2 {
    min-height: 720px;
    justify-content: flex-end;
  }

  .capabilities-backdrop {
    object-position: 57% center;
    filter: saturate(.72) contrast(1.05) brightness(.72);
  }

  .capabilities-v2::after {
    background:
      linear-gradient(180deg, rgba(5,13,13,.2) 0%, rgba(5,13,13,.48) 43%, rgba(5,13,13,.97) 100%),
      linear-gradient(90deg, rgba(5,13,13,.56), transparent 78%);
  }

  .capabilities-v2 .capabilities-intro {
    width: 100%;
    padding: 44px var(--mobile-pad) 22px;
    background: transparent;
  }

  .capabilities-intro > p {
    color: #d2dad6;
    text-shadow: 0 1px 16px rgba(0,0,0,.34);
  }

  .capabilities-v2 .capability-line {
    width: 100%;
    padding: 0 var(--mobile-pad) 44px;
    background: transparent;
  }

  .mobility-editorial {
    min-height: 660px;
  }

  .mobility-editorial > img {
    object-position: 58% center;
    filter: saturate(.7) contrast(1.05) brightness(.76);
  }

  .mobility-editorial::after {
    background:
      linear-gradient(180deg, rgba(5,13,13,.08) 20%, rgba(5,13,13,.5) 62%, rgba(5,13,13,.96) 100%),
      linear-gradient(90deg, rgba(5,13,13,.52), transparent 78%);
  }

  .mobility-copy {
    width: 100%;
    padding: 43px var(--mobile-pad) 47px;
    background: transparent;
    color: #f3f0e8;
  }

  .mobility-copy > span {
    color: var(--mobile-gold);
  }

  .mobility-copy h2,
  .mobility-copy h2 i {
    color: #f3f0e8;
    text-shadow: 0 2px 22px rgba(0,0,0,.35);
  }

  .mobility-copy h2 i {
    color: #d7c4a0;
  }

  .mobility-copy p {
    color: #d4dcd8;
    text-shadow: 0 1px 16px rgba(0,0,0,.3);
  }

  .network-v2 {
    min-height: 790px;
    justify-content: flex-end;
  }

  .network-v2 > img {
    object-position: 64% center;
    filter: saturate(.72) contrast(1.05) brightness(.74);
  }

  .network-v2::after {
    background:
      linear-gradient(180deg, rgba(4,10,10,.1) 12%, rgba(4,10,10,.4) 46%, rgba(4,10,10,.97) 100%),
      linear-gradient(90deg, rgba(4,10,10,.56), transparent 80%);
  }

  .network-v2-content,
  .network-secondary,
  .network-signature {
    width: 100%;
    background: transparent;
  }

  .network-v2-content {
    padding: 44px var(--mobile-pad) 11px;
  }

  .network-secondary {
    padding: 12px var(--mobile-pad) 24px;
    color: #d0d8d4;
    text-shadow: 0 1px 16px rgba(0,0,0,.32);
  }

  .network-signature {
    padding: 0 var(--mobile-pad) 43px;
  }

  .briefs-visual {
    min-height: 690px;
  }

  .briefs-visual > img {
    object-position: 59% center;
    filter: saturate(.7) contrast(1.04) brightness(.76);
  }

  .briefs-visual::after {
    background:
      linear-gradient(180deg, rgba(5,10,9,.08) 15%, rgba(5,10,9,.48) 57%, rgba(5,10,9,.97) 100%),
      linear-gradient(90deg, rgba(5,10,9,.58), transparent 78%);
  }

  .briefs-visual-copy {
    width: 100%;
    padding: 44px var(--mobile-pad) 48px;
    background: transparent;
  }

  .briefs-visual-copy h2,
  .briefs-visual-copy > p:not(.eyebrow) {
    text-shadow: 0 2px 20px rgba(0,0,0,.32);
  }

  .process-visual {
    min-height: 960px;
    justify-content: flex-end;
  }

  .process-visual > img {
    object-position: 43% center;
    filter: saturate(.68) contrast(1.04) brightness(.65);
  }

  .process-visual::after {
    background:
      linear-gradient(180deg, rgba(5,11,10,.26) 0%, rgba(5,11,10,.55) 37%, rgba(5,11,10,.97) 100%),
      linear-gradient(90deg, rgba(5,11,10,.45), transparent 80%);
  }

  .process-title,
  .process-flow {
    width: 100%;
    background: transparent;
  }

  .process-title {
    padding: 44px var(--mobile-pad) 18px;
  }

  .process-flow {
    padding: 0 var(--mobile-pad) 45px;
  }

  .process-title h2,
  .process-flow h3,
  .process-flow p {
    text-shadow: 0 2px 18px rgba(0,0,0,.32);
  }

  .briefs-page .assignments-intro {
    min-height: max(680px, 92svh);
    padding: 112px var(--mobile-pad) 48px;
    color: #f3f0e8;
  }

  .briefs-page .assignments-intro > img {
    object-position: 64% center;
    filter: saturate(.72) contrast(1.04) brightness(.72);
  }

  .briefs-page .assignments-intro-shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    display: block;
    background:
      linear-gradient(180deg, rgba(4,10,10,.25) 0%, rgba(4,10,10,.35) 40%, rgba(4,10,10,.96) 100%),
      linear-gradient(90deg, rgba(4,10,10,.53), transparent 78%);
  }

  .briefs-page .assignments-intro .section-number,
  .briefs-page .assignments-intro-copy {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    background: transparent;
  }

  .briefs-page .assignments-intro .section-number {
    padding-top: 0;
  }

  .briefs-page .assignments-intro-copy {
    padding-top: 23px;
    padding-bottom: 0;
  }

  .briefs-page .assignments-intro h1,
  .briefs-page .assignments-intro p {
    text-shadow: 0 2px 20px rgba(0,0,0,.34);
  }

  .assignment-cta-v2 {
    min-height: 610px;
    padding: 0;
  }

  .assignment-cta-v2 > img {
    object-position: 57% center;
    filter: saturate(.68) contrast(1.04) brightness(.68);
  }

  .assignment-cta-v2::after {
    background:
      linear-gradient(180deg, rgba(4,10,10,.12) 18%, rgba(4,10,10,.48) 57%, rgba(4,10,10,.97) 100%),
      linear-gradient(90deg, rgba(4,10,10,.56), transparent 80%);
  }

  .assignment-cta-copy {
    width: 100%;
    padding: 43px var(--mobile-pad) 20px;
  }

  .assignment-cta-v2 .button {
    width: calc(100% - (2 * var(--mobile-pad)));
    margin: 0 var(--mobile-pad) 45px;
  }
}

@media (max-width: 359px) {
  .hero-v4 {
    min-height: 680px;
  }

  .capabilities-v2 {
    min-height: 700px;
  }

  .network-v2 {
    min-height: 760px;
  }

  .process-visual {
    min-height: 930px;
  }
}
