/* ==========================================================================
   Home page only (index.html), v2.1.0, 27 Oct 2026: after Crisis24's formula.
   Loaded after styles.css. Brand 2026 tokens only (--c-*, --s-*, --fs-*, --r-*).
   - Full-viewport hero over a muted ambient video, a huge light word pair joined by a
     thin gold line, one subline and one action anchored low.
   - One section formula repeated: eyebrow (gold rule) + two-line light statement +
     short paragraph + an arrow link with a square tile.
   - Dark chapters: hero, slogan over the perimeter video, procurement pack (map lines),
     CTA band. Light chapters between them on white and Mist.
   v3 (27 Oct 2026, owner review): statements are sentence case at a firm weight; only the hero
   word pair stays uppercase display type. Arabic is never uppercased or letter-spaced. Square corners; gold is a rule,
   marker or tile, and text only on navy. No pills, arches, chamfers or HUD decoration.
   ========================================================================== */

/* ---------- 0. Shared: the statement formula ---------- */
/* v3 (owner review, 27 Oct 2026): statements are sentence case at a firm weight, no longer uppercase light */
.statement { margin: 0; color: var(--c-navy); font-weight: 600; max-width: none; text-wrap: balance; }
html[lang="en"] .statement {
    font-family: var(--font-en);
    font-weight: 600;
    font-size: clamp(1.875rem, 1.1rem + 2.2vw, 3rem);
    line-height: 1.1;
    letter-spacing: -.02em;
}
html[lang="ar"] .statement {
    font-family: var(--font-ar);
    font-weight: 700;
    font-size: clamp(2rem, 1.25rem + 2.6vw, 3.625rem);
    line-height: 1.38;
    letter-spacing: 0;
}
.statement__l { display: block; }
html[lang="en"] .statement--sm { font-size: clamp(1.75rem, 1rem + 2.3vw, 3rem); }
html[lang="ar"] .statement--sm { font-size: clamp(1.75rem, 1.15rem + 2vw, 3rem); }

.formula { display: grid; gap: var(--s-5) var(--s-8); margin-bottom: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); }
@media (min-width: 960px) {
    /* statement on eight columns, the paragraph and link answer it from the end, bottom-aligned */
    .formula { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--s-6); align-items: end; }
    .formula__head { grid-column: 1 / span 8; }
    .formula__body { grid-column: 9 / -1; }
}
.formula__head .statement { margin-top: var(--s-5); }
.formula__text { margin: 0; max-width: 40em; color: var(--c-charcoal); font-size: var(--fs-body); line-height: 1.75; }
html[lang="ar"] .formula__text { max-width: 34em; line-height: 1.9; }
.formula__body > .arrow-link { margin-top: var(--s-5); }

/* Arrow link: label + a square tile (navy tile, gold arrow on light; gold tile, navy arrow on dark) */
.arrow-link {
    display: inline-flex;
    align-items: center;
    gap: var(--s-4);
    min-height: 44px;
    color: var(--c-navy);
    font-size: var(--fs-sm);
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}
html[lang="en"] .arrow-link { font-family: var(--font-en); font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; }
.arrow-link__tile {
    flex: none;
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    background: var(--c-navy);
    color: var(--c-gold);
    transition: background-color var(--dur-fast), color var(--dur-fast);
}
.arrow-link__tile .bi { font-size: 1.0625rem; line-height: 1; transition: translate var(--dur) var(--ease); }
.arrow-link:hover .arrow-link__tile { background: var(--c-navy-deep); color: #FFFFFF; }
:is(.arrow-link, .case-tile, .doc, .doc-cover):hover .arrow-link__tile .bi { translate: calc(3px * var(--dir)) 0; }
.arrow-link:hover > span:first-child { text-decoration: underline; text-underline-offset: .35em; text-decoration-thickness: 1px; }
.arrow-link:focus-visible { outline: 2px solid var(--c-navy); outline-offset: 4px; }
:is(.theme-dark, .cta-band) .arrow-link { color: #FFFFFF; }
:is(.theme-dark, .cta-band) .arrow-link__tile { background: var(--c-gold); color: var(--c-navy-deep); }
:is(.theme-dark, .cta-band) .arrow-link:hover .arrow-link__tile { background: #FFFFFF; color: var(--c-navy-deep); }
:is(.theme-dark, .cta-band) .arrow-link:focus-visible { outline-color: #FFFFFF; }

/* Eyebrows on the dark chapters: gold rule, pale-gold label (Brand: gold 40% is the text gold on navy) */
:is(.home-hero, .home-slogan, .home-procure) .eyebrow { color: #E2DBAA; }

/* Dark chapters share one ambient-media treatment */
.home-video, .home-hero__poster img, .home-slogan__poster img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.72) contrast(1.04);
}
.home-hero__poster, .home-slogan__poster { position: absolute; inset: 0; display: block; }
.home-video { opacity: 0; transition: opacity .9s var(--ease); background: transparent; }
.home-video.is-playing { opacity: 1; }
.home-video.is-failed { display: none; }
@media (prefers-reduced-motion: reduce) {
    .home-video { display: none; }
}

/* ---------- 1. Hero ---------- */
.home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    min-height: clamp(560px, calc(100svh - var(--utility-h) - var(--header-h)), 1040px);
    background: var(--c-navy-deep);
    color: #FFFFFF;
}
.home-hero__media { position: absolute; inset: 0; z-index: -1; }
.home-hero__poster img, .home-hero .home-video { object-position: 50% 58%; }
.home-hero__media::after {          /* navy tint multiplied into the footage (28 Oct 2026: lighter so the video reads); still >= 3:1 under the display pair, >= 4.5:1 under the copy */
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, rgba(46, 46, 69, .42) 0%, rgba(46, 46, 69, .54) 30%, rgba(46, 46, 69, .68) 50%, rgba(46, 46, 69, .7) 75%, rgba(46, 46, 69, .88) 100%);
    mix-blend-mode: multiply;
}
.home-hero__inner {
    container-type: inline-size;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    padding-block: clamp(2.5rem, 1.5rem + 3vw, 4rem) clamp(1.5rem, 1rem + 1.6vw, 2.5rem);
}
/* v3: the h1 is the visible proposition under the display pair */
.home-hero__copy { display: grid; gap: var(--s-3); max-width: 46rem; }
.home-hero__title { margin: 0; color: #FFFFFF; max-width: none; text-shadow: none; text-wrap: balance; }
html[lang="en"] .home-hero__title { font-family: var(--font-en); font-weight: 600; font-size: clamp(1.5rem, 1.05rem + 1.5vw, 2.375rem); line-height: 1.15; letter-spacing: -.015em; }
html[lang="ar"] .home-hero__title { font-family: var(--font-ar); font-weight: 700; font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.5rem); line-height: 1.45; }
.home-hero__title::after { content: none; }

/* The word pair: word ─── / in Iraq ··· word. Decorative display type (aria-hidden); the h1 below states the proposition. */
.pair { display: block; margin: 0; color: #FFFFFF; font-weight: 400; }
html[lang="en"] .pair {
    font-family: var(--font-en);
    font-size: clamp(2.25rem, min(10.5cqi, 16svh), 9rem);
    line-height: .9;
    letter-spacing: -.045em;
    text-transform: uppercase;
}
html[lang="ar"] .pair {
    font-family: var(--font-ar);
    font-weight: 400;
    font-size: clamp(2.75rem, min(16cqi, 15svh), 10rem);
    line-height: 1.22;
    letter-spacing: 0;
}
.pair__row { display: flex; align-items: center; gap: .2em; }
.pair__row--b { flex-direction: column; align-items: flex-end; gap: 0; }
html[lang="en"] .pair__row--b { margin-top: .06em; }
.pair__word { flex: none; white-space: nowrap; }
.pair__rule {
    flex: 1 1 auto;
    min-width: 1.75rem;
    height: 2px;
    background: var(--c-gold);
    transform-origin: var(--rule-origin, left) center;
}
html[lang="en"] .pair__rule { transform: translateY(-.02em); }
html[lang="ar"] .pair__rule { transform: translateY(.1em); --rule-origin: right; }
.pair__where {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: .9em;
    color: #FFFFFF;
    font-size: clamp(.8125rem, .7rem + .35vw, 1rem);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
    margin-top: .9rem;
}
html[lang="en"] .pair__where { font-family: var(--font-en); font-size: clamp(.75rem, .65rem + .3vw, .9375rem); letter-spacing: .24em; }
html[lang="ar"] .pair__where { font-family: var(--font-ar); margin-top: 0; }
.pair__where::before { content: ""; flex: none; width: 2.75rem; height: 3px; background: var(--c-gold); }

/* Rotating word: every word in one grid cell, the widest reserves the width */
.rot { display: inline-grid; vertical-align: top; }
html[lang="en"] .rot { justify-items: end; }
html[lang="ar"] .rot { justify-items: start; }
.rot__w { grid-area: 1 / 1; white-space: nowrap; }
.rot:not(.is-live) .rot__w:not(:first-child) { visibility: hidden; }
/* Sequenced, never crossfaded: the old word fades out (.18s), then the new one fades in (.28s). Two glyph sets are never
   visible together; English rises .1em on the way in, Arabic does not move (a vertical shift on joined script reads as a jump). */
.rot { --rot-from: translateY(.1em); }
html[lang="ar"] .rot { --rot-from: none; }
.rot.is-live .rot__w { opacity: 0; transform: var(--rot-from); transition: opacity .18s ease-in; }
.rot.is-live .rot__w.is-out { transform: none; }
.rot.is-live .rot__w.is-on { opacity: 1; transform: none; transition: opacity .28s var(--ease), transform .28s var(--ease); }

.home-hero__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--s-5) var(--s-7);
    margin-top: clamp(2rem, 1rem + 3.2vw, 4.25rem);
    padding-top: var(--s-5);
    border-top: 1px solid rgba(255, 255, 255, .24);
}
.home-hero__lead { margin: 0; max-width: 52ch; color: rgba(255, 255, 255, .88); font-size: clamp(.9375rem, .9rem + .2vw, 1.0625rem); line-height: 1.65; text-wrap: balance; }
html[lang="ar"] .home-hero__lead { max-width: 38em; line-height: 1.85; }
.home-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3) var(--s-6); }
.home-hero__doc {
    display: inline-flex; align-items: center; gap: .5em; min-height: 44px;
    color: #FFFFFF; font-size: var(--fs-sm); font-weight: 600;
    text-decoration: underline; text-underline-offset: .35em; text-decoration-thickness: 1px; text-decoration-color: rgba(255, 255, 255, .5);
}
html[lang="en"] .home-hero__doc { font-family: var(--font-en); }
.home-hero__doc:hover { text-decoration-color: var(--c-gold); }
.home-hero :is(.btn, .home-hero__doc):focus-visible { outline: 2px solid #FFFFFF; outline-offset: 3px; }

.js .home-hero .pair__row { animation: brandRise .8s var(--ease) both; }
.js .home-hero .pair__row--b { animation-delay: .1s; }
.js .home-hero .pair__rule { animation: homeRule 1.1s .35s var(--ease) both; }
.js .home-hero__foot { animation: brandRise .8s .22s var(--ease) both; }
@keyframes homeRule { from { transform: scaleX(0); } }

@media (max-width: 759px) {
    /* the phone action bar covers the last 60px */
    /* v3: shorter on phones so the first proof point is one short scroll away */
    .home-hero { min-height: clamp(440px, 74svh, 600px); }
    .home-hero__inner { padding-block: var(--s-6) var(--s-5); }
    .home-hero__foot { margin-top: var(--s-6); gap: var(--s-4); }
    .home-hero__actions { gap: var(--s-2) var(--s-5); flex-direction: row-reverse; justify-content: flex-end; }
}

/* ---------- 2. Ledger strip: four facts over the licence and certificates ---------- */
.home-ledger.cred-bar--ledger { padding-block: clamp(2.5rem, 1.5rem + 2.5vw, 4rem) clamp(2.5rem, 1.5rem + 2.5vw, 4rem); border-bottom: 1px solid var(--c-line); }
.ledger-facts {
    list-style: none;
    margin: 0 0 clamp(2rem, 1.25rem + 2vw, 3.25rem);
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ledger-facts li { display: grid; align-content: start; gap: var(--s-3); padding-inline: var(--s-5); border-inline-start: 1px solid var(--c-line); }
.ledger-facts li:first-child { padding-inline-start: 0; border-inline-start: 0; }
.ledger-facts li::before { content: ""; width: 2.75rem; height: 3px; background: var(--c-gold); }
.ledger-facts__num {
    justify-self: start;
    font-family: var(--font-en);
    font-weight: 300;
    font-size: var(--ledger-num);
    line-height: 1;
    letter-spacing: -.04em;
    color: var(--c-navy);
    font-variant-numeric: tabular-nums lining-nums;
}
.ledger-facts { --ledger-num: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); }
.ledger-facts__num--word {
    display: flex;
    align-items: flex-end;
    min-height: var(--ledger-num);
    padding-bottom: .02em;
    white-space: nowrap;
    letter-spacing: -.02em;
}
html[lang="en"] .ledger-facts__num--word { font-size: clamp(1.75rem, .9rem + 2.3vw, 3.25rem); text-transform: uppercase; }
html[lang="ar"] .ledger-facts__num--word { font-family: var(--font-ar); font-weight: 400; font-size: clamp(1.75rem, 1rem + 2.1vw, 3.125rem); line-height: 1.2; letter-spacing: 0; padding-bottom: 0; }
.ledger-facts__lab { color: var(--c-charcoal); font-size: var(--fs-sm); line-height: 1.5; }
html[lang="en"] .ledger-facts__lab { font-family: var(--font-en); font-size: .8125rem; font-weight: 500; }
@media (max-width: 719px) {
    .ledger-facts { grid-template-columns: 1fr 1fr; row-gap: var(--s-6); }
    .ledger-facts li:nth-child(odd) { padding-inline-start: 0; border-inline-start: 0; }
    .ledger-facts { --ledger-num: 2.75rem; }
    html[lang="en"] .ledger-facts__num--word { font-size: 1.75rem; }
    html[lang="ar"] .ledger-facts__num--word { font-size: 1.875rem; }
}

/* credentials ledger (as in v1) */
.cred-bar--ledger { background: #FFFFFF; border-bottom: 0; }
.cred-bar--ledger .cred-bar__head { align-items: baseline; margin-bottom: var(--s-4); }
.cred-bar--ledger .cred-bar__note { margin: 0; font-size: var(--fs-xs); color: var(--c-charcoal); }
.cred-bar--ledger .cred-bar__panel { background: transparent; border: 0; border-top: 2px solid var(--c-navy); border-bottom: 1px solid var(--c-line); }
.cred-bar--ledger .cred { background: transparent; border-bottom: 0; border-inline-end: 1px solid var(--c-line); padding: var(--s-5) var(--s-5) var(--s-4); }
.cred-bar--ledger .cred:hover { background: var(--c-mist); }
.cred-bar--ledger .cred:focus-visible { outline: 2px solid var(--c-navy); outline-offset: -2px; }
.cred-bar--ledger .cred__kicker { color: var(--c-charcoal); }
/* v3: who issued each credential, and a three-term key (licence / certification / membership) */
.cred-bar--ledger .cred__issuer { display: block; margin-top: var(--s-1); color: var(--c-charcoal); font-size: var(--fs-xs); line-height: 1.5; }
.cred-key { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3) var(--s-6); margin: 0; }
.cred-key > div { display: grid; gap: var(--s-1); align-content: start; }
.cred-key dt { color: var(--c-navy); font-size: var(--fs-sm); font-weight: 700; }
.cred-key dd { margin: 0; color: var(--c-charcoal); font-size: var(--fs-xs); line-height: 1.6; }
.cred-bar--ledger .cred-bar__head:has(.cred-key) { display: grid; gap: var(--s-4); }
@media (max-width: 719px) { .cred-key { grid-template-columns: minmax(0, 1fr); } }
.cred-bar--ledger .cred__name bdi { white-space: nowrap; }
.cred-bar--ledger .cred__doc { color: var(--c-navy); }
.cred-bar--ledger .cred:hover .cred__doc { color: var(--c-navy-deep); text-decoration: underline; text-underline-offset: .25em; }
@media (min-width: 1080px) {
    .cred-bar--ledger .cred-bar__list li:last-child .cred { border-inline-end: 0; }
}
@media (max-width: 1079px) {
    .cred-bar--ledger .cred { border-bottom: 1px solid var(--c-line); }
}
@media (min-width: 560px) and (max-width: 1079px) {
    .cred-bar--ledger .cred-bar__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cred-bar--ledger .cred-bar__list li:first-child { grid-column: 1 / -1; }
    .cred-bar--ledger .cred-bar__list li:first-child .cred,
    .cred-bar--ledger .cred-bar__list li:nth-child(odd) .cred { border-inline-end: 0; }
    .cred-bar--ledger .cred-bar__list li:nth-child(4) .cred,
    .cred-bar--ledger .cred-bar__list li:nth-child(5) .cred { border-bottom: 0; }
}
@media (max-width: 559px) {
    .cred-bar--ledger .cred-bar__list { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .cred-bar--ledger .cred-bar__list li:first-child { grid-column: auto; }
    .cred-bar--ledger .cred {
        display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; column-gap: var(--s-4);
        padding: var(--s-4) 0; border-inline-end: 0; border-bottom: 1px solid var(--c-line);
    }
    .cred-bar--ledger .cred-bar__list li:last-child .cred { border-bottom: 0; }
    .cred-bar--ledger .cred::after { display: none; }
    .cred-bar--ledger .cred__kicker { grid-column: 1 / -1; padding-inline-end: 0; }
    .cred-bar--ledger .cred__name { grid-column: 1 / -1; margin-top: var(--s-1); font-size: 1.0625rem; }
    html[lang="en"] .cred-bar--ledger .cred__name { font-size: 1.0625rem; }
    .cred-bar--ledger .cred__valid { grid-column: 1; margin-top: var(--s-1); }
    .cred-bar--ledger .cred__doc { grid-column: 2; grid-row: 3; margin-top: 0; padding-top: 0; min-height: 44px; white-space: nowrap; }
    .cred-bar--ledger .cred:hover { background: transparent; }
}

/* ---------- 3. Approach: statement + four numbered stages ---------- */
.home-approach .formula { margin-bottom: 0; }
.stages {
    list-style: none;
    margin: clamp(3rem, 2rem + 3vw, 5rem) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--c-line);
}
.stage { position: relative; padding: var(--s-6) var(--s-5) 0; border-inline-start: 1px solid var(--c-line); }
.stage:first-child { padding-inline-start: 0; border-inline-start: 0; }
.stage::before { content: ""; position: absolute; top: -2px; inset-inline-start: 0; width: 2.75rem; height: 3px; background: var(--c-gold); }
.stage:not(:first-child)::before { inset-inline-start: var(--s-5); }
.stage__n {
    display: block;
    font-family: var(--font-en);
    font-weight: 300;
    font-size: clamp(2.25rem, 1.75rem + 1.4vw, 3.25rem);
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--c-navy);
    font-variant-numeric: tabular-nums lining-nums;
    unicode-bidi: isolate;
}
.stage__title { margin-top: var(--s-5); color: var(--c-navy); font-size: var(--fs-title); line-height: 1.4; }
html[lang="en"] .stage__title { font-family: var(--font-en); font-weight: 600; }
.stage__text { margin-top: var(--s-2); color: var(--c-charcoal); font-size: var(--fs-sm); line-height: 1.7; }
@media (max-width: 899px) {
    .stages { grid-template-columns: 1fr 1fr; row-gap: var(--s-7); }
    .stage:nth-child(odd) { padding-inline-start: 0; border-inline-start: 0; }
    .stage:nth-child(odd)::before { inset-inline-start: 0; }
}
@media (max-width: 479px) {
    .stages { grid-template-columns: minmax(0, 1fr); row-gap: 0; border-top: 0; }
    .stage, .stage:nth-child(odd) { display: grid; grid-template-columns: 3.75rem minmax(0, 1fr); column-gap: var(--s-4); padding: var(--s-5) 0; border-inline-start: 0; border-top: 1px solid var(--c-line); }
    .stage::before, .stage:not(:first-child)::before { inset-inline-start: 0; }
    .stage__n { grid-row: span 2; font-size: 2.25rem; }
    .stage__title { margin-top: 0; }
}

/* ---------- 4. Feature cards: photo, eyebrow, statement, sentence, action, services ---------- */
.features { display: grid; gap: clamp(3rem, 2rem + 2vw, 4rem) clamp(1.5rem, 1rem + 1.6vw, 2.75rem); }
@media (min-width: 1080px) { .features { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.feature { display: flex; flex-direction: column; min-width: 0; }
.feature__media { aspect-ratio: 4 / 3; border-radius: 0; background: var(--c-navy-deep); }
.feature__media img { filter: grayscale(.55) contrast(1.06) brightness(.95); transition: filter .6s var(--ease), transform 1.2s var(--ease); }
.feature:hover .feature__media img { filter: grayscale(.15) contrast(1.04); transform: scale(1.03); }
.feature__body { display: flex; flex-direction: column; flex: 1; min-width: 0; padding-top: var(--s-5); }
.feature__eyebrow { display: flex; align-items: center; gap: 1rem; margin: 0; color: var(--c-navy); font-size: var(--fs-sm); font-weight: 600; line-height: 1.4; }
html[lang="en"] .feature__eyebrow { font-family: var(--font-en); font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; }
.feature__mark { flex: none; width: 2.75rem; height: 3px; background: var(--c-gold); }
.feature__title { margin-top: var(--s-4); color: var(--c-navy); text-wrap: balance; }
html[lang="en"] .feature__title { font-family: var(--font-en); font-weight: 600; font-size: clamp(1.375rem, 1.15rem + .6vw, 1.75rem); line-height: 1.15; letter-spacing: -.015em; }
html[lang="ar"] .feature__title { font-family: var(--font-ar); font-weight: 700; font-size: clamp(1.625rem, 1.3rem + .9vw, 2.125rem); line-height: 1.45; }
.feature__text { margin-top: var(--s-4); color: var(--c-charcoal); font-size: var(--fs-body); line-height: 1.7; max-width: 34em; }
.feature__body > .arrow-link { margin-top: var(--s-5); align-self: flex-start; }
.feature__list { list-style: none; margin: auto 0 0; padding: var(--s-6) 0 0; }
.feature__list li:first-child a { border-top: 2px solid var(--c-navy); }
.feature__list a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 48px;
    padding-block: var(--s-2);
    border-bottom: 1px solid rgba(65, 65, 95, .16);
    color: var(--c-navy);
    font-size: var(--fs-sm);
    font-weight: 600;
    line-height: 1.45;
    text-decoration: none;
    transition: padding var(--dur) var(--ease), color var(--dur-fast);
}
html[lang="en"] .feature__list a { font-family: var(--font-en); font-size: .84375rem; letter-spacing: .06em; text-transform: uppercase; }
.feature__list a::before {
    content: ""; position: absolute; inset-block: -1px; inset-inline-start: 0; width: 3px;
    background: var(--c-gold); transform: scaleY(0); transition: transform var(--dur) var(--ease);
}
.feature__list a:hover, .feature__list a:focus-visible { padding-inline-start: var(--s-4); color: var(--c-navy-deep); }
.feature__list a:hover::before, .feature__list a:focus-visible::before { transform: scaleY(1); }
.feature__list a:focus-visible { outline: 2px solid var(--c-navy); outline-offset: 2px; }
@media (min-width: 640px) and (max-width: 1079px) {
    .feature { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--s-6); align-items: start; }
    .feature__media { aspect-ratio: 4 / 5; }
    .feature__body { padding-top: 0; }
}

/* ---------- 5. Slogan over the perimeter video ---------- */
.home-slogan {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--c-navy-deep);
    color: #FFFFFF;
    padding-block: clamp(4.5rem, 2.5rem + 7vw, 9.5rem) clamp(3rem, 2rem + 3vw, 5rem);
}
.home-slogan__media { position: absolute; inset: 0; z-index: -1; }
.home-slogan__poster img, .home-slogan .home-video { object-position: 60% 50%; }
.home-slogan__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(var(--to-end), rgba(46, 46, 69, .84) 0%, rgba(46, 46, 69, .74) 55%, rgba(46, 46, 69, .66) 100%),
        linear-gradient(to bottom, rgba(46, 46, 69, .25), rgba(46, 46, 69, 0) 30%, rgba(46, 46, 69, .55) 100%);
}
.home-slogan__inner { container-type: inline-size; position: relative; }
.slogan { margin: var(--s-6) 0 0; color: #FFFFFF; font-weight: 300; max-width: none; text-shadow: none; }
html[lang="en"] .slogan { font-weight: 300; }
html[lang="ar"] .slogan { font-weight: 400; }
html[lang="en"] .slogan {
    font-family: var(--font-en);
    font-size: clamp(2.75rem, 13.4cqi, 12.5rem);
    line-height: .88;
    letter-spacing: -.05em;
    text-transform: uppercase;
}
html[lang="ar"] .slogan {
    font-family: var(--font-ar);
    font-size: clamp(3rem, 14.5cqi, 12.5rem);
    line-height: 1.32;
    letter-spacing: 0;
}
.slogan__l { display: block; width: fit-content; transform-origin: left 60%; will-change: transform; }
[dir="rtl"] .slogan__l { transform-origin: right 60%; }
html[lang="en"] .slogan__l:nth-child(n+3) { margin-inline-start: auto; }    /* OURS / TO PROTECT. answer from the end edge */
html[lang="en"] .slogan__l:nth-child(3) { margin-top: .16em; }
html[lang="ar"] .slogan__l:nth-child(2) { margin-inline-start: auto; }
.home-slogan__side {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--s-5) var(--s-7);
    margin-top: clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
    padding-top: var(--s-5);
    border-top: 1px solid rgba(255, 255, 255, .24);
}
.home-slogan__text { margin: 0; max-width: 40ch; color: rgba(255, 255, 255, .9); font-size: var(--fs-body); line-height: 1.7; }
html[lang="ar"] .home-slogan__text { max-width: 30em; line-height: 1.85; }
.home-slogan__tel { display: grid; gap: var(--s-1); justify-items: start; min-height: 44px; color: #FFFFFF; text-decoration: none; }
.home-slogan__tel-lab { color: #E2DBAA; font-size: var(--fs-sm); font-weight: 600; }
html[lang="en"] .home-slogan__tel-lab { font-family: var(--font-en); font-size: .8125rem; letter-spacing: .18em; text-transform: uppercase; }
.home-slogan__tel-num {
    font-family: var(--font-en); font-weight: 300; font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.75rem);
    line-height: 1.1; letter-spacing: -.02em; font-variant-numeric: tabular-nums lining-nums; unicode-bidi: isolate;
    border-bottom: 1px solid rgba(255, 255, 255, .35); padding-bottom: .1em;
}
.home-slogan__tel:hover .home-slogan__tel-num { border-bottom-color: var(--c-gold); }
.home-slogan__tel:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 4px; }

/* ---------- 6. Case studies: dark image cards ---------- */
.case-tiles { display: grid; gap: clamp(1rem, .5rem + 1.5vw, 2rem); }
@media (min-width: 900px) { .case-tiles { grid-template-columns: 1fr 1fr; } }
.case-tile {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    min-height: clamp(26rem, 18rem + 16vw, 36rem);
    border: 0;
    border-radius: 0;
    background: var(--c-navy-deep);
    color: #FFFFFF;
    text-decoration: none;
}
.case-tile__media { position: absolute; inset: 0; z-index: -1; }
.case-tile__media picture, .case-tile__media img { display: block; width: 100%; height: 100%; }
.case-tile__media img { object-fit: cover; filter: grayscale(.55) contrast(1.06) brightness(.9); transition: transform 1.2s var(--ease), filter .6s var(--ease); }
.case-tile__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(46, 46, 69, .97) 0%, rgba(46, 46, 69, .92) 42%, rgba(46, 46, 69, .55) 72%, rgba(46, 46, 69, .2) 100%);
}
.case-tile:hover .case-tile__media img { transform: scale(1.04); filter: grayscale(.2) contrast(1.04) brightness(.92); }
.case-tile:focus-visible { outline: 3px solid var(--c-navy); outline-offset: 3px; }
.case-tile__body { align-self: end; display: grid; justify-items: start; gap: var(--s-3); padding: clamp(1.5rem, 1rem + 2vw, 2.75rem); }
.case-tile__kicker { color: #E2DBAA; font-size: var(--fs-sm); font-weight: 600; line-height: 1.5; }
html[lang="en"] .case-tile__kicker { font-family: var(--font-en); font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; }
.case-tile__title { color: #FFFFFF; font-weight: 300; }
html[lang="en"] .case-tile__title { font-family: var(--font-en); font-size: clamp(2rem, 1.3rem + 2.3vw, 3.5rem); line-height: 1; letter-spacing: -.03em; text-transform: uppercase; }
html[lang="ar"] .case-tile__title { font-family: var(--font-ar); font-weight: 400; font-size: clamp(1.875rem, 1.3rem + 1.9vw, 3rem); line-height: 1.35; }
.case-tile__text { max-width: 42ch; color: rgba(255, 255, 255, .88); font-size: var(--fs-body); line-height: 1.65; }
html[lang="ar"] .case-tile__text { max-width: 32em; line-height: 1.85; }
.case-tile__go { display: inline-flex; align-items: center; gap: var(--s-4); margin-top: var(--s-3); color: #FFFFFF; font-size: var(--fs-sm); font-weight: 600; }
html[lang="en"] .case-tile__go { font-family: var(--font-en); font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; }
.case-tile .arrow-link__tile { background: var(--c-gold); color: var(--c-navy-deep); }
.case-tile:hover .arrow-link__tile { background: #FFFFFF; }

/* Other engagements as a ledger, no photographs */
.engagements { margin-top: clamp(3rem, 2rem + 3vw, 5rem); }
.engagements__head { margin-bottom: var(--s-4); }
.engagements__title { color: var(--c-navy); font-size: var(--fs-h3); }
.engagements__list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--c-navy); }
.engagement {
    display: grid;
    grid-template-columns: 10rem minmax(0, 1fr) 12rem 8.5rem;
    align-items: center;
    gap: var(--s-1) var(--s-5);
    min-height: 64px;
    padding: var(--s-3) var(--s-3);
    border-bottom: 1px solid var(--c-line);
    color: var(--c-ink);
    text-decoration: none;
    transition: background var(--dur-fast);
}
.engagement:hover { background: var(--c-mist); }
.engagement:focus-visible { outline: 2px solid var(--c-navy); outline-offset: -2px; background: var(--c-mist); }
.engagement__name { font-family: var(--font-en); font-weight: 700; font-size: 1.0625rem; color: var(--c-navy); unicode-bidi: isolate; }
.engagement__what { color: var(--c-ink); font-size: var(--fs-sm); line-height: 1.55; }
.engagement__where { color: var(--c-charcoal); font-size: var(--fs-sm); }
.engagement__go { display: inline-flex; align-items: center; gap: .5em; justify-self: end; white-space: nowrap; color: var(--c-navy); font-size: var(--fs-sm); font-weight: 600; }
html[lang="en"] .engagement__go { font-family: var(--font-en); font-size: .8125rem; }
.engagement__go .bi { transition: translate var(--dur) var(--ease); }
.engagement:hover .engagement__go .bi { translate: calc(3px * var(--dir)) 0; }
@media (max-width: 1023px) {
    .engagement { grid-template-columns: minmax(0, 1fr) auto; padding-inline: 0; padding-block: var(--s-4); }
    .engagement__name { grid-column: 1; grid-row: 1; }
    .engagement__go { grid-column: 2; grid-row: 1; }
    .engagement__what, .engagement__where { grid-column: 1 / -1; }
    .engagement:hover { background: transparent; }
}

/* Photo band between the case studies and the procurement pack */
.hero-band { border-block: 0; }

/* ---------- 7. Procurement pack (dark, map lines) ---------- */
.home-procure {
    position: relative;
    padding-block: var(--section-y);
    background: var(--c-navy-deep) var(--maplines-dark) center / cover no-repeat;
    color: rgba(255, 255, 255, .86);
}
.procure { display: grid; gap: clamp(3rem, 2rem + 3vw, 5rem); }
@media (min-width: 1024px) { .procure { grid-template-columns: minmax(0, 11fr) minmax(0, 12fr); column-gap: clamp(3rem, 1rem + 5vw, 7rem); align-items: start; } }
.home-procure .statement { margin-top: var(--s-5); color: #FFFFFF; }
html[lang="en"] .home-procure .statement { font-size: clamp(2rem, 1.2rem + 2.2vw, 3rem); }
html[lang="ar"] .home-procure .statement { font-size: clamp(2rem, 1.3rem + 2vw, 3rem); }
.home-procure .formula__text { margin-top: var(--s-5); color: rgba(255, 255, 255, .84); }

/* The capability statement as a document on the table: paper, gold head rule, one action */
.doc-cover {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr auto auto;
    gap: var(--s-3);
    width: min(100%, 19rem);
    aspect-ratio: 210 / 270;
    margin-top: var(--s-7);
    padding: var(--s-6) var(--s-5) var(--s-5);
    background: #FFFFFF;
    border-top: 5px solid var(--c-gold);
    color: var(--c-navy);
    text-decoration: none;
    box-shadow: calc(-14px * var(--dir)) 14px 0 rgba(255, 255, 255, .1);
    transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.doc-cover:hover { transform: translateY(-4px); box-shadow: calc(-14px * var(--dir)) 18px 0 rgba(255, 255, 255, .14); }
.doc-cover:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 4px; }
.doc-cover__type { justify-self: start; font-family: var(--font-en); font-size: .75rem; font-weight: 600; letter-spacing: .16em; color: var(--c-charcoal); }
.doc-cover__title { align-self: end; color: var(--c-navy); font-weight: 300; }
html[lang="en"] .doc-cover__title { font-family: var(--font-en); font-size: 2rem; line-height: 1.02; letter-spacing: -.02em; text-transform: uppercase; }
html[lang="ar"] .doc-cover__title { font-family: var(--font-ar); font-weight: 400; font-size: 2rem; line-height: 1.35; }
.doc-cover__meta { color: var(--c-charcoal); font-size: var(--fs-xs); line-height: 1.5; padding-bottom: var(--s-3); border-bottom: 1px solid var(--c-line); }
html[lang="en"] .doc-cover__meta { font-family: var(--font-en); }
.doc-cover__go { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); color: var(--c-navy); font-size: var(--fs-sm); font-weight: 600; }
html[lang="en"] .doc-cover__go { font-family: var(--font-en); font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; }
.doc-cover .arrow-link__tile { background: var(--c-navy); color: var(--c-gold); }
.doc-cover:hover .arrow-link__tile { background: var(--c-navy-deep); color: #FFFFFF; }

.procure__h { margin: 0 0 var(--s-4); color: #FFFFFF; font-size: var(--fs-sm); font-weight: 600; }
html[lang="en"] .procure__h { font-family: var(--font-en); font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; }
.doc-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid rgba(255, 255, 255, .5); }
.doc {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr) 44px;
    align-items: center;
    gap: var(--s-4);
    min-height: 76px;
    padding-block: var(--s-3);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    color: #FFFFFF;
    text-decoration: none;
    transition: background var(--dur-fast), padding var(--dur) var(--ease);
}
.doc:hover { background: rgba(255, 255, 255, .05); padding-inline: var(--s-3); }
.doc:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }
.doc__type {
    justify-self: start;
    padding: .3em .45em;
    border: 1px solid rgba(183, 164, 42, .7);
    color: #E2DBAA;
    font-family: var(--font-en);
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .12em;
}
html[lang="ar"] .doc__type[data-ar] { font-family: var(--font-ar); font-size: .8125rem; letter-spacing: 0; }
.doc__body { display: grid; gap: 2px; min-width: 0; }
.doc__name { color: #FFFFFF; font-size: 1.0625rem; font-weight: 600; line-height: 1.4; }
html[lang="en"] .doc__name { font-family: var(--font-en); }
.doc__name bdi { white-space: nowrap; }
.doc__meta { color: rgba(255, 255, 255, .74); font-size: var(--fs-sm); line-height: 1.55; }
.doc .arrow-link__tile { background: transparent; border: 1px solid rgba(255, 255, 255, .3); color: #FFFFFF; }
.doc:hover .arrow-link__tile { background: var(--c-gold); border-color: var(--c-gold); color: var(--c-navy-deep); }

.grievance {
    margin-top: var(--s-7);
    padding: var(--s-6);
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .18);
    border-inline-start: 3px solid var(--c-gold);
}
.grievance__title { color: #FFFFFF; font-size: var(--fs-h3); }
.grievance__text { margin-top: var(--s-2); color: rgba(255, 255, 255, .86); font-size: var(--fs-body); }
.grievance .arrow-link { margin-top: var(--s-4); }
@media (max-width: 479px) {
    .doc { grid-template-columns: minmax(0, 1fr) 44px; }
    .doc__type { grid-column: 1 / -1; }
    .grievance { padding: var(--s-5); }
}

/* ---------- 8. Coverage: light ground, the dark map as an object ---------- */
.home-coverage { padding-block: clamp(4rem, 2.5rem + 4vw, 7rem); }
@media (min-width: 960px) {
    .home-coverage .coverage { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; }
}
.home-coverage .ops-board { max-width: 520px; width: 100%; margin-inline: auto; border: 0; }
.home-coverage .ops-board__map { max-height: none; }
.coverage__body .statement { margin-top: var(--s-5); }
.coverage__body .formula__text { margin-top: var(--s-5); }
.home-coverage .office-list { margin-top: var(--s-6); border-top: 2px solid var(--c-navy); }
@media (min-width: 600px) {
    .home-coverage .office-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--s-6); }
}
.home-coverage .office { grid-template-columns: 2.25rem minmax(0, 1fr); padding-block: var(--s-3); border-bottom: 1px solid rgba(65, 65, 95, .16); }
.home-coverage .office::before { color: var(--c-charcoal); }
.home-coverage .office::after { background: var(--c-gold); }
.home-coverage .office.is-active { background: linear-gradient(var(--to-end), rgba(65, 65, 95, .06), transparent 70%); }
.home-coverage .office__city { color: var(--c-navy); }
.home-coverage .badge, .home-coverage .badge--soft, .home-coverage .badge--outline {
    background: transparent; color: var(--c-navy); border: 1px solid rgba(65, 65, 95, .3);
}
.home-coverage .office:first-child .badge { border-inline-start: 3px solid var(--c-gold); }
.home-coverage .office__tel { display: flex; flex-wrap: wrap; gap: 0 var(--s-3); direction: ltr; justify-content: flex-start; }
[dir="rtl"] .home-coverage .office__tel { justify-content: flex-end; }
.home-coverage .office__tel a { min-height: 32px; display: inline-flex; align-items: center; white-space: nowrap; color: var(--c-navy); font-family: var(--font-en); font-size: var(--fs-sm); }
@media (pointer: coarse), (max-width: 759px) { .home-coverage .office__tel a { min-height: 44px; } }
.coverage__links { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-7); margin-top: var(--s-5); }

/* ---------- 9. Training on record: dated text cards ---------- */
.log-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-4); }
@media (max-width: 1023px) { .log-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 559px) { .log-cards { grid-template-columns: minmax(0, 1fr); } }
.log-card {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    min-height: 15rem;
    padding: var(--s-5) var(--s-5) var(--s-6);
    background: var(--c-mist);
    border-top: 3px solid var(--c-navy);
}
.log-card__date { display: flex; align-items: center; gap: .8em; color: var(--c-navy); font-size: var(--fs-sm); font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; }
html[lang="en"] .log-card__date { font-family: var(--font-en); font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; }
.log-card__date::before { content: ""; flex: none; width: 1.75rem; height: 3px; background: var(--c-gold); }
.log-card__title { margin-top: 0; padding-top: var(--s-5); color: var(--c-navy); font-size: clamp(1.25rem, 1.1rem + .4vw, 1.5rem); line-height: 1.3; }
html[lang="en"] .log-card__title { font-family: var(--font-en); font-weight: 600; letter-spacing: -.01em; }
html[lang="ar"] .log-card__title { font-weight: 700; line-height: 1.5; }
.log-card__text { color: var(--c-charcoal); font-size: var(--fs-sm); line-height: 1.7; }
@media (max-width: 559px) { .log-card { min-height: 0; } .log-card__title { padding-top: var(--s-3); } }

/* ---------- 10. Sectors: a typographic index ---------- */
.sector-index { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); border-top: 2px solid var(--c-navy); }
@media (min-width: 760px) { .sector-index { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 1rem + 3vw, 4.5rem); } }
.sector-index > li { display: flex; }
.sector-index__link {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-4);
    min-height: clamp(4.25rem, 3.25rem + 2vw, 5.75rem);
    padding-block: var(--s-3);
    border-bottom: 1px solid rgba(65, 65, 95, .16);
    color: var(--c-navy);
    font-size: clamp(1.25rem, 1rem + 1vw, 1.875rem);
    font-weight: 400;
    line-height: 1.35;
    text-decoration: none;
    transition: color var(--dur-fast), padding var(--dur) var(--ease);
}
html[lang="en"] .sector-index__link { font-family: var(--font-en); font-weight: 300; letter-spacing: -.02em; line-height: 1.2; text-transform: uppercase; font-size: clamp(1.125rem, .9rem + .9vw, 1.75rem); }
html[lang="ar"] .sector-index__link { line-height: 1.5; }
.sector-index__link::before {
    content: ""; position: absolute; inset-block: -1px; inset-inline-start: 0; width: 3px;
    background: var(--c-gold); transform: scaleY(0); transition: transform var(--dur) var(--ease);
}
.sector-index__link .bi { flex: none; display: inline-grid; place-items: center; width: 44px; height: 44px; font-size: 1.0625rem; color: var(--c-gold); background: var(--c-navy); transition: translate var(--dur) var(--ease), background var(--dur-fast), color var(--dur-fast); }
.sector-index__link:hover, .sector-index__link:focus-visible { color: var(--c-navy-deep); padding-inline-start: var(--s-5); }
.sector-index__link:hover::before, .sector-index__link:focus-visible::before { transform: scaleY(1); }
.sector-index__link:hover .bi { background: var(--c-navy-deep); color: #FFFFFF; }
.sector-index__link:focus-visible { outline: 2px solid var(--c-navy); outline-offset: 2px; }

/* ---------- 12. Clients + CTA band ---------- */
@media (max-width: 479px) {
    .logo-grid__item--cta { grid-column: 1 / -1; aspect-ratio: auto; min-height: 0; padding-block: var(--s-4); }
}
@media (max-width: 759px) {
    .logo-grid__item--cta a { min-height: 44px; display: inline-flex; align-items: center; }
}
.cta-band .statement { color: #FFFFFF; max-width: none; }
html[lang="en"] .cta-band .statement { font-weight: 300; font-size: clamp(1.75rem, 1rem + 2.1vw, 2.875rem); line-height: 1.08; }
html[lang="ar"] .cta-band .statement { font-weight: 400; font-size: clamp(1.75rem, 1.1rem + 2vw, 2.875rem); line-height: 1.45; }

/* ---------- Touch targets ---------- */
@media (pointer: coarse) {
    .logo-grid__item--cta a { min-height: 44px; display: inline-flex; align-items: center; }
}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce) {
    .js .home-hero :is(.pair__row, .pair__rule), .js .home-hero__foot { animation: none; }
    .rot__w { transition: none !important; }
    :is(.feature__list a, .sector-index__link, .engagement, .doc, .doc-cover) { transition: none; }
    :is(.feature__media, .case-tile__media) img { transition: none; }
    .feature:hover .feature__media img, .case-tile:hover .case-tile__media img { transform: none; }
    .slogan__l { will-change: auto; }
}
@media (forced-colors: active) {
    .pair__rule, .ledger-facts li::before, .stage::before, .feature__mark { background: CanvasText; }
}

/* The v4 "console" title bar on the CTA panel still shows in Arabic (styles.css: html[lang="ar"] rule outranks the Brand 2026 reset) */
html[lang] .cta-band__inner > :last-child::before { content: none; }
@media (max-width: 559px) { .doc-cover { aspect-ratio: auto; min-height: 16rem; width: 100%; } }

/* ---------- v2.1 (27 Oct 2026, evaluation 1) ---------- */
/* Training log: a compact header, the four dated cards straight after it */
.formula--compact { margin-bottom: clamp(2rem, 1.25rem + 2vw, 3rem); }
.home-log { padding-block: clamp(3.5rem, 2.25rem + 4vw, 6rem); }

/* Clients: a quiet logo band, eyebrow-sized heading and one note, no statement */
.logo-band__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--s-3) var(--s-6); margin-bottom: var(--s-5); }
.logo-band__head .eyebrow { margin: 0; }
.logo-band__note { margin: 0; color: var(--c-charcoal); font-size: var(--fs-sm); line-height: 1.6; }
.home-clients.section--tight { padding-block: clamp(3rem, 2rem + 2.5vw, 4.5rem); }

/* Touch targets and the smallest labels */
.cta-band__line a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 480px) {
    html[lang="en"] .pair__where { font-size: .8125rem; letter-spacing: .2em; }
    html[lang="ar"] .pair__where { font-size: .9375rem; }
}

/* ---------- Quick enquiry in the closing band (27 Oct 2026, Phase 1 second conversion route) ---------- */
.cta-band--form .cta-band__inner { align-items: start; }
@media (min-width: 1024px) { .cta-band--form .cta-band__inner { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-8); } }
.cta-band--form .cta-band__lines { margin-top: var(--s-6); }
.home-enquiry__form { background: #FFFFFF; color: var(--c-ink); padding: clamp(var(--s-5), 2vw + .5rem, var(--s-7)); border-top: 3px solid var(--c-gold);
    display: grid; gap: var(--s-5); text-align: start; }
.home-enquiry__form h3 { color: var(--c-navy); font-size: var(--fs-h4); margin: 0; }
.home-enquiry__form .form-intro { color: var(--c-charcoal); font-size: var(--fs-sm); margin: 0; }
.home-enquiry__form .form-grid { display: grid; gap: var(--s-4); grid-template-columns: 1fr; }
@media (min-width: 640px) { .home-enquiry__form .form-grid { grid-template-columns: 1fr 1fr; } .home-enquiry__form .field--full { grid-column: 1 / -1; } }
.home-enquiry__form a:not(.btn) { color: var(--c-navy); }
.home-enquiry__form .cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-4) var(--s-6); }
.home-enquiry__full { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; font-size: var(--fs-sm); text-decoration: underline; text-underline-offset: .3em; }
.home-enquiry__form .form-status--error[data-validation-error] { display: none; }
.home-enquiry__form .form-status--error[data-validation-error].is-visible { display: flex; }
/* the band's "last child" panel rules (styles.css §17) must not restyle the form card */
.cta-band .cta-band__inner > .home-enquiry__form { background: #FFFFFF; border: 0; border-top: 3px solid var(--c-gold); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6);
    padding: clamp(var(--s-5), 2vw + .5rem, var(--s-7)); color: var(--c-ink); }
.home-enquiry__form .field__label, .home-enquiry__form .check, .home-enquiry__form .field__label span { color: var(--c-ink); }
.home-enquiry__form .req { color: var(--danger, #A3322A); }
.home-enquiry__form .btn--primary { --btn-bg: var(--c-navy); --btn-fg: #FFFFFF; background: var(--c-navy); color: #FFFFFF; border-color: var(--c-navy); }
.home-enquiry__form .btn--primary:hover { --btn-bg: var(--c-navy-deep); background: var(--c-navy-deep); }
.home-enquiry__form .check a, .home-enquiry__full { color: var(--c-navy); }
.home-enquiry__form .honeypot { display: none !important; }
