
html.pt-skip-intro .intro{display:none!important}
html.pt-skip-intro .header,
html.pt-skip-intro .nav,
html.pt-skip-intro .header-actions,
html.pt-skip-intro .brand img{opacity:1!important}
html.pt-skip-intro .hero-message{opacity:1!important;transform:translate(-50%,0)!important}
html.pt-skip-intro .city-track{opacity:1!important}
html.pt-skip-intro .city-track__label{opacity:.78!important;transform:none!important;animation:none!important}
html.pt-skip-intro .city-item{transform:none!important}
html.pt-skip-intro .city-item.revealed{opacity:.28!important;color:rgba(255,255,255,.40)!important}
html.pt-skip-intro .city-item.current{opacity:.82!important;color:#fff!important}

/* Build 72 — Source Serif 4 Regular for Market Intelligence publication titles */
.intel-edition__title,
.intel-shelf__content strong{
  font-family:var(--report);
  font-weight:400;
}



@import url('/assets/fonts/brand-fonts.css');

:root {
  --red:#d00004;
  --white:#fff;
  --white-soft:rgba(255,255,255,.86);
  --pad:clamp(24px,5vw,82px);
  --header-h:84px;
  --ui:"Source Sans 3",Arial,sans-serif;
  --editorial:"Manrope",Arial,sans-serif; --report:"Source Serif 4","Times New Roman",serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#0a0e13;color:#fff;font-family:var(--ui)}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
::selection{background:var(--red);color:#fff}

/* ==================== INTRO ==================== */
.intro {
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:#020304;overflow:hidden;
  transition:background .92s cubic-bezier(.22,.78,.2,1), visibility 0s linear 1.05s;
}
.intro::before {
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 50% 56%,rgba(255,255,255,.10),rgba(255,255,255,.016) 25%,transparent 54%),
    linear-gradient(90deg,transparent 49.96%,rgba(255,255,255,.035) 50%,transparent 50.04%);
  opacity:1;transition:opacity .38s ease;
}
.intro-horizon {
  position:absolute;left:14vw;right:14vw;top:58%;height:1px;
  transform:scaleX(0);opacity:1;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),rgba(255,255,255,.86),rgba(208,0,4,.52),rgba(255,255,255,.22),transparent);
  box-shadow:0 0 22px rgba(255,255,255,.14);
  animation:horizon 1.08s .12s cubic-bezier(.2,.8,.2,1) forwards;
  transition:opacity .34s ease;
}
.intro-logo {
  position:fixed;
  left:50%;top:46%;
  width:min(44vw,650px);
  height:auto;
  transform:translate(-50%,-50%);
  opacity:0;
  filter:drop-shadow(0 16px 50px rgba(0,0,0,.45));
  animation:logoIn .78s .22s ease forwards;
  will-change:left,top,width,transform,opacity;
}
.intro-micro {
  position:absolute;top:69%;
  font:500 9px/1 var(--ui);
  letter-spacing:.31em;text-transform:uppercase;
  color:rgba(255,255,255,.38);
  opacity:0;
  animation:microIn .72s .68s ease forwards;
  transition:opacity .34s ease,transform .34s ease;
}

/* First remove everything except logo */
.intro.prep::before,
.intro.prep .intro-horizon {
  opacity:0;
}
.intro.prep .intro-micro {
  animation:none !important;
  opacity:0 !important;
  visibility:hidden;
  transform:translateY(4px);
}

/* Then move only the logo while the hero appears underneath */
.intro.handoff {
  background:rgba(2,3,4,0);
  pointer-events:none;
}
.intro.handoff .intro-logo {
  animation:none;
  filter:none;
  opacity:1;
  /* Movement is handled with a single GPU transform in JS.
     No left/top/width interpolation, so there is no diagonal "shoot". */
}
.intro.swap .intro-logo {
  opacity:0;
  transition:opacity .10s linear;
}
.intro.done{visibility:hidden}

@keyframes horizon{to{transform:scaleX(1)}}
@keyframes logoIn{
  from{opacity:0;filter:blur(6px);transform:translate(-50%,-47%) scale(.99)}
  to{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}
}
@keyframes microIn{to{opacity:1}}

/* ==================== TRANSPARENT HEADER ==================== */
.header {
  position:absolute;z-index:100;left:0;right:0;top:0;height:var(--header-h);
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px;
  padding:0 var(--pad);
  background:transparent;border:0;
  opacity:0;
  /* IMPORTANT: no translateY here — target must never move during logo handoff */
  transition:opacity .52s ease;
}
body.site-ready .header{opacity:1}

.brand {
  display:flex;align-items:center;
  position:relative;
}
.brand img {
  width:clamp(174px,14vw,228px);
  height:auto;
  opacity:0;
}
/* Header logo appears only AFTER moving intro logo has landed */
body.header-logo-live .brand img {
  opacity:1;
}

.nav {
  justify-self:center;display:flex;gap:clamp(24px,2.4vw,42px);
  font:400 13px/1 var(--ui);
  color:rgba(255,255,255,.94);
  opacity:0;
  transition:opacity .5s ease .12s;
}
body.site-ready .nav{opacity:1}
.nav a{padding:13px 0;position:relative;text-shadow:0 1px 10px rgba(0,0,0,.22)}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:var(--red);transition:right .22s ease}
.nav a:hover::after{right:0}

.header-actions {
  display:flex;align-items:center;gap:18px;
  opacity:0;transition:opacity .5s ease .16s;
}
body.site-ready .header-actions{opacity:1}
.lang {
  font:400 11px/1 var(--ui);letter-spacing:.08em;
  padding-right:18px;border-right:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.78);
  text-shadow:0 1px 10px rgba(0,0,0,.22);
}
.consult {
  border:0;background:var(--red);color:#fff;padding:13px 19px;
  display:inline-flex;align-items:center;gap:28px;
  font:500 12px/1 var(--ui);cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.menu{display:none}

/* ==================== HERO ==================== */
.hero {
  position:relative;height:100svh;min-height:740px;
  overflow:hidden;background:#091018;
}
.hero-media{position:absolute;inset:0}
.hero-slide {
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transform:scale(1.016);
  transition:opacity 1.4s ease;
  animation:ken 12s ease-in-out infinite alternate;
}
.hero-slide.active{opacity:1}
.hero-slide:nth-child(1){background-image:url('/assets/hero-dark-01.webp');background-position:center 48%}
.hero-slide:nth-child(2){background-image:url('/assets/hero-dark-02.webp');background-position:center 50%}
.hero-slide:nth-child(3){background-image:url('/assets/hero-dark-03.webp');background-position:center 54%}
.hero-slide:nth-child(4){background-image:url('/assets/hero-dark-04.webp');background-position:center 52%}
@keyframes ken{
  from{transform:scale(1.016) translate3d(0,0,0)}
  to{transform:scale(1.036) translate3d(-.24%,.12%,0)}
}
.hero-media::before {
  content:"";position:absolute;z-index:3;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(8,12,16,.14) 0%,rgba(8,12,16,.05) 42%,rgba(8,12,16,.18) 70%,rgba(8,12,16,.48) 100%),
    linear-gradient(90deg,rgba(8,12,16,.24),transparent 18%,transparent 84%,rgba(8,12,16,.18));
}
.hero-media::after {
  content:"";position:absolute;z-index:4;inset:0;pointer-events:none;opacity:.14;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px);
  background-size:20% 100%,100% 25%;
  mask-image:linear-gradient(90deg,transparent,#000 18%,#000 90%,transparent);
}

/* ==================== MARKETS ==================== */
.city-track {
  position:absolute;z-index:8;
  right:18px;
  top:calc(var(--header-h) + 18vh);
  width:min(170px,14vw);
  pointer-events:none;text-align:left;
  opacity:0;
  transition:opacity .45s ease;
}
body.markets-live .city-track {
  opacity:1;
}
.city-track__label {
  margin:0 0 11px;
  font:500 9px/1 var(--ui);
  letter-spacing:.13em;text-transform:uppercase;
  color:rgba(255,255,255,.38);
  opacity:0;
  transform:translateY(5px);
}
.city-track__label .red-point {
  color:var(--red);
  margin-right:6px;
  font-size:11px;
  position:relative;
  top:-.5px;
}
body.markets-live .city-track__label {
  animation:marketLabelIn .72s cubic-bezier(.2,.8,.2,1) forwards;
}
@keyframes marketLabelIn {
  0%   { opacity:0; transform:translateY(5px); color:rgba(255,255,255,.38); }
  55%  { opacity:1; transform:none; color:#fff; }
  100% { opacity:.78; transform:none; color:rgba(255,255,255,.76); }
}
.city-list{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.city-item {
  display:flex;align-items:center;gap:8px;
  font:500 13px/1.08 var(--ui);
  letter-spacing:.01em;
  color:rgba(255,255,255,.12);
  opacity:0;
  transform:translateY(8px);
  transition:opacity .45s ease,color .45s ease,transform .45s ease;
}
body.markets-live .city-item {
  opacity:.12;
}
.city-item .dot {
  width:5px;height:5px;border-radius:50%;
  background:rgba(255,255,255,.14);display:inline-block;
  transition:background .45s ease;
}
body.markets-live .city-item.revealed{opacity:.28;color:rgba(255,255,255,.40);transform:none}
body.markets-live .city-item.current{opacity:.82;color:#fff;transform:none}
.city-item.revealed .dot{background:rgba(255,255,255,.25)}
.city-item.current .dot{background:var(--red)}

/* ==================== HERO COPY ==================== */
.hero-message {
  position:absolute;z-index:10;left:50%;bottom:7.1vh;
  width:min(1020px,calc(100% - 46px));
  text-align:center;
  transform:translate(-50%,16px);opacity:0;
  transition:opacity .62s cubic-bezier(.2,.8,.2,1),transform .62s cubic-bezier(.2,.8,.2,1);
}
body.message-ready .hero-message{opacity:1;transform:translate(-50%,0)}
.hero-eyebrow {
  margin:0 0 14px;
  font:500 10px/1 var(--ui);
  letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.hero-title {
  margin:0 auto;max-width:940px;
  font-family:var(--editorial);
  font-size:clamp(50px,5.1vw,74px);
  line-height:.98;font-weight:400;letter-spacing:-.03em;
  color:#fff;text-wrap:balance;
  text-shadow:0 2px 18px rgba(0,0,0,.18);
}
.hero-sub {
  margin:17px auto 0;max-width:690px;
  font:400 16px/1.58 var(--ui);
  color:var(--white-soft);
  text-shadow:0 2px 14px rgba(0,0,0,.15);
}
.hero-actions {
  margin-top:22px;display:flex;justify-content:center;align-items:center;gap:14px;
}
.hero-btn {
  min-width:162px;padding:13px 18px;
  border:1px solid rgba(255,255,255,.24);
  color:#fff;background:rgba(255,255,255,.06);
  display:inline-flex;align-items:center;justify-content:space-between;gap:26px;
  font:500 12px/1 var(--ui);
  transition:background .2s ease,transform .2s ease;
}
.hero-btn.primary{background:var(--red);border-color:var(--red)}
.hero-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.11)}
.hero-btn.primary:hover{background:#b90004}

.hero-index {
  position:absolute;z-index:11;right:var(--pad);bottom:26px;
  display:flex;align-items:center;gap:9px;
}
.hero-index button {
  width:5px;height:5px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.42);cursor:pointer;
}
.hero-index button.active{background:var(--red)}
.hero-note {
  position:absolute;z-index:11;left:var(--pad);bottom:26px;
  color:rgba(255,255,255,.58);
  font:500 9px/1 var(--ui);
  letter-spacing:.13em;text-transform:uppercase;
}

h1,h2,h3{font-family:var(--editorial);font-weight:400}
p,nav,a,button,input,textarea,label{font-family:var(--ui)}

@media(max-width:1100px){
  .city-track{right:10px;width:150px}
}
@media(max-width:980px){
  :root{--header-h:72px;--pad:22px}
  .nav,.consult,.lang{display:none}
  .menu {
    display:block;width:42px;height:42px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.06);position:relative;
  }
  .menu::before,.menu::after{content:"";position:absolute;left:10px;right:10px;height:1px;background:#fff}
  .menu::before{top:16px}.menu::after{top:24px}
  .brand img{width:168px}
  .hero-slide:nth-child(n){background-position:64% center}
  .city-track{display:none}
  .hero-message{bottom:9vh}
  .hero-title{font-size:clamp(42px,10vw,62px)}
  .hero-sub{font-size:14px;max-width:540px}
}
@media(max-width:560px){
  .intro-logo{width:74vw}
  .hero-message{width:calc(100% - 30px);bottom:8vh}
  .hero-title{font-size:43px;line-height:1}
  .hero-sub{font-size:13px;line-height:1.52}
  .hero-actions{flex-direction:column;gap:8px}
  .hero-btn{min-width:176px}
  .hero-note{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .intro{display:none}
  .header,.hero-message,.city-track__label,.city-item{opacity:1!important;transform:none!important}
  .brand img{opacity:1!important}
}

/* ==================== SECTION 02 — SERVICES GATEWAY ==================== */
.services-gateway {
  position:relative;
  z-index:1;
  min-height:100svh;
  background:#f3f3ef;
  color:#151719;
  padding:clamp(92px,10vw,148px) var(--pad);
  overflow:hidden;
}
.services-gateway::before {
  content:"02";
  position:absolute;
  top:26px;
  right:var(--pad);
  font:500 10px/1 var(--ui);
  letter-spacing:.14em;
  color:#a2a6aa;
}
.services-intro {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.48fr);
  gap:8vw;
  align-items:end;
  margin-bottom:clamp(48px,6vw,82px);
}
.services-kicker {
  margin:0 0 16px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}
.services-title {
  margin:0;
  max-width:760px;
  font-family:var(--editorial);
  font-size:clamp(42px,4.15vw,64px);
  line-height:1.02;
  letter-spacing:-.025em;
  font-weight:400;
}
.services-intro__side {
  max-width:360px;
  justify-self:end;
  color:#575d62;
  font:400 14px/1.65 var(--ui);
}
.services-explorer {
  display:grid;
  grid-template-columns:minmax(330px,.68fr) minmax(0,1.32fr);
  gap:clamp(42px,5vw,82px);
  align-items:stretch;
}
.service-menu {
  border-top:1px solid rgba(17,19,21,.16);
}
.service-choice {
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 24px;
  gap:14px;
  align-items:center;
  min-height:92px;
  border-bottom:1px solid rgba(17,19,21,.13);
  cursor:pointer;
  transition:padding-left .25s ease,color .25s ease;
}
.service-choice:hover,
.service-choice.active {
  padding-left:10px;
}
.service-choice__num {
  font:500 10px/1 var(--ui);
  color:#989da1;
}
.service-choice__name {
  font-family:var(--editorial);
  font-size:clamp(23px,2vw,31px);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.015em;
}
.service-choice__arrow {
  font:400 18px/1 var(--ui);
  color:#a3a7aa;
  transition:transform .25s ease,color .25s ease;
}
.service-choice:hover .service-choice__arrow,
.service-choice.active .service-choice__arrow {
  color:var(--red);
  transform:translateX(4px);
}
.service-visual {
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:#d7d9d8;
}
.service-visual__image {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.025);
  transition:opacity .55s ease, transform 1.3s cubic-bezier(.2,.8,.2,1);
}
.service-visual__image.active {
  opacity:1;
  transform:scale(1);
}
.service-visual__image:nth-child(1) { background-position:56% center; }
.service-visual__image:nth-child(2) { background-position:53% center; }
.service-visual__image:nth-child(3) { background-position:55% center; }
.service-visual__image:nth-child(4) { background-position:60% center; }
.service-visual::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(180deg,transparent 46%,rgba(6,9,12,.60) 100%);
  pointer-events:none;
}
.service-visual__caption {
  position:absolute;
  z-index:3;
  left:30px;
  right:30px;
  bottom:28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:end;
  color:#fff;
}
.service-question {
  margin:0 0 9px;
  font-family:var(--editorial);
  font-size:clamp(30px,2.7vw,43px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.02em;
}
.service-summary {
  margin:0;
  max-width:580px;
  color:rgba(255,255,255,.80);
  font:400 13px/1.55 var(--ui);
}
.service-deep-link {
  white-space:nowrap;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.65);
  color:#fff;
  font:500 11px/1 var(--ui);
}
.services-bottom {
  display:flex;
  justify-content:flex-end;
  margin-top:32px;
}
.services-all {
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding-bottom:7px;
  border-bottom:1px solid #303438;
  color:#303438;
  font:500 12px/1 var(--ui);
}
@media(max-width:980px) {
  .services-gateway { padding-left:22px; padding-right:22px; min-height:auto; }
  .services-intro { grid-template-columns:1fr; gap:22px; }
  .services-intro__side { justify-self:start; }
  .services-explorer { grid-template-columns:1fr; }
  .service-visual { min-height:440px; }
}
@media(max-width:600px) {
  .service-choice { min-height:78px; }
  .service-visual { min-height:360px; }
  .service-visual__caption {
    left:20px; right:20px; bottom:20px;
    grid-template-columns:1fr;
  }
  .service-deep-link { justify-self:start; }
}


/* ==================== DESKTOP VIEWPORT FIT FIX ==================== */
/* 100dvh tracks the actual visible browser viewport. 100vh is the fallback. */
@supports not (height:100dvh) {
  .hero { height:100vh; }
}

/* Normal laptops at 100% zoom often have only ~650–760px of page viewport
   after browser chrome. Keep every hero control inside that visible area. */
@media (min-width:981px) and (max-height:780px) {
  :root { --header-h:76px; }

  .header {
    height:var(--header-h);
  }

  .brand img {
    width:clamp(164px,12.5vw,210px);
  }

  .nav {
    font-size:12px;
    gap:clamp(20px,2vw,34px);
  }

  .consult {
    padding:11px 17px;
  }

  .hero-message {
    bottom:7.5vh;
    width:min(920px,calc(100% - 80px));
  }

  .hero-eyebrow {
    margin-bottom:10px;
    font-size:9px;
  }

  .hero-title {
    font-size:clamp(46px,4.45vw,66px);
    line-height:.96;
  }

  .hero-sub {
    margin-top:13px;
    max-width:650px;
    font-size:14px;
    line-height:1.48;
  }

  .hero-actions {
    margin-top:17px;
  }

  .hero-btn {
    padding:11px 17px;
  }

  .city-track {
    top:calc(var(--header-h) + 14vh);
  }

  .hero-note,
  .hero-index {
    bottom:16px;
  }
}

/* Extra-short desktop/laptop viewport: still preserve the full first screen. */
@media (min-width:981px) and (max-height:680px) {
  :root { --header-h:68px; }

  .header {
    padding-left:clamp(22px,4vw,64px);
    padding-right:clamp(22px,4vw,64px);
  }

  .brand img {
    width:176px;
  }

  .nav {
    font-size:11px;
    gap:22px;
  }

  .lang {
    display:none;
  }

  .consult {
    padding:10px 15px;
    font-size:11px;
  }

  .hero-message {
    bottom:6.8vh;
    width:min(840px,calc(100% - 100px));
  }

  .hero-title {
    font-size:clamp(42px,4.1vw,58px);
  }

  .hero-sub {
    font-size:13px;
    margin-top:11px;
  }

  .hero-actions {
    margin-top:14px;
  }

  .hero-btn {
    min-width:150px;
    padding:10px 15px;
    font-size:11px;
  }

  .city-track {
    top:calc(var(--header-h) + 12vh);
  }

  .city-track__label {
    font-size:8px;
  }

  .city-item {
    font-size:12px;
    gap:7px;
  }

  .hero-note,
  .hero-index {
    bottom:12px;
  }
}


/* ==================== GLOBAL SECTION SYSTEM / BUILD 14 ==================== */
:root {
  --content-max:1480px;
  --section-y:clamp(76px,7.5vw,118px);
  --section-y-compact:clamp(58px,6vw,92px);
}

/* Smooth visual bridge from the dark cinematic HERO into the light Services area. */
.hero-services-transition {
  position:relative;
  z-index:12;
  height:clamp(130px,10vw,190px);
  margin-top:calc(clamp(130px,10vw,190px) * -1);
  pointer-events:none;

  /*
    Premium overlap transition:
    it begins fully transparent over the ACTUAL hero image, then gradually
    introduces the Services background. Because the fade occupies the final
    part of the hero rather than sitting below it, there is no visible band.
  */
  background:
    linear-gradient(
      180deg,
      rgba(243,243,239,0.00) 0%,
      rgba(243,243,239,0.01) 12%,
      rgba(243,243,239,0.03) 24%,
      rgba(243,243,239,0.08) 36%,
      rgba(243,243,239,0.17) 48%,
      rgba(243,243,239,0.31) 60%,
      rgba(243,243,239,0.50) 71%,
      rgba(243,243,239,0.70) 81%,
      rgba(243,243,239,0.87) 90%,
      rgba(243,243,239,0.97) 97%,
      #f3f3ef 100%
    );
}

/* Normal website sections grow naturally with content.
   Full viewport height remains reserved for cinematic sections like HERO. */
.services-gateway {
  min-height:0 !important;
  height:auto !important;
  margin-top:0;
  padding:var(--section-y) var(--pad) var(--section-y-compact) !important;
  overflow:visible;
  background:#f3f3ef;
}

.services-intro,
.services-explorer,
.services-bottom {
  width:min(var(--content-max),100%);
  margin-left:auto;
  margin-right:auto;
}

.services-intro {
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.45fr);
  gap:clamp(42px,7vw,108px);
  margin-bottom:clamp(38px,4.5vw,62px);
}

.services-title {
  max-width:730px;
  font-size:clamp(38px,3.55vw,58px);
}

.services-intro__side {
  max-width:350px;
  font-size:13px;
  line-height:1.62;
}

.services-explorer {
  grid-template-columns:minmax(330px,1fr) minmax(420px,.95fr);
  gap:clamp(34px,4.5vw,68px);
  align-items:start;
}

.service-choice {
  min-height:clamp(72px,6vw,84px);
}

.service-choice__name {
  font-size:clamp(22px,1.65vw,28px);
}

/* Smaller, controlled service image stage. */
.service-visual {
  width:100%;
  min-height:0 !important;
  max-height:none;
  aspect-ratio:16 / 10;
  align-self:start;
}

.service-visual__image {
  background-position:center;
}

.service-visual__image:nth-child(1) { background-position:center 43%; }
.service-visual__image:nth-child(2) { background-position:center 42%; }
.service-visual__image:nth-child(3) { background-position:center 50%; }
.service-visual__image:nth-child(4) { background-position:center 34%; }

.service-visual__caption {
  left:clamp(20px,2vw,28px);
  right:clamp(20px,2vw,28px);
  bottom:clamp(18px,2vw,26px);
}

.service-question {
  font-size:clamp(27px,2.15vw,37px);
}

.service-summary {
  max-width:510px;
  font-size:12px;
}

/* Short laptop viewport at 100% zoom. */
@media (min-width:981px) and (max-height:780px) {
  .services-gateway {
    padding-top:clamp(60px,7vh,78px) !important;
    padding-bottom:clamp(54px,6vh,72px) !important;
  }

  .services-intro {
    margin-bottom:34px;
  }

  .services-title {
    font-size:clamp(36px,3.25vw,50px);
  }

  .service-choice {
    min-height:68px;
  }

  .service-choice__name {
    font-size:clamp(20px,1.5vw,25px);
  }

  .service-visual {
    aspect-ratio:16 / 9;
  }

  .service-question {
    font-size:clamp(25px,2vw,33px);
  }
}

@media (max-width:980px) {
  .hero-services-transition {
    height:92px;
    margin-top:-92px;
  }

  .services-gateway {
    padding:72px 22px 68px !important;
  }

  .services-intro {
    grid-template-columns:1fr;
    gap:20px;
  }

  .services-intro__side {
    justify-self:start;
  }

  .services-explorer {
    grid-template-columns:1fr;
  }

  .service-visual {
    aspect-ratio:16 / 10;
    min-height:0 !important;
  }
}

@media (max-width:600px) {
  .hero-services-transition {
    height:68px;
    margin-top:-68px;
  }

  .services-gateway {
    padding-top:58px !important;
  }

  .service-choice {
    min-height:68px;
  }

  .service-visual {
    aspect-ratio:4 / 3;
  }

  .service-visual__caption {
    grid-template-columns:1fr;
  }
}


/* ==================== SECTION 03 — SECTORS GATEWAY ==================== */
.sectors-gateway {
  position:relative;
  background:#121518;
  color:#fff;
  padding:var(--section-y) var(--pad) var(--section-y-compact);
  overflow:hidden;
}

.sectors-gateway::before {
  content:"03";
  position:absolute;
  top:26px;
  right:var(--pad);
  font:500 10px/1 var(--ui);
  letter-spacing:.14em;
  color:rgba(255,255,255,.34);
}

.sectors-inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(300px,.58fr) minmax(0,1.42fr);
  gap:clamp(54px,8vw,126px);
  align-items:start;
}

.sectors-intro {
  padding-top:4px;
}

.sectors-kicker {
  margin:0 0 17px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.sectors-title {
  margin:0;
  max-width:480px;
  font-family:var(--editorial);
  font-size:clamp(40px,3.7vw,59px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.025em;
}

.sectors-copy {
  margin:25px 0 30px;
  max-width:430px;
  color:rgba(255,255,255,.62);
  font:400 13px/1.68 var(--ui);
}

.sectors-all {
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding-bottom:7px;
  border-bottom:1px solid rgba(255,255,255,.55);
  color:#fff;
  font:500 12px/1 var(--ui);
}

.sector-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(255,255,255,.13);
  border-left:1px solid rgba(255,255,255,.13);
}

.sector-door {
  position:relative;
  min-height:154px;
  padding:24px 26px 21px;
  border-right:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);
  color:#fff;
  overflow:hidden;
  transition:background .28s ease;
}

.sector-door::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:var(--red);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .32s cubic-bezier(.2,.8,.2,1);
}

.sector-door:hover,
.sector-door:focus-visible {
  background:rgba(255,255,255,.035);
}

.sector-door:hover::before,
.sector-door:focus-visible::before {
  transform:scaleY(1);
}

.sector-door__top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.sector-door__num {
  font:500 9px/1 var(--ui);
  letter-spacing:.08em;
  color:rgba(255,255,255,.35);
}

.sector-door__arrow {
  font:400 17px/1 var(--ui);
  color:rgba(255,255,255,.34);
  transform:translateX(0);
  transition:transform .26s ease,color .26s ease;
}

.sector-door:hover .sector-door__arrow,
.sector-door:focus-visible .sector-door__arrow {
  color:var(--red);
  transform:translateX(5px);
}

.sector-door__name {
  display:block;
  margin-top:27px;
  max-width:390px;
  font-family:var(--editorial);
  font-size:clamp(24px,2vw,32px);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.015em;
}

.sector-door__meta {
  display:block;
  margin-top:12px;
  max-width:420px;
  color:rgba(255,255,255,.42);
  font:400 11px/1.45 var(--ui);
  opacity:.58;
  transform:translateY(2px);
  transition:opacity .28s ease,color .28s ease,transform .28s ease;
}

.sector-door:hover .sector-door__meta,
.sector-door:focus-visible .sector-door__meta {
  opacity:1;
  color:rgba(255,255,255,.68);
  transform:none;
}

/* Subtle background geometry, derived from PropertyTalents' faceted identity.
   It does not behave like a decorative card or icon system. */
.sectors-geometry {
  position:absolute;
  left:-120px;
  bottom:-170px;
  width:460px;
  aspect-ratio:1;
  opacity:.025;
  border:1px solid #fff;
  transform:rotate(17deg);
  pointer-events:none;
}

.sectors-geometry::before,
.sectors-geometry::after {
  content:"";
  position:absolute;
  inset:18%;
  border:1px solid #fff;
  transform:rotate(31deg);
}

.sectors-geometry::after {
  inset:36%;
  transform:rotate(58deg);
}

@media (min-width:981px) and (max-height:780px) {
  .sectors-gateway {
    padding-top:clamp(62px,7vh,82px);
    padding-bottom:clamp(54px,6vh,72px);
  }

  .sectors-title {
    font-size:clamp(36px,3.3vw,50px);
  }

  .sectors-copy {
    margin-top:20px;
    margin-bottom:24px;
  }

  .sector-door {
    min-height:132px;
    padding-top:20px;
    padding-bottom:18px;
  }

  .sector-door__name {
    margin-top:20px;
    font-size:clamp(22px,1.75vw,28px);
  }
}

@media(max-width:980px) {
  .sectors-gateway {
    padding:72px 22px 68px;
  }

  .sectors-inner {
    grid-template-columns:1fr;
    gap:42px;
  }

  .sectors-title {
    max-width:680px;
  }

  .sector-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:680px) {
  .sector-grid {
    grid-template-columns:1fr;
  }

  .sector-door {
    min-height:130px;
  }
}





/* ==================== SECTION 04 — EUROPEAN REACH GATEWAY ==================== */
.markets-gateway {
  position:relative;
  background:#f5f5f2;
  color:#151719;
  padding:var(--section-y) var(--pad) var(--section-y-compact);
  overflow:hidden;
}

.markets-gateway::before {
  content:"04";
  position:absolute;
  top:26px;
  right:var(--pad);
  font:500 10px/1 var(--ui);
  letter-spacing:.14em;
  color:#9fa4a8;
}

.markets-inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
}

.markets-head {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.55fr);
  gap:clamp(46px,8vw,120px);
  align-items:end;
  margin-bottom:clamp(44px,5vw,72px);
}

.markets-kicker {
  margin:0 0 16px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.markets-title {
  margin:0;
  max-width:760px;
  font-family:var(--editorial);
  font-size:clamp(40px,3.7vw,60px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.025em;
}

.markets-copy {
  justify-self:end;
  max-width:390px;
  margin:0;
  color:#585e63;
  font:400 13px/1.68 var(--ui);
}

.market-strip {
  position:relative;
  border-top:1px solid rgba(17,19,21,.14);
  border-bottom:1px solid rgba(17,19,21,.14);
}

.market-row {
  display:grid;
  grid-template-columns:32px minmax(180px,.62fr) minmax(300px,1fr) 28px;
  gap:22px;
  align-items:center;
  min-height:74px;
  border-bottom:1px solid rgba(17,19,21,.10);
  color:#17191b;
  transition:background .24s ease,padding .24s ease;
}

.market-row:last-child {
  border-bottom:none;
}

.market-row:hover,
.market-row:focus-visible {
  background:#ecece8;
  padding-left:10px;
  padding-right:10px;
}

.market-row__num {
  font:500 9px/1 var(--ui);
  color:#9a9fa3;
}

.market-row__name {
  font-family:var(--editorial);
  font-size:clamp(22px,1.8vw,29px);
  font-weight:400;
  letter-spacing:-.015em;
}

.market-row__scope {
  color:#60666b;
  font:400 11px/1.45 var(--ui);
}

.market-row__arrow {
  justify-self:end;
  color:#a0a4a7;
  font:400 18px/1 var(--ui);
  transition:transform .24s ease,color .24s ease;
}

.market-row:hover .market-row__arrow,
.market-row:focus-visible .market-row__arrow {
  color:var(--red);
  transform:translateX(5px);
}

/* A quiet editorial market index rather than a decorative map. */
.markets-index {
  margin-top:34px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:end;
}

.markets-index__words {
  display:flex;
  flex-wrap:wrap;
  gap:9px 18px;
  max-width:950px;
}

.markets-index__word {
  position:relative;
  color:#7a8084;
  font:400 11px/1.3 var(--ui);
  transition:color .22s ease;
}

.markets-index__word::before {
  content:"";
  display:inline-block;
  width:4px;
  height:4px;
  margin-right:7px;
  border-radius:50%;
  background:#b6b9bb;
  vertical-align:middle;
  transition:background .22s ease;
}

.markets-index__word:hover {
  color:#151719;
}

.markets-index__word:hover::before {
  background:var(--red);
}

.markets-all {
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding-bottom:7px;
  border-bottom:1px solid #303438;
  color:#303438;
  font:500 12px/1 var(--ui);
  white-space:nowrap;
}

@media (min-width:981px) and (max-height:780px) {
  .markets-gateway {
    padding-top:clamp(62px,7vh,82px);
    padding-bottom:clamp(54px,6vh,72px);
  }

  .markets-head {
    margin-bottom:36px;
  }

  .markets-title {
    font-size:clamp(36px,3.3vw,50px);
  }

  .market-row {
    min-height:62px;
  }
}

@media(max-width:980px) {
  .markets-gateway {
    padding:72px 22px 68px;
  }

  .markets-head {
    grid-template-columns:1fr;
    gap:22px;
  }

  .markets-copy {
    justify-self:start;
  }

  .market-row {
    grid-template-columns:26px 1fr 26px;
  }

  .market-row__scope {
    display:none;
  }

  .markets-index {
    grid-template-columns:1fr;
  }

  .markets-all {
    justify-self:start;
  }
}


/* ==================== SECTION 05 — CANDIDATES / JOBS GATEWAY ==================== */
.candidates-gateway {
  position:relative;
  background:#ffffff;
  color:#151719;
  padding:var(--section-y) var(--pad) var(--section-y-compact);
  overflow:hidden;
}

.candidates-gateway::before {
  content:"05";
  position:absolute;
  top:26px;
  right:var(--pad);
  font:500 10px/1 var(--ui);
  letter-spacing:.14em;
  color:#a0a4a7;
}

.candidates-inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  gap:clamp(52px,8vw,126px);
  align-items:start;
}

.candidates-copy {
  max-width:560px;
  padding-top:4px;
}

.candidates-kicker {
  margin:0 0 17px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.candidates-title {
  margin:0;
  font-family:var(--editorial);
  font-size:clamp(40px,3.65vw,59px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.025em;
}

.candidates-text {
  margin:24px 0 0;
  max-width:510px;
  color:#5d6368;
  font:400 13px/1.68 var(--ui);
}

.candidates-actions {
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:30px;
  flex-wrap:wrap;
}

.candidate-action {
  min-width:156px;
  padding:13px 16px;
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  border:1px solid rgba(17,19,21,.18);
  color:#202326;
  background:#fff;
  font:500 12px/1 var(--ui);
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}

.candidate-action.primary {
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}

.candidate-action:hover {
  transform:translateY(-1px);
  background:#f4f4f1;
}

.candidate-action.primary:hover {
  background:#b90004;
}

.jobs-preview {
  border-top:1px solid rgba(17,19,21,.16);
}

.jobs-preview__head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 0 14px;
}

.jobs-preview__title {
  margin:0;
  font:500 10px/1 var(--ui);
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#777d81;
}

.jobs-preview__source {
  font:400 10px/1 var(--ui);
  color:#a0a4a7;
}

.job-door {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  min-height:94px;
  border-bottom:1px solid rgba(17,19,21,.11);
  color:#17191b;
  transition:padding .24s ease,background .24s ease;
}

.job-door:hover,
.job-door:focus-visible {
  padding-left:10px;
  padding-right:10px;
  background:#f6f6f3;
}

.job-door__label {
  display:block;
  margin-bottom:7px;
  font:500 9px/1 var(--ui);
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#9a9fa3;
}

.job-door__title {
  display:block;
  font-family:var(--editorial);
  font-size:clamp(23px,1.8vw,30px);
  line-height:1.06;
  font-weight:400;
  letter-spacing:-.015em;
}

.job-door__meta {
  display:block;
  margin-top:8px;
  color:#686e73;
  font:400 11px/1.35 var(--ui);
}

.job-door__arrow {
  color:#a0a4a7;
  font:400 18px/1 var(--ui);
  transition:color .24s ease,transform .24s ease;
}

.job-door:hover .job-door__arrow,
.job-door:focus-visible .job-door__arrow {
  color:var(--red);
  transform:translateX(5px);
}

.jobs-preview__foot {
  display:flex;
  justify-content:flex-end;
  margin-top:25px;
}

.jobs-all {
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding-bottom:7px;
  border-bottom:1px solid #303438;
  color:#303438;
  font:500 12px/1 var(--ui);
}

/* Jobs are intentionally represented as categories/placeholders here.
   Production rows will be populated from Zoho Recruit only for published roles. */
.job-door[data-live="false"] .job-door__title {
  color:#313539;
}

@media (min-width:981px) and (max-height:780px) {
  .candidates-gateway {
    padding-top:clamp(62px,7vh,82px);
    padding-bottom:clamp(54px,6vh,72px);
  }

  .candidates-title {
    font-size:clamp(36px,3.3vw,50px);
  }

  .job-door {
    min-height:78px;
  }
}

@media(max-width:980px) {
  .candidates-gateway {
    padding:72px 22px 68px;
  }

  .candidates-inner {
    grid-template-columns:1fr;
    gap:42px;
  }
}

@media(max-width:600px) {
  .candidates-actions {
    align-items:stretch;
    flex-direction:column;
  }

  .candidate-action {
    width:100%;
  }

  .job-door {
    min-height:82px;
  }
}


/* ==================== MARKET SIGNAL INTERSTITIAL ==================== */
.market-signal-band {
  position:relative;
  height:clamp(126px,9vw,158px);
  overflow:hidden;
  background:#111417;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.market-signal-band::before {
  content:"";
  position:absolute;
  inset:-70% -10%;
  opacity:.05;
  background:
    linear-gradient(118deg, transparent 0 32%, rgba(255,255,255,.65) 32.1% 32.25%, transparent 32.35% 100%),
    linear-gradient(36deg, transparent 0 57%, rgba(255,255,255,.55) 57.1% 57.25%, transparent 57.35% 100%);
  transform:rotate(-2deg);
  pointer-events:none;
}

.signal-facet {
  position:absolute;
  right:8vw;
  top:50%;
  width:86px;
  height:86px;
  transform:translateY(-50%) rotate(18deg);
  opacity:.06;
  border:1px solid rgba(255,255,255,.65);
  clip-path:polygon(50% 0%,100% 23%,88% 78%,45% 100%,0% 70%,8% 20%);
  pointer-events:none;
}

.signal-facet::before,
.signal-facet::after {
  content:"";
  position:absolute;
  inset:18%;
  border:1px solid rgba(255,255,255,.7);
  transform:rotate(29deg);
}

.signal-facet::after {
  inset:37%;
  transform:rotate(61deg);
}

.signal-line {
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:rgba(255,255,255,.09);
  transform:translateY(-50%);
}

.signal-line::after {
  content:"";
  position:absolute;
  top:0;
  left:-26%;
  width:24%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--red),transparent);
  animation:signalSweep 8.5s cubic-bezier(.45,0,.25,1) infinite;
}

@keyframes signalSweep {
  0%   { left:-26%; opacity:0; }
  8%   { opacity:1; }
  52%  { opacity:.95; }
  78%  { left:102%; opacity:0; }
  100% { left:102%; opacity:0; }
}

.signal-inner {
  position:relative;
  z-index:2;
  height:100%;
  width:min(var(--content-max),calc(100% - (var(--pad) * 2)));
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
}

.signal-markets {
  display:flex;
  align-items:center;
  gap:clamp(14px,1.7vw,28px);
  min-width:0;
  color:rgba(255,255,255,.42);
  font:500 9px/1 var(--ui);
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
}

.signal-markets.right {
  justify-content:flex-end;
}

.signal-markets span::before {
  content:"";
  display:inline-block;
  width:4px;
  height:4px;
  margin-right:8px;
  border-radius:50%;
  background:rgba(255,255,255,.22);
  vertical-align:middle;
}

.signal-center {
  position:relative;
  padding:0 28px;
  background:#111417;
  text-align:center;
  white-space:nowrap;
}

.signal-center__eyebrow {
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,.34);
  font:500 8px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.signal-center__statement {
  font-family:var(--editorial);
  font-size:clamp(24px,2.15vw,34px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.018em;
}

.signal-center__statement em {
  color:var(--red);
  font-style:normal;
}

@media(max-width:980px) {
  .market-signal-band {
    height:118px;
  }

  .signal-inner {
    width:calc(100% - 44px);
    grid-template-columns:1fr;
  }

  .signal-markets {
    display:none;
  }

  .signal-center {
    justify-self:center;
  }
}

@media(prefers-reduced-motion:reduce) {
  .signal-line::after {
    animation:none;
    left:38%;
    opacity:.75;
  }
}


/* ==================== SECTION 04 — CANDIDATE / JOBS GATEWAY ==================== */
.candidate-editorial {
  position:relative;
  background:#f7f7f4;
  color:#151719;
  padding:var(--section-y) var(--pad) var(--section-y-compact);
  overflow:hidden;
}

.candidate-editorial::before {
  content:"04";
  position:absolute;
  top:26px;
  right:var(--pad);
  font:500 10px/1 var(--ui);
  letter-spacing:.14em;
  color:#a1a5a8;
}

.candidate-editorial__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.70fr);
  gap:clamp(64px,9vw,140px);
  align-items:start;
}

.candidate-editorial__copy {
  padding-top:4px;
}

.candidate-editorial__kicker {
  margin:0 0 17px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.candidate-editorial__title {
  margin:0;
  max-width:760px;
  font-family:var(--editorial);
  font-size:clamp(42px,4vw,64px);
  line-height:1.01;
  font-weight:400;
  letter-spacing:-.026em;
}

.candidate-editorial__text {
  margin:25px 0 0;
  max-width:570px;
  color:#5b6166;
  font:400 13px/1.68 var(--ui);
}

.candidate-editorial__actions {
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:30px;
  flex-wrap:wrap;
}

.candidate-text-link {
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding-bottom:7px;
  border-bottom:1px solid #313538;
  color:#23272a;
  font:500 12px/1 var(--ui);
}

.candidate-text-link.primary {
  color:var(--red);
  border-bottom-color:var(--red);
}

.candidate-jobs {
  padding-top:3px;
  border-top:1px solid rgba(17,19,21,.14);
}

.candidate-jobs__heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:13px;
}

.candidate-jobs__heading span:first-child {
  font:500 9px/1 var(--ui);
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#7d8286;
}

.candidate-jobs__heading span:last-child {
  font:400 9px/1 var(--ui);
  color:#a4a8ab;
}

.editorial-job {
  display:grid;
  grid-template-columns:minmax(0,1fr) 26px;
  gap:22px;
  align-items:center;
  min-height:82px;
  border-bottom:1px solid rgba(17,19,21,.10);
  color:#181a1c;
  transition:padding .24s ease,background .24s ease;
}

.editorial-job:hover,
.editorial-job:focus-visible {
  padding-left:8px;
  padding-right:8px;
  background:#eeeeea;
}

.editorial-job__category {
  display:block;
  margin-bottom:6px;
  color:#969b9f;
  font:500 8px/1 var(--ui);
  letter-spacing:.11em;
  text-transform:uppercase;
}

.editorial-job__title {
  display:block;
  font-family:var(--editorial);
  font-size:clamp(21px,1.55vw,27px);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.014em;
}

.editorial-job__arrow {
  justify-self:end;
  color:#a2a6a9;
  font:400 17px/1 var(--ui);
  transition:color .22s ease,transform .22s ease;
}

.editorial-job:hover .editorial-job__arrow {
  color:var(--red);
  transform:translateX(4px);
}

.candidate-jobs__foot {
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
}

@media (min-width:981px) and (max-height:780px) {
  .candidate-editorial {
    padding-top:clamp(62px,7vh,82px);
    padding-bottom:clamp(54px,6vh,72px);
  }

  .candidate-editorial__title {
    font-size:clamp(38px,3.5vw,54px);
  }

  .editorial-job {
    min-height:72px;
  }
}

@media(max-width:980px) {
  .candidate-editorial {
    padding:72px 22px 68px;
  }

  .candidate-editorial__inner {
    grid-template-columns:1fr;
    gap:44px;
  }
}

@media(max-width:600px) {
  .candidate-editorial__actions {
    align-items:flex-start;
    flex-direction:column;
  }
}


/* ==================== CINEMATIC INTERLUDE / BUILD 21 ==================== */
.cinematic-interlude {
  position:relative;
  height:clamp(170px,14vw,230px);
  overflow:hidden;
  background:#101418;
  color:#fff;
  isolation:isolate;
}

.cinematic-interlude__image {
  position:absolute;
  inset:-7% 0;
  background-image:url('/assets/cinematic-interlude.webp');
  background-size:cover;
  background-position:center 48%;
  transform:translate3d(0,var(--interlude-shift,0px),0) scale(1.035);
  will-change:transform;
}

.cinematic-interlude::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,10,13,.56) 0%,rgba(7,10,13,.22) 31%,rgba(7,10,13,.17) 69%,rgba(7,10,13,.52) 100%),
    linear-gradient(180deg,rgba(7,10,13,.22),rgba(7,10,13,.14) 48%,rgba(7,10,13,.34));
}

.cinematic-interlude__inner {
  position:relative;
  z-index:2;
  width:min(var(--content-max),calc(100% - (var(--pad) * 2)));
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:34px;
  align-items:center;
}

.cinematic-interlude__statement {
  margin:0;
  max-width:900px;
  font-family:var(--editorial);
  font-size:clamp(28px,2.8vw,43px);
  line-height:1.03;
  font-weight:400;
  letter-spacing:-.022em;
  color:#fff;
  text-shadow:0 2px 22px rgba(0,0,0,.18);
}

.cinematic-interlude__statement em {
  font-style:normal;
  color:#fff;
}

.cinematic-interlude__meta {
  align-self:center;
  text-align:right;
  color:rgba(255,255,255,.56);
  font:500 8px/1.45 var(--ui);
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}

.cinematic-interlude__meta::before {
  content:"";
  display:block;
  width:26px;
  height:1px;
  margin:0 0 11px auto;
  background:var(--red);
}

@media (min-width:981px) and (max-height:780px) {
  .cinematic-interlude {
    height:150px;
  }

  .cinematic-interlude__statement {
    font-size:clamp(25px,2.45vw,36px);
  }
}

@media(max-width:760px) {
  .cinematic-interlude {
    height:170px;
  }

  .cinematic-interlude__inner {
    width:calc(100% - 44px);
    grid-template-columns:1fr;
    gap:10px;
    align-content:center;
  }

  .cinematic-interlude__meta {
    text-align:left;
    white-space:normal;
  }

  .cinematic-interlude__meta::before {
    margin-left:0;
  }
}

@media(prefers-reduced-motion:reduce) {
  .cinematic-interlude__image {
    transform:scale(1.035) !important;
  }
}


/* ==================== SECTION 05 — INSIGHTS / MARKET INTELLIGENCE ==================== */
.insights-gateway {
  position:relative;
  background:#ecece8;
  color:#151719;
  padding:var(--section-y) var(--pad) var(--section-y-compact);
  overflow:hidden;
}

.insights-gateway::before {
  content:"05";
  position:absolute;
  top:26px;
  right:var(--pad);
  font:500 10px/1 var(--ui);
  letter-spacing:.14em;
  color:#9fa4a7;
}

.insights-inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
}

.insights-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:42px;
  align-items:end;
  margin-bottom:clamp(40px,4.5vw,60px);
}

.insights-kicker {
  margin:0 0 16px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.insights-title {
  margin:0;
  max-width:760px;
  font-family:var(--editorial);
  font-size:clamp(40px,3.7vw,59px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.025em;
}

.insights-all {
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding-bottom:7px;
  border-bottom:1px solid #303438;
  color:#303438;
  font:500 12px/1 var(--ui);
  white-space:nowrap;
}

.insights-layout {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);
  gap:clamp(36px,5vw,76px);
  align-items:start;
}

.featured-insight {
  position:relative;
  min-height:360px;
  overflow:hidden;
  background:#15191d;
  color:#fff;
  padding:clamp(26px,3vw,42px);
  display:grid;
  align-content:end;
}

.featured-insight::before {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,11,14,.02) 0%,rgba(8,11,14,.16) 46%,rgba(8,11,14,.72) 100%),
    url('/assets/hero-dark-03.webp') center 48% / cover no-repeat;
  transform:scale(1.015);
  transition:transform 1.1s cubic-bezier(.2,.8,.2,1);
}

.featured-insight:hover::before {
  transform:scale(1.035);
}

.featured-insight__content {
  position:relative;
  z-index:2;
  max-width:720px;
}

.featured-insight__eyebrow {
  display:block;
  margin-bottom:13px;
  color:rgba(255,255,255,.62);
  font:500 9px/1 var(--ui);
  letter-spacing:.13em;
  text-transform:uppercase;
}

.featured-insight__title {
  display:block;
  max-width:650px;
  font-family:var(--editorial);
  font-size:clamp(30px,2.9vw,44px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.02em;
}

.featured-insight__foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:22px;
  color:rgba(255,255,255,.72);
  font:400 11px/1.35 var(--ui);
}

.featured-insight__arrow {
  color:#fff;
  font-size:18px;
}

.insights-list {
  border-top:1px solid rgba(17,19,21,.15);
}

.insight-row {
  display:block;
  padding:20px 0 22px;
  border-bottom:1px solid rgba(17,19,21,.11);
  color:#17191b;
}

.insight-row__eyebrow {
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-bottom:9px;
  color:#92979b;
  font:500 8px/1 var(--ui);
  letter-spacing:.11em;
  text-transform:uppercase;
}

.insight-row__title {
  display:block;
  font-family:var(--editorial);
  font-size:clamp(23px,1.85vw,30px);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.015em;
  transition:color .22s ease;
}

.insight-row__meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:12px;
  color:#6e7478;
  font:400 10px/1.3 var(--ui);
}

.insight-row:hover .insight-row__title {
  color:var(--red);
}

.insight-row:hover .insight-row__meta span:last-child {
  transform:translateX(4px);
  color:var(--red);
}

.insight-row__meta span:last-child {
  transition:transform .22s ease,color .22s ease;
}

@media (min-width:981px) and (max-height:780px) {
  .insights-gateway {
    padding-top:clamp(62px,7vh,82px);
    padding-bottom:clamp(54px,6vh,72px);
  }

  .insights-head {
    margin-bottom:34px;
  }

  .insights-title {
    font-size:clamp(36px,3.3vw,50px);
  }

  .featured-insight {
    min-height:300px;
  }
}

@media(max-width:980px) {
  .insights-gateway {
    padding:72px 22px 68px;
  }

  .insights-head,
  .insights-layout {
    grid-template-columns:1fr;
  }

  .insights-all {
    justify-self:start;
  }

  .featured-insight {
    min-height:330px;
  }
}


/* ==================== SECTION 06 — EMPLOYER CLOSING CTA ==================== */
.employer-close {
  position:relative;
  background:#15181b;
  color:#fff;
  padding:clamp(84px,8.5vw,132px) var(--pad);
  overflow:hidden;
}

.employer-close::before {
  content:none;
}

.employer-close__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(48px,8vw,120px);
  align-items:end;
}

.employer-close__kicker {
  margin:0 0 17px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.employer-close__title {
  margin:0;
  max-width:900px;
  font-family:var(--editorial);
  font-size:clamp(44px,4.5vw,70px);
  line-height:.99;
  font-weight:400;
  letter-spacing:-.028em;
  text-wrap:balance;
}

.employer-close__sub {
  margin:22px 0 0;
  max-width:650px;
  color:rgba(255,255,255,.64);
  font:400 13px/1.68 var(--ui);
}

.employer-close__actions {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  min-width:250px;
}

.employer-close__action {
  min-width:250px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  background:transparent;
  font:500 12px/1 var(--ui);
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}

.employer-close__action.primary {
  background:var(--red);
  border-color:var(--red);
}

.employer-close__action:hover {
  transform:translateY(-1px);
  background:rgba(255,255,255,.07);
}

.employer-close__action.primary:hover {
  background:#b90004;
}

/* ==================== FOOTER ==================== */
.site-footer {
  background:#0c0f12;
  color:#fff;
  padding:clamp(56px,6vw,92px) var(--pad) 24px;
}

.site-footer__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
}

.footer-top {
  display:grid;
  grid-template-columns:minmax(240px,.9fr) minmax(0,1.5fr);
  gap:clamp(54px,9vw,136px);
  padding-bottom:clamp(42px,5vw,68px);
}

.footer-brand img {
  width:clamp(180px,15vw,236px);
  height:auto;
}

.footer-brand__line {
  margin:20px 0 0;
  max-width:330px;
  color:rgba(255,255,255,.47);
  font:400 11px/1.55 var(--ui);
}

.footer-nav {
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:32px;
}

.footer-col__title {
  margin:0 0 16px;
  color:rgba(255,255,255,.34);
  font:500 8px/1 var(--ui);
  letter-spacing:.13em;
  text-transform:uppercase;
}

.footer-col a {
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 11px;
  color:rgba(255,255,255,.76);
  font:400 11px/1.35 var(--ui);
  transition:color .2s ease,transform .2s ease;
}

.footer-col a:hover {
  color:#fff;
  transform:translateX(3px);
}

.footer-bottom {
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:end;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.10);
}

.footer-bottom__meta {
  display:flex;
  flex-wrap:wrap;
  gap:12px 22px;
  color:rgba(255,255,255,.34);
  font:400 9px/1.4 var(--ui);
}

.footer-bottom__meta a:hover {
  color:rgba(255,255,255,.68);
}

.footer-bottom__mark {
  color:rgba(255,255,255,.28);
  font:500 8px/1 var(--ui);
  letter-spacing:.14em;
  text-transform:uppercase;
}

@media (min-width:981px) and (max-height:780px) {
  .employer-close {
    padding-top:clamp(64px,7vh,86px);
    padding-bottom:clamp(58px,6vh,78px);
  }

  .employer-close__title {
    font-size:clamp(40px,4vw,58px);
  }
}

@media(max-width:980px) {
  .employer-close {
    padding:72px 22px;
  }

  .employer-close__inner {
    grid-template-columns:1fr;
    align-items:start;
  }

  .employer-close__actions {
    align-items:flex-start;
    min-width:0;
  }

  .site-footer {
    padding-left:22px;
    padding-right:22px;
  }

  .footer-top {
    grid-template-columns:1fr;
  }

  .footer-nav {
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px) {
  .employer-close__actions,
  .employer-close__action {
    width:100%;
  }

  .footer-nav {
    grid-template-columns:1fr 1fr;
    gap:26px 18px;
  }

  .footer-bottom {
    grid-template-columns:1fr;
  }

  .footer-bottom__mark {
    justify-self:start;
  }
}


/* ==================== INSIGHTS → EMPLOYER CTA TRANSITION / BUILD 24 ==================== */

/* Give the Insights chapter a quiet landing area so the fade happens in
   whitespace rather than washing across the editorial content. */
.insights-gateway {
  padding-bottom:clamp(138px,11vw,178px) !important;
}

/* Same principle as HERO → Services:
   this transition overlaps the END of the previous section.
   It begins transparent over the Insights background and resolves exactly
   into the Employer CTA charcoal, so there is no visible strip or seam. */
.insights-employer-transition {
  position:relative;
  z-index:12;
  height:clamp(132px,10vw,170px);
  margin-top:calc(clamp(132px,10vw,170px) * -1);
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(21,24,27,0.00) 0%,
      rgba(21,24,27,0.01) 12%,
      rgba(21,24,27,0.025) 23%,
      rgba(21,24,27,0.06) 34%,
      rgba(21,24,27,0.13) 46%,
      rgba(21,24,27,0.25) 58%,
      rgba(21,24,27,0.42) 69%,
      rgba(21,24,27,0.62) 80%,
      rgba(21,24,27,0.80) 89%,
      rgba(21,24,27,0.94) 97%,
      #15181b 100%
    );
}

/* CTA begins with the exact final transition colour. */
.employer-close {
  background:#15181b;
}

/* Shorter laptop viewport: preserve the same visual blend while keeping
   the page compact at 100% browser zoom. */
@media (min-width:981px) and (max-height:780px) {
  .insights-gateway {
    padding-bottom:132px !important;
  }

  .insights-employer-transition {
    height:122px;
    margin-top:-122px;
  }
}

@media(max-width:980px) {
  .insights-gateway {
    padding-bottom:118px !important;
  }

  .insights-employer-transition {
    height:104px;
    margin-top:-104px;
  }
}

@media(max-width:600px) {
  .insights-gateway {
    padding-bottom:96px !important;
  }

  .insights-employer-transition {
    height:82px;
    margin-top:-82px;
  }
}


/* ==================== BUILD 26 — FINAL-CHAPTER RHYTHM ==================== */

/* ---------- 04 Candidates: visual chapter ---------- */
.candidate-visual {
  position:relative;
  background:#f7f7f4;
  color:#151719;
  padding:clamp(72px,7vw,108px) var(--pad) clamp(54px,5vw,78px);
}

.candidate-visual::before {
  content:"04";
  position:absolute;
  top:26px;
  right:var(--pad);
  color:#a2a6a9;
  font:500 10px/1 var(--ui);
  letter-spacing:.14em;
}

.candidate-visual__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
}

.candidate-visual__stage {
  position:relative;
  width:100%;
  min-height:clamp(410px,38vw,590px);
  overflow:hidden;
  background:#d9dddc;
}

.candidate-visual__media {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(9,12,15,.38) 0%,rgba(9,12,15,.18) 34%,rgba(9,12,15,.04) 68%,rgba(9,12,15,.10) 100%),
    linear-gradient(180deg,rgba(8,11,14,.05),rgba(8,11,14,.20) 70%,rgba(8,11,14,.44) 100%),
    url('/assets/service-career-advisory.webp') center 44% / cover no-repeat;
  transform:scale(1.015);
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1);
}

.candidate-visual__stage:hover .candidate-visual__media {
  transform:scale(1.03);
}

.candidate-visual__copy {
  position:absolute;
  z-index:2;
  left:clamp(26px,4vw,60px);
  bottom:clamp(28px,4vw,56px);
  max-width:720px;
  color:#fff;
}

.candidate-visual__kicker {
  margin:0 0 15px;
  color:rgba(255,255,255,.70);
  font:500 9px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.candidate-visual__title {
  margin:0;
  max-width:700px;
  font-family:var(--editorial);
  font-size:clamp(39px,4vw,62px);
  line-height:1.01;
  font-weight:400;
  letter-spacing:-.027em;
  text-shadow:0 2px 20px rgba(0,0,0,.18);
}

.candidate-visual__actions {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:24px;
}

.candidate-visual__link {
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.72);
  color:#fff;
  font:500 11px/1 var(--ui);
}

.candidate-visual__link.primary {
  color:#fff;
  border-bottom-color:var(--red);
}

.candidate-jobs-strip {
  margin-top:24px;
  display:grid;
  grid-template-columns:auto 1fr 1fr auto;
  gap:0;
  border-top:1px solid rgba(17,19,21,.13);
  border-bottom:1px solid rgba(17,19,21,.13);
  min-height:68px;
  align-items:center;
}

.candidate-jobs-strip__label {
  padding-right:26px;
  color:#8c9195;
  font:500 8px/1 var(--ui);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.candidate-job-line {
  height:100%;
  padding:0 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-left:1px solid rgba(17,19,21,.10);
  color:#222629;
  font:400 11px/1.35 var(--ui);
}

.candidate-job-line strong {
  font-weight:500;
}

.candidate-job-line span:last-child {
  color:#a0a4a7;
  transition:color .2s ease,transform .2s ease;
}

.candidate-job-line:hover span:last-child {
  color:var(--red);
  transform:translateX(4px);
}

.candidate-jobs-strip__all {
  height:100%;
  padding-left:26px;
  display:flex;
  align-items:center;
  border-left:1px solid rgba(17,19,21,.10);
  color:#4d5358;
  font:500 10px/1 var(--ui);
  white-space:nowrap;
}

/* deliberate breathing space between Candidates and Insights */
.editorial-breath {
  height:clamp(74px,7vw,108px);
  background:#f7f7f4;
}

/* ---------- 05 Insights: publication layout ---------- */
.insights-publication {
  position:relative;
  background:#ecece8;
  color:#151719;
  padding:clamp(74px,7.5vw,116px) var(--pad) clamp(144px,11vw,182px);
}

.insights-publication::before {
  content:"05";
  position:absolute;
  top:26px;
  right:var(--pad);
  color:#9fa4a7;
  font:500 10px/1 var(--ui);
  letter-spacing:.14em;
}

.insights-publication__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
}

.insights-publication__head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:clamp(38px,4vw,58px);
}

.insights-publication__kicker {
  margin:0 0 15px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.insights-publication__title {
  margin:0;
  max-width:900px;
  font-family:var(--editorial);
  font-size:clamp(40px,3.8vw,60px);
  line-height:1.01;
  font-weight:400;
  letter-spacing:-.026em;
}

.insights-publication__all {
  display:inline-flex;
  align-items:center;
  gap:17px;
  padding-bottom:7px;
  border-bottom:1px solid #303438;
  color:#303438;
  font:500 11px/1 var(--ui);
  white-space:nowrap;
}

.insights-publication__grid {
  display:grid;
  grid-template-columns:minmax(0,1.38fr) minmax(320px,.62fr);
  gap:clamp(34px,5vw,72px);
  align-items:stretch;
}

.publication-feature {
  position:relative;
  min-height:clamp(350px,31vw,480px);
  overflow:hidden;
  color:#fff;
  background:#15191d;
}

.publication-feature::before {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,11,14,.04) 0%,rgba(8,11,14,.18) 52%,rgba(8,11,14,.72) 100%),
    url('/assets/hero-dark-03.webp') center 48% / cover no-repeat;
  transform:scale(1.015);
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1);
}

.publication-feature:hover::before {
  transform:scale(1.035);
}

.publication-feature__content {
  position:absolute;
  z-index:2;
  left:clamp(24px,3vw,42px);
  right:clamp(24px,3vw,42px);
  bottom:clamp(24px,3vw,38px);
}

.publication-feature__eyebrow {
  display:block;
  margin-bottom:12px;
  color:rgba(255,255,255,.62);
  font:500 8px/1 var(--ui);
  letter-spacing:.13em;
  text-transform:uppercase;
}

.publication-feature__title {
  display:block;
  max-width:680px;
  font-family:var(--editorial);
  font-size:clamp(30px,2.85vw,44px);
  line-height:1.03;
  font-weight:400;
  letter-spacing:-.02em;
}

.publication-feature__meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
  color:rgba(255,255,255,.68);
  font:400 10px/1.35 var(--ui);
}

.publication-stack {
  display:grid;
  grid-template-rows:1fr 1fr;
  border-top:1px solid rgba(17,19,21,.14);
}

.publication-note {
  position:relative;
  padding:26px 0 28px;
  border-bottom:1px solid rgba(17,19,21,.12);
  color:#17191b;
}

.publication-note__eyebrow {
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-bottom:13px;
  color:#92979b;
  font:500 8px/1 var(--ui);
  letter-spacing:.11em;
  text-transform:uppercase;
}

.publication-note__title {
  display:block;
  font-family:var(--editorial);
  font-size:clamp(25px,2vw,32px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.016em;
  transition:color .2s ease;
}

.publication-note__meta {
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-top:16px;
  color:#6c7276;
  font:400 10px/1.3 var(--ui);
}

.publication-note:hover .publication-note__title,
.publication-note:hover .publication-note__meta span:last-child {
  color:var(--red);
}

/* ---------- Insights → Employer seamless transition ---------- */
.insights-employer-transition {
  position:relative;
  z-index:12;
  height:clamp(136px,10vw,176px);
  margin-top:calc(clamp(136px,10vw,176px) * -1);
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(21,24,27,0.00) 0%,
      rgba(21,24,27,0.015) 14%,
      rgba(21,24,27,0.04) 26%,
      rgba(21,24,27,0.10) 39%,
      rgba(21,24,27,0.20) 51%,
      rgba(21,24,27,0.36) 63%,
      rgba(21,24,27,0.56) 75%,
      rgba(21,24,27,0.76) 85%,
      rgba(21,24,27,0.91) 94%,
      #15181b 100%
    );
}

/* ---------- 06 Employers: quiet statement + delayed form ---------- */
.employer-conversation {
  position:relative;
  background:#15181b;
  color:#fff;
  padding:clamp(88px,8.5vw,136px) var(--pad) clamp(78px,7.5vw,116px);
  overflow:hidden;
}

.employer-conversation::before {
  content:"06";
  position:absolute;
  top:26px;
  right:var(--pad);
  color:rgba(255,255,255,.28);
  font:500 10px/1 var(--ui);
  letter-spacing:.14em;
}

.employer-conversation__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,.62fr);
  gap:clamp(64px,9vw,142px);
  align-items:start;
}

.employer-conversation__copy {
  min-height:430px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.employer-conversation__kicker {
  margin:0 0 18px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.employer-conversation__title {
  margin:0;
  max-width:850px;
  font-family:var(--editorial);
  font-size:clamp(45px,4.55vw,70px);
  line-height:.99;
  font-weight:400;
  letter-spacing:-.029em;
  text-wrap:balance;
}

.employer-conversation__sub {
  margin:22px 0 0;
  max-width:590px;
  color:rgba(255,255,255,.58);
  font:400 13px/1.68 var(--ui);
}

.employer-conversation__hint {
  margin-top:34px;
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:rgba(255,255,255,.38);
  font:500 8px/1 var(--ui);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.employer-conversation__hint::before {
  content:"";
  width:26px;
  height:1px;
  background:var(--red);
}

.employer-form-wrap {
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.employer-form {
  width:100%;
  max-width:520px;
  padding:clamp(24px,2.4vw,34px);
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.035);
  opacity:0;
  transform:translateY(22px);
  pointer-events:none;
  transition:
    opacity .82s cubic-bezier(.2,.8,.2,1),
    transform .82s cubic-bezier(.2,.8,.2,1);
}

.employer-conversation.form-live .employer-form {
  opacity:1;
  transform:none;
  pointer-events:auto;
}

.employer-form__intro {
  margin:0 0 25px;
  color:rgba(255,255,255,.58);
  font:400 11px/1.55 var(--ui);
}

.employer-form__grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 16px;
}

.employer-field {
  display:block;
}

.employer-field.full {
  grid-column:1 / -1;
}

.employer-field label {
  display:block;
  margin-bottom:7px;
  color:rgba(255,255,255,.38);
  font:500 8px/1 var(--ui);
  letter-spacing:.10em;
  text-transform:uppercase;
}

.employer-field input,
.employer-field textarea {
  width:100%;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.20);
  border-radius:0;
  outline:0;
  padding:9px 0 10px;
  background:transparent;
  color:#fff;
  font:400 12px/1.35 var(--ui);
}

.employer-field textarea {
  min-height:68px;
  resize:vertical;
}

.employer-field input:focus,
.employer-field textarea:focus {
  border-bottom-color:var(--red);
}

.employer-form__submit {
  width:100%;
  margin-top:24px;
  padding:14px 16px;
  border:1px solid var(--red);
  background:var(--red);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  cursor:pointer;
  font:500 11px/1 var(--ui);
  transition:background .2s ease,transform .2s ease;
}

.employer-form__submit:hover {
  background:#b90004;
  transform:translateY(-1px);
}

@media (min-width:981px) and (max-height:780px) {
  .candidate-visual {
    padding-top:64px;
    padding-bottom:50px;
  }

  .candidate-visual__stage {
    min-height:360px;
  }

  .editorial-breath {
    height:64px;
  }

  .insights-publication {
    padding-top:64px;
    padding-bottom:132px;
  }

  .employer-conversation {
    padding-top:70px;
    padding-bottom:64px;
  }

  .employer-conversation__copy,
  .employer-form-wrap {
    min-height:360px;
  }

  .employer-conversation__title {
    font-size:clamp(40px,4vw,58px);
  }
}

@media(max-width:980px) {
  .candidate-visual {
    padding:64px 22px 54px;
  }

  .candidate-visual__stage {
    min-height:430px;
  }

  .candidate-jobs-strip {
    grid-template-columns:1fr;
  }

  .candidate-jobs-strip__label,
  .candidate-job-line,
  .candidate-jobs-strip__all {
    min-height:54px;
    padding:0 0;
    border-left:0;
    border-bottom:1px solid rgba(17,19,21,.10);
  }

  .candidate-job-line {
    padding:0 4px;
  }

  .editorial-breath {
    height:62px;
  }

  .insights-publication {
    padding:66px 22px 118px;
  }

  .insights-publication__head {
    align-items:flex-start;
    flex-direction:column;
  }

  .insights-publication__grid {
    grid-template-columns:1fr;
  }

  .insights-employer-transition {
    height:106px;
    margin-top:-106px;
  }

  .employer-conversation {
    padding:72px 22px 68px;
  }

  .employer-conversation__inner {
    grid-template-columns:1fr;
    gap:38px;
  }

  .employer-conversation__copy,
  .employer-form-wrap {
    min-height:auto;
  }

  .employer-form-wrap {
    justify-content:flex-start;
  }

  .employer-form {
    max-width:620px;
  }
}

@media(max-width:600px) {
  .candidate-visual__stage {
    min-height:470px;
  }

  .candidate-visual__copy {
    left:20px;
    right:20px;
    bottom:22px;
  }

  .candidate-visual__actions {
    align-items:flex-start;
    flex-direction:column;
  }

  .insights-publication__title {
    font-size:39px;
  }

  .publication-feature {
    min-height:330px;
  }

  .employer-form__grid {
    grid-template-columns:1fr;
  }

  .employer-field.full {
    grid-column:auto;
  }
}

@media(prefers-reduced-motion:reduce) {
  .employer-form {
    transition:none;
    transform:none;
  }
}


/* ==================== BUILD 27 — PREMIUM RHYTHM / CTP-INSPIRED BEHAVIOUR ==================== */

/* Remove decorative section page numbers. */
.services-gateway::before,
.sectors-gateway::before,
.candidate-visual::before,
.insights-publication::before,
.employer-conversation::before {
  content:none !important;
}

/* More air after the HERO. */
.services-gateway {
  padding-top:clamp(116px,10.5vw,166px) !important;
  padding-bottom:clamp(90px,8.5vw,132px) !important;
}

.services-title {
  font-size:clamp(36px,3.25vw,52px) !important;
  max-width:690px !important;
}

.services-intro {
  margin-bottom:clamp(46px,5vw,70px) !important;
}

/* Full-width media pause: image now, video-ready later. */
.architecture-pause {
  position:relative;
  height:clamp(250px,20vw,340px);
  overflow:hidden;
  background:#15191d;
}

.architecture-pause__image {
  position:absolute;
  inset:-6% 0;
  background:url('/assets/architectural-pause.webp') center 45% / cover no-repeat;
  transform:translate3d(0,var(--architecture-shift,0px),0) scale(1.035);
  will-change:transform;
}

.architecture-pause::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(8,11,14,.05),rgba(8,11,14,.12)),
    linear-gradient(90deg,rgba(8,11,14,.18),transparent 20%,transparent 82%,rgba(8,11,14,.12));
}

/* More intentional empty space between Candidates and publication content. */
.editorial-breath {
  height:clamp(112px,9vw,154px) !important;
}

/* Slightly calmer publication heading. */
.insights-publication__title {
  font-size:clamp(36px,3.35vw,54px) !important;
  max-width:820px !important;
}

/* Employer chapter: sparse on-page, form lives in modal. */
.employer-conversation__inner {
  grid-template-columns:minmax(0,1fr) minmax(250px,.38fr) !important;
  align-items:center !important;
}

.employer-conversation__copy {
  min-height:390px !important;
}

.employer-conversation__title {
  max-width:820px !important;
  font-size:clamp(42px,4.15vw,64px) !important;
}

.employer-conversation__aside {
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:stretch;
  padding:28px 0 3px;
}

.employer-conversation__aside-label {
  display:block;
  margin-bottom:18px;
  color:rgba(255,255,255,.38);
  font:500 8px/1.45 var(--ui);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.employer-conversation__open {
  width:100%;
  min-height:52px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.20);
  background:transparent;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  cursor:pointer;
  font:500 11px/1 var(--ui);
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}

.employer-conversation__open:hover {
  transform:translateY(-1px);
  background:var(--red);
  border-color:var(--red);
}

/* ---------- Modal form ---------- */
body.modal-open {
  overflow:hidden;
}

.contact-modal {
  position:fixed;
  inset:0;
  z-index:20000;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .42s ease,visibility 0s linear .42s;
}

.contact-modal.open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .42s ease;
}

.contact-modal__backdrop {
  position:absolute;
  inset:0;
  background:rgba(5,8,11,.70);
}

.contact-modal__panel {
  position:relative;
  z-index:2;
  width:min(820px,calc(100vw - 44px));
  min-height:440px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  background:#fff;
  color:#151719;
  box-shadow:0 30px 100px rgba(0,0,0,.34);
  opacity:0;
  transform:translateY(14px) scale(.988);
  transition:opacity .55s cubic-bezier(.2,.8,.2,1),transform .55s cubic-bezier(.2,.8,.2,1);
}

.contact-modal.open .contact-modal__panel {
  opacity:1;
  transform:none;
}

.contact-modal__close {
  position:absolute;
  z-index:5;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:0;
  background:rgba(255,255,255,.90);
  color:#17191b;
  cursor:pointer;
  font:300 24px/1 var(--ui);
}

.contact-modal__form-side {
  padding:clamp(28px,3vw,40px);
}

.contact-modal__kicker {
  margin:0 0 13px;
  color:var(--red);
  font:500 9px/1 var(--ui);
  letter-spacing:.13em;
  text-transform:uppercase;
}

.contact-modal__title {
  margin:0;
  max-width:420px;
  font-family:var(--editorial);
  font-size:clamp(30px,2.7vw,40px);
  line-height:1.03;
  font-weight:400;
  letter-spacing:-.02em;
}

.contact-modal__intro {
  margin:14px 0 25px;
  max-width:420px;
  color:#686e73;
  font:400 11px/1.55 var(--ui);
}

.contact-modal__grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px 16px;
}

.modal-field {
  display:block;
}

.modal-field.full {
  grid-column:1 / -1;
}

.modal-field span {
  display:block;
  margin-bottom:5px;
  color:#8b9094;
  font:500 7px/1 var(--ui);
  letter-spacing:.10em;
  text-transform:uppercase;
}

.modal-field input,
.modal-field textarea {
  width:100%;
  border:0;
  border-bottom:1px solid rgba(17,19,21,.18);
  outline:0;
  padding:8px 0 9px;
  background:transparent;
  color:#17191b;
  border-radius:0;
  font:400 11px/1.35 var(--ui);
}

.modal-field textarea {
  min-height:58px;
  resize:vertical;
}

.modal-field input:focus,
.modal-field textarea:focus {
  border-bottom-color:var(--red);
}

.contact-modal__submit {
  width:100%;
  margin-top:22px;
  padding:13px 15px;
  border:0;
  background:var(--red);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  cursor:pointer;
  font:500 10px/1 var(--ui);
}

.contact-modal__visual {
  position:relative;
  min-height:440px;
  background:
    linear-gradient(180deg,rgba(7,10,13,.05),rgba(7,10,13,.50)),
    url('/assets/service-executive-search.webp') center / cover no-repeat;
}

.contact-modal__visual-copy {
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  color:#fff;
}

.contact-modal__visual-copy span {
  display:block;
  margin-bottom:7px;
  color:rgba(255,255,255,.64);
  font:500 7px/1.4 var(--ui);
  letter-spacing:.10em;
  text-transform:uppercase;
}

.contact-modal__visual-copy strong {
  font-family:var(--editorial);
  font-size:25px;
  font-weight:400;
}

/* ---------- Footer social buttons ---------- */
.footer-social {
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:18px 0 20px;
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-social__label {
  color:rgba(255,255,255,.36);
  font:500 8px/1 var(--ui);
  letter-spacing:.13em;
  text-transform:uppercase;
}

.footer-social__links {
  display:flex;
  align-items:center;
  gap:9px;
}

.social-button {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.70);
  transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;
}

.social-button svg {
  width:17px;
  height:17px;
}

.social-button:hover {
  color:#fff;
  border-color:var(--red);
  background:rgba(208,0,4,.12);
  transform:translateY(-1px);
}

/* Desktop/laptop scaling consistency */
@media (min-width:981px) and (max-height:780px) {
  .services-gateway {
    padding-top:96px !important;
    padding-bottom:76px !important;
  }

  .architecture-pause {
    height:220px;
  }

  .editorial-breath {
    height:86px !important;
  }

  .employer-conversation__copy {
    min-height:330px !important;
  }
}

@media(max-width:980px) {
  .architecture-pause {
    height:220px;
  }

  .employer-conversation__inner {
    grid-template-columns:1fr !important;
  }

  .employer-conversation__aside {
    min-height:auto;
    max-width:420px;
  }

  .contact-modal__panel {
    grid-template-columns:1fr;
    max-height:calc(100dvh - 44px);
    overflow:auto;
  }

  .contact-modal__visual {
    min-height:180px;
    order:-1;
  }

  .contact-modal__form-side {
    padding:26px;
  }
}

@media(max-width:600px) {
  .architecture-pause {
    height:180px;
  }

  .contact-modal {
    padding:12px;
  }

  .contact-modal__panel {
    width:calc(100vw - 24px);
  }

  .contact-modal__grid {
    grid-template-columns:1fr;
  }

  .modal-field.full {
    grid-column:auto;
  }

  .footer-social {
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(prefers-reduced-motion:reduce) {
  .architecture-pause__image {
    transform:scale(1.035) !important;
  }

  .contact-modal,
  .contact-modal__panel {
    transition:none;
  }
}


/* ==================== BUILD 28 — SECTORS REVERT ==================== */
/* Return Sectors to the cleaner approved dark 4×2 composition.
   Build 27's extra editorial restructuring has been removed. */

.sectors-gateway {
  padding:var(--section-y) var(--pad) var(--section-y-compact) !important;
}

.sectors-inner {
  display:grid !important;
  grid-template-columns:minmax(300px,.58fr) minmax(0,1.42fr) !important;
  gap:clamp(54px,8vw,126px) !important;
  align-items:start !important;
}

.sectors-intro {
  display:block !important;
  padding-top:4px !important;
  margin-bottom:0 !important;
}

.sectors-kicker {
  margin:0 0 17px !important;
}

.sectors-title {
  margin:0 !important;
  max-width:480px !important;
  font-size:clamp(40px,3.7vw,59px) !important;
}

.sectors-copy {
  margin:25px 0 30px !important;
  max-width:430px !important;
  font-size:13px !important;
}

.sectors-all {
  display:inline-flex !important;
  grid-column:auto !important;
  grid-row:auto !important;
  align-self:auto !important;
  white-space:normal !important;
}

.sector-grid {
  width:auto !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
}

@media (min-width:981px) and (max-height:780px) {
  .sectors-gateway {
    padding-top:clamp(62px,7vh,82px) !important;
    padding-bottom:clamp(54px,6vh,72px) !important;
  }

  .sectors-title {
    font-size:clamp(36px,3.3vw,50px) !important;
  }

  .sectors-copy {
    margin-top:20px !important;
    margin-bottom:24px !important;
  }

  .sector-door {
    min-height:132px;
    padding-top:20px;
    padding-bottom:18px;
  }

  .sector-door__name {
    margin-top:20px;
    font-size:clamp(22px,1.75vw,28px);
  }
}

@media(max-width:980px) {
  .sectors-gateway {
    padding:72px 22px 68px !important;
  }

  .sectors-inner {
    grid-template-columns:1fr !important;
    gap:42px !important;
  }

  .sectors-title {
    max-width:680px !important;
  }

  .sector-grid {
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:680px) {
  .sector-grid {
    grid-template-columns:1fr !important;
  }

  .sector-door {
    min-height:130px;
  }
}


/* ==================== BUILD 29 — CANDIDATES REFINEMENT ==================== */
/* stronger image + clearer candidate opportunity entry points */

.candidate-visual {
  padding:clamp(76px,7.2vw,110px) var(--pad) clamp(62px,6vw,88px) !important;
}

.candidate-visual__stage {
  min-height:clamp(450px,39vw,620px) !important;
  background:#d8dbdc !important;
}

.candidate-visual__media {
  background:
    linear-gradient(90deg,rgba(7,10,13,.46) 0%,rgba(7,10,13,.20) 34%,rgba(7,10,13,.08) 66%,rgba(7,10,13,.16) 100%),
    linear-gradient(180deg,rgba(10,12,15,.02) 0%,rgba(10,12,15,.08) 55%,rgba(10,12,15,.34) 100%),
    url('/assets/candidate-next-move-02.webp') center 52% / cover no-repeat !important;
}

.candidate-visual__copy {
  max-width:760px !important;
}

.candidate-visual__title {
  max-width:720px !important;
}

.candidate-visual__sub {
  margin:18px 0 0;
  max-width:570px;
  color:rgba(255,255,255,.78);
  font:400 13px/1.65 var(--ui);
}

.candidate-visual__actions {
  margin-top:26px !important;
}

.candidate-opportunities {
  margin-top:28px;
  display:grid;
  grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);
  gap:clamp(28px,4vw,46px);
  align-items:start;
}

.candidate-opportunities__intro {
  padding-top:6px;
}

.candidate-opportunities__kicker {
  display:block;
  margin:0 0 14px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.candidate-opportunities__title {
  margin:0;
  max-width:360px;
  color:#181b1d;
  font-family:var(--editorial);
  font-size:clamp(31px,2.45vw,40px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.018em;
}

.candidate-opportunities__copy {
  margin:18px 0 0;
  max-width:380px;
  color:#5d6367;
  font:400 12px/1.7 var(--ui);
}

.candidate-opportunities__grid {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:14px;
  align-items:stretch;
}

.candidate-op-card {
  min-height:208px;
  padding:22px 20px 18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#fff;
  border:1px solid rgba(17,19,21,.10);
  color:#181b1d;
  transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease;
}

.candidate-op-card:hover {
  transform:translateY(-2px);
  border-color:rgba(208,0,4,.26);
  box-shadow:0 18px 36px rgba(13,16,19,.06);
}

.candidate-op-card--featured {
  background:linear-gradient(180deg,#ffffff 0%,#fcf6f6 100%);
  border-color:rgba(208,0,4,.20);
}

.candidate-op-card__eyebrow {
  display:block;
  color:#8d9296;
  font:500 8px/1 var(--ui);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.candidate-op-card__title {
  display:block;
  margin-top:18px;
  color:#17191b;
  font-family:var(--editorial);
  font-size:clamp(24px,1.7vw,30px);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.015em;
}

.candidate-op-card__copy {
  display:block;
  margin-top:12px;
  color:#63696d;
  font:400 11px/1.62 var(--ui);
}

.candidate-op-card__cta {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
  color:#1e2225;
  font:500 10px/1 var(--ui);
}

.candidate-op-card--featured .candidate-op-card__cta {
  color:var(--red);
}

.candidate-op-card__cta span:last-child {
  transition:transform .2s ease;
}

.candidate-op-card:hover .candidate-op-card__cta span:last-child {
  transform:translateX(4px);
}

@media (min-width:981px) and (max-height:780px) {
  .candidate-visual__stage {
    min-height:400px !important;
  }

  .candidate-opportunities {
    margin-top:22px;
    gap:26px;
  }

  .candidate-op-card {
    min-height:184px;
    padding:18px 17px 16px;
  }

  .candidate-op-card__title {
    font-size:clamp(22px,1.55vw,27px);
  }
}

@media(max-width:1200px) {
  .candidate-opportunities__grid {
    grid-template-columns:1fr 1fr;
  }

  .candidate-op-card--featured {
    grid-column:1 / -1;
  }
}

@media(max-width:980px) {
  .candidate-opportunities {
    grid-template-columns:1fr;
    gap:26px;
  }

  .candidate-opportunities__title,
  .candidate-opportunities__copy {
    max-width:none;
  }
}

@media(max-width:640px) {
  .candidate-visual__sub {
    font-size:12px;
  }

  .candidate-opportunities__grid {
    grid-template-columns:1fr;
  }

  .candidate-op-card--featured {
    grid-column:auto;
  }

  .candidate-op-card {
    min-height:188px;
  }
}


/* ==================== BUILD 30 — INSIGHTS + MODAL REFINEMENT ==================== */

/* Insights: less generic, more publication-like */
.insights-publication {
  padding-top:clamp(82px,7.8vw,120px) !important;
  padding-bottom:clamp(148px,11vw,188px) !important;
}

.insights-publication__head {
  align-items:flex-end !important;
  gap:44px !important;
}

.insights-publication__head-side {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:18px;
}

.insights-publication__tags {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.insights-publication__tags span {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border:1px solid rgba(17,19,21,.10);
  color:#666c70;
  font:500 8px/1 var(--ui);
  letter-spacing:.11em;
  text-transform:uppercase;
}

.insights-publication__layout {
  display:grid;
  grid-template-columns:minmax(0,1.36fr) minmax(340px,.64fr);
  gap:clamp(34px,5vw,70px);
  align-items:stretch;
}

.publication-feature {
  min-height:clamp(380px,32vw,500px) !important;
}

.publication-feature::before {
  background:
    linear-gradient(180deg,rgba(8,11,14,.05) 0%,rgba(8,11,14,.16) 48%,rgba(8,11,14,.76) 100%),
    url('/assets/hero-dark-03.webp') center 50% / cover no-repeat !important;
}

.publication-feature__content {
  left:clamp(28px,3.2vw,46px) !important;
  right:clamp(28px,3.2vw,46px) !important;
  bottom:clamp(26px,3.2vw,40px) !important;
}

.publication-feature__copy {
  display:block;
  max-width:560px;
  margin-top:14px;
  color:rgba(255,255,255,.76);
  font:400 12px/1.62 var(--ui);
}

.publication-feature__title {
  max-width:640px !important;
}

.insights-rail {
  display:grid;
  grid-template-rows:auto 1fr 1fr;
  gap:0;
  border-top:1px solid rgba(17,19,21,.14);
}

.insights-signal-board {
  padding:0 0 24px;
  border-bottom:1px solid rgba(17,19,21,.12);
}

.insights-signal-board__kicker {
  display:block;
  margin:0 0 18px;
  color:var(--red);
  font:500 8px/1 var(--ui);
  letter-spacing:.13em;
  text-transform:uppercase;
}

.insights-signal-row {
  padding:13px 0 14px;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:18px;
  border-top:1px solid rgba(17,19,21,.08);
}

.insights-signal-row strong {
  color:#17191b;
  font:500 11px/1.35 var(--ui);
}

.insights-signal-row span {
  color:#666c70;
  font:400 11px/1.52 var(--ui);
}

.publication-note {
  padding:24px 0 26px !important;
}

.publication-note__title {
  max-width:340px;
}

/* Employer on-page section: tighten language slightly */
.employer-conversation__aside-label {
  color:rgba(255,255,255,.44) !important;
}

.employer-conversation__open {
  min-height:54px !important;
}

/* Modal refinement */
.contact-modal__panel {
  width:min(860px,calc(100vw - 44px)) !important;
  min-height:470px !important;
  grid-template-columns:minmax(0,1.04fr) minmax(300px,.96fr) !important;
  box-shadow:0 34px 110px rgba(0,0,0,.36) !important;
}

.contact-modal__form-side {
  padding:clamp(30px,3vw,42px) !important;
}

.contact-modal__title {
  max-width:430px !important;
  font-size:clamp(32px,2.8vw,42px) !important;
}

.contact-modal__intro {
  max-width:450px !important;
  color:#62686d !important;
}

.contact-modal__journey {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 24px;
}

.contact-modal__journey span {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border:1px solid rgba(17,19,21,.10);
  color:#6a7075;
  font:500 8px/1 var(--ui);
  letter-spacing:.10em;
  text-transform:uppercase;
}

.modal-field textarea::placeholder {
  color:#a1a6aa;
}

.contact-modal__submit {
  margin-top:24px !important;
  min-height:46px;
}

.contact-modal__footnote {
  margin:13px 0 0;
  color:#80868b;
  font:400 10px/1.45 var(--ui);
}

.contact-modal__visual {
  min-height:470px !important;
  background:
    linear-gradient(180deg,rgba(7,10,13,.10),rgba(7,10,13,.58)),
    url('/assets/service-executive-search.webp') center / cover no-repeat !important;
}

.contact-modal__visual-copy {
  left:28px !important;
  right:28px !important;
  bottom:28px !important;
}

.contact-modal__visual-kicker {
  display:block;
  margin-bottom:12px;
  color:rgba(255,255,255,.60);
  font:500 8px/1 var(--ui);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.contact-modal__visual-copy strong {
  display:block;
  max-width:320px;
  font-size:28px !important;
  line-height:1.08;
}

.contact-modal__benefits {
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.contact-modal__benefits li {
  position:relative;
  padding-left:16px;
  color:rgba(255,255,255,.70);
  font:400 11px/1.45 var(--ui);
}

.contact-modal__benefits li::before {
  content:"";
  position:absolute;
  left:0;
  top:.48em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--red);
}

@media(max-width:980px) {
  .insights-publication__head {
    align-items:flex-start !important;
  }

  .insights-publication__head-side {
    align-items:flex-start;
  }

  .insights-publication__tags {
    justify-content:flex-start;
  }

  .insights-publication__layout {
    grid-template-columns:1fr;
  }

  .insights-rail {
    grid-template-rows:auto auto auto;
  }

  .contact-modal__panel {
    grid-template-columns:1fr !important;
  }

  .contact-modal__visual {
    min-height:220px !important;
    order:-1;
  }
}

@media(max-width:600px) {
  .insights-signal-row {
    grid-template-columns:1fr;
    gap:7px;
  }

  .contact-modal__journey {
    gap:6px;
  }

  .contact-modal__journey span {
    min-height:26px;
    padding:0 10px;
  }
}


/* ==================== BUILD 31 — CANDIDATE-LEVEL QUALITY PASS ==================== */

/* ---------- Services: cinematic navigator ---------- */
.services-premium {
  position:relative;
  background:#f3f3ef;
  color:#151719;
  padding:clamp(112px,10vw,158px) var(--pad) clamp(94px,8.5vw,132px);
}

.services-premium__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
}

.services-premium__head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);
  gap:clamp(48px,8vw,118px);
  align-items:end;
  margin-bottom:clamp(42px,4.7vw,66px);
}

.services-premium__kicker {
  margin:0 0 15px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.services-premium__title {
  margin:0;
  max-width:760px;
  font-family:var(--editorial);
  font-size:clamp(38px,3.55vw,56px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.024em;
}

.services-premium__aside {
  justify-self:end;
  max-width:350px;
  color:#5c6267;
  font:400 12px/1.65 var(--ui);
}

.services-premium__aside p {
  margin:0 0 20px;
}

.services-premium__aside a {
  display:inline-flex;
  gap:15px;
  align-items:center;
  padding-bottom:6px;
  border-bottom:1px solid #303438;
  color:#303438;
  font:500 10px/1 var(--ui);
}

.service-filmstrip {
  display:flex;
  gap:10px;
  min-height:clamp(410px,34vw,540px);
}

.service-film {
  position:relative;
  flex:1 1 0;
  min-width:0;
  overflow:hidden;
  color:#fff;
  background:#161a1d;
  transition:flex .72s cubic-bezier(.2,.8,.2,1),transform .25s ease;
}

.service-film.active {
  flex:1.75 1 0;
}

.service-film:hover {
  transform:translateY(-2px);
}

.service-film__image {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.025);
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .55s ease;
  filter:saturate(.78) contrast(1.02);
}

.service-film.active .service-film__image,
.service-film:hover .service-film__image {
  transform:scale(1.055);
  filter:saturate(.92) contrast(1.04);
}

.service-film__image--executive {
  background-image:url('/assets/executive-team-pexels-7433919.jpg');
  background-position:48% 42%;
}
.service-film__image--recruitment {
  background-image:url('/assets/service-recruitment.webp');
  background-position:center 42%;
}
.service-film__image--market {
  background-image:url('/assets/service-market-entry.webp');
  background-position:center 48%;
}
.service-film__image--career {
  background-image:url('/assets/career-conversation-pexels-12903288.jpg');
  background-position:48% 35%;
}

.service-film__shade {
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(7,10,13,.08),rgba(7,10,13,.17) 45%,rgba(7,10,13,.78) 100%),
    linear-gradient(90deg,rgba(7,10,13,.22),transparent 70%);
}

.service-film__content {
  position:absolute;
  z-index:2;
  left:clamp(18px,2vw,28px);
  right:clamp(18px,2vw,28px);
  bottom:clamp(20px,2.2vw,30px);
}

.service-film__eyebrow {
  display:block;
  margin-bottom:11px;
  color:rgba(255,255,255,.64);
  font:500 8px/1 var(--ui);
  letter-spacing:.13em;
  text-transform:uppercase;
}

.service-film h3 {
  margin:0;
  max-width:420px;
  font-family:var(--editorial);
  font-size:clamp(25px,2.25vw,36px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.018em;
}

.service-film p {
  max-width:460px;
  margin:13px 0 0;
  color:rgba(255,255,255,.72);
  font:400 11px/1.58 var(--ui);
  opacity:0;
  max-height:0;
  overflow:hidden;
  transform:translateY(7px);
  transition:opacity .35s ease,max-height .45s ease,transform .45s ease;
}

.service-film__cta {
  display:inline-flex;
  align-items:center;
  gap:11px;
  margin-top:15px;
  color:#fff;
  font:500 10px/1 var(--ui);
  opacity:.62;
}

.service-film.active p,
.service-film:hover p {
  opacity:1;
  max-height:100px;
  transform:none;
}

.service-film.active .service-film__cta,
.service-film:hover .service-film__cta {
  opacity:1;
}

/* ---------- Insights: cover-story / magazine treatment ---------- */
.insights-cover {
  position:relative;
  background:#ecece8;
  color:#151719;
  padding:clamp(88px,8vw,124px) var(--pad) clamp(150px,11vw,188px);
}

.insights-cover__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
}

.insights-cover__masthead {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:42px;
  margin-bottom:clamp(42px,4.7vw,64px);
}

.insights-cover__kicker {
  margin:0 0 15px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.insights-cover__title {
  margin:0;
  max-width:860px;
  font-family:var(--editorial);
  font-size:clamp(38px,3.55vw,56px);
  line-height:1.01;
  font-weight:400;
  letter-spacing:-.025em;
}

.insights-cover__all {
  display:inline-flex;
  align-items:center;
  gap:15px;
  padding-bottom:6px;
  border-bottom:1px solid #303438;
  color:#303438;
  font:500 10px/1 var(--ui);
  white-space:nowrap;
}

.insights-cover__layout {
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(340px,.58fr);
  gap:clamp(36px,5vw,72px);
}

.insight-cover-story {
  position:relative;
  min-height:clamp(390px,33vw,520px);
  overflow:hidden;
  background:#15191d;
  color:#fff;
}

.insight-cover-story__image {
  position:absolute;
  inset:0;
  background:url('/assets/hero-dark-03.webp') center 50% / cover no-repeat;
  transform:scale(1.015);
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1);
}

.insight-cover-story:hover .insight-cover-story__image {
  transform:scale(1.04);
}

.insight-cover-story__overlay {
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,11,14,.10) 0%,rgba(8,11,14,.05) 38%,rgba(8,11,14,.78) 100%),
    linear-gradient(90deg,rgba(8,11,14,.22),transparent 58%);
}

.insight-cover-story__top {
  position:absolute;
  z-index:2;
  left:clamp(24px,3vw,40px);
  right:clamp(24px,3vw,40px);
  top:clamp(22px,2.5vw,34px);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:rgba(255,255,255,.56);
  font:500 8px/1 var(--ui);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.insight-cover-story__bottom {
  position:absolute;
  z-index:2;
  left:clamp(24px,3vw,42px);
  right:clamp(24px,3vw,42px);
  bottom:clamp(24px,3vw,40px);
}

.insight-cover-story__bottom h3 {
  margin:0;
  max-width:650px;
  font-family:var(--editorial);
  font-size:clamp(31px,3vw,46px);
  line-height:1.03;
  font-weight:400;
  letter-spacing:-.021em;
}

.insight-cover-story__bottom p {
  max-width:580px;
  margin:14px 0 0;
  color:rgba(255,255,255,.72);
  font:400 11px/1.62 var(--ui);
}

.insight-cover-story__cta {
  display:inline-flex;
  gap:12px;
  align-items:center;
  margin-top:19px;
  color:#fff;
  font:500 10px/1 var(--ui);
}

.insight-edition {
  border-top:1px solid rgba(17,19,21,.15);
}

.insight-edition__head {
  min-height:46px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  color:#94999d;
  font:500 8px/1 var(--ui);
  letter-spacing:.11em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(17,19,21,.10);
}

.insight-edition__story {
  display:block;
  padding:24px 0 25px;
  border-bottom:1px solid rgba(17,19,21,.11);
  color:#17191b;
}

.insight-edition__type {
  display:block;
  margin-bottom:12px;
  color:#8f9498;
  font:500 8px/1 var(--ui);
  letter-spacing:.11em;
  text-transform:uppercase;
}

.insight-edition__story strong {
  display:block;
  max-width:380px;
  font-family:var(--editorial);
  font-size:clamp(23px,1.85vw,30px);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.015em;
  transition:color .22s ease;
}

.insight-edition__foot {
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-top:14px;
  color:#6d7377;
  font:400 10px/1.3 var(--ui);
}

.insight-edition__story:hover strong,
.insight-edition__story:hover .insight-edition__foot span:last-child {
  color:var(--red);
}

.insight-edition__story--signal {
  background:linear-gradient(90deg,rgba(208,0,4,.035),transparent 70%);
  padding-left:14px;
  padding-right:8px;
}

/* ---------- Employer: cinematic closing scene ---------- */
.employer-cinematic {
  position:relative;
  min-height:clamp(520px,50vw,720px);
  overflow:hidden;
  color:#fff;
  background:#121518;
  padding:0 !important;
}

.employer-cinematic__media {
  position:absolute;
  inset:0;
  background:url('/assets/hero-dark-04.webp') center 52% / cover no-repeat;
  transform:scale(1.018);
}

.employer-cinematic__shade {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(7,10,13,.72) 0%,rgba(7,10,13,.36) 46%,rgba(7,10,13,.16) 76%,rgba(7,10,13,.30) 100%),
    linear-gradient(180deg,rgba(7,10,13,.08),rgba(7,10,13,.20) 65%,rgba(7,10,13,.50));
}

.employer-cinematic__inner {
  position:relative;
  z-index:2;
  width:min(var(--content-max),calc(100% - (var(--pad) * 2)));
  min-height:inherit;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,.34fr);
  gap:clamp(60px,8vw,120px);
  align-items:end;
  padding:clamp(80px,8vw,124px) 0 clamp(62px,6vw,92px);
}

.employer-cinematic__copy {
  max-width:880px;
}

.employer-cinematic__kicker {
  margin:0 0 16px;
  color:rgba(255,255,255,.64);
  font:500 9px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.employer-cinematic__title {
  margin:0;
  max-width:820px;
  font-family:var(--editorial);
  font-size:clamp(44px,4.45vw,68px);
  line-height:.99;
  font-weight:400;
  letter-spacing:-.028em;
  text-shadow:0 2px 22px rgba(0,0,0,.18);
}

.employer-cinematic__sub {
  max-width:620px;
  margin:22px 0 0;
  color:rgba(255,255,255,.68);
  font:400 12px/1.68 var(--ui);
}

.employer-cinematic__action {
  align-self:end;
  padding-bottom:4px;
}

.employer-cinematic__note {
  display:block;
  margin-bottom:16px;
  color:rgba(255,255,255,.45);
  font:500 8px/1.4 var(--ui);
  letter-spacing:.11em;
  text-transform:uppercase;
}

.employer-cinematic__open {
  width:100%;
  min-height:54px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(10,13,16,.14);
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  cursor:pointer;
  font:500 11px/1 var(--ui);
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}

.employer-cinematic__open:hover {
  transform:translateY(-1px);
  border-color:var(--red);
  background:var(--red);
}

/* Modal simplified and more high-trust */
.contact-modal__panel {
  width:min(840px,calc(100vw - 44px)) !important;
  grid-template-columns:minmax(0,1.05fr) minmax(290px,.95fr) !important;
}

.contact-modal__journey {
  display:none !important;
}

.contact-modal__visual {
  min-height:460px !important;
  background:
    linear-gradient(180deg,rgba(7,10,13,.08),rgba(7,10,13,.58)),
    url('/assets/service-executive-search.webp') center / cover no-repeat !important;
}

.contact-modal__visual-copy p {
  margin:14px 0 0;
  color:rgba(255,255,255,.64);
  font:400 10px/1.5 var(--ui);
}

.contact-modal__visual-copy strong {
  max-width:300px;
  display:block;
  line-height:1.08;
}

.contact-modal__footnote {
  margin:12px 0 0;
  color:#80868b;
  font:400 9px/1.45 var(--ui);
}

/* Responsive */
@media(max-width:1100px) {
  .service-filmstrip {
    min-height:460px;
  }

  .services-premium__head,
  .insights-cover__masthead {
    grid-template-columns:1fr;
  }

  .insights-cover__layout {
    grid-template-columns:1fr;
  }

  .employer-cinematic__inner {
    grid-template-columns:1fr;
    align-content:end;
  }

  .employer-cinematic__action {
    max-width:420px;
  }
}

@media(max-width:820px) {
  .services-premium {
    padding:78px 22px 70px;
  }

  .services-premium__head {
    grid-template-columns:1fr;
    gap:22px;
  }

  .services-premium__aside {
    justify-self:start;
  }

  .service-filmstrip {
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:0;
  }

  .service-film,
  .service-film.active {
    min-height:340px;
    flex:auto;
  }

  .service-film p {
    opacity:1;
    max-height:100px;
    transform:none;
  }

  .insights-cover {
    padding:72px 22px 132px;
  }

  .insights-cover__masthead {
    align-items:flex-start;
    flex-direction:column;
  }

  .employer-cinematic__inner {
    width:calc(100% - 44px);
  }

  .contact-modal__panel {
    grid-template-columns:1fr !important;
  }

  .contact-modal__visual {
    min-height:210px !important;
    order:-1;
  }
}

@media(max-width:560px) {
  .service-filmstrip {
    grid-template-columns:1fr;
  }

  .service-film,
  .service-film.active {
    min-height:380px;
  }

  .employer-cinematic {
    min-height:620px;
  }
}


/* ==================== BUILD 32 — SECTORS COMPOSITION REBUILD ==================== */
/* Bring Sectors closer to the Candidates / Services premium rhythm:
   - intro above, not split on the left
   - true 4 × 2 grid
   - cards, not a heavy table block
*/

.sectors-gateway {
  padding:clamp(92px,8.3vw,128px) var(--pad) clamp(92px,8.2vw,122px) !important;
  background:#121518 !important;
}

.sectors-geometry {
  display:none !important;
}

.sectors-inner {
  width:min(var(--content-max),100%) !important;
  margin:0 auto !important;
  display:block !important;
}

.sectors-intro {
  max-width:760px !important;
  margin:0 0 clamp(34px,4vw,52px) !important;
  padding-top:0 !important;
}

.sectors-kicker {
  margin:0 0 16px !important;
}

.sectors-title {
  max-width:700px !important;
  font-size:clamp(38px,3.45vw,54px) !important;
  line-height:1.02 !important;
}

.sectors-copy {
  max-width:620px !important;
  margin:22px 0 28px !important;
  color:rgba(255,255,255,.64) !important;
  font:400 12px/1.68 var(--ui) !important;
}

.sectors-all {
  gap:16px !important;
  font-size:11px !important;
}

.sector-grid {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  border:0 !important;
  width:100% !important;
}

.sector-door {
  min-height:176px !important;
  padding:22px 22px 18px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.026) !important;
  transition:
    background .25s ease,
    border-color .25s ease,
    transform .25s ease,
    box-shadow .25s ease !important;
}

.sector-door::before {
  width:100% !important;
  height:2px !important;
  left:0 !important;
  top:auto !important;
  bottom:0 !important;
  transform:scaleX(0) !important;
  transform-origin:left !important;
}

.sector-door:hover,
.sector-door:focus-visible {
  background:rgba(255,255,255,.045) !important;
  border-color:rgba(208,0,4,.22) !important;
  transform:translateY(-2px) !important;
  box-shadow:0 18px 34px rgba(0,0,0,.18) !important;
}

.sector-door:hover::before,
.sector-door:focus-visible::before {
  transform:scaleX(1) !important;
}

.sector-door__top {
  align-items:center !important;
}

.sector-door__num {
  color:rgba(255,255,255,.34) !important;
}

.sector-door__arrow {
  font-size:15px !important;
  color:rgba(255,255,255,.28) !important;
}

.sector-door:hover .sector-door__arrow,
.sector-door:focus-visible .sector-door__arrow {
  transform:translateX(4px) !important;
}

.sector-door__name {
  margin-top:20px !important;
  max-width:none !important;
  font-size:clamp(21px,1.65vw,28px) !important;
  line-height:1.06 !important;
}

.sector-door__meta {
  max-width:none !important;
  margin-top:10px !important;
  color:rgba(255,255,255,.46) !important;
  font:400 10px/1.45 var(--ui) !important;
  opacity:.8 !important;
  transform:none !important;
}

.sector-door:hover .sector-door__meta,
.sector-door:focus-visible .sector-door__meta {
  color:rgba(255,255,255,.70) !important;
}

@media (min-width:981px) and (max-height:780px) {
  .sectors-gateway {
    padding-top:74px !important;
    padding-bottom:76px !important;
  }

  .sectors-intro {
    margin-bottom:28px !important;
  }

  .sector-grid {
    gap:8px !important;
  }

  .sector-door {
    min-height:154px !important;
    padding:18px 18px 15px !important;
  }

  .sector-door__name {
    margin-top:17px !important;
    font-size:clamp(20px,1.45vw,25px) !important;
  }
}

@media(max-width:1200px) {
  .sector-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px) {
  .sectors-gateway {
    padding:72px 22px 70px !important;
  }

  .sectors-intro {
    max-width:none !important;
    margin-bottom:26px !important;
  }

  .sectors-title {
    max-width:none !important;
    font-size:clamp(34px,7.8vw,44px) !important;
  }

  .sectors-copy {
    max-width:none !important;
    font-size:12px !important;
  }

  .sector-grid {
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .sector-door {
    min-height:142px !important;
  }
}


/* ==================== BUILD 33 — SECTORS AT SERVICES / CANDIDATES LEVEL ==================== */
.sectors-showcase {
  position:relative;
  background:#121518;
  color:#fff;
  padding:clamp(92px,8.5vw,132px) var(--pad) clamp(88px,8vw,122px);
}

.sectors-showcase__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
}

.sectors-showcase__head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);
  gap:clamp(44px,7vw,108px);
  align-items:end;
  margin-bottom:clamp(38px,4vw,58px);
}

.sectors-showcase__kicker {
  margin:0 0 15px;
  color:var(--red);
  font:500 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.sectors-showcase__title {
  margin:0;
  max-width:760px;
  font-family:var(--editorial);
  font-size:clamp(38px,3.55vw,56px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.024em;
}

.sectors-showcase__intro {
  margin:0;
  justify-self:end;
  max-width:360px;
  color:rgba(255,255,255,.60);
  font:400 12px/1.65 var(--ui);
}

.sector-showcase {
  width:100%;
}

.sector-showcase__media {
  position:relative;
  width:100%;
  aspect-ratio:16 / 7.2;
  min-height:430px;
  overflow:hidden;
  background:#1a1d20;
}

.sector-showcase__image {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.025);
  transition:
    opacity .65s ease,
    transform 1.25s cubic-bezier(.2,.8,.2,1);
}

.sector-showcase__image.active {
  opacity:1;
  transform:scale(1);
}

.sector-showcase__shade {
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg,rgba(7,10,13,.04) 0%,rgba(7,10,13,.10) 46%,rgba(7,10,13,.68) 100%),
    linear-gradient(90deg,rgba(7,10,13,.30),transparent 32%,transparent 74%,rgba(7,10,13,.12));
}

.sector-showcase__caption {
  position:absolute;
  z-index:3;
  left:clamp(24px,3vw,42px);
  right:clamp(24px,3vw,42px);
  bottom:clamp(22px,2.7vw,36px);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
}

.sector-showcase__count {
  align-self:start;
  margin-top:8px;
  color:var(--red);
  font:500 9px/1 var(--ui);
  letter-spacing:.12em;
}

.sector-showcase__name {
  margin:0;
  max-width:760px;
  font-family:var(--editorial);
  font-size:clamp(30px,2.9vw,44px);
  line-height:1.03;
  font-weight:400;
  letter-spacing:-.02em;
  color:#fff;
  text-shadow:0 2px 22px rgba(0,0,0,.18);
}

.sector-showcase__meta {
  margin:10px 0 0;
  color:rgba(255,255,255,.72);
  font:400 11px/1.5 var(--ui);
}

.sector-showcase__link {
  display:inline-flex;
  align-items:center;
  gap:13px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.58);
  color:#fff;
  font:500 10px/1 var(--ui);
  white-space:nowrap;
}

.sector-selector-grid {
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.12);
  border-left:1px solid rgba(255,255,255,.12);
}

.sector-selector {
  min-height:72px;
  padding:0 16px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 18px;
  gap:10px;
  align-items:center;
  border:0;
  border-right:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  background:transparent;
  color:rgba(255,255,255,.48);
  text-align:left;
  cursor:pointer;
  transition:
    background .22s ease,
    color .22s ease;
}

.sector-selector:hover,
.sector-selector:focus-visible,
.sector-selector.active {
  color:#fff;
  background:rgba(255,255,255,.035);
}

.sector-selector.active {
  box-shadow:inset 0 -2px 0 var(--red);
}

.sector-selector__num {
  color:rgba(255,255,255,.28);
  font:500 8px/1 var(--ui);
}

.sector-selector.active .sector-selector__num {
  color:var(--red);
}

.sector-selector__name {
  font:500 11px/1.28 var(--ui);
}

.sector-selector__arrow {
  justify-self:end;
  color:rgba(255,255,255,.26);
  transition:transform .2s ease,color .2s ease;
}

.sector-selector:hover .sector-selector__arrow,
.sector-selector.active .sector-selector__arrow {
  color:var(--red);
  transform:translateX(3px);
}

.sectors-showcase__foot {
  display:flex;
  justify-content:flex-end;
  margin-top:28px;
}

.sectors-showcase__all {
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.46);
  color:#fff;
  font:500 10px/1 var(--ui);
}

@media (min-width:981px) and (max-height:780px) {
  .sectors-showcase {
    padding-top:74px;
    padding-bottom:72px;
  }

  .sectors-showcase__head {
    margin-bottom:30px;
  }

  .sectors-showcase__title {
    font-size:clamp(34px,3.1vw,48px);
  }

  .sector-showcase__media {
    min-height:360px;
  }

  .sector-selector {
    min-height:60px;
  }
}

@media(max-width:1100px) {
  .sector-selector-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:820px) {
  .sectors-showcase {
    padding:72px 22px 68px;
  }

  .sectors-showcase__head {
    grid-template-columns:1fr;
    gap:20px;
  }

  .sectors-showcase__intro {
    justify-self:start;
    max-width:560px;
  }

  .sector-showcase__media {
    aspect-ratio:4 / 3;
    min-height:420px;
  }

  .sector-showcase__caption {
    grid-template-columns:1fr;
    gap:10px;
  }

  .sector-showcase__count {
    margin:0;
  }

  .sector-showcase__link {
    justify-self:start;
  }
}

@media(max-width:560px) {
  .sector-selector-grid {
    grid-template-columns:1fr;
  }

  .sector-selector {
    min-height:62px;
  }

  .sector-showcase__media {
    min-height:460px;
  }
}


/* ==================== BUILD 34 — SECTORS PREMIUM RESET ==================== */
/* Candidate-style spatial discipline:
   - light page background
   - inset cinematic frame
   - heading on image
   - compact sector selector directly below
*/

.sectors-premium {
  position:relative;
  background:#f7f7f4;
  color:#151719;
  padding:clamp(76px,7vw,106px) var(--pad) clamp(66px,6vw,88px);
}

.sectors-premium__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
}

.sector-frame {
  width:100%;
}

.sector-frame__media {
  position:relative;
  width:100%;
  min-height:clamp(390px,34vw,520px);
  overflow:hidden;
  background:#1a1d20;
}

.sector-frame__image {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.025);
  transition:
    opacity .65s ease,
    transform 1.25s cubic-bezier(.2,.8,.2,1);
}

.sector-frame__image.active {
  opacity:1;
  transform:scale(1);
}

.sector-frame__veil {
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,10,13,.58) 0%,rgba(7,10,13,.30) 32%,rgba(7,10,13,.10) 68%,rgba(7,10,13,.12) 100%),
    linear-gradient(180deg,rgba(7,10,13,.08) 0%,rgba(7,10,13,.05) 52%,rgba(7,10,13,.45) 100%);
}

.sector-frame__content {
  position:absolute;
  z-index:3;
  inset:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto 1fr auto;
  column-gap:38px;
  padding:clamp(28px,3.2vw,46px);
  color:#fff;
}

.sector-frame__kicker {
  grid-column:1;
  grid-row:1;
  margin:0 0 12px;
  color:var(--red);
  font:500 9px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.sector-frame__heading {
  grid-column:1;
  grid-row:1;
  align-self:start;
  margin:24px 0 0;
  max-width:720px;
  font-family:var(--editorial);
  font-size:clamp(39px,3.9vw,61px);
  line-height:1.01;
  font-weight:400;
  letter-spacing:-.026em;
  color:#fff;
  text-shadow:0 2px 20px rgba(0,0,0,.16);
}

.sector-frame__active {
  grid-column:1;
  grid-row:3;
  align-self:end;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:end;
  max-width:850px;
}

.sector-frame__count {
  align-self:start;
  padding-top:6px;
  color:var(--red);
  font:500 9px/1 var(--ui);
  letter-spacing:.12em;
}

.sector-frame__name {
  margin:0;
  max-width:700px;
  font-family:var(--editorial);
  font-size:clamp(28px,2.6vw,40px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.019em;
  color:#fff;
}

.sector-frame__meta {
  margin:8px 0 0;
  color:rgba(255,255,255,.72);
  font:400 11px/1.52 var(--ui);
}

.sector-frame__link {
  grid-column:2;
  grid-row:3;
  align-self:end;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:13px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.58);
  color:#fff;
  font:500 10px/1 var(--ui);
  white-space:nowrap;
}

.sector-tile-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-left:1px solid rgba(17,19,21,.10);
  border-top:1px solid rgba(17,19,21,.10);
  background:#fff;
}

.sector-tile {
  min-height:70px;
  padding:0 15px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 16px;
  gap:9px;
  align-items:center;
  border:0;
  border-right:1px solid rgba(17,19,21,.10);
  border-bottom:1px solid rgba(17,19,21,.10);
  background:#fff;
  color:#5f6569;
  text-align:left;
  cursor:pointer;
  transition:
    background .22s ease,
    color .22s ease,
    box-shadow .22s ease;
}

.sector-tile:hover,
.sector-tile:focus-visible,
.sector-tile.active {
  color:#17191b;
  background:#f2f2ee;
}

.sector-tile.active {
  box-shadow:inset 0 -2px 0 var(--red);
}

.sector-tile__num {
  color:#a0a5a8;
  font:500 8px/1 var(--ui);
}

.sector-tile.active .sector-tile__num {
  color:var(--red);
}

.sector-tile__name {
  font:500 10.5px/1.28 var(--ui);
}

.sector-tile__arrow {
  justify-self:end;
  color:#a5aaad;
  transition:color .2s ease,transform .2s ease;
}

.sector-tile:hover .sector-tile__arrow,
.sector-tile.active .sector-tile__arrow {
  color:var(--red);
  transform:translateX(3px);
}

.sectors-premium__foot {
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
}

.sectors-premium__all {
  display:inline-flex;
  align-items:center;
  gap:15px;
  padding-bottom:6px;
  border-bottom:1px solid #34383b;
  color:#34383b;
  font:500 10px/1 var(--ui);
}

@media (min-width:981px) and (max-height:780px) {
  .sectors-premium {
    padding-top:64px;
    padding-bottom:60px;
  }

  .sector-frame__media {
    min-height:350px;
  }

  .sector-frame__heading {
    font-size:clamp(34px,3.25vw,48px);
  }

  .sector-frame__name {
    font-size:clamp(25px,2.2vw,34px);
  }

  .sector-tile {
    min-height:58px;
  }
}

@media(max-width:1100px) {
  .sector-tile-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:820px) {
  .sectors-premium {
    padding:68px 22px 62px;
  }

  .sector-frame__media {
    min-height:450px;
  }

  .sector-frame__content {
    grid-template-columns:1fr;
    grid-template-rows:auto 1fr auto auto;
    padding:24px;
  }

  .sector-frame__kicker,
  .sector-frame__heading,
  .sector-frame__active,
  .sector-frame__link {
    grid-column:1;
  }

  .sector-frame__kicker,
  .sector-frame__heading {
    grid-row:1;
  }

  .sector-frame__active {
    grid-row:3;
  }

  .sector-frame__link {
    grid-row:4;
    justify-self:start;
    margin-top:16px;
  }

  .sector-frame__heading {
    margin-top:22px;
    max-width:600px;
    font-size:clamp(36px,7vw,50px);
  }
}

@media(max-width:560px) {
  .sector-tile-grid {
    grid-template-columns:1fr;
  }

  .sector-tile {
    min-height:58px;
  }

  .sector-frame__media {
    min-height:500px;
  }
}


/* ==================== BUILD 36 — MARKET INTELLIGENCE PREMIUM ==================== */
/* Same quality benchmark as Services, Candidates and Sectors:
   one contained visual idea, one clear active story, compact selectors below. */

.intelligence-premium {
  position:relative;
  background:#efefeb;
  color:#151719;
  padding:clamp(78px,7.2vw,108px) var(--pad) clamp(72px,6.4vw,96px);
}

.intelligence-premium__inner {
  width:min(var(--content-max),100%);
  margin:0 auto;
}

.intel-frame {
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.52fr) minmax(340px,.48fr);
  min-height:clamp(410px,34vw,520px);
  background:#171a1d;
  overflow:hidden;
}

.intel-frame__visual {
  position:relative;
  min-width:0;
  overflow:hidden;
  background:#171a1d;
}

.intel-frame__image {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.025);
  transition:
    opacity .65s ease,
    transform 1.2s cubic-bezier(.2,.8,.2,1);
}

.intel-frame__image.active {
  opacity:1;
  transform:scale(1);
}

.intel-frame__shade {
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(7,10,13,.58) 0%,rgba(7,10,13,.24) 44%,rgba(7,10,13,.08) 78%,rgba(7,10,13,.12) 100%),
    linear-gradient(180deg,rgba(7,10,13,.06),rgba(7,10,13,.08) 48%,rgba(7,10,13,.42) 100%);
}

.intel-frame__visual-copy {
  position:absolute;
  z-index:3;
  left:clamp(28px,3.2vw,46px);
  right:clamp(28px,3.2vw,46px);
  bottom:clamp(28px,3.2vw,42px);
  max-width:760px;
  color:#fff;
}

.intel-frame__kicker {
  margin:0 0 14px;
  color:var(--red);
  font:500 9px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.intel-frame__heading {
  margin:0;
  max-width:720px;
  font-family:var(--editorial);
  font-size:clamp(40px,4vw,62px);
  line-height:1.01;
  font-weight:400;
  letter-spacing:-.027em;
  color:#fff;
  text-shadow:0 2px 20px rgba(0,0,0,.16);
}

.intel-frame__strap {
  margin:18px 0 0;
  max-width:600px;
  color:rgba(255,255,255,.76);
  font:400 12px/1.68 var(--ui);
}

.intel-frame__edition {
  display:grid;
  grid-template-rows:auto 1fr auto;
  padding:clamp(28px,3vw,42px);
  background:#f8f8f5;
  border-left:1px solid rgba(17,19,21,.08);
}

.intel-edition__top {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding-bottom:18px;
  border-bottom:1px solid rgba(17,19,21,.11);
}

.intel-edition__issue,
.intel-edition__type {
  font:500 8px/1 var(--ui);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.intel-edition__issue {
  color:var(--red);
}

.intel-edition__type {
  color:#8a9094;
}

.intel-edition__body {
  align-self:center;
  padding:28px 0;
}

.intel-edition__title {
  margin:0;
  font-family:var(--editorial);
  font-size:clamp(31px,2.65vw,42px);
  line-height:1.03;
  font-weight:400;
  letter-spacing:-.02em;
  color:#17191b;
}

.intel-edition__summary {
  margin:18px 0 0;
  color:#60666b;
  font:400 12px/1.68 var(--ui);
}

.intel-edition__foot {
  padding-top:18px;
  border-top:1px solid rgba(17,19,21,.11);
}

.intel-edition__meta {
  display:block;
  margin-bottom:16px;
  color:#8b9094;
  font:400 9px/1.4 var(--ui);
}

.intel-edition__cta {
  display:inline-flex;
  align-items:center;
  gap:13px;
  padding-bottom:6px;
  border-bottom:1px solid #2e3336;
  color:#25292c;
  font:500 10px/1 var(--ui);
}

.intel-shelf {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-left:1px solid rgba(17,19,21,.10);
  border-top:1px solid rgba(17,19,21,.10);
  background:#fff;
}

.intel-shelf__item {
  min-height:92px;
  padding:16px 15px 15px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 16px;
  gap:10px;
  align-items:start;
  border:0;
  border-right:1px solid rgba(17,19,21,.10);
  border-bottom:1px solid rgba(17,19,21,.10);
  background:#fff;
  color:#5d6367;
  text-align:left;
  cursor:pointer;
  transition:
    background .22s ease,
    color .22s ease,
    box-shadow .22s ease;
}

.intel-shelf__item:hover,
.intel-shelf__item:focus-visible,
.intel-shelf__item.active {
  color:#17191b;
  background:#f2f2ee;
}

.intel-shelf__item.active {
  box-shadow:inset 0 -2px 0 var(--red);
}

.intel-shelf__num {
  color:#a0a5a8;
  font:500 8px/1 var(--ui);
  padding-top:2px;
}

.intel-shelf__item.active .intel-shelf__num {
  color:var(--red);
}

.intel-shelf__content {
  min-width:0;
}

.intel-shelf__type {
  display:block;
  margin-bottom:7px;
  color:#8f9498;
  font:500 8px/1 var(--ui);
  letter-spacing:.10em;
  text-transform:uppercase;
}

.intel-shelf__content strong {
  display:block;
  color:inherit;
  font:500 10.5px/1.35 var(--ui);
}

.intel-shelf__arrow {
  justify-self:end;
  color:#a4a9ac;
  transition:color .2s ease,transform .2s ease;
}

.intel-shelf__item:hover .intel-shelf__arrow,
.intel-shelf__item.active .intel-shelf__arrow {
  color:var(--red);
  transform:translateX(3px);
}

.intelligence-premium__foot {
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
}

.intelligence-premium__all {
  display:inline-flex;
  align-items:center;
  gap:15px;
  padding-bottom:6px;
  border-bottom:1px solid #34383b;
  color:#34383b;
  font:500 10px/1 var(--ui);
}

@media (min-width:981px) and (max-height:780px) {
  .intelligence-premium {
    padding-top:64px;
    padding-bottom:64px;
  }

  .intel-frame {
    min-height:360px;
  }

  .intel-frame__heading {
    font-size:clamp(34px,3.3vw,50px);
  }

  .intel-edition__title {
    font-size:clamp(28px,2.35vw,36px);
  }

  .intel-shelf__item {
    min-height:78px;
    padding-top:13px;
    padding-bottom:12px;
  }
}

@media(max-width:1100px) {
  .intel-frame {
    grid-template-columns:1fr;
  }

  .intel-frame__visual {
    min-height:420px;
  }

  .intel-frame__edition {
    border-left:0;
    border-top:1px solid rgba(17,19,21,.08);
  }

  .intel-shelf {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:820px) {
  .intelligence-premium {
    padding:68px 22px 64px;
  }

  .intel-frame__visual {
    min-height:460px;
  }

  .intel-frame__visual-copy {
    left:24px;
    right:24px;
    bottom:24px;
  }

  .intel-frame__heading {
    font-size:clamp(36px,7vw,50px);
  }

  .intel-frame__edition {
    padding:26px 24px;
  }
}

@media(max-width:560px) {
  .intel-shelf {
    grid-template-columns:1fr;
  }

  .intel-shelf__item {
    min-height:76px;
  }

  .intel-frame__visual {
    min-height:500px;
  }
}


/* ==================== BUILD 37 — LIGHT SECTION BRIDGES ==================== */
/* Replaces the dark placeholder bands between:
   1) Services → Sectors
   2) Sectors → Candidates
   with lighter editorial transition pieces. */

.section-bridge {
  position:relative;
  background:linear-gradient(180deg,#f6f6f3 0%,#f0f0ec 100%);
  color:#16181a;
  padding:clamp(26px,2.8vw,40px) var(--pad);
  border-top:1px solid rgba(17,19,21,.05);
  border-bottom:1px solid rgba(17,19,21,.05);
  overflow:hidden;
}

.section-bridge::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.0) 0%,rgba(255,255,255,.35) 50%,rgba(255,255,255,0) 100%);
  opacity:.5;
}

.section-bridge__inner {
  position:relative;
  z-index:1;
  width:min(var(--content-max),100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,420px);
  gap:34px;
  align-items:end;
}

.section-bridge__lead {
  min-width:0;
}

.section-bridge__kicker {
  margin:0 0 12px;
  color:var(--red);
  font:500 9px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.section-bridge__statement {
  margin:0;
  max-width:820px;
  font-family:var(--editorial);
  font-size:clamp(28px,2.35vw,40px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.022em;
  color:#17191b;
}

.section-bridge__aside p {
  margin:0 0 10px;
  color:#4f5559;
  font:400 11px/1.65 var(--ui);
}

.section-bridge__aside span,
.section-bridge__meta {
  color:#8b9094;
  font:500 8px/1.45 var(--ui);
  letter-spacing:.14em;
  text-transform:uppercase;
}

.section-bridge--movement {
  background:linear-gradient(180deg,#f3f3ef 0%,#ecece8 100%);
  padding-top:clamp(30px,3vw,46px);
  padding-bottom:clamp(30px,3vw,46px);
}

.section-bridge__inner--movement {
  grid-template-columns:26px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
}

.section-bridge__line {
  width:26px;
  height:1px;
  background:var(--red);
}

.section-bridge__statement--movement {
  max-width:none;
  font-size:clamp(24px,2.15vw,35px);
}

.section-bridge__meta {
  justify-self:end;
  white-space:nowrap;
}

@media (min-width:981px) and (max-height:780px) {
  .section-bridge {
    padding-top:20px;
    padding-bottom:20px;
  }

  .section-bridge__statement {
    font-size:clamp(24px,2.05vw,34px);
  }

  .section-bridge__statement--movement {
    font-size:clamp(22px,1.95vw,30px);
  }
}

@media(max-width:900px) {
  .section-bridge__inner {
    grid-template-columns:1fr;
    gap:14px;
    align-items:start;
  }

  .section-bridge__inner--movement {
    grid-template-columns:1fr;
    gap:10px;
  }

  .section-bridge__line {
    display:none;
  }

  .section-bridge__meta {
    justify-self:start;
    white-space:normal;
  }
}


/* ==================== BUILD 38 — INTELLIGENCE IMAGE CONSISTENCY FIX ==================== */
.intel-frame__visual {
  overflow:hidden !important;
}

.intel-frame__image {
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center 48% !important;
  transform:none !important;
  transition:opacity .58s ease !important;
}

.intel-frame__image.active {
  transform:none !important;
}

.intel-frame__image[data-intel-image="0"] { background-position:center 48% !important; }
.intel-frame__image[data-intel-image="1"] { background-position:center 47% !important; }
.intel-frame__image[data-intel-image="2"] { background-position:center 48% !important; }
.intel-frame__image[data-intel-image="3"] { background-position:center 47% !important; }


/* ==================== BUILD 40 — INTELLIGENCE RHYTHM FIX ==================== */
/* Natural Build 38 proportions restored. Only the fourth title is shortened.
   Keep shelf labels visually aligned without compressing the main content panel. */
.intel-shelf__content strong {
  min-height:2.65em;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}


/* ==================== BUILD 41 — CLOSING TRANSITION + MODAL BRAND ==================== */

/* Long premium dissolve from Market Intelligence into the actual Employer image.
   Unlike the previous short dark strip, the employer section begins underneath
   this transition, so the fade resolves into real imagery instead of flat black. */
.insights-employer-transition {
  position:relative !important;
  z-index:12 !important;
  height:clamp(250px,18vw,340px) !important;
  margin-top:0 !important;
  margin-bottom:calc(clamp(250px,18vw,340px) * -1) !important;
  pointer-events:none !important;
  background:
    linear-gradient(
      180deg,
      #efefeb 0%,
      rgba(239,239,235,.995) 8%,
      rgba(239,239,235,.98) 17%,
      rgba(239,239,235,.94) 27%,
      rgba(239,239,235,.86) 38%,
      rgba(239,239,235,.72) 50%,
      rgba(239,239,235,.54) 62%,
      rgba(239,239,235,.34) 74%,
      rgba(239,239,235,.17) 84%,
      rgba(239,239,235,.06) 93%,
      rgba(239,239,235,0) 100%
    ) !important;
}

/* Keep the Employer image underneath the gradient without any hard separator. */
.employer-cinematic {
  border-top:0 !important;
}

.employer-cinematic::before {
  content:none !important;
}

/* Official PropertyTalents logo in the light modal panel. */
.contact-modal__brand {
  display:block;
  width:clamp(164px,14vw,205px);
  height:auto;
  margin:0 0 22px;
}

/* The old text-kicker styling remains in legacy CSS but is no longer used. */
.contact-modal__kicker {
  display:none !important;
}

@media (min-width:981px) and (max-height:780px) {
  .insights-employer-transition {
    height:220px !important;
    margin-bottom:-220px !important;
  }

  .contact-modal__brand {
    width:170px;
    margin-bottom:18px;
  }
}

@media(max-width:980px) {
  .insights-employer-transition {
    height:190px !important;
    margin-bottom:-190px !important;
  }
}

@media(max-width:600px) {
  .insights-employer-transition {
    height:150px !important;
    margin-bottom:-150px !important;
  }

  .contact-modal__brand {
    width:158px;
    margin-bottom:18px;
  }
}

