/* ============================================================
   V9 — editorial, people-first photography redesign
   ============================================================ */

:root{
  --v9-ink:#061126;
  --v9-blue:#087cf0;
  --v9-cyan:#16d5dd;
  --v9-soft:#f3f7fc;
}

/* Original homepage cinema video, restored with strong text contrast. */
.hero--video .hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;background:#061126}
.hero--video .hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1}
.hero--video .hero-video-scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(2,8,21,.96) 0%,rgba(2,9,23,.77) 43%,rgba(3,13,29,.38) 76%,rgba(2,7,18,.58) 100%),linear-gradient(0deg,rgba(2,7,17,.78),transparent 55%)}
.hero--video .hero-cinema-copy{max-width:760px}
.hero--video .hero-cinema-copy h1{max-width:11ch;text-wrap:balance}
.hero-video-toggle{cursor:pointer}

/* Images replace the old inline abstract service graphics. */
.service-card-media--visual{display:block!important;min-height:230px;overflow:hidden;background:#dce9f8}
.service-card-media--visual img{display:block;width:100%;height:100%;min-height:230px;object-fit:cover;object-position:center;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.service-card-v5:hover .service-card-media--visual img{transform:scale(1.045)}
.service-card-v5 .service-card-content{position:relative;background:#fff}

.service-tile-media--visual{display:block!important;position:absolute!important;inset:0!important;overflow:hidden;background:#dce9f8}
.service-tile-media--visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,12,31,.94) 0%,rgba(4,19,45,.34) 68%,rgba(4,19,45,.1))}
.service-tile-media--visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s ease}
.service-tile-v2:hover .service-tile-media--visual img{transform:scale(1.04)}
.service-tile-v2 .service-tile-content{position:relative;z-index:2;color:#fff}
.service-tile-v2 .service-tile-content p,.service-tile-v2 .service-tile-foot>span{color:rgba(255,255,255,.79)!important}
.service-tile-v2 .service-tile-icon,.service-tile-v2 .service-index{color:#fff!important;background:rgba(4,15,39,.75)!important;border-color:rgba(255,255,255,.2)!important}

/* Keep people visible while hero copy remains on a calm, dark portion. */
.page-hero-image-v6 img,.services-header-image-v6>img,.service-header-photo-v6,.portfolio-header-image-v6 img{object-position:center 30%!important}
.service-header-overlay-v6{display:none!important}
.service-header-photo-v9 .service-visual-caption-v5{z-index:4}
.offer-media-v7 img,.home-process-media-v7 img{filter:saturate(.92) contrast(1.04)}
.offer-media-v7 img{object-position:center 20%}
.home-process-media-v7 img{object-position:center}

/* ---------- About: completely rebuilt editorial page ---------- */
.about-hero-v9{position:relative;isolation:isolate;min-height:740px;overflow:hidden;background:#061126}
.about-hero-v9::after{content:"";position:absolute;inset:auto 0 0;height:6px;z-index:5;background:linear-gradient(90deg,#087cf0,#7558ff,#e842b6,#ff8d3b)}
.about-hero-bg-v9{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:-2;filter:saturate(.92) contrast(1.04)}
.about-hero-overlay-v9{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,8,22,.96) 0%,rgba(2,9,23,.82) 40%,rgba(2,9,23,.28) 72%,rgba(2,8,20,.36)),linear-gradient(0deg,rgba(2,7,19,.82),transparent 55%)}
.about-hero-inner-v9{min-height:740px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-top:190px;padding-bottom:88px}
.about-hero-copy-v9{width:min(780px,70%)}
.about-hero-copy-v9 h1{max-width:12ch;margin:18px 0 24px;color:#fff;font-size:clamp(3.3rem,6.4vw,6.5rem);line-height:.93;letter-spacing:-.058em;text-wrap:balance;text-shadow:0 8px 40px rgba(0,0,0,.45)}
.about-hero-copy-v9 .lead{max-width:680px;color:rgba(255,255,255,.9)}
.about-hero-proof-v9{display:grid;gap:2px;align-self:flex-end;padding:18px 22px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(3,13,31,.68);backdrop-filter:blur(16px);color:#fff}
.about-hero-proof-v9 strong{font:700 1rem var(--font-display)}
.about-hero-proof-v9 span{color:#bac9dc;font-size:.8rem}

.about-story-grid-v9{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(42px,7vw,100px);align-items:center}
.about-story-photo-v9{position:relative;min-height:620px;margin:0;border-radius:30px;overflow:hidden;box-shadow:0 28px 70px rgba(20,52,97,.18)}
.about-story-photo-v9 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.about-story-photo-v9 figcaption{position:absolute;left:20px;right:20px;bottom:20px;padding:15px 18px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(3,14,36,.78);backdrop-filter:blur(12px);color:#fff;font-size:.86rem}
.about-story-copy-v9 h2{max-width:13ch;margin:16px 0 22px;font-size:clamp(2.3rem,4.2vw,4.6rem);line-height:.98;letter-spacing:-.045em}
.about-story-copy-v9>p{max-width:58ch;color:var(--muted);font-size:1.08rem;line-height:1.75}
.about-story-points-v9{display:grid;gap:12px;margin-top:30px}
.about-story-points-v9>span{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:16px 0;border-top:1px solid #dbe4f0}
.about-story-points-v9 b{color:#081a39}.about-story-points-v9 small{color:#63748c;font-size:.9rem;line-height:1.55}

.about-gallery-v9{background:linear-gradient(180deg,#fff,var(--v9-soft))}
.about-photo-grid-v9{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:260px 260px;gap:18px;margin-top:46px}
.about-photo-grid-v9 figure{position:relative;min-height:0;margin:0;border-radius:24px;overflow:hidden;background:#dce9f8;box-shadow:0 18px 45px rgba(20,52,97,.12)}
.about-photo-main-v9{grid-row:1/3}
.about-photo-grid-v9 figure:nth-child(2){grid-column:2/4}
.about-photo-grid-v9 img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s ease}
.about-photo-grid-v9 figure:hover img{transform:scale(1.035)}
.about-photo-grid-v9 figcaption{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(3,14,36,.78);backdrop-filter:blur(12px);color:#fff}
.about-photo-grid-v9 figcaption span{color:#67e8f9;font:700 .68rem var(--font-mono)}
.about-photo-grid-v9 figcaption b{font-size:.87rem}

.about-values-v9 .about-value{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12)}
.about-values-v9 .about-value h3{color:#fff}.about-values-v9 .about-value p{color:#aab9cc}
.about-collab-grid-v9{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(38px,7vw,90px);align-items:center}
.about-collab-copy-v9 h2{max-width:11ch;margin:15px 0 20px;font-size:clamp(2.5rem,4.6vw,5rem);line-height:.96;letter-spacing:-.05em}
.about-collab-copy-v9 p{max-width:54ch;color:var(--muted);line-height:1.75}
.about-collab-grid-v9 figure{height:560px;margin:0;border-radius:30px;overflow:hidden;box-shadow:0 25px 65px rgba(20,52,97,.18)}
.about-collab-grid-v9 img{width:100%;height:100%;object-fit:cover}
.about-location-row-v9{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}
.about-location-row-v9 span{padding:8px 12px;border:1px solid #d4dfed;border-radius:99px;background:#fff;color:#19355f;font:700 .72rem var(--font-mono)}

/* ---------- Image-led sections shared by service and process pages ---------- */
.service-story-v9{padding-top:86px!important;padding-bottom:86px!important}
.service-story-grid-v9,.process-intro-grid-v9{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(36px,6vw,82px);align-items:center}
.service-story-grid-v9 figure,.process-intro-grid-v9 figure{position:relative;height:520px;margin:0;border-radius:28px;overflow:hidden;box-shadow:0 24px 60px rgba(16,49,96,.16)}
.service-story-grid-v9 figure img,.process-intro-grid-v9 figure img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-story-grid-v9 figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:14px 16px;border-radius:13px;background:rgba(3,15,37,.78);backdrop-filter:blur(12px);color:#fff;font-size:.83rem}
.service-story-copy-v9 h2,.process-intro-grid-v9 h2{max-width:13ch;margin:15px 0 20px;font-size:clamp(2.2rem,3.8vw,4rem);line-height:1;letter-spacing:-.045em}
.service-story-copy-v9>p,.process-intro-grid-v9 p{color:var(--muted);line-height:1.75}
.service-story-copy-v9 ul{display:grid;gap:12px;margin:26px 0 0;padding:0;list-style:none}
.service-story-copy-v9 li{position:relative;padding:13px 16px 13px 45px;border:1px solid #dbe5f1;border-radius:13px;background:#fff;color:#19365f;font-weight:650}
.service-story-copy-v9 li::before{content:"✓";position:absolute;left:15px;top:12px;color:#087cf0;font-weight:900}
.process-intro-v9{background:#fff}

/* ---------- Editorial blog and contact photography ---------- */
.blog-thumb-photo-v9,.fp-img-photo-v9{overflow:hidden!important;padding:0!important;background:#dce9f8!important}
.blog-thumb-photo-v9 img,.fp-img-photo-v9 img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.blog-thumb-photo-v9{height:220px}
.fp-img-photo-v9{min-height:430px}
.contact-photo-v9{position:relative;height:270px;margin:0 0 30px;border-radius:24px;overflow:hidden;box-shadow:0 20px 50px rgba(3,14,35,.28)}
.contact-photo-v9 img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
.contact-photo-v9 figcaption{position:absolute;left:14px;right:14px;bottom:14px;padding:12px 14px;border-radius:12px;background:rgba(3,14,35,.76);color:#fff;font-size:.82rem;backdrop-filter:blur(10px)}

/* Case-study hero retains a dedicated real-photo hero, with project UI below. */
.case-hero-photo-v9{position:absolute;left:50%;top:0;width:100vw;height:100%;margin:0 0 0 -50vw;z-index:0;overflow:hidden}
.case-hero-photo-v9 img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.case-hero-photo-v9 figcaption{display:none}

@media(max-width:980px){
  .about-hero-copy-v9{width:min(760px,88%)}
  .about-hero-proof-v9{display:none}
  .about-story-grid-v9,.about-collab-grid-v9,.service-story-grid-v9,.process-intro-grid-v9{grid-template-columns:1fr}
  .about-story-photo-v9,.about-collab-grid-v9 figure,.service-story-grid-v9 figure,.process-intro-grid-v9 figure{height:520px;min-height:0}
  .about-photo-grid-v9{grid-template-columns:1fr 1fr;grid-template-rows:460px 260px 260px}
  .about-photo-main-v9{grid-column:1/3;grid-row:auto}
  .about-photo-grid-v9 figure:nth-child(2){grid-column:auto}
  .service-story-copy-v9,.process-intro-grid-v9>div{max-width:700px}
}

@media(max-width:680px){
  .about-hero-v9,.about-hero-inner-v9{min-height:680px}
  .about-hero-inner-v9{padding-top:155px;padding-bottom:68px}
  .about-hero-copy-v9{width:100%}
  .about-hero-copy-v9 h1{font-size:clamp(2.7rem,13vw,4.3rem)}
  .about-hero-bg-v9{object-position:58% center}
  .about-story-photo-v9,.about-collab-grid-v9 figure,.service-story-grid-v9 figure,.process-intro-grid-v9 figure{height:420px}
  .about-story-points-v9>span{grid-template-columns:1fr;gap:5px}
  .about-photo-grid-v9{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,330px)}
  .about-photo-main-v9,.about-photo-grid-v9 figure:nth-child(2){grid-column:auto;grid-row:auto}
  .service-story-v9{padding-top:62px!important;padding-bottom:62px!important}
  .fp-img-photo-v9{min-height:280px}
  .service-card-media--visual,.service-card-media--visual img{min-height:205px}
  .hero-video-toggle{bottom:88px}
}

@media(prefers-reduced-motion:reduce){
  .service-card-media--visual img,.service-tile-media--visual img,.about-photo-grid-v9 img{transition:none}
}
