/* ============================================================
   TECH JOINT SOLUTION — REDESIGN V2
   Full-motion hero, live portfolio previews, editorial About,
   connected Services and full-width project case studies.
   ============================================================ */

:root{
  --v2-ink:#06101f;
  --v2-navy:#071b3f;
  --v2-blue:#006be6;
  --v2-cyan:#00b7f4;
  --v2-paper:#f5f8fc;
  --v2-line:rgba(7,27,63,.12);
  --v2-shadow:0 28px 80px rgba(7,27,63,.14);
}

.btn--dark{background:var(--v2-ink);border-color:var(--v2-ink);color:#fff}
.btn--dark:hover{background:var(--v2-blue);border-color:var(--v2-blue);color:#fff;transform:translateY(-2px)}
.btn--private{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#aeb9ca;cursor:default}
.section-link-row{display:flex;justify-content:center;margin-top:38px}
.tech-row--center{justify-content:center}

/* ============================================================
   FULL-BLEED CINEMATIC HOME HERO
   ============================================================ */
.hero--cinema{
  min-height:100svh;
  padding:calc(var(--header-h) + 58px) 0 34px;
  display:flex;
  align-items:stretch;
  isolation:isolate;
  overflow:hidden;
  background:#040913;
}
.hero--cinema::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(4,9,19,.16) 0%,rgba(4,9,19,.04) 54%,rgba(4,9,19,.94) 100%);
}
.hero--cinema .hero-video{z-index:0;background-position:center center;background-size:cover}
.hero--cinema .hero-video-el{
  display:block!important;
  inset:0;
  width:100%;
  height:100%;
  opacity:1;
  transform:scale(1.02);
  object-fit:cover;
  object-position:center center;
  filter:saturate(1.08) contrast(1.07) brightness(.86);
  transition:opacity .65s ease,transform 10s linear;
}
.hero--cinema .hero-video-el.is-playing{opacity:1;transform:scale(1.075)}
.hero--cinema .hero-video::after{
  z-index:1;
  background:linear-gradient(90deg,rgba(3,8,17,.92) 0%,rgba(3,8,17,.74) 35%,rgba(3,8,17,.30) 67%,rgba(3,8,17,.26) 100%);
}
.hero--cinema .hero-video-scrim{
  z-index:2;
  background:
    radial-gradient(900px circle at 72% 45%,rgba(0,107,230,.08),transparent 68%),
    linear-gradient(180deg,rgba(5,10,20,.20),transparent 45%,rgba(5,10,20,.82));
}
.hero-cinema-wrap{
  position:relative;
  z-index:5!important;
  width:min(1480px,92vw);
  min-height:calc(100svh - var(--header-h) - 92px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:54px;
}
.hero-cinema-copy{max-width:930px;padding-top:clamp(44px,8vh,105px)}
.hero--cinema h1{
  max-width:12.5ch;
  margin:20px 0 24px;
  font-size:clamp(3.6rem,7.6vw,8.2rem);
  line-height:.91;
  letter-spacing:-.065em;
  text-shadow:0 15px 65px rgba(0,0,0,.58);
}
.hero--cinema .sub{
  max-width:690px;
  color:#d2dbea;
  font-size:clamp(1.05rem,1.55vw,1.3rem);
  line-height:1.62;
  text-shadow:0 5px 25px rgba(0,0,0,.7);
}
.hero--cinema .hero-actions{margin-top:30px}
.hero--cinema .hero-badge{
  background:rgba(4,9,18,.54);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(18px);
  color:#e1e7f0;
  box-shadow:0 10px 35px rgba(0,0,0,.25);
}
.hero-cinema-rail{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(4,9,18,.26);
  backdrop-filter:blur(12px);
}
.hero-cinema-rail>div{position:relative;padding:21px 26px 20px;min-height:104px;border-right:1px solid rgba(255,255,255,.12)}
.hero-cinema-rail>div:last-child{border-right:0}
.hero-cinema-rail span{display:block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;color:var(--v2-cyan);margin-bottom:4px}
.hero-cinema-rail b{display:block;color:#fff;font-size:1rem;margin-bottom:3px}
.hero-cinema-rail small{display:block;color:#aab6c8;font-size:.76rem;line-height:1.45}
.hero-video-toggle{
  position:absolute;
  z-index:7;
  right:max(24px,4vw);
  bottom:155px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(4,9,18,.48);
  color:#dce5f2;
  font-size:.75rem;
  backdrop-filter:blur(14px);
}
.pause-mark{width:12px;height:12px;position:relative;display:block}
.pause-mark::before,.pause-mark::after{content:"";position:absolute;top:1px;bottom:1px;width:3px;background:currentColor;border-radius:2px}
.pause-mark::before{left:1px}.pause-mark::after{right:1px}
.hero-video-toggle.is-paused .pause-mark::before{left:2px;top:0;bottom:auto;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor;background:transparent;border-radius:0}
.hero-video-toggle.is-paused .pause-mark::after{display:none}
.hero--cinema .hero-scroll{
  left:auto;
  right:max(24px,4vw);
  bottom:40px;
  width:auto;
  height:auto;
  border:0;
  background:none;
  backdrop-filter:none;
  display:flex;
  gap:12px;
  color:#d8e0eb;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero--cinema .hero-scroll i{display:block;width:46px;height:1px;background:rgba(255,255,255,.5);position:relative;overflow:hidden}
.hero--cinema .hero-scroll i::after{content:"";position:absolute;inset:0;background:var(--v2-cyan);transform:translateX(-100%);animation:v2ScrollLine 2.2s ease-in-out infinite}
@keyframes v2ScrollLine{50%,100%{transform:translateX(100%)}}
.trust-strip-v2{padding:23px 0!important;background:#050b15!important;border-block:1px solid rgba(255,255,255,.08)!important}
.trust-strip-v2 .hero-trust{justify-content:center;margin:0}
.home-services-v2 .card{min-height:286px}
.featured-work-v2{background:linear-gradient(180deg,#07101f,#050a12)}

/* ============================================================
   LIVE PROJECT CARDS
   ============================================================ */
.project-grid-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.project-card-v2{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--v2-line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 55px rgba(7,27,63,.09);
  transition:transform .42s var(--ease),box-shadow .42s var(--ease),border-color .42s;
}
.project-card-v2:hover{transform:translateY(-8px);box-shadow:0 32px 85px rgba(7,27,63,.18);border-color:rgba(0,107,230,.24)}
.project-card-v2.hide{display:none}
.project-card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dfe8f4}
.project-card-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,8,17,.03) 45%,rgba(3,8,17,.72) 100%)}
.project-card-media img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .7s var(--ease),filter .7s var(--ease)}
.project-card-v2:hover .project-card-media img{transform:scale(1.035);filter:saturate(1.06)}
.project-card-topline{position:absolute;z-index:2;inset:18px 18px auto;display:flex;justify-content:space-between;align-items:center;gap:12px}
.project-status,.project-card-domain{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 11px;background:rgba(5,10,20,.74);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:.71rem;font-weight:650;backdrop-filter:blur(12px)}
.project-status i{width:7px;height:7px;border-radius:50%;background:#31d783;box-shadow:0 0 0 5px rgba(49,215,131,.12)}
.project-status--private{color:#d0d8e4}
.project-card-domain{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cdd6e4;font-family:var(--font-mono);font-weight:500}
.project-card-body{padding:25px 26px 27px}
.project-card-kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--v2-blue);margin-bottom:10px}
.project-card-v2 h3{font-size:clamp(1.55rem,2.2vw,2.1rem);color:var(--v2-ink);margin-bottom:10px}
.project-card-v2 p{color:#5e6d80;line-height:1.68;margin-bottom:18px}
.project-card-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.project-card-tags span,.case-tag-row span{padding:6px 10px;border-radius:999px;background:#edf4fd;border:1px solid #d9e8fa;color:#31526f;font-size:.75rem;font-weight:600}
.project-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e4ebf3;padding-top:18px}
.project-action{display:inline-flex;align-items:center;gap:7px;color:var(--v2-ink);font-weight:700;font-size:.88rem}
.project-action:hover{color:var(--v2-blue)}
.project-action--live{color:var(--v2-blue)}
.project-action--disabled{color:#8d99aa;cursor:default}
.section--dark .project-card-v2,.featured-work-v2 .project-card-v2{background:#0c1625;border-color:rgba(255,255,255,.1);box-shadow:0 24px 65px rgba(0,0,0,.30)}
.section--dark .project-card-v2 h3,.featured-work-v2 .project-card-v2 h3{color:#fff}
.section--dark .project-card-v2 p,.featured-work-v2 .project-card-v2 p{color:#9eabba}
.section--dark .project-card-kicker,.featured-work-v2 .project-card-kicker{color:var(--v2-cyan)}
.section--dark .project-card-actions,.featured-work-v2 .project-card-actions{border-top-color:rgba(255,255,255,.10)}
.section--dark .project-action,.featured-work-v2 .project-action{color:#e7edf6}
.section--dark .project-action--live,.featured-work-v2 .project-action--live{color:var(--v2-cyan)}
.section--dark .project-card-tags span,.featured-work-v2 .project-card-tags span{background:rgba(0,107,230,.12);border-color:rgba(0,183,244,.15);color:#b9d8ff}

/* ============================================================
   ABOUT PAGE — EDITORIAL LAYOUT
   ============================================================ */
.about-hero-v2{position:relative;overflow:hidden;padding:clamp(80px,9vw,150px) 0 120px;background:linear-gradient(135deg,#050a13 0%,#081a38 58%,#061021 100%)}
.about-hero-glow{position:absolute;width:900px;height:900px;right:-360px;top:-430px;border-radius:50%;background:radial-gradient(circle,rgba(0,107,230,.30),transparent 68%);filter:blur(16px)}
.about-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:75px;align-items:center}
.about-hero-copy h1{font-size:clamp(3.4rem,6.2vw,6.8rem);line-height:.94;letter-spacing:-.055em;max-width:10.5ch;margin-bottom:24px}
.about-hero-copy .lead{color:#b8c4d5;max-width:650px;font-size:1.15rem}
.about-hero-copy .hero-actions{margin-top:30px}
.about-mosaic{position:relative;min-height:620px}
.about-shot{position:absolute;display:block;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:#0d1728;box-shadow:0 35px 90px rgba(0,0,0,.42)}
.about-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s var(--ease)}
.about-shot:hover img{transform:scale(1.035)}
.about-shot span{position:absolute;left:16px;bottom:14px;padding:7px 11px;border-radius:999px;background:rgba(5,10,20,.76);backdrop-filter:blur(10px);color:#fff;font-size:.75rem;font-weight:700}
.about-shot--1{width:72%;height:58%;right:0;top:4%;z-index:1;transform:rotate(2deg)}
.about-shot--2{width:62%;height:52%;left:0;bottom:3%;z-index:2;transform:rotate(-3deg)}
.about-shot--3{width:47%;height:42%;right:2%;bottom:2%;z-index:3;transform:rotate(4deg)}
.about-manifesto{background:#fff}
.about-manifesto-grid{display:grid;grid-template-columns:.38fr 1.12fr .8fr;gap:42px;align-items:start}
.about-manifesto-grid h2{font-size:clamp(2.4rem,4.5vw,4.8rem);line-height:1.02;letter-spacing:-.045em;color:var(--v2-ink)}
.about-manifesto-copy p{color:#5b6a7e;margin-bottom:20px;font-size:1.03rem}
.about-statline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-block:1px solid var(--v2-line)}
.about-statline>div{padding:28px;border-right:1px solid var(--v2-line)}
.about-statline>div:last-child{border-right:0}
.about-statline strong{display:block;font-size:clamp(2.2rem,4vw,4rem);line-height:1;color:var(--v2-ink);letter-spacing:-.055em}
.about-statline span{display:block;margin-top:7px;color:#708095;font-size:.84rem}
.about-values-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}
.about-value{position:relative;padding:40px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);min-height:300px}
.about-value-no{font-family:var(--font-mono);color:#718096;font-size:.72rem}
.about-value .ic{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;margin:36px 0 22px;background:rgba(0,107,230,.14);color:var(--v2-cyan)}
.about-value h3{color:#fff;font-size:1.65rem;margin-bottom:11px}
.about-value p{color:#9eabba}
.capability-list{border-top:1px solid var(--v2-line)}
.capability-row{display:grid;grid-template-columns:90px .9fr 1.1fr;gap:32px;align-items:start;padding:38px 0;border-bottom:1px solid var(--v2-line)}
.capability-no{font-family:var(--font-mono);color:var(--v2-blue);font-size:.8rem;padding-top:6px}
.capability-row h3{font-size:clamp(1.55rem,2.4vw,2.4rem);color:var(--v2-ink);margin-bottom:8px}
.capability-row p{color:#617084}
.capability-tags{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.capability-tags span{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--v2-line);color:#38516e;font-size:.8rem;font-weight:600}
.about-work-v2{background:#eef4fb}
.about-gallery-v2{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}
.about-gallery-item{position:relative;overflow:hidden;min-height:300px;border-radius:24px;background:#dce7f4;box-shadow:0 20px 55px rgba(7,27,63,.10)}
.about-gallery-item:nth-child(1),.about-gallery-item:nth-child(4){grid-column:span 7}
.about-gallery-item:nth-child(2),.about-gallery-item:nth-child(3){grid-column:span 5}
.about-gallery-item:nth-child(5),.about-gallery-item:nth-child(6){grid-column:span 6}
.about-gallery-item img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .65s var(--ease)}
.about-gallery-item:hover img{transform:scale(1.04)}
.about-gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(5,10,20,.80))}
.about-gallery-item>span{position:absolute;z-index:2;left:20px;right:20px;bottom:17px;display:flex;justify-content:space-between;color:#fff;font-weight:700}

/* ============================================================
   SERVICES HUB
   ============================================================ */
.services-hero-v2{position:relative;overflow:hidden;padding:clamp(85px,10vw,155px) 0 130px;background:linear-gradient(135deg,#050a13 0%,#071a37 55%,#09244f 100%)}
.services-hero-grid-bg{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(90deg,#000,transparent)}
.services-hero-layout{position:relative;display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:center}
.services-hero-copy h1{font-size:clamp(3.5rem,6.4vw,7rem);line-height:.92;letter-spacing:-.06em;max-width:10ch;margin-bottom:24px}
.services-hero-copy .lead{color:#b6c3d5;max-width:650px;font-size:1.15rem}
.services-hero-copy .hero-actions{margin-top:30px}
.services-system{position:relative;aspect-ratio:1;max-width:610px;margin-inline:auto;border-radius:50%;border:1px solid rgba(255,255,255,.10);background:radial-gradient(circle,rgba(0,107,230,.16),rgba(5,10,20,.10) 58%,transparent 59%)}
.services-system::before,.services-system::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(0,183,244,.15);inset:13%}.services-system::after{inset:30%;border-style:dashed;animation:v2Spin 22s linear infinite}
@keyframes v2Spin{to{transform:rotate(360deg)}}
.services-system-core{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:170px;height:170px;border-radius:50%;display:grid;place-items:center;background:rgba(6,16,31,.90);border:1px solid rgba(255,255,255,.14);box-shadow:0 25px 70px rgba(0,0,0,.35)}
.services-system-core img{width:64px;height:auto}.services-system-core span{font-size:.75rem;color:#c8d4e4;font-weight:700}
.service-node{position:absolute;z-index:3;padding:10px 14px;border-radius:999px;background:rgba(6,16,31,.85);border:1px solid rgba(0,183,244,.20);color:#dce8f7;font-size:.76rem;font-weight:700;box-shadow:0 14px 36px rgba(0,0,0,.25);backdrop-filter:blur(10px)}
.service-node--1{top:4%;left:41%}.service-node--2{top:22%;right:2%}.service-node--3{bottom:21%;right:1%}.service-node--4{bottom:3%;left:39%}.service-node--5{bottom:20%;left:0}.service-node--6{top:21%;left:1%}
.service-bento-v2{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.service-tile-v2{position:relative;grid-column:span 4;min-height:330px;padding:30px;border-radius:26px;border:1px solid var(--v2-line);background:#fff;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 45px rgba(7,27,63,.065);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.service-tile-v2:nth-child(1),.service-tile-v2:nth-child(5){grid-column:span 5}.service-tile-v2:nth-child(2),.service-tile-v2:nth-child(6){grid-column:span 7}.service-tile-v2:nth-child(3),.service-tile-v2:nth-child(4),.service-tile-v2:nth-child(7),.service-tile-v2:nth-child(8),.service-tile-v2:nth-child(9){grid-column:span 4}
.service-tile-v2::before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-100px;top:-120px;background:radial-gradient(circle,rgba(0,107,230,.15),transparent 69%);transition:transform .5s var(--ease)}
.service-tile-v2:hover{transform:translateY(-7px);box-shadow:var(--v2-shadow);border-color:rgba(0,107,230,.22)}
.service-tile-v2:hover::before{transform:scale(1.25)}
.service-tile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:44px}
.service-index{font-family:var(--font-mono);font-size:.72rem;color:#718096;letter-spacing:.1em}
.service-tile-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#eaf3ff;color:var(--v2-blue)}
.service-tile-v2 h3{font-size:clamp(1.45rem,2vw,2rem);color:var(--v2-ink);margin-bottom:12px}
.service-tile-v2 p{color:#617084;line-height:1.65;margin-bottom:28px}
.service-tile-foot{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:auto;border-top:1px solid var(--v2-line);padding-top:17px}
.service-tile-foot>span{max-width:80%;font-size:.72rem;color:#7b889a}.service-tile-foot a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--v2-ink);color:#fff;font-size:1.1rem}.service-tile-foot a:hover{background:var(--v2-blue);color:#fff}
.service-extras-v2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px}
.service-extra-v2,.service-related-v2{display:grid;grid-template-columns:auto 1fr auto;gap:17px;align-items:center;padding:20px;border:1px solid var(--v2-line);border-radius:20px;background:#fff;color:var(--v2-ink);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.service-extra-v2:hover,.service-related-v2:hover{transform:translateY(-4px);border-color:rgba(0,107,230,.25);box-shadow:0 18px 45px rgba(7,27,63,.10);color:var(--v2-ink)}
.service-extra-v2 b,.service-related-v2 b{display:block;color:var(--v2-ink)}
.service-extra-v2 small,.service-related-v2 small{display:block;color:#708095;line-height:1.5;margin-top:3px}
.service-extra-v2 i,.service-related-v2 i{font-style:normal;color:var(--v2-blue)}
.services-flow-v2{background:linear-gradient(135deg,#07101f,#061a34)}
.service-flow-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}
.service-flow-step{padding:30px 24px;min-height:275px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.service-flow-step>span{font-family:var(--font-mono);font-size:.7rem;color:var(--v2-cyan)}
.service-flow-step h3{color:#fff;font-size:1.35rem;margin:48px 0 12px}.service-flow-step p{color:#98a6ba;font-size:.9rem}

/* ============================================================
   INDIVIDUAL SERVICE PAGES
   ============================================================ */
.service-detail-hero{position:relative;overflow:hidden;padding:clamp(80px,9vw,145px) 0 110px;background:linear-gradient(135deg,#050a13,#071a38 62%,#09234a)}
.service-detail-glow{position:absolute;right:-260px;top:-380px;width:850px;height:850px;border-radius:50%;background:radial-gradient(circle,rgba(0,107,230,.27),transparent 68%)}
.service-detail-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(470px,.85fr);gap:72px;align-items:center}
.service-detail-copy h1{font-size:clamp(3.3rem,5.7vw,6.2rem);line-height:.94;letter-spacing:-.055em;max-width:11ch;margin-bottom:24px}
.service-detail-copy .lead{color:#b8c5d7;max-width:650px;font-size:1.13rem}
.service-detail-copy .hero-actions{margin-top:30px}
.service-hero-tech{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.service-hero-tech span{padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#adc0d7;font-size:.74rem;background:rgba(255,255,255,.04)}
.service-visual-panel{overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.14);background:rgba(5,10,20,.56);box-shadow:0 38px 100px rgba(0,0,0,.42);backdrop-filter:blur(14px)}
.service-visual-head{height:50px;display:flex;align-items:center;gap:7px;padding:0 17px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.service-visual-head>span{width:8px;height:8px;border-radius:50%;background:#41506a}.service-visual-head>span:first-child{background:#ff6b6b}.service-visual-head>span:nth-child(2){background:#f4c95d}.service-visual-head>span:nth-child(3){background:#42d392}.service-visual-head b{margin-left:auto;color:#78889f;font-family:var(--font-mono);font-size:.68rem;font-weight:500}
.service-visual-panel .svc-visual{max-width:none;aspect-ratio:4/3;border:0;border-radius:0;background:transparent;box-shadow:none;margin:0}
.service-thinking-v2{background:#fff}
.service-thinking-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.service-thinking-card{padding:48px;border:1px solid var(--v2-line);border-radius:28px;background:#f7faff;min-height:430px}
.service-thinking-card h2{font-size:clamp(2rem,3.4vw,3.5rem);color:var(--v2-ink);line-height:1.05;margin-bottom:22px}
.service-thinking-card p{color:#5e6d80;margin-bottom:16px}
.service-thinking-card--accent{background:linear-gradient(145deg,#07142a,#0a2c61);border-color:rgba(0,107,230,.18)}
.service-thinking-card--accent h2{color:#fff}.service-thinking-card--accent p{color:#b8c5d7}.service-thinking-card--accent .eyebrow{color:var(--v2-cyan)}
.service-features-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--v2-line);border-left:1px solid var(--v2-line)}
.service-feature-v2{padding:34px;min-height:280px;border-right:1px solid var(--v2-line);border-bottom:1px solid var(--v2-line);background:#fff}
.service-feature-no{font-family:var(--font-mono);font-size:.7rem;color:var(--v2-blue)}
.service-feature-v2 h3{font-size:1.35rem;color:var(--v2-ink);margin:40px 0 12px}.service-feature-v2 p{color:#657489}
.service-outcomes-v2{background:linear-gradient(135deg,#07101f,#071b37)}
.service-outcomes-grid{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:start}.service-benefit-list li{border-color:rgba(255,255,255,.10)}
.service-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-process-card{position:relative;padding:30px;border-radius:24px;background:#fff;border:1px solid var(--v2-line);min-height:275px}
.service-process-card>span{font-family:var(--font-mono);font-size:.72rem;color:var(--v2-blue)}.service-process-card h3{font-size:1.35rem;color:var(--v2-ink);margin:48px 0 12px}.service-process-card p{color:#637287;font-size:.92rem}
.service-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

/* ============================================================
   PORTFOLIO HUB
   ============================================================ */
.portfolio-hero-v2{position:relative;overflow:hidden;padding:clamp(85px,9vw,145px) 0 120px;background:linear-gradient(135deg,#050a13,#071a37 64%,#071426)}
.portfolio-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.portfolio-hero-grid h1{font-size:clamp(3.5rem,6.4vw,7rem);line-height:.92;letter-spacing:-.06em;max-width:10.5ch;margin-bottom:24px}.portfolio-hero-grid .lead{color:#b7c4d6;font-size:1.13rem}.portfolio-hero-grid .hero-actions{margin-top:30px}
.portfolio-hero-stack{position:relative;min-height:610px}
.portfolio-hero-shot{position:absolute;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.14);background:#0d1728;box-shadow:0 36px 90px rgba(0,0,0,.42)}
.portfolio-hero-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s var(--ease)}.portfolio-hero-shot:hover img{transform:scale(1.035)}
.portfolio-hero-shot span{position:absolute;left:15px;bottom:13px;padding:7px 11px;border-radius:999px;background:rgba(5,10,20,.76);color:#fff;font-size:.73rem;font-weight:700;backdrop-filter:blur(10px)}
.portfolio-hero-shot--1{width:72%;height:56%;right:0;top:3%;z-index:1;transform:rotate(2deg)}.portfolio-hero-shot--2{width:66%;height:53%;left:0;bottom:2%;z-index:2;transform:rotate(-3deg)}.portfolio-hero-shot--3{width:48%;height:42%;right:1%;bottom:2%;z-index:3;transform:rotate(4deg)}
.portfolio-toolbar{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px;padding-bottom:24px;border-bottom:1px solid var(--v2-line)}.portfolio-toolbar p{color:#708095;font-size:.9rem}.portfolio-toolbar .filter-row{margin:0;justify-content:flex-end}
.portfolio-catalog-v2{background:#eef4fb}

/* ============================================================
   FULL-WIDTH PROJECT CASE STUDIES
   ============================================================ */
.case-hero-v2{position:relative;overflow:hidden;padding:clamp(85px,8vw,135px) 0 110px;background:linear-gradient(135deg,#050a13,#07172f 58%,#08234a)}
.case-hero-glow{position:absolute;right:-300px;top:-380px;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(0,107,230,.28),transparent 67%)}
.case-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(580px,1.18fr);gap:70px;align-items:center}
.case-hero-copy h1{font-size:clamp(3.4rem,6.2vw,6.8rem);line-height:.92;letter-spacing:-.06em;max-width:10ch;margin:6px 0 12px}
.case-hero-sub{font-size:1.2rem;color:var(--v2-cyan);font-weight:700;margin-bottom:20px}.case-hero-copy .lead{color:#b8c5d7;font-size:1.04rem}.case-tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0}.case-tag-row span{background:rgba(0,107,230,.12);border-color:rgba(0,183,244,.18);color:#c6ddfb}.case-hero-copy .hero-actions{margin-top:26px}
.case-browser{overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.15);background:#0a1321;box-shadow:0 40px 110px rgba(0,0,0,.46);transform:perspective(1300px) rotateY(-3deg) rotateX(1deg)}
.case-browser-bar{height:52px;display:flex;align-items:center;gap:7px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.09);background:#0e192a}.case-browser-bar>span{width:8px;height:8px;border-radius:50%;background:#46546a}.case-browser-bar>span:first-child{background:#ff6b6b}.case-browser-bar>span:nth-child(2){background:#f4c95d}.case-browser-bar>span:nth-child(3){background:#42d392}.case-browser-bar b{margin-left:auto;margin-right:auto;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8190a5;font-family:var(--font-mono);font-size:.7rem;font-weight:500}
.case-browser-screen{aspect-ratio:16/10;overflow:hidden;background:#dce6f2}.case-browser-screen img{width:100%;height:100%;object-fit:cover;object-position:top center}
.case-facts-v2{background:#fff;border-bottom:1px solid var(--v2-line)}.case-facts-v2 .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.case-facts-v2 .wrap>div{padding:27px 24px;border-right:1px solid var(--v2-line)}.case-facts-v2 .wrap>div:last-child{border-right:0}.case-facts-v2 span{display:block;font-family:var(--font-mono);font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:#7a899d;margin-bottom:5px}.case-facts-v2 b{color:var(--v2-ink);font-size:.96rem}
.case-story-intro{display:grid;grid-template-columns:.35fr 1.15fr;gap:40px;align-items:start;margin-bottom:55px}.case-story-intro h2{font-size:clamp(2.4rem,4.5vw,4.8rem);line-height:1.02;letter-spacing:-.045em;color:var(--v2-ink);max-width:17ch}
.case-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-story-card{padding:44px;border-radius:28px;border:1px solid var(--v2-line);background:#f6f9fd;min-height:365px}.case-story-card>span{font-family:var(--font-mono);font-size:.7rem;color:var(--v2-blue);text-transform:uppercase;letter-spacing:.08em}.case-story-card h3{font-size:clamp(1.8rem,3vw,3rem);color:var(--v2-ink);margin:55px 0 15px}.case-story-card p{color:#5f6e82}.case-story-card--accent{background:linear-gradient(145deg,#07152b,#0a2d63);border-color:rgba(0,107,230,.20)}.case-story-card--accent>span{color:var(--v2-cyan)}.case-story-card--accent h3{color:#fff}.case-story-card--accent p{color:#b9c6d7}
.case-deliverables-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:68px;align-items:start}.case-service-links{display:flex;flex-direction:column;border-top:1px solid var(--v2-line)}.case-service-links a,.case-service-links>span{display:flex;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid var(--v2-line);color:var(--v2-ink);font-weight:700}.case-service-links a:hover{color:var(--v2-blue)}
.case-outcome-panel{padding:48px;border-radius:30px;background:linear-gradient(145deg,#07152b,#0b3674);box-shadow:0 28px 80px rgba(7,27,63,.20)}.case-outcome-panel h2{font-size:clamp(2rem,3.4vw,3.5rem);color:#fff;margin-bottom:18px}.case-outcome-panel p{color:#bcc9db;margin-bottom:26px}.case-outcome-panel p a{color:var(--v2-cyan);font-weight:700}
.case-process-v2{background:linear-gradient(135deg,#07101f,#061a35)}.case-process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}.case-process-step{min-height:300px;padding:30px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.case-process-step>span{font-family:var(--font-mono);font-size:.7rem;color:var(--v2-cyan)}.case-process-step h3{font-size:1.4rem;color:#fff;margin:55px 0 12px}.case-process-step p{color:#9eabba;font-size:.9rem}
.case-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-nav-card{position:relative;min-height:330px;overflow:hidden;border-radius:28px;background:#dce7f4}.case-nav-card img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .65s var(--ease)}.case-nav-card:hover img{transform:scale(1.04)}.case-nav-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(5,10,20,.86))}.case-nav-card>span{position:absolute;z-index:2;left:25px;right:25px;bottom:22px}.case-nav-card small{display:block;color:#b9c5d6;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.case-nav-card b{display:block;color:#fff;font-size:1.6rem;margin-top:3px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1180px){
  .about-hero-grid,.services-hero-layout,.service-detail-hero-grid,.portfolio-hero-grid,.case-hero-grid{grid-template-columns:1fr;gap:55px}
  .about-mosaic,.portfolio-hero-stack{min-height:560px;max-width:760px;width:100%;margin-inline:auto}
  .services-system{max-width:560px}
  .case-browser{max-width:850px;transform:none}
  .service-bento-v2 .service-tile-v2{grid-column:span 6}
  .service-flow-grid{grid-template-columns:repeat(3,1fr)}
  .service-process-grid,.case-process-grid{grid-template-columns:repeat(2,1fr)}
  .about-manifesto-grid{grid-template-columns:.3fr 1fr}.about-manifesto-copy{grid-column:2}
}
@media (max-width:900px){
  .hero-cinema-rail{grid-template-columns:repeat(2,1fr)}.hero-cinema-rail>div:nth-child(2){border-right:0}.hero-cinema-rail>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
  .project-grid-v2,.about-values-grid,.service-thinking-grid,.service-outcomes-grid,.case-story-grid,.case-deliverables-grid,.case-nav-grid{grid-template-columns:1fr}
  .about-manifesto-grid,.case-story-intro{grid-template-columns:1fr}.about-manifesto-copy{grid-column:auto}
  .about-statline,.case-facts-v2 .wrap{grid-template-columns:repeat(2,1fr)}.about-statline>div:nth-child(2),.case-facts-v2 .wrap>div:nth-child(2){border-right:0}.about-statline>div:nth-child(-n+2),.case-facts-v2 .wrap>div:nth-child(-n+2){border-bottom:1px solid var(--v2-line)}
  .capability-row{grid-template-columns:60px 1fr}.capability-tags{grid-column:2;justify-content:flex-start}
  .about-gallery-item:nth-child(n){grid-column:span 6}
  .service-features-grid{grid-template-columns:repeat(2,1fr)}
  .service-related-grid{grid-template-columns:1fr}
  .portfolio-toolbar{align-items:flex-start;flex-direction:column}.portfolio-toolbar .filter-row{justify-content:flex-start}
}
@media (max-width:720px){
  .hero--cinema{min-height:100svh;padding:calc(var(--header-h) + 32px) 0 26px}
  .hero--cinema .hero-video-el{display:block!important;object-position:61% center;filter:saturate(1.08) contrast(1.08) brightness(.74)}
  .hero--cinema .hero-video::after{background:linear-gradient(90deg,rgba(3,8,17,.91),rgba(3,8,17,.60) 65%,rgba(3,8,17,.38))}
  .hero-cinema-wrap{min-height:calc(100svh - var(--header-h) - 60px);gap:35px}
  .hero-cinema-copy{padding-top:30px}.hero--cinema h1{font-size:clamp(3rem,14vw,5.2rem);max-width:9.5ch}.hero--cinema .sub{font-size:1rem;max-width:35ch}
  .hero-cinema-rail{grid-template-columns:1fr 1fr}.hero-cinema-rail>div{padding:15px;min-height:86px}.hero-cinema-rail small{display:none}
  .hero-video-toggle{right:20px;bottom:133px}.toggle-label{display:none}.hero--cinema .hero-scroll{display:none}
  .about-hero-v2,.services-hero-v2,.service-detail-hero,.portfolio-hero-v2,.case-hero-v2{padding:75px 0 82px}
  .about-hero-copy h1,.services-hero-copy h1,.service-detail-copy h1,.portfolio-hero-grid h1,.case-hero-copy h1{font-size:clamp(3rem,13vw,5rem)}
  .about-mosaic,.portfolio-hero-stack{min-height:420px}.about-shot--1,.portfolio-hero-shot--1{width:79%;height:54%}.about-shot--2,.portfolio-hero-shot--2{width:73%;height:52%}.about-shot--3,.portfolio-hero-shot--3{width:48%;height:39%}
  .services-system{max-width:440px}.services-system-core{width:125px;height:125px}.services-system-core img{width:48px}.service-node{padding:7px 10px;font-size:.65rem}
  .service-bento-v2{grid-template-columns:1fr}.service-bento-v2 .service-tile-v2{grid-column:auto!important;min-height:285px}.service-extras-v2{grid-template-columns:1fr}
  .service-flow-grid,.service-process-grid,.case-process-grid{grid-template-columns:1fr 1fr}
  .service-flow-step,.service-process-card,.case-process-step{min-height:245px}
  .service-features-grid{grid-template-columns:1fr}
  .service-thinking-card,.case-story-card,.case-outcome-panel{padding:32px}
  .project-card-body{padding:22px}.project-card-actions{align-items:flex-start;flex-direction:column}
  .project-card-domain{display:none}.project-card-topline{justify-content:flex-start}
  .case-browser{border-radius:18px}.case-facts-v2 .wrap{width:100%}.case-facts-v2 .wrap>div{padding:22px 6vw}
  .case-story-intro h2{font-size:2.35rem}
  .about-gallery-item:nth-child(n){grid-column:span 12;min-height:260px}
}
@media (max-width:520px){
  .hero--cinema .hero-actions,.about-hero-copy .hero-actions,.services-hero-copy .hero-actions,.service-detail-copy .hero-actions,.portfolio-hero-grid .hero-actions,.case-hero-copy .hero-actions{align-items:stretch}.hero--cinema .hero-actions .btn,.about-hero-copy .hero-actions .btn,.services-hero-copy .hero-actions .btn,.service-detail-copy .hero-actions .btn,.portfolio-hero-grid .hero-actions .btn,.case-hero-copy .hero-actions .btn{justify-content:center;width:100%}
  .hero-cinema-rail{grid-template-columns:1fr 1fr}.hero-cinema-rail b{font-size:.88rem}.hero-cinema-rail span{font-size:.6rem}
  .about-statline{grid-template-columns:1fr 1fr}.about-statline>div{padding:22px 13px}.about-statline strong{font-size:2.5rem}
  .capability-row{grid-template-columns:42px 1fr;gap:15px}.capability-tags span{font-size:.73rem;padding:7px 10px}
  .service-flow-grid,.service-process-grid,.case-process-grid{grid-template-columns:1fr}
  .service-node--1{top:1%}.service-node--4{bottom:1%}.service-node--2,.service-node--3{right:-3%}.service-node--5,.service-node--6{left:-3%}
  .case-facts-v2 .wrap{grid-template-columns:1fr 1fr}.case-facts-v2 b{font-size:.85rem}
  .case-nav-card{min-height:260px}
}
@media (prefers-reduced-motion:reduce){
  .hero--cinema .hero-video-el{transform:none!important}.services-system::after{animation:none}.hero--cinema .hero-scroll i::after{animation:none}
}

/* ============================================================
   HOME HERO V3 — clearer video, smaller typography
   ============================================================ */
.hero--cinema{
  min-height:clamp(680px,86svh,860px);
  padding:calc(var(--header-h) + 34px) 0 28px;
}
.hero--cinema::before{
  background:linear-gradient(180deg,rgba(4,9,19,.08) 0%,rgba(4,9,19,0) 58%,rgba(4,9,19,.68) 100%);
}
.hero--cinema .hero-video-el{
  transform:scale(1.015);
  filter:saturate(1.12) contrast(1.04) brightness(1.03);
}
.hero--cinema .hero-video-el.is-playing{
  transform:scale(1.045);
}
.hero--cinema .hero-video::after{
  background:linear-gradient(90deg,rgba(3,8,17,.76) 0%,rgba(3,8,17,.58) 32%,rgba(3,8,17,.18) 62%,rgba(3,8,17,.06) 100%);
}
.hero--cinema .hero-video-scrim{
  background:
    radial-gradient(760px circle at 74% 46%,rgba(0,107,230,.03),transparent 72%),
    linear-gradient(180deg,rgba(5,10,20,.05),transparent 58%,rgba(5,10,20,.48));
}
.hero-cinema-wrap{
  width:min(1500px,92vw);
  min-height:calc(clamp(680px,86svh,860px) - var(--header-h) - 62px);
  gap:34px;
}
.hero-cinema-copy{
  max-width:760px;
  padding-top:clamp(24px,5vh,58px);
}
.hero--cinema h1{
  max-width:11.8ch;
  margin:17px 0 20px;
  font-size:clamp(2.8rem,4.55vw,5.15rem);
  line-height:.96;
  letter-spacing:-.052em;
  text-shadow:0 10px 42px rgba(0,0,0,.58);
}
.hero--cinema .sub{
  max-width:620px;
  font-size:clamp(.98rem,1.15vw,1.14rem);
  line-height:1.58;
}
.hero--cinema .hero-actions{margin-top:24px}
.hero--cinema .hero-badge{
  font-size:.78rem;
  padding:10px 15px;
}
.hero-cinema-rail{
  max-width:1040px;
  background:rgba(4,9,18,.20);
}
.hero-cinema-rail>div{
  padding:15px 20px 14px;
  min-height:82px;
}
.hero-cinema-rail b{font-size:.91rem}
.hero-cinema-rail small{font-size:.7rem}
.hero-video-toggle{bottom:116px}

@media (max-width:900px){
  .hero--cinema{
    min-height:clamp(650px,86svh,790px);
    padding:calc(var(--header-h) + 24px) 0 24px;
  }
  .hero-cinema-wrap{
    min-height:calc(clamp(650px,86svh,790px) - var(--header-h) - 48px);
    gap:28px;
  }
  .hero-cinema-copy{max-width:650px;padding-top:20px}
  .hero--cinema h1{
    max-width:11.2ch;
    font-size:clamp(2.75rem,8.2vw,4.7rem);
  }
  .hero--cinema .hero-video-el{
    object-position:58% center;
    filter:saturate(1.1) contrast(1.03) brightness(.96);
  }
  .hero--cinema .hero-video::after{
    background:linear-gradient(90deg,rgba(3,8,17,.77),rgba(3,8,17,.43) 68%,rgba(3,8,17,.15));
  }
}

@media (max-width:640px){
  .hero--cinema{
    min-height:720px;
    padding:calc(var(--header-h) + 18px) 0 20px;
  }
  .hero-cinema-wrap{
    min-height:calc(720px - var(--header-h) - 38px);
    gap:24px;
  }
  .hero-cinema-copy{padding-top:12px}
  .hero--cinema h1{
    max-width:10.8ch;
    margin:14px 0 16px;
    font-size:clamp(2.45rem,11.8vw,3.65rem);
    line-height:.98;
  }
  .hero--cinema .sub{
    max-width:32ch;
    font-size:.94rem;
    line-height:1.52;
  }
  .hero--cinema .hero-video-el{
    object-position:64% center;
    filter:saturate(1.08) contrast(1.04) brightness(.86);
  }
  .hero--cinema .hero-video::after{
    background:linear-gradient(90deg,rgba(3,8,17,.82),rgba(3,8,17,.52) 72%,rgba(3,8,17,.24));
  }
  .hero-cinema-rail>div{padding:12px 13px;min-height:72px}
  .hero-cinema-rail b{font-size:.82rem}
  .hero-cinema-rail span{font-size:.56rem}
  .hero-video-toggle{bottom:104px}
}

/* ============================================================
   IMAGE-RICH V4 — real work throughout the website
   ============================================================ */
.home-launches-v3{background:#fff}
.home-launch-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;gap:18px}
.home-launch-card{position:relative;overflow:hidden;border-radius:24px;background:#dce8f5;border:1px solid var(--v2-line);box-shadow:0 18px 48px rgba(7,27,63,.08)}
.home-launch-card--1{grid-column:span 7;grid-row:span 2}.home-launch-card--2{grid-column:span 5;grid-row:span 1}.home-launch-card--3{grid-column:span 5;grid-row:span 1}.home-launch-card--4,.home-launch-card--5{grid-column:span 6;grid-row:span 1}
.home-launch-card img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .7s var(--ease),filter .5s var(--ease)}
.home-launch-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(5,10,20,.83));pointer-events:none}
.home-launch-card>span{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;align-items:end;gap:15px;color:#fff}
.home-launch-card b{font-size:1.15rem}.home-launch-card small{color:#c9d4e3;font-size:.72rem;text-align:right}
.home-launch-card:hover img{transform:scale(1.035);filter:saturate(1.08)}

.service-card-image{padding:0!important;overflow:hidden;display:flex;flex-direction:column}
.service-card-media{position:relative;display:block;height:178px;overflow:hidden;background:#dce8f5;border-bottom:1px solid var(--v2-line)}
.service-card-media img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .55s var(--ease)}
.service-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(5,10,20,.68))}
.service-card-media span{position:absolute;z-index:2;left:15px;bottom:12px;color:#fff;font-size:.7rem;font-weight:700;padding:6px 9px;border-radius:999px;background:rgba(5,10,20,.45);backdrop-filter:blur(8px)}
.service-card-image:hover .service-card-media img{transform:scale(1.045)}
.service-card-content{position:relative;display:flex;flex:1;flex-direction:column;padding:25px}
.service-card-content .ic{margin-bottom:18px}.service-card-content p{flex:1}

.services-hero-gallery{position:relative;min-height:570px}
.services-hero-shot{position:absolute;overflow:hidden;border-radius:20px;border:1px solid rgba(255,255,255,.14);background:#0b1728;box-shadow:0 30px 85px rgba(0,0,0,.4)}
.services-hero-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s var(--ease)}
.services-hero-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(5,10,20,.72))}
.services-hero-shot span{position:absolute;z-index:2;left:14px;bottom:12px;color:#fff;font-size:.7rem;font-weight:700;padding:6px 9px;border-radius:999px;background:rgba(5,10,20,.55);backdrop-filter:blur(9px)}
.services-hero-shot:hover img{transform:scale(1.04)}
.services-hero-shot--1{width:70%;height:48%;right:0;top:0;z-index:1;transform:rotate(2deg)}
.services-hero-shot--2{width:64%;height:46%;left:0;top:27%;z-index:2;transform:rotate(-3deg)}
.services-hero-shot--3{width:58%;height:42%;right:2%;bottom:1%;z-index:3;transform:rotate(3deg)}
.services-hero-shot--4{width:38%;height:34%;left:4%;bottom:0;z-index:4;transform:rotate(-2deg)}

.service-tile-v2--image{padding:0;min-height:430px}
.service-tile-v2--image::before{z-index:2;pointer-events:none}
.service-tile-media{position:relative;display:block;height:190px;overflow:hidden;background:#dbe7f4;border-bottom:1px solid var(--v2-line)}
.service-tile-media img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s var(--ease)}
.service-tile-v2--image:hover .service-tile-media img{transform:scale(1.04)}
.service-tile-content{position:relative;z-index:3;display:flex;flex:1;flex-direction:column;padding:25px 28px 28px;background:#fff}
.service-tile-content .service-tile-top{margin-bottom:18px}.service-tile-content p{flex:1;margin-bottom:22px}

.service-visual-panel--photo .service-visual-photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#dce7f4}
.service-visual-panel--photo .service-visual-photo>img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .7s var(--ease)}
.service-visual-panel--photo .service-visual-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(4,9,18,.84))}
.service-visual-panel--photo .service-visual-photo>span{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;align-items:end;gap:16px;color:#fff}
.service-visual-panel--photo .service-visual-photo b{font-size:1.18rem}.service-visual-panel--photo .service-visual-photo small{color:#b9c8dc}
.service-visual-panel--photo:hover .service-visual-photo>img{transform:scale(1.035)}

.service-work-gallery-v3{background:#fff}
.service-work-images{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:230px;gap:18px}
.service-work-image{position:relative;overflow:hidden;border-radius:24px;background:#dce7f4;border:1px solid var(--v2-line);box-shadow:0 16px 45px rgba(7,27,63,.075)}
.service-work-image:nth-child(1){grid-column:span 7;grid-row:span 2}.service-work-image:nth-child(2){grid-column:span 5}.service-work-image:nth-child(3){grid-column:span 5}
.service-work-image img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .65s var(--ease)}
.service-work-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(5,10,20,.84))}
.service-work-image>span{position:absolute;z-index:2;left:20px;right:20px;bottom:17px;display:grid;grid-template-columns:1fr auto;align-items:end;color:#fff}
.service-work-image b{font-size:1.12rem}.service-work-image small{grid-row:2;color:#c2cede;font-size:.72rem}.service-work-image i{grid-column:2;grid-row:1/3;font-style:normal;font-size:1.25rem}
.service-work-image:hover img{transform:scale(1.04)}

.case-visual-story-v3{padding-top:72px;padding-bottom:36px;background:#f1f6fb}
.case-visual-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:22px;min-height:520px}
.case-visual-grid figure{position:relative;overflow:hidden;margin:0;border-radius:28px;background:#dbe7f4;border:1px solid var(--v2-line);box-shadow:0 20px 60px rgba(7,27,63,.09)}
.case-visual-grid img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s var(--ease)}
.case-visual-main img{object-position:center}.case-visual-cover img{object-position:center}
.case-visual-grid figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(5,10,20,.8))}
.case-visual-grid figcaption{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff}
.case-visual-grid figcaption span{display:block;font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:#bfccdc}.case-visual-grid figcaption b{display:block;font-size:1.2rem;margin-top:3px}
.case-visual-grid figure:hover img{transform:scale(1.035)}

@media(max-width:1180px){
  .services-hero-gallery{max-width:760px;width:100%;margin-inline:auto}
}
@media(max-width:900px){
  .home-launch-grid{grid-auto-rows:190px}.home-launch-card--1{grid-column:span 12}.home-launch-card--2,.home-launch-card--3,.home-launch-card--4,.home-launch-card--5{grid-column:span 6}
  .service-work-images{grid-auto-rows:210px}.service-work-image:nth-child(1){grid-column:span 12}.service-work-image:nth-child(2),.service-work-image:nth-child(3){grid-column:span 6}
  .case-visual-grid{grid-template-columns:1fr;min-height:0}.case-visual-grid figure{min-height:380px}.case-visual-cover{max-height:520px}
}
@media(max-width:720px){
  .services-hero-gallery{min-height:430px}.services-hero-shot--1{width:78%;height:48%}.services-hero-shot--2{width:70%;height:45%}.services-hero-shot--3{width:62%;height:39%}.services-hero-shot--4{width:42%;height:31%}
  .service-tile-v2--image{min-height:410px!important}.service-tile-media{height:175px}
}
@media(max-width:560px){
  .home-launch-grid,.service-work-images{display:grid;grid-template-columns:1fr;grid-auto-rows:250px}
  .home-launch-card:nth-child(n),.service-work-image:nth-child(n){grid-column:auto;grid-row:auto}
  .home-launch-card--1,.service-work-image:nth-child(1){min-height:320px}
  .home-launch-card>span{align-items:flex-start;flex-direction:column;gap:2px}.home-launch-card small{text-align:left}
  .services-hero-gallery{min-height:360px}.services-hero-shot span{font-size:.62rem}
  .case-visual-grid figure{min-height:290px;border-radius:20px}
}
