/* ========================================================================== */
/* Fire CMA v1.8.0 — Signal Editorial                                       */
/* Production visual layer for the bilingual editorial experience.           */
/* ========================================================================== */

:root {
  --fire-v17-ink: #110202;
  --fire-v17-ink-soft: #1b0808;
  --fire-v17-paper: #fff7f5;
  --fire-v17-paper-deep: #f4e9e6;
  --fire-v17-red: #fc0b0a;
  --fire-v17-red-deep: #c90000;
  --fire-v17-orange: #f95c0d;
  --fire-v17-line-dark: rgba(255,247,245,.14);
  --fire-v17-line-light: rgba(17,2,2,.13);
  --fire-v17-shadow: 0 24px 80px rgba(17,2,2,.16);
  --fire-v17-radius: 8px;
}

html { scroll-padding-top: 92px; }
body { background: var(--fire-v17-paper); }
.site-main--v17 { overflow: clip; }
.site-main--v17 > section:not(.hero) { position: relative; }
.site-main--v17 .section { padding-block: clamp(92px, 10vw, 160px); }
.site-main--v17 .section-title { max-width: 16ch; letter-spacing: -.045em; line-height: .98; }
.site-main--v17 .section-copy { max-width: 57ch; line-height: 1.82; }
.site-main--v17 .section-kicker { display:flex; align-items:center; gap:10px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.site-main--v17 .section-kicker::before { content:""; width:30px; height:1px; background:currentColor; opacity:.65; }
.button--red { color:#fff; background:var(--fire-v17-red); border-color:var(--fire-v17-red); }
.button--red:hover { color:var(--fire-v17-ink); background:var(--fire-v17-paper); border-color:var(--fire-v17-paper); }

/* Header — one quiet layer, no nested capsule. */
.site-header.site-header--v17 {
  top:0; height:86px; padding:0; background:linear-gradient(180deg,rgba(17,2,2,.94),rgba(17,2,2,.78));
  border-bottom:1px solid rgba(255,247,245,.1); pointer-events:none;
  backdrop-filter:blur(16px) saturate(125%); -webkit-backdrop-filter:blur(16px) saturate(125%);
}
.admin-bar .site-header.site-header--v17 { top:32px; }
.site-header.site-header--v17 .site-header__inner {
  width:min(1540px,calc(100vw - 48px)); height:86px; padding:0; grid-template-columns:minmax(190px,.8fr) minmax(420px,1.5fr) minmax(280px,.8fr);
  gap:clamp(18px,2vw,38px); background:transparent; border:0; border-radius:0; box-shadow:none; pointer-events:auto;
}
.site-header.site-header--v17.is-scrolled { background:rgba(17,2,2,.96); box-shadow:0 14px 40px rgba(17,2,2,.15); }
.site-header.site-header--v17.is-scrolled .site-header__inner { transform:none; }
.site-header--v17 .site-logo-lockup { --logo-color:#fff7f5; min-width:160px; height:50px; }
.site-header--v17 .site-logo-lockup__mark { width:42px; height:38px; }
.site-header--v17 .site-logo-lockup__type strong { font-size:25px; }
.site-header--v17 .site-logo-lockup__type small { font-size:6.2px; }
.site-header--v17 .desktop-nav { justify-self:center; gap:clamp(18px,2.2vw,38px); }
.site-header--v17 .desktop-nav a { position:relative; padding:32px 0 28px; color:rgba(255,247,245,.62); background:none; border:0; border-radius:0; font-size:13px; font-weight:700; }
html[dir=ltr] .site-header--v17 .desktop-nav a { font-size:11.5px; letter-spacing:.07em; }
.site-header--v17 .desktop-nav a::after { content:""; position:absolute; inset-inline:0; bottom:19px; height:2px; background:var(--fire-v17-red); transform:scaleX(0); transform-origin:center; transition:transform .25s ease; }
.site-header--v17 .desktop-nav a:hover,.site-header--v17 .desktop-nav a.is-active,.site-header--v17 .desktop-nav a[aria-current=location] { color:#fff; }
.site-header--v17 .desktop-nav a:hover::after,.site-header--v17 .desktop-nav a.is-active::after,.site-header--v17 .desktop-nav a[aria-current=location]::after { transform:scaleX(1); }
.site-header--v17 .site-header__actions { gap:10px; }
.site-header--v17 .header-signal { color:rgba(255,247,245,.42); }
.site-header--v17 .language-switch { width:42px; height:42px; border:1px solid rgba(255,247,245,.18); border-radius:50%; color:#fff; background:transparent; }
.site-header--v17 .language-switch:hover { color:var(--fire-v17-ink); background:var(--fire-v17-paper); }
.site-header--v17 .header-cta { min-height:46px; padding-inline:18px; color:#fff; background:var(--fire-v17-red); border-radius:4px; box-shadow:none; }
.site-header--v17 .header-cta:hover { color:var(--fire-v17-ink); background:var(--fire-v17-paper); }
.scroll-progress { height:2px; background:transparent; }
.scroll-progress span { background:var(--fire-v17-red); }

/* Hero — black is the stage, red is the signal. */
.hero.hero--v17 {
  min-height:max(840px,100svh); padding-top:clamp(132px,11vw,176px); padding-bottom:38px; color:var(--fire-v17-paper);
  background:
    radial-gradient(circle at 78% 34%,rgba(252,11,10,.34),transparent 24%),
    radial-gradient(circle at 18% 88%,rgba(249,92,13,.11),transparent 30%),
    linear-gradient(125deg,#080000 0%,#130303 55%,#240303 100%);
}
.hero--v17::before { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(rgba(255,247,245,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,247,245,.035) 1px,transparent 1px); background-size:clamp(72px,8vw,122px) clamp(72px,8vw,122px); mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.5) 62%,transparent); pointer-events:none; }
html[dir=rtl] .hero--v17::before { mask-image:linear-gradient(270deg,#000,rgba(0,0,0,.5) 62%,transparent); }
.hero--v17::after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(0,0,0,.2),transparent 44%,rgba(0,0,0,.25)); pointer-events:none; }
.hero--v17 .hero__mesh { z-index:1; opacity:.84; mix-blend-mode:screen; }
.hero--v17 .hero__noise { z-index:2; opacity:.065; mix-blend-mode:soft-light; }
.hero__signal-field { position:absolute; z-index:1; inset:0; pointer-events:none; overflow:hidden; }
.hero__signal-field i { position:absolute; border:1px solid rgba(252,11,10,.22); border-radius:50%; }
.hero__signal-field i:nth-child(1){ width:44vw;height:44vw;inset-inline-end:-13vw;top:12vh; }
.hero__signal-field i:nth-child(2){ width:28vw;height:28vw;inset-inline-end:-5vw;top:20vh; }
.hero__signal-field i:nth-child(3){ width:10px;height:10px;inset-inline-end:16vw;top:38vh;background:var(--fire-v17-red);box-shadow:0 0 0 12px rgba(252,11,10,.1),0 0 45px rgba(252,11,10,.65);border:0; }
.hero--v17 .hero__grid { position:relative; z-index:3; min-height:620px; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:clamp(54px,7vw,118px); }
.hero--v17 .hero__content { max-width:690px; }
.hero--v17 .hero__eyebrow { color:rgba(255,247,245,.62); }
.hero--v17 .hero__eyebrow span { background:var(--fire-v17-red); box-shadow:0 0 0 6px rgba(252,11,10,.12); }
.hero--v17 .hero__title { margin:.22em 0 .32em; max-width:8.8ch; color:var(--fire-v17-paper); font-size:clamp(78px,8vw,150px); line-height:.82; letter-spacing:-.075em; }
html[dir=ltr] .hero--v17 .hero__title { max-width:8.4ch; font-family:var(--font-en); font-size:clamp(76px,7.7vw,144px); line-height:.86; }
.hero--v17 .hero__title-line { display:block; }
.hero--v17 .hero__title-line:nth-child(n+2) { color:var(--fire-v17-red); }
.hero--v17 .hero__lead { max-width:58ch; margin:0 0 28px; color:rgba(255,247,245,.68); font-size:clamp(16px,1.2vw,20px); line-height:1.78; }
.hero--v17 .hero__actions { display:flex; align-items:center; gap:24px; }
.hero--v17 .hero__actions .button { min-height:54px; padding-inline:24px; border-radius:4px; }
.hero--v17 .text-link--hero { color:#fff7f5; }
.hero--v17 .hero__disciplines { margin-top:50px; padding-top:18px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid rgba(255,247,245,.14); }
.hero--v17 .hero__disciplines span { padding-inline:12px; display:grid; gap:5px; color:rgba(255,247,245,.68); border-inline-start:1px solid rgba(255,247,245,.11); font-size:11px; }
.hero--v17 .hero__disciplines span:first-child { border-inline-start:0; padding-inline-start:0; }
.hero--v17 .hero__disciplines small { color:var(--fire-v17-red); font:700 8px/1 var(--font-en); letter-spacing:.1em; }
.hero-collage--v17 { min-height:600px; }
.hero-collage--v17 .hero-collage__main { inset:6% 4% 8% 8%; border:1px solid rgba(255,247,245,.18); border-radius:4px; box-shadow:var(--fire-v17-shadow); overflow:hidden; }
html[dir=rtl] .hero-collage--v17 .hero-collage__main { inset:6% 8% 8% 4%; }
.hero-collage--v17 .hero-collage__main::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(17,2,2,.82)); pointer-events:none; }
.hero-collage--v17 .hero-collage__main img { filter:saturate(.84) contrast(1.07); }
.hero-collage--v17 .hero-collage__main figcaption { z-index:2; inset-inline:24px; bottom:22px; }
.hero-collage--v17 .hero-collage__accent { width:31%; aspect-ratio:4/5; inset-inline-end:-1%; bottom:1%; border:8px solid var(--fire-v17-paper); border-radius:2px; box-shadow:0 18px 46px rgba(0,0,0,.25); transform:rotate(2.5deg); overflow:hidden; }
.hero-collage--v17 .hero-collage__stamp { top:2%; inset-inline-start:1%; padding:12px 16px; color:var(--fire-v17-red); background:var(--fire-v17-paper); border-radius:0; transform:rotate(-3deg); }
.hero-collage--v17 .hero-collage__index { inset-inline-end:0; top:0; }
.hero--v17 .hero__meta { position:relative; z-index:3; padding-top:20px; border-top:1px solid rgba(255,247,245,.14); }
.hero--v17 .hero__meta small { color:rgba(255,247,245,.42); }
.hero--v17 .hero__meta strong { color:#fff7f5; }

/* Story — large editorial text and a deliberate image, not a card collection. */
.story { background:var(--fire-v17-paper); }
.story__grid { grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(58px,8vw,130px); align-items:center; }
.story__image-wrap { aspect-ratio:4/5; border-radius:2px; overflow:hidden; box-shadow:none; }
.story__image-wrap::after { content:""; position:absolute; inset:0; border:1px solid rgba(17,2,2,.14); pointer-events:none; }
.story__year { inset-inline:auto 0; bottom:-28px; width:142px;height:142px; display:grid;place-content:center; color:#fff; background:var(--fire-v17-red); border-radius:50%; text-align:center; }
html[dir=rtl] .story__year { inset-inline:0 auto; }
.story__year small { color:rgba(255,255,255,.7); }
.story__year strong { font-size:42px; }
.story__content { max-width:720px; }
.story__content .section-title { max-width:12ch; font-size:clamp(58px,6.2vw,104px); }
.story__body { max-width:58ch; font-size:clamp(17px,1.35vw,21px); line-height:1.9; color:#4a3b3b; }
.story__quote { margin-top:38px; padding:24px 0 0; border-top:1px solid var(--fire-v17-line-light); color:var(--fire-v17-ink); font-size:clamp(24px,2.3vw,36px); }
.story__quote > span { color:var(--fire-v17-red); }

/* Cinematic break — a single image, restrained copy. */
.visual-break { min-height:760px; background:#080000; }
.visual-break__media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,0,0,.88),rgba(8,0,0,.25) 58%,rgba(8,0,0,.62)); }
html[dir=rtl] .visual-break__media::after { background:linear-gradient(270deg,rgba(8,0,0,.88),rgba(8,0,0,.25) 58%,rgba(8,0,0,.62)); }
.visual-break__image { filter:saturate(.78) contrast(1.08); }
.visual-break__content { max-width:1540px; min-height:760px; display:grid; align-content:center; justify-items:start; }
.visual-break__content h2 { max-width:8ch; margin:.15em 0 .25em; color:#fff7f5; font-size:clamp(74px,8vw,142px); line-height:.84; letter-spacing:-.06em; }
.visual-break__content span { max-width:50ch; color:rgba(255,247,245,.65); font-size:18px; line-height:1.75; }
.visual-break__marker { position:absolute; z-index:3; inset-inline-end:5vw; bottom:5vw; display:grid; grid-template-columns:auto 70px auto; align-items:center; gap:12px; color:rgba(255,247,245,.65); font:700 9px/1.35 var(--font-en); letter-spacing:.12em; }
.visual-break__marker span { color:#fff;font-size:34px; }.visual-break__marker i{height:1px;background:var(--fire-v17-red)}

/* Capabilities — four horizontal lanes with proof tags. */
.services--v17 { background:var(--fire-v17-ink); }
.services--v17 .services__layout { grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(50px,7vw,112px); align-items:start; }
.services--v17 .services__intro { position:sticky; top:132px; }
.services--v17 .services__intro .section-title { max-width:9ch; color:#fff7f5; font-size:clamp(56px,5vw,86px); }
.services--v17 .services__intro .section-copy { color:rgba(255,247,245,.58); }
.services__signature { margin:46px 0 0; color:rgba(255,247,245,.05); font:900 clamp(72px,9vw,150px)/.8 var(--font-en); letter-spacing:-.08em; }
.services--v17 .services__list { border-top:1px solid rgba(255,247,245,.16); }
.service-card--lane { padding:32px 0 34px; display:grid; grid-template-columns:120px minmax(0,1fr); gap:26px; background:transparent; border:0; border-bottom:1px solid rgba(255,247,245,.16); border-radius:0; box-shadow:none; }
.service-card--lane:hover { transform:none; background:linear-gradient(90deg,transparent,rgba(252,11,10,.055)); }
.service-card--lane .service-card__top { grid-column:1; grid-row:1/3; display:grid; align-content:start; grid-template-columns:auto 1fr; gap:10px; color:var(--fire-v17-red); }
.service-card--lane .service-card__top span { font:800 28px/1 var(--font-en); }.service-card--lane .service-card__top i{height:1px;background:rgba(252,11,10,.6);margin-top:13px}.service-card--lane .service-card__top small{grid-column:1/-1;color:rgba(255,247,245,.3);font:700 7px/1.2 var(--font-en);letter-spacing:.12em}
.service-card--lane .service-card__body { grid-column:2; }
.service-card--lane h3 { max-width:17ch; margin:0 0 14px; color:#fff7f5; font-size:clamp(28px,2.6vw,44px); line-height:1.08; }
.service-card--lane p { max-width:62ch; margin:0; color:rgba(255,247,245,.57); line-height:1.75; }
.service-card__tags { grid-column:2; margin:4px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:7px; list-style:none; }
.service-card__tags li { padding:6px 9px; color:rgba(255,247,245,.58); border:1px solid rgba(255,247,245,.15); border-radius:999px; font:700 7px/1 var(--font-en); letter-spacing:.1em; }

/* Work — one featured story followed by a controlled two-column editorial grid. */
.work { background:var(--fire-v17-paper); }
.work__heading { margin-bottom:clamp(52px,7vw,96px); align-items:end; }
.work__heading .section-heading { max-width:900px; }
.work__heading .section-title { max-width:12ch; font-size:clamp(60px,6vw,100px); }
.work__count { border-inline-start:1px solid var(--fire-v17-line-light); padding-inline-start:20px; }
.project-grid--editorial { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(34px,4vw,68px) clamp(24px,3vw,48px); }
.project-card { min-width:0; }
.project-card--featured { grid-column:1/-1; }
.project-card__button { display:grid; width:100%; color:inherit; background:transparent; border:0; text-align:inherit; }
.project-card__media { aspect-ratio:16/10; border-radius:2px; overflow:hidden; background:#150505; }
.project-card--featured .project-card__media { aspect-ratio:21/9; }
.project-card--portrait .project-card__media { aspect-ratio:4/5; }
.project-card__image { transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
.project-card__button:hover .project-card__image { transform:scale(1.035); filter:saturate(1.05); }
.project-card__open { width:48px;height:48px;bottom:18px;inset-inline-end:18px;border-radius:50%;background:var(--fire-v17-red);color:#fff; }
.project-card__content { padding:22px 0 0; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; border-top:0; }
.project-card__content small { color:var(--fire-v17-red); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.project-card__content strong { max-width:22ch; color:var(--fire-v17-ink); font-size:clamp(28px,3vw,46px); line-height:1.04; letter-spacing:-.035em; }
.project-card--featured .project-card__content strong { max-width:18ch; font-size:clamp(42px,5vw,78px); }
.project-card__content > span { max-width:58ch; color:#695b5b; line-height:1.7; }

/* Transformation — reduce card styling and let the images lead. */
.transformation { background:#f4e9e6; }
.transformation__grid { grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr); gap:clamp(44px,6vw,96px); align-items:center; }
.transformation__copy .section-title { max-width:9ch; font-size:clamp(54px,5vw,88px); }
.before-after { aspect-ratio:16/10; border-radius:2px; box-shadow:var(--fire-v17-shadow); overflow:hidden; }
.before-after__image span { border-radius:2px; background:rgba(17,2,2,.74); }
.before-after__divider i { background:var(--fire-v17-red); border-color:#fff; }

/* Process — white editorial rail instead of a full red slab. */
.process--v17 { color:var(--fire-v17-ink); background:var(--fire-v17-paper); }
.process--v17::before { content:"HOW"; position:absolute; inset-inline-start:2vw; top:4vw; color:rgba(17,2,2,.035); font:900 clamp(120px,20vw,320px)/.8 var(--font-en); pointer-events:none; }
.process--v17 .process__heading { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:40px; align-items:end; margin-bottom:70px; }
.process--v17 .process__heading .section-title { max-width:11ch; color:var(--fire-v17-ink); }
.process--v17 .process__rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--fire-v17-line-light); }
.process--v17 .process__line { top:0; background:transparent; }.process--v17 .process__line i{height:2px;background:var(--fire-v17-red);transform-origin:inline-start}
.process--v17 .process-step { min-height:270px; padding:32px 28px 28px; border-inline-start:1px solid var(--fire-v17-line-light); }
.process--v17 .process-step:first-of-type { border-inline-start:0; }
.process--v17 .process-step__marker { margin-bottom:48px; }
.process--v17 .process-step__marker span { color:var(--fire-v17-red); background:transparent; border:1px solid rgba(252,11,10,.28); }
.process--v17 .process-step h3 { color:var(--fire-v17-ink); font-size:clamp(28px,2.4vw,42px); }
.process--v17 .process-step p { color:#665858; line-height:1.7; }

/* Experience — three supported numbers only. */
.impact--v17 { background:linear-gradient(135deg,#0b0000,#1a0505); }
.impact--v17 .impact__top { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:50px; align-items:end; }
.impact--v17 .section-title { max-width:12ch; color:#fff7f5; font-size:clamp(58px,5.8vw,96px); }
.impact--v17 .section-copy { color:rgba(255,247,245,.56); }
.impact__principles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.impact__principles span { min-height:76px; padding:16px; display:flex; align-items:flex-end; border:1px solid rgba(255,247,245,.13); color:rgba(255,247,245,.64); font-size:12px; }
.impact--v17 .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:70px; border-top:1px solid rgba(255,247,245,.15); }
.impact--v17 .stat-card { min-height:250px; padding:34px 28px; border-inline-start:1px solid rgba(255,247,245,.15); background:transparent; border-radius:0; }
.impact--v17 .stat-card:first-child { border-inline-start:0; }
.impact--v17 .stat-card small { color:var(--fire-v17-red); }.impact--v17 .stat-card__number{color:#fff7f5;font-size:clamp(58px,6vw,96px)}.impact--v17 .stat-card strong{color:#fff7f5}.impact--v17 .stat-card>span{color:rgba(255,247,245,.48)}

/* Team — image and disciplines, no giant decorative word across faces. */
.team { background:var(--fire-v17-paper); }
.team__heading { margin-bottom:52px; }
.team__heading .section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.7fr); gap:50px; align-items:end; }
.team__frame { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:0; background:var(--fire-v17-ink); border-radius:2px; overflow:hidden; box-shadow:none; }
.team__image-wrap { min-height:660px; }
.team__image { filter:saturate(.82) contrast(1.04); }
.team__overlay { background:linear-gradient(90deg,transparent 55%,rgba(17,2,2,.88)); }
html[dir=rtl] .team__overlay { background:linear-gradient(270deg,transparent 55%,rgba(17,2,2,.88)); }
.team__roles { position:relative; inset:auto; padding:42px 36px; display:grid; align-content:center; gap:0; background:var(--fire-v17-ink); }
.team__roles span { padding:16px 0; color:rgba(255,247,245,.72); border-bottom:1px solid rgba(255,247,245,.14); border-radius:0; background:transparent; backdrop-filter:none; }
.team__roles span::before { content:"+"; margin-inline-end:12px; color:var(--fire-v17-red); }

/* Reel — one full-bleed cinematic moment. */
.reel { min-height:820px; background:#080000; }
.reel__poster { filter:saturate(.8) contrast(1.12); }
.reel__gradient { background:linear-gradient(90deg,rgba(8,0,0,.9),rgba(8,0,0,.22) 60%,rgba(8,0,0,.65)); }
html[dir=rtl] .reel__gradient { background:linear-gradient(270deg,rgba(8,0,0,.9),rgba(8,0,0,.22) 60%,rgba(8,0,0,.65)); }
.reel__content { min-height:820px; justify-content:center; align-items:flex-start; }
.reel__content .section-title { max-width:9ch; color:#fff7f5; font-size:clamp(66px,7vw,118px); }
.reel__play { width:116px;height:116px;border-radius:50%;background:var(--fire-v17-red);color:#fff;box-shadow:0 0 0 18px rgba(252,11,10,.12); }
.reel__bts { border-radius:2px; background:rgba(17,2,2,.72); }

/* Client logos — static, calm, easier to scan. */
.clients--v17 { background:var(--fire-v17-paper); }
.clients__header { padding-bottom:52px; border-bottom:1px solid var(--fire-v17-line-light); }
.clients__title { max-width:12ch; font-size:clamp(54px,5vw,86px); }
.client-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--fire-v17-line-light); border-inline-start:1px solid var(--fire-v17-line-light); }
.client-grid .client-logo { position:relative; min-height:160px; padding:24px; display:grid; place-items:center; background:transparent; border-inline-end:1px solid var(--fire-v17-line-light); border-bottom:1px solid var(--fire-v17-line-light); filter:none; opacity:.92; transition:filter .25s,opacity .25s,background .25s; }
.client-grid .client-logo:hover { filter:none; opacity:1; background:#fff; }
.client-grid .client-logo small { position:absolute; inset-inline-start:12px; top:10px; color:rgba(17,2,2,.28); font:700 8px/1 var(--font-en); }
.client-grid .client-logo img { max-width:145px; max-height:64px; object-fit:contain; }

/* FAQ — high readability on warm paper. */
.faq--v17 { background:#f4e9e6; color:var(--fire-v17-ink); }
.faq--v17 .faq__grid { grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:clamp(50px,8vw,130px); }
.faq--v17 .faq__heading { position:sticky; top:130px; align-self:start; }
.faq--v17 .section-title { color:var(--fire-v17-ink); font-size:clamp(54px,5vw,84px); }
.faq--v17 .faq__list { border-top:1px solid var(--fire-v17-line-light); }
.faq--v17 .faq-item { border-bottom:1px solid var(--fire-v17-line-light); }
.faq--v17 .faq-item summary { padding:25px 0; color:var(--fire-v17-ink); }
.faq--v17 .faq-item summary small { color:var(--fire-v17-red); }
.faq--v17 .faq-item summary i { color:var(--fire-v17-red); }
.faq--v17 .faq-item__answer p { color:#5f5050; line-height:1.8; }

/* Contact — dark invitation with a paper form and a real location visual. */
.contact--v17 { background:linear-gradient(135deg,#0a0000,#1b0505); color:#fff7f5; }
.contact--v17 .contact__flare { width:48vw;height:48vw;inset-inline-start:-20vw;top:-18vw;background:radial-gradient(circle,rgba(252,11,10,.32),transparent 64%); }
.contact--v17 .contact__grid { grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr); gap:clamp(46px,7vw,110px); align-items:start; }
.contact--v17 .contact__title { max-width:9ch; color:#fff7f5; font-size:clamp(58px,6vw,104px); line-height:.92; }
.contact--v17 .contact__body { max-width:54ch; color:rgba(255,247,245,.62); line-height:1.8; }
.contact--v17 .contact__direct { margin-top:34px; display:grid; gap:0; border-top:1px solid rgba(255,247,245,.15); }
.contact--v17 .contact__direct a { padding:16px 0; grid-template-columns:34px 82px minmax(0,1fr); color:#fff7f5; border-bottom:1px solid rgba(255,247,245,.15); border-radius:0; background:transparent; }
.contact__visual { position:relative; margin:36px 0 0; aspect-ratio:16/9; overflow:hidden; border-radius:2px; }
.contact__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(17,2,2,.82)); }
.contact__visual img { width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08); }
.contact__visual figcaption { position:absolute; z-index:2; inset-inline:18px; bottom:16px; display:flex; justify-content:space-between; gap:18px; color:#fff; }
.contact__visual figcaption small { color:rgba(255,255,255,.6);font:700 8px/1 var(--font-en);letter-spacing:.12em }.contact__visual figcaption strong{font-size:13px}
.contact--v17 .contact-form { padding:clamp(28px,4vw,54px); color:var(--fire-v17-ink); background:var(--fire-v17-paper); border-radius:4px; box-shadow:0 28px 90px rgba(0,0,0,.28); }
.contact--v17 .contact-form input,.contact--v17 .contact-form textarea,.contact--v17 .contact-form select { color:var(--fire-v17-ink); background:transparent; border:0; border-bottom:1px solid rgba(17,2,2,.25); border-radius:0; }
.contact--v17 .contact-form input:focus,.contact--v17 .contact-form textarea:focus,.contact--v17 .contact-form select:focus { border-color:var(--fire-v17-red); box-shadow:none; }
.contact--v17 .form-row span,.contact--v17 .form-consent { color:#574949; }
.contact--v17 .contact-form .button--red:hover { color:#fff; background:var(--fire-v17-ink); border-color:var(--fire-v17-ink); }

/* Footer and modal polish. */
.site-footer { background:#080000; border-top:1px solid rgba(255,247,245,.12); }
.media-modal__dialog { border-radius:4px; }

/* Remove effects that made v1.4 feel busy. */
.pointer-glow,.hero__beam,.hero__mesh-label,.service-card__spark { display:none!important; }
[data-tilt] { transform:none!important; }

/* Performance: defer paint below the fold without hiding accessible content. */
@supports (content-visibility:auto) {
  .site-main--v17 > section:nth-of-type(n+4) { content-visibility:auto; contain-intrinsic-size:900px; }
}

@media (max-width:1180px) {
  .site-header.site-header--v17 .site-header__inner { grid-template-columns:170px minmax(360px,1fr) auto; }
  .site-header--v17 .header-signal { display:none; }
  .hero--v17 .hero__grid { gap:46px; }
  .hero-collage--v17 { min-height:520px; }
  .service-card--lane { grid-template-columns:92px minmax(0,1fr); }
  .team__frame { grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr); }
}

@media (max-width:980px) {
  .site-header.site-header--v17 { height:74px; }.site-header.site-header--v17 .site-header__inner{height:74px;width:calc(100vw - 28px);grid-template-columns:1fr auto}.site-header--v17 .desktop-nav,.site-header--v17 .header-cta,.site-header--v17 .header-signal{display:none}.site-header--v17 .menu-toggle{display:inline-flex}.site-header--v17 .site-logo-lockup{height:44px;min-width:148px}
  .hero.hero--v17 { min-height:auto; padding-top:118px; padding-bottom:34px; }
  .hero--v17 .hero__grid { grid-template-columns:1fr; gap:58px; }
  .hero--v17 .hero__content { max-width:780px; }
  .hero--v17 .hero__title { max-width:8ch; font-size:clamp(76px,15vw,120px); }
  .hero--v17 .hero__visual { order:2; }.hero-collage--v17{min-height:620px}.hero-collage--v17 .hero-collage__main{inset:3% 5% 8%}.hero-collage--v17 .hero-collage__accent{width:27%;}
  .story__grid,.services--v17 .services__layout,.transformation__grid,.impact--v17 .impact__top,.team__heading .section-heading,.faq--v17 .faq__grid,.contact--v17 .contact__grid { grid-template-columns:1fr; }
  .services--v17 .services__intro,.faq--v17 .faq__heading { position:relative; top:auto; }
  .services__signature { display:none; }
  .process--v17 .process__rail { grid-template-columns:repeat(2,minmax(0,1fr)); }.process--v17 .process-step:nth-of-type(3){border-inline-start:0;border-top:1px solid var(--fire-v17-line-light)}.process--v17 .process-step:nth-of-type(4){border-top:1px solid var(--fire-v17-line-light)}
  .impact--v17 .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .team__frame { grid-template-columns:1fr; }.team__image-wrap{min-height:560px}.team__overlay{background:linear-gradient(180deg,transparent 58%,rgba(17,2,2,.9))}.team__roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
  .client-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:700px) {
  .admin-bar .site-header.site-header--v17 { top:46px; }
  .site-main--v17 .section { padding-block:78px; }
  .hero.hero--v17 { padding-top:104px; }
  .hero--v17 .hero__title { font-size:clamp(66px,20vw,94px); }
  .hero--v17 .hero__lead { font-size:15px; }
  .hero--v17 .hero__actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .hero--v17 .hero__disciplines { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:16px; }.hero--v17 .hero__disciplines span:nth-child(3){border-inline-start:0;padding-inline-start:0}
  .hero-collage--v17 { min-height:460px; }.hero-collage--v17 .hero-collage__main{inset:2% 0 12%}.hero-collage--v17 .hero-collage__accent{width:33%;border-width:5px;bottom:1%}.hero-collage--v17 .hero-collage__stamp{font-size:8px}.hero-collage--v17 .hero-collage__index{display:none}
  .hero--v17 .hero__meta { grid-template-columns:1fr auto; }.hero--v17 .hero__meta>div:nth-child(2){display:none}
  .story__content .section-title,.services--v17 .services__intro .section-title,.work__heading .section-title,.transformation__copy .section-title,.impact--v17 .section-title,.team__heading .section-title,.faq--v17 .section-title,.contact--v17 .contact__title { font-size:clamp(46px,13vw,66px); }
  .story__year { width:112px;height:112px;bottom:-18px}.story__year strong{font-size:32px}
  .visual-break,.visual-break__content { min-height:620px; }.visual-break__content h2{font-size:clamp(62px,18vw,92px)}.visual-break__marker{display:none}
  .service-card--lane { grid-template-columns:1fr; gap:16px; padding:26px 0; }.service-card--lane .service-card__top{grid-column:1;grid-row:auto;grid-template-columns:auto 1fr auto}.service-card--lane .service-card__top small{grid-column:auto}.service-card--lane .service-card__body,.service-card__tags{grid-column:1}.service-card--lane h3{font-size:31px}
  .project-grid--editorial { grid-template-columns:1fr; gap:50px; }.project-card--featured{grid-column:auto}.project-card--featured .project-card__media,.project-card__media,.project-card--portrait .project-card__media{aspect-ratio:4/3}.project-card--featured .project-card__content strong,.project-card__content strong{font-size:34px}
  .transformation__grid { gap:34px; }.before-after{aspect-ratio:4/3}
  .process--v17 .process__heading { grid-template-columns:1fr; gap:20px; }.process--v17 .process__rail{grid-template-columns:1fr}.process--v17 .process-step{min-height:0;padding:28px 0;border-inline-start:0!important;border-top:1px solid var(--fire-v17-line-light)}.process--v17 .process-step__marker{margin-bottom:24px}
  .impact__principles{grid-template-columns:1fr}.impact--v17 .stats-grid{grid-template-columns:1fr}.impact--v17 .stat-card{min-height:0;border-inline-start:0;border-top:1px solid rgba(255,247,245,.15)}
  .team__image-wrap{min-height:430px}.team__roles{grid-template-columns:1fr;padding:26px 22px}
  .reel,.reel__content{min-height:660px}.reel__content .section-title{font-size:clamp(54px,15vw,80px)}.reel__play{width:92px;height:92px}
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-grid .client-logo{min-height:126px;padding:18px}.client-grid .client-logo img{max-width:118px;max-height:52px}
  .contact--v17 .contact__grid{grid-template-columns:1fr}.contact--v17 .contact-form{padding:24px 18px}.contact--v17 .contact__direct a{grid-template-columns:30px 68px minmax(0,1fr)}
}

@media (prefers-reduced-motion:reduce) {
  .hero__signal-field i,.project-card__image,.service-card--lane { transition:none!important; animation:none!important; }
}

/* ========================================================================== */
/* v1.7 final precision pass.                                                 */
/* ========================================================================== */

html { scroll-padding-top: 96px; }
.admin-bar { scroll-padding-top: 128px; }
.site-main--v17 section[id] { scroll-margin-top: 96px; }
.admin-bar .site-main--v17 section[id] { scroll-margin-top: 128px; }
.site-main--v17 .section { padding-block: clamp(76px, 7.4vw, 118px); }
.site-main--v17 .section-heading { gap: 18px; }
.site-main--v17 .section-title { text-wrap: balance; }
.site-main--v17 .section-copy { text-wrap: pretty; }

/* Never let older scrolled-header rules turn the navigation dark on dark. */
.site-header.site-header--v17 .desktop-nav a,
.site-header.site-header--v17.is-scrolled .desktop-nav a { color: rgba(255,247,245,.62); }
.site-header.site-header--v17 .desktop-nav a:hover,
.site-header.site-header--v17 .desktop-nav a.is-active,
.site-header.site-header--v17 .desktop-nav a[aria-current="location"],
.site-header.site-header--v17.is-scrolled .desktop-nav a:hover,
.site-header.site-header--v17.is-scrolled .desktop-nav a.is-active,
.site-header.site-header--v17.is-scrolled .desktop-nav a[aria-current="location"] { color: #fff7f5; }

/* More compact first view; the mesh remains present without overpowering content. */
.hero.hero--v17 { min-height: max(760px, 100svh); padding-top: clamp(118px, 9vw, 154px); }
.hero--v17 .hero__grid { min-height: 570px; gap: clamp(42px, 5.5vw, 86px); }
.hero--v17 .hero__title { font-size: clamp(72px, 7.25vw, 128px); line-height: .86; }
html[dir="ltr"] .hero--v17 .hero__title { font-size: clamp(70px, 6.9vw, 122px); }
.hero--v17 .hero__title-line { display:block; color:var(--fire-v17-paper); }
.hero--v17 .hero__title-line:nth-child(n+2) { color:var(--fire-v17-red); }
.hero--v17 .hero__disciplines { margin-top: 34px; }
.hero-collage--v17 { min-height: 540px; }
.hero-collage--v17 .hero-collage__main { inset: 4% 3% 8% 7%; }
html[dir="rtl"] .hero-collage--v17 .hero-collage__main { inset: 4% 7% 8% 3%; }
.hero--v17 .hero__meta { margin-top: 4px; }

/* Remove inherited fixed heights that created empty zones in the live build. */
.story__visual { min-height: 0; }
.story__image-wrap { width: 100%; height: auto; min-height: 560px; }
.story__image { height: 100%; min-height: 560px; transform: none; object-position: center; }
.story__grid { gap: clamp(44px, 6vw, 92px); }
.story__content .section-title { font-size: clamp(52px, 5.3vw, 88px); }
.story__body { margin-top: 24px; }
.story__quote { border-inline-start: 0; border-radius: 0; }

.visual-break,
.visual-break__content { min-height: clamp(600px, 72svh, 760px); }
.visual-break__content { padding-block: 72px; }
.visual-break__content h2 { font-size: clamp(62px, 7vw, 118px); }
html[dir="rtl"] .visual-break__content h2 { font-size: clamp(58px, 6.6vw, 108px); }

.services--v17 .services__intro { top: 112px; }
.services--v17 .services__intro .section-title { font-size: clamp(50px, 4.6vw, 76px); }
.service-card--lane { min-height: 0; padding-block: 27px 30px; }
.service-card--lane h3 { font-size: clamp(27px, 2.25vw, 38px); }

.work__heading { margin-bottom: clamp(42px, 5vw, 70px); }
.work__heading .section-title { font-size: clamp(52px, 5.25vw, 86px); }
.project-grid--editorial { gap: clamp(32px, 4.2vw, 62px) clamp(22px, 3vw, 44px); }
.project-card__media,
.project-card:not(.project-card--wide) .project-card__media,
.project-card--featured .project-card__media,
.project-card--portrait .project-card__media { height: auto; }
.project-card--featured .project-card__media { aspect-ratio: 20/9; }
.project-card__content strong { font-size: clamp(26px, 2.65vw, 42px); }
.project-card--featured .project-card__content strong { font-size: clamp(38px, 4.2vw, 66px); }

.transformation__grid { gap: clamp(36px, 5vw, 74px); }
.transformation__copy .section-title { font-size: clamp(48px, 4.7vw, 76px); }
.before-after { min-height: 460px; }

.process--v17 .process__heading { margin-bottom: 48px; }
.process--v17 .process-step { position: relative; min-height: 230px; padding: 27px 24px 24px; }
.process--v17 .process-step__marker { position: relative; top: auto; inset-inline-start: auto; width: 44px; height: 44px; margin: 0 0 34px; display:grid; place-items:center; }
.process--v17 .process-step__marker span { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; }
.process--v17 .process-step h3 { margin: 0 0 12px; font-size: clamp(26px, 2.2vw, 36px); }

.impact--v17 .section-title { font-size: clamp(50px, 5vw, 82px); }
.impact--v17 .stats-grid { margin-top: 52px; }
.impact--v17 .stat-card { min-height: 210px; padding: 28px 24px; }
.impact--v17 .stat-card__number { font-size: clamp(52px, 5vw, 80px); }

.team__heading { margin-bottom: 38px; }
.team__image-wrap { min-height: 560px; }
.team__roles { padding: 34px 30px; }

.reel,
.reel__content { min-height: clamp(620px, 76svh, 760px); }
.reel__content .section-title { font-size: clamp(56px, 6vw, 96px); }
.reel__play { width: 104px; height: 104px; }

.clients__header { margin-bottom: 34px; padding-bottom: 38px; }
.clients__title { font-size: clamp(48px, 4.6vw, 76px); }
.client-grid .client-logo { min-height: 138px; }

.faq--v17 .faq__grid { gap: clamp(42px, 6vw, 90px); }
.faq--v17 .faq__heading { top: 112px; }
.faq--v17 .section-title { font-size: clamp(48px, 4.7vw, 74px); }
.faq--v17 .faq-item summary { padding: 22px 0; }

.contact--v17 .contact__grid { gap: clamp(38px, 5vw, 78px); }
.contact--v17 .contact__title { font-size: clamp(52px, 5.4vw, 88px); }
.contact--v17 .contact-form { padding: clamp(26px, 3.4vw, 44px); }

/* content-visibility caused large blank anchor landings in some Chromium builds. */
.site-main--v17 > section { content-visibility: visible !important; contain-intrinsic-size: none !important; }

@media (max-width: 980px) {
  .site-main--v17 .section { padding-block: 74px; }
  .hero--v17 .hero__grid { min-height: auto; }
  .story__image-wrap,.story__image { min-height: 500px; }
  .team__image-wrap { min-height: 500px; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: 82px; }
  .admin-bar { scroll-padding-top: 128px; }
  .site-main--v17 section[id] { scroll-margin-top: 82px; }
  .admin-bar .site-main--v17 section[id] { scroll-margin-top: 128px; }
  .site-main--v17 .section { padding-block: 64px; }
  .hero.hero--v17 { padding-top: 94px; }
  .hero--v17 .hero__title { font-size: clamp(58px, 18vw, 82px); }
  .hero-collage--v17 { min-height: 420px; }
  .story__image-wrap,.story__image { min-height: 420px; }
  .visual-break,.visual-break__content { min-height: 560px; }
  .project-card--featured .project-card__media,.project-card__media,.project-card--portrait .project-card__media { aspect-ratio: 4/3; }
  .before-after { min-height: 340px; }
  .team__image-wrap { min-height: 400px; }
  .client-grid .client-logo { min-height: 112px; }
}


/* ========================================================================== */
/* v1.7 final art-direction pass — hierarchy, rhythm, and real admin-bar use. */
/* ========================================================================== */
@media (max-width:782px) {
  .admin-bar .site-header.site-header--v17 { top:46px; }
}

.site-header--v17 .header-signal { white-space:nowrap; }
.site-header--v17 .site-brand { min-width:max-content; }
.site-header--v17 .desktop-nav { min-width:0; }
.site-header--v17 .desktop-nav a { white-space:nowrap; }

/* Editorial section openings should not feel like empty title screens. */
.work__heading,
.clients__header { align-items:end; }
.work__heading .section-heading { max-width:980px; }
.work__count { align-self:end; margin-bottom:8px; }
.work__count strong { font-size:clamp(38px,4vw,66px); line-height:.8; }
.work__count span { max-width:14ch; }

.project-card__media { border-radius:2px; background:#180707; }
.project-card__image { filter:saturate(.93) contrast(1.04); }
.project-card:hover .project-card__image { transform:scale(1.025); }
.project-card__content { padding-top:18px; }
.project-card__content small { letter-spacing:.09em; }
.project-card__content > span { max-width:58ch; color:rgba(17,2,2,.62); }
.project-card--portrait .project-card__media { aspect-ratio:4/5; }

/* A quieter method section prevents red-on-red fatigue after long scrolling. */
.process--v17 {
  color:var(--fire-v17-paper);
  background:
    radial-gradient(circle at 18% 14%,rgba(252,11,10,.18),transparent 24%),
    linear-gradient(130deg,#0b0000,#1b0303 58%,#120101);
}
.process--v17::before { content:"HOW"; position:absolute; inset-inline-start:-.04em; top:.08em; color:rgba(255,247,245,.025); font:900 clamp(190px,30vw,520px)/.8 var(--font-en); letter-spacing:-.08em; pointer-events:none; }
.process--v17 .section-kicker,
.process--v17 .section-title { color:var(--fire-v17-paper); }
.process--v17 .section-copy,
.process--v17 .process-step p { color:rgba(255,247,245,.62); }
.process--v17 .process__rail { border-top-color:rgba(255,247,245,.16); }
.process--v17 .process__line { background:rgba(255,247,245,.12); }
.process--v17 .process-step { border-inline-start-color:rgba(255,247,245,.12); }
.process--v17 .process-step h3 { color:var(--fire-v17-paper); }
.process--v17 .process-step__marker span { color:var(--fire-v17-paper); border-color:rgba(255,247,245,.28); background:rgba(255,247,245,.04); }
.process--v17 .process-step:hover .process-step__marker span { color:#fff; border-color:var(--fire-v17-red); background:var(--fire-v17-red); }

/* Separate proof from decoration: concise metrics, stronger labels. */
.impact--v17 .stat-card strong { max-width:22ch; font-size:clamp(17px,1.45vw,22px); line-height:1.35; }
.impact--v17 .stat-card > span { max-width:34ch; }

.team__roles span { min-height:84px; }
.team__roles strong { line-height:1.25; }
.client-grid .client-logo { position:relative; overflow:hidden; }
.client-grid .client-logo::after { content:""; position:absolute; inset:auto 18px 14px; height:1px; background:var(--fire-v17-red); transform:scaleX(0); transform-origin:center; transition:transform .25s ease; }
.client-grid .client-logo:hover::after { transform:scaleX(1); }

.faq--v17 .faq-item summary > span { max-width:50ch; }
.contact--v17 .contact__visual img { filter:saturate(.78) contrast(1.06); }
.contact--v17 .contact-form { box-shadow:0 28px 80px rgba(0,0,0,.17); }

@media (min-width:981px) and (max-width:1100px) {
  .site-header.site-header--v17 .site-header__inner { grid-template-columns:minmax(160px,.75fr) minmax(360px,1.5fr) minmax(220px,.75fr); }
  .site-header--v17 .header-signal { display:none; }
}
@media (max-width:980px) {
  .work__heading { grid-template-columns:1fr; }
  .work__count { display:flex; align-items:end; gap:14px; margin:0; }
  .process--v17 .process-step { border-top-color:rgba(255,247,245,.16)!important; }
}

/* Precise keyboard focus and restrained fine-pointer feedback. */
body :where(a,button,input,textarea,select,summary,[tabindex]):focus-visible {
  outline:3px solid #fff7f5;
  outline-offset:3px;
  box-shadow:0 0 0 6px #110202;
}
.cursor-signal { display:none; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .cursor-signal {
    position:fixed;
    z-index:1600;
    top:0;
    left:0;
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid rgba(255,247,245,.72);
    border-radius:50%;
    opacity:0;
    pointer-events:none;
    mix-blend-mode:difference;
    transition:width .18s ease,height .18s ease,opacity .18s ease,border-color .18s ease,background-color .18s ease;
    will-change:transform;
  }
  .cursor-signal span { width:4px;height:4px;border-radius:50%;background:#fff7f5;transition:transform .18s ease; }
  .cursor-signal.is-visible { opacity:1; }
  .cursor-signal.is-active { width:44px;height:44px;border-color:#fff7f5;background:rgba(255,247,245,.12); }
  .cursor-signal.is-active span { transform:scale(.7); }
  .cursor-signal.is-pressed { width:22px;height:22px; }
}

@media (forced-colors:active) {
  .cursor-signal { display:none!important; }
  body :where(a,button,input,textarea,select,summary,[tabindex]):focus-visible { outline:2px solid CanvasText;box-shadow:none; }
}

/* definitive mobile action placement */

@media (max-width:980px) {
  .site-header.site-header--v17 .site-header__inner { grid-template-columns:minmax(0,1fr) auto; }
  .site-header--v17 .site-header__actions { width:auto; min-width:44px; justify-self:end; }
  html[dir="rtl"] .site-header--v17 .site-header__actions { justify-self:start; }
  .site-header--v17 .menu-toggle { position:relative; inset:auto; }
}

/* ========================================================================== */
/* v1.7.1 live-browser stability pass.                                        */
/* ========================================================================== */

/* Override the older floating-header skin at its full specificity. */
.site-header.site-header--floating.site-header--v17,
.site-header.site-header--floating.site-header--v17.is-scrolled {
  color:var(--fire-v17-paper);
  background:rgba(17,2,2,.94);
  border-bottom:1px solid rgba(255,247,245,.1);
  box-shadow:0 14px 40px rgba(17,2,2,.18);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  backdrop-filter:blur(16px) saturate(125%);
}
.site-header.site-header--floating.site-header--v17 .site-header__inner,
.site-header.site-header--floating.site-header--v17.is-scrolled .site-header__inner {
  color:var(--fire-v17-paper);
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  transform:none;
}
.site-header.site-header--floating.site-header--v17 .site-logo-lockup--light,
.site-header.site-header--floating.site-header--v17.is-scrolled .site-logo-lockup--light {
  --logo-color:var(--fire-v17-paper);
}
.site-header.site-header--v17 .desktop-nav a,
.site-header.site-header--v17.is-scrolled .desktop-nav a,
.site-header.site-header--v17 .desktop-nav a:hover,
.site-header.site-header--v17 .desktop-nav a.is-active,
.site-header.site-header--v17 .desktop-nav a[aria-current="location"],
.site-header.site-header--v17.is-scrolled .desktop-nav a:hover,
.site-header.site-header--v17.is-scrolled .desktop-nav a.is-active,
.site-header.site-header--v17.is-scrolled .desktop-nav a[aria-current="location"] {
  background:transparent;
  border-radius:0;
}
.site-header.site-header--floating.site-header--v17 .menu-toggle,
.site-header.site-header--floating.site-header--v17.is-scrolled .menu-toggle {
  color:var(--fire-v17-paper);
  background:transparent;
  border-color:rgba(255,247,245,.22);
}

/* The v1.4 collage used top:50% plus translateY(-50%). Reset both together. */
.hero-collage--v17 .hero-collage__main,
html[dir="rtl"] .hero-collage--v17 .hero-collage__main {
  width:auto;
  height:auto;
  min-height:0;
  transform:none;
}
.hero-collage--v17 .hero-collage__main img,
.hero-collage--v17 .hero-collage__accent img {
  color:transparent;
  background:linear-gradient(135deg,#250404,#090000);
}

/* Keep media-led sections compact and dimensionally stable before images load. */
.before-after { height:auto; }
.team__frame { margin-top:0; }
.team__image-wrap { height:clamp(520px,55vw,760px); min-height:0; }

@media (max-width:980px) {
  .site-header.site-header--floating.site-header--v17,
  .site-header.site-header--floating.site-header--v17.is-scrolled { height:74px; }
  .team__image-wrap { height:clamp(460px,76vw,680px); }
}

@media (max-width:700px) {
  .hero.hero--v17 { padding-top:92px; }
  .hero-collage--v17 { min-height:400px; }
  .hero-collage--v17 .hero-collage__main,
  html[dir="rtl"] .hero-collage--v17 .hero-collage__main { inset:2% 0 10%; }
  .team__image-wrap { height:112vw; min-height:400px; }
}

/* ========================================================================== */
/* v1.7.2 audited responsive and interaction pass.                            */
/* ========================================================================== */

html { scroll-padding-top:84px; }
.admin-bar { scroll-padding-top:116px; }
.site-main--v17 section[id] { scroll-margin-top:84px; }
.admin-bar .site-main--v17 section[id] { scroll-margin-top:116px; }
.site-main--v17 .section { padding-block:clamp(64px,5.8vw,94px); }
.site-main--v17 .section-kicker { font-size:12px; }

/* Balanced navigation with an explicit bilingual control. */
.site-header.site-header--v17,
.site-header.site-header--floating.site-header--v17,
.site-header.site-header--floating.site-header--v17.is-scrolled { height:78px; }
.site-header.site-header--v17 .site-header__inner,
.site-header.site-header--floating.site-header--v17 .site-header__inner,
.site-header.site-header--floating.site-header--v17.is-scrolled .site-header__inner {
  width:min(1540px,calc(100vw - 40px));
  height:78px;
  grid-template-columns:minmax(170px,.72fr) minmax(500px,1.6fr) minmax(250px,.68fr);
  gap:clamp(16px,2vw,34px);
}
.site-header--v17 .site-logo-lockup { min-width:150px; height:46px; }
.site-header--v17 .desktop-nav { gap:clamp(20px,2vw,34px); }
.site-header.site-header--v17 .desktop-nav a,
.site-header.site-header--v17.is-scrolled .desktop-nav a {
  padding:28px 0 24px;
  font-size:14px;
  line-height:1;
}
html[dir="ltr"] .site-header.site-header--v17 .desktop-nav a,
html[dir="ltr"] .site-header.site-header--v17.is-scrolled .desktop-nav a { font-size:13px; letter-spacing:.035em; }
.site-header--v17 .desktop-nav a::after { bottom:16px; }
.site-header--v17 .site-header__actions { justify-content:flex-end; gap:12px; }
.site-header--v17 .language-switch {
  width:auto;
  min-width:76px;
  height:40px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:4px;
  font:700 11px/1 var(--font-en);
  letter-spacing:.04em;
}
.site-header--v17 .language-switch i { color:rgba(255,247,245,.38); font-style:normal; }
.site-header--v17 .language-switch__code { color:rgba(255,247,245,.52); }
.site-header--v17 .language-switch__code.is-current { color:#fff; }
.site-header--v17 .language-switch:hover i,
.site-header--v17 .language-switch:hover .language-switch__code { color:rgba(17,2,2,.58); }
.site-header--v17 .language-switch:hover .language-switch__code.is-current { color:var(--fire-v17-ink); }

/* Compact editorial rhythm without removing any public content. */
.hero.hero--v17 { min-height:max(720px,100svh); padding-top:clamp(108px,8vw,138px); }
.hero--v17 .hero__grid { min-height:530px; }
.hero-collage--v17 { min-height:500px; }
.story__image-wrap,
.story__image { min-height:480px; }
.visual-break,
.visual-break__content { min-height:clamp(500px,62svh,650px); }
.visual-break__content { padding-block:56px; }
.service-card--lane { padding-block:23px 26px; }
.work__heading { margin-bottom:clamp(36px,4vw,56px); }
.project-grid--editorial { gap:clamp(28px,3.4vw,48px) clamp(20px,2.6vw,38px); }
.project-card__content { padding-top:15px; }
.project-card__content small { font-size:12px; }
.project-card--video .project-card__media,
.project-card--video.project-card--featured .project-card__media,
.project-card--video.project-card--portrait .project-card__media { aspect-ratio:16/9; }
.project-card__image { filter:saturate(1) contrast(1.03); }
.project-card--video .project-card__open { width:62px; height:62px; box-shadow:0 14px 34px rgba(17,2,2,.28); }
.project-card--video .project-card__open svg { width:27px; height:27px; fill:currentColor; stroke:none; }
.transformation .container,
.transformation__grid,
.before-after { min-width:0; max-width:100%; }
.before-after { width:100%; min-height:400px; }
.before-after__image span { z-index:2; font-size:12px; }
.before-after__divider i { width:52px; height:52px; }
.site-main--v17 .process--v17 .process__heading .section-title,
.site-main--v17 .process--v17 .process__heading .section-kicker { color:#fff7f5!important; }
.site-main--v17 .process--v17 .process__heading .section-copy { color:rgba(255,247,245,.68)!important; }
.process--v17 .process__heading { margin-bottom:40px; }
.process--v17 .process-step { min-height:205px; padding:24px 22px 22px; }
.process--v17 .process-step__marker { margin-bottom:26px; }
.impact--v17 .stats-grid { margin-top:42px; }
.impact--v17 .stat-card { min-height:185px; padding:24px 22px; }
.team__image-wrap { height:clamp(480px,48vw,650px); }
.team__roles span { min-height:72px; }
.reel,
.reel__content { min-height:clamp(500px,64svh,640px); }
.clients__header { margin-bottom:26px; padding-bottom:30px; }
.client-grid .client-logo { min-height:118px; padding:24px; }
.client-grid .client-logo img {
  max-width:188px;
  max-height:84px;
  filter:grayscale(.08) contrast(1.08);
  opacity:1;
}
.faq--v17 .faq-item summary { padding-block:18px; }
.contact--v17 .contact-form { padding:clamp(24px,3vw,38px); }
.contact-form input:not([type="checkbox"]),
.contact-form select { min-height:48px; border-radius:8px; }
.contact-form textarea { min-height:112px; border-radius:8px; }
.contact-form > .form-row,
.contact-form > label,
.contact-form > .form-consent { margin-bottom:14px; }
.contact-form__trap,
.contact-form__trap[hidden] { display:none!important; }
.contact-form button[disabled] { cursor:wait; opacity:.72; }

/* Keep the complete source poster visible while control passes to the remote viewer. */
.modal-frame { position:absolute; inset:0; overflow:hidden; background:#070000; }
.modal-frame iframe,
.modal-frame .modal-image,
.modal-frame .modal-poster { position:absolute; inset:0; width:100%; height:100%; min-width:0; min-height:0; }
.modal-frame iframe,
.modal-frame .modal-image { opacity:0; transition:opacity .25s ease; }
.modal-frame .modal-poster { z-index:1; object-fit:contain; filter:none!important; opacity:1; pointer-events:none; transition:opacity .2s ease,visibility .2s ease; }
.modal-frame .modal-loading { z-index:2; grid-template-rows:auto auto; align-content:center; gap:14px; background:transparent; pointer-events:none; text-shadow:0 1px 8px #000; transition:opacity .2s ease,visibility .2s ease; }
.modal-frame.is-viewer-visible iframe,
.modal-frame.is-ready iframe,
.modal-frame.is-ready .modal-image { opacity:1; }
.modal-frame.is-viewer-visible .modal-poster,
.modal-frame.is-ready .modal-poster,
.modal-frame.is-ready .modal-loading { opacity:0; visibility:hidden; }

@media (max-width:1180px) and (min-width:981px) {
  .site-header.site-header--v17 .site-header__inner,
  .site-header.site-header--floating.site-header--v17 .site-header__inner,
  .site-header.site-header--floating.site-header--v17.is-scrolled .site-header__inner {
    grid-template-columns:160px minmax(440px,1fr) auto;
  }
  .site-header--v17 .header-cta { display:none; }
}

@media (max-width:980px) {
  html { scroll-padding-top:76px; }
  .admin-bar { scroll-padding-top:122px; }
  .site-main--v17 section[id] { scroll-margin-top:76px; }
  .admin-bar .site-main--v17 section[id] { scroll-margin-top:122px; }
  .site-main--v17 .section { padding-block:60px; }
  .site-header.site-header--v17,
  .site-header.site-header--floating.site-header--v17,
  .site-header.site-header--floating.site-header--v17.is-scrolled { height:68px; }
  .site-header.site-header--v17 .site-header__inner,
  .site-header.site-header--floating.site-header--v17 .site-header__inner,
  .site-header.site-header--floating.site-header--v17.is-scrolled .site-header__inner {
    width:calc(100vw - 24px);
    height:68px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
  }
  .site-header--v17 .site-logo-lockup { min-width:130px; height:40px; }
  .site-header--v17 .site-header__actions { display:flex; width:auto; min-width:0; gap:8px; }
  .site-header.site-header--v17 .language-switch { display:inline-flex!important; min-width:70px; height:38px; padding-inline:9px; }
  .site-header--v17 .menu-toggle { width:42px; height:42px; padding:10px; border-radius:4px; }
  .hero--v17 .hero__grid { gap:42px; }
  .story__image-wrap,
  .story__image { min-height:440px; }
  .team__image-wrap { height:clamp(440px,72vw,620px); }
}

@media (max-width:700px) {
  body { font-size:16px; }
  .site-main--v17 .section { padding-block:52px; }
  .hero.hero--v17 { padding-top:84px; padding-bottom:28px; }
  .hero--v17 .hero__title { font-size:clamp(54px,17vw,76px); }
  .hero--v17 .hero__lead { font-size:16px; line-height:1.72; }
  .hero-collage--v17 { min-height:360px; }
  .story__image-wrap,
  .story__image { min-height:360px; }
  .visual-break,
  .visual-break__content { min-height:480px; }
  .project-grid--editorial { gap:38px; }
  .project-card--featured .project-card__media,
  .project-card__media,
  .project-card--portrait .project-card__media { aspect-ratio:4/3; }
  .project-card--video .project-card__media,
  .project-card--video.project-card--featured .project-card__media,
  .project-card--video.project-card--portrait .project-card__media { aspect-ratio:16/9; }
  .project-card--video .project-card__open { width:54px; height:54px; }
  .transformation__grid { width:100%; gap:28px; }
  .before-after {
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1/1!important;
    margin:0;
  }
  .before-after__image span { top:12px; padding:7px 10px; }
  .before-after__after span { inset-inline-end:12px; }
  .before-after__before span { inset-inline-start:12px; }
  .before-after__divider i { width:46px; height:46px; }
  .process--v17 .process-step { padding-block:22px; }
  .impact--v17 .stat-card { padding-block:22px; }
  .team__image-wrap { height:96vw; min-height:340px; }
  .team__roles { padding:22px 18px; }
  .reel,
  .reel__content { min-height:480px; }
  .client-grid .client-logo { min-height:106px; padding:18px; }
  .client-grid .client-logo img { max-width:150px; max-height:68px; }
  .contact--v17 .contact__grid { gap:30px; }
  .contact--v17 .contact__direct a { grid-template-columns:42px minmax(0,1fr); gap:12px; }
  .contact--v17 .contact__direct a > span { grid-row:1 / 3; }
  .contact--v17 .contact__direct small,
  .contact--v17 .contact__direct strong { grid-column:2; justify-self:start; text-align:start; }
  .contact--v17 .contact__direct strong { width:100%; overflow-wrap:normal; word-break:normal; }
  .contact--v17 .contact__direct strong[dir="ltr"] { direction:ltr; text-align:left; unicode-bidi:isolate; white-space:nowrap; }
  .contact--v17 .contact-form { padding:22px 16px; }
  .contact-form input:not([type="checkbox"]),
  .contact-form select { min-height:46px; }
  .contact-form textarea { min-height:104px; }
  .mobile-menu__panel { padding:18px 16px 22px; }
  .mobile-menu__body { padding-block:20px 14px; }
  .mobile-menu__body nav a { padding-block:8px; font-size:clamp(24px,8vw,34px); }
  .mobile-menu__footer { gap:14px; }
}

/* v1.7.3: project posters stay fully clear and unshaded. */
.project-card .project-card__image,
.project-card:hover .project-card__image,
.project-card__button:hover .project-card__image {
  filter:none!important;
}
.project-card--video .project-card__media { box-shadow:none!important; }
.project-card .project-card__content {
  padding:18px clamp(16px,1.8vw,26px) 0;
}
.project-card .project-card__content > * { min-width:0; }

@media (max-width:700px) {
  .project-card .project-card__content { padding:16px 14px 0; }
}

/* v1.7.4: one professional card surface without a card-over-card effect. */
.project-card {
  overflow:hidden;
  background:#fffaf8!important;
  border:1px solid rgba(17,2,2,.09);
  border-radius:18px;
  box-shadow:0 16px 44px rgba(43,10,10,.11)!important;
  transform:translateY(0)!important;
}
.project-card:hover {
  border-color:rgba(252,11,10,.22);
  box-shadow:0 24px 64px rgba(43,10,10,.16)!important;
  transform:translateY(-4px)!important;
}
.project-card .project-card__media {
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.project-card--video .project-card__open {
  top:50%;
  right:auto;
  bottom:auto;
  left:50%;
  width:64px;
  height:64px;
  opacity:1;
  transform:translate(-50%,-50%)!important;
}
html[dir="rtl"] .project-card--video .project-card__open {
  right:50%;
  left:auto;
  transform:translate(50%,-50%)!important;
}
.project-card .project-card__content {
  padding:22px clamp(20px,2vw,28px) 26px;
}

@media (max-width:700px) {
  .project-card { border-radius:14px; }
  .project-card .project-card__content { padding:18px 16px 22px; }
}
