.svc-page{
  font-family:var(--fb);
  background:var(--char);
  color:var(--white);
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
.svc-page,.svc-page *{box-sizing:border-box}
.svc-page img{display:block;max-width:100%}
.svc-page a{color:inherit;text-decoration:none}

.svc-page .btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fh);font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:13px 28px;border-radius:2px;position:relative;overflow:hidden;cursor:none;transition:color .3s;white-space:nowrap}
.svc-page .btn span{position:relative;z-index:1}
.svc-page .btn::after{content:'';position:absolute;inset:0;background:var(--sand);transform:translateY(102%);transition:transform .5s var(--ex)}
.svc-page .btn:hover::after{transform:translateY(0)}
.svc-page .btn-r{background:var(--rust);color:var(--white)}
.svc-page .btn-r:hover{color:var(--char)}
.svc-page .btn-ol{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.25)}
.svc-page .btn-ol::after{background:var(--rust)}
.svc-page .btn-ol:hover{color:var(--white)}
.svc-page .btn-ol-d{background:transparent;color:rgba(255,255,255,.6);border:1.5px solid rgba(255,255,255,.15)}
.svc-page .btn-ol-d:hover{color:var(--white)}
.svc-page .btn-sand{background:transparent;color:var(--char);border:1.5px solid rgba(26,28,30,.2)}
.svc-page .btn-sand::after{background:var(--rust)}
.svc-page .btn-sand:hover{color:var(--white)}

.svc-page [data-sr]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ex),transform .8s var(--ex)}
.svc-page [data-sr=r]{transform:translateX(40px)}
.svc-page [data-sr=l]{transform:translateX(-40px)}
.svc-page [data-sr].in{opacity:1;transform:none}
.svc-page [data-d="1"]{transition-delay:.1s}
.svc-page [data-d="2"]{transition-delay:.2s}
.svc-page [data-d="3"]{transition-delay:.3s}
.svc-page [data-d="4"]{transition-delay:.4s}
.svc-page [data-d="5"]{transition-delay:.5s}
.svc-page [data-d="6"]{transition-delay:.6s}


/* ── BTNS ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fh);font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:13px 28px;border-radius:2px;position:relative;overflow:hidden;cursor:none;transition:color .3s;white-space:nowrap}
.btn span{position:relative;z-index:1}
.btn::after{content:'';position:absolute;inset:0;background:var(--sand);transform:translateY(102%);transition:transform .5s var(--ex)}
.btn:hover::after{transform:translateY(0)}
.btn-r{background:var(--rust);color:var(--white)}.btn-r:hover{color:var(--char)}
.btn-ol{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.25)}
.btn-ol::after{background:var(--rust)}.btn-ol:hover{color:var(--white)}
.btn-ol-d{background:transparent;color:rgba(255,255,255,.6);border:1.5px solid rgba(255,255,255,.15)}
.btn-ol-d:hover{color:var(--white)}
.btn-sand{background:transparent;color:var(--char);border:1.5px solid rgba(26,28,30,.2)}
.btn-sand::after{background:var(--rust)}.btn-sand:hover{color:var(--white)}

/* ── SCROLL REVEAL ── */
[data-sr]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ex),transform .8s var(--ex)}
[data-sr=r]{transform:translateX(40px)}
[data-sr=l]{transform:translateX(-40px)}
[data-sr].in{opacity:1;transform:none}
[data-d="1"]{transition-delay:.1s}[data-d="2"]{transition-delay:.2s}
[data-d="3"]{transition-delay:.3s}[data-d="4"]{transition-delay:.4s}
[data-d="5"]{transition-delay:.5s}[data-d="6"]{transition-delay:.6s}

/* ════════════════════════════════════
   HERO — letter-by-letter stagger
   Different from word-reveal on other pages
════════════════════════════════════ */
.svc-hero{
  position:relative;min-height:100vh;
  display:grid;grid-template-columns:58fr 42fr;
  background:var(--char);overflow:hidden;
}
/* Left pane — text */
.svc-hero-left{
  position:relative;z-index:2;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(100px,14vh,140px) clamp(32px,4vw,72px) clamp(64px,9vh,100px) var(--pad);
  background:var(--char);
}
.svc-hero-left::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 10% 70%,rgba(47,66,54,.2) 0%,transparent 60%);
  pointer-events:none;
}
/* Right pane — photo */
.svc-hero-right{
  position:relative;overflow:hidden;
}
.svc-hero-right img{
  width:100%;height:100%;object-fit:cover;
  object-position:center center;
  filter:brightness(.55) saturate(.9);
  display:block;
}
.svc-hero-right::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(270deg,transparent 65%,rgba(26,28,30,.65) 82%,var(--char) 100%);
}
/* Decorative vertical label on dividing edge */
.svc-hero-deco{
  position:absolute;right:50%;top:50%;
  transform:translateX(50%) translateY(-50%) rotate(90deg);
  font-family:var(--fh);font-size:.5rem;font-weight:700;
  letter-spacing:.3em;text-transform:uppercase;
  color:rgba(255,255,255,.12);pointer-events:none;user-select:none;
  white-space:nowrap;z-index:3;
}
.svc-hero-eyebrow{
  position:relative;z-index:2;
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--fh);font-size:.6rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:clamp(18px,3vh,28px);
}
.svc-hero-eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--gold)}
.svc-hero-h1{
  position:relative;z-index:2;
  font-family:var(--fh);font-weight:900;
  font-size:clamp(3rem,7.5vw,9.5rem);
  letter-spacing:-.055em;line-height:.92;
  color:var(--white);
  padding-bottom:.18em;
  margin-bottom:clamp(24px,4vh,44px);
}
.svc-hero-h1 em{font-style:italic;color:var(--gold)}
/* Letter stagger animation */
.svc-letter{
  display:inline-block;
  opacity:0;transform:translateY(60%) rotate(4deg);
  transition:opacity .6s var(--ex),transform .6s var(--ex);
}
.svc-letter.sp{display:inline}
.svc-letter.in{opacity:1;transform:none}

.svc-hero-foot{
  position:relative;z-index:2;
  display:flex;flex-direction:column;
  gap:0;
}
.svc-hero-sub{
  font-family:var(--fb);font-style:italic;
  font-size:clamp(.9rem,1.3vw,1.08rem);line-height:1.75;
  color:rgba(255,255,255,.58);max-width:46ch;
  margin-bottom:clamp(24px,3vh,36px);
}
.svc-hero-acts{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:2px}

/* ════════════════════════════════════
   WHAT WE DO — Services Grid
   Sand background, cards with icon + hover
════════════════════════════════════ */
.svc-grid-section{
  background:var(--sand-l);
  padding:clamp(80px,11vw,140px) var(--pad) clamp(80px,11vw,130px);
  position:relative;
}
.svc-grid-section::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:rgba(26,28,30,.06);
}
.svc-top{
  display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:20px;margin-bottom:clamp(48px,6vw,72px);
}
.svc-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--rust);margin-bottom:12px;
}
.svc-eyebrow::before{content:'';display:block;width:24px;height:1.5px;background:var(--rust)}
.svc-hed{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(2rem,4vw,4.5rem);
  letter-spacing:-.045em;line-height:.95;color:var(--char);
}
.svc-hed em{font-style:italic;color:var(--rust)}
.svc-note{
  font-family:var(--fb);font-style:italic;
  font-size:clamp(.84rem,1vw,.95rem);color:var(--stone);
  max-width:34ch;line-height:1.65;text-align:right;
}

/* 3x2 grid */
.svcs-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(12px,1.8vw,20px);
}
.svc-card{
  background:var(--white);border-radius:10px;
  padding:clamp(28px,3.5vw,44px) clamp(24px,3vw,38px);
  cursor:none;position:relative;
  /* No overflow:hidden — it clips the bottom underline */
  transition:transform .45s var(--ex),box-shadow .45s;
  box-shadow:0 2px 20px rgba(26,28,30,.05);
}
.svc-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--rust);transform:scaleX(0);transform-origin:left;
  border-radius:0 0 10px 10px;
  transition:transform .45s var(--ex);
}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 20px 56px rgba(26,28,30,.1)}
.svc-card:hover::after{transform:scaleX(1)}
.svc-card-icon{
  width:40px;height:40px;margin-bottom:20px;
  color:var(--rust);opacity:.85;
}
.svc-card-title{
  font-family:var(--fh);font-weight:900;font-size:clamp(1.1rem,1.6vw,1.5rem);
  letter-spacing:-.03em;color:var(--char);margin-bottom:10px;
}
.svc-card-desc{
  font-family:var(--fb);font-size:clamp(.8rem,.95vw,.9rem);
  line-height:1.78;color:var(--stone);margin-bottom:18px;
}
.svc-card-list{
  list-style:none;display:flex;flex-direction:column;gap:5px;
  margin-top:14px;padding-top:14px;border-top:1px solid rgba(26,28,30,.07);
}
.svc-card-list li{
  font-family:var(--fh);font-size:.52rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  color:rgba(26,28,30,.4);display:flex;align-items:center;gap:8px;
}
.svc-card-list li::before{
  content:'';display:block;width:14px;height:1px;background:var(--rust);opacity:.5;flex-shrink:0;
}
/* Card scannable sections */
.svc-card-tagline{
  font-family:var(--fh);font-weight:800;font-size:clamp(.88rem,1.1vw,1.05rem);
  letter-spacing:-.02em;color:var(--char);margin-bottom:10px;line-height:1.3;
}
.svc-card-short{
  font-family:var(--fb);font-size:clamp(.8rem,.92vw,.88rem);
  line-height:1.72;color:var(--stone);margin-bottom:12px;
}
.svc-card-fit{
  font-family:var(--fh);font-size:.52rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--rust);margin-bottom:6px;display:flex;align-items:center;gap:6px;
}
.svc-card-fit::before{content:'→';font-size:.6rem}
.svc-card-fit-body{
  font-family:var(--fb);font-size:clamp(.78rem,.9vw,.86rem);
  line-height:1.65;color:var(--stone);margin-bottom:0;
}
/* Most popular badge */
.svc-popular-badge{
  position:absolute;top:16px;right:16px;
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--fh);font-size:.46rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;background:var(--rust);color:var(--white);
  padding:4px 10px;border-radius:2px;
  z-index:2;
}
/* Popular card gets subtle highlight */
.svc-card.popular{
  border:1.5px solid rgba(161,74,50,.18);
  background:var(--white);
  position:relative;/* needed for badge absolute positioning */
}
/* popular underline handled by hover rule above */

/* ════════════════════════════════════
   SIGNATURE WORK — full-bleed cinematic
   Horizontal scroll marquee of stills
   Sand → chars transition
════════════════════════════════════ */
.signature{
  position:relative;overflow:hidden;
  padding:clamp(88px,12vw,160px) 0 clamp(88px,12vw,160px);
  background:var(--white);
}
/* Gradient top: sand-l → white, very gradual */
.signature::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:clamp(60px,8vw,100px);
  background:linear-gradient(180deg,var(--sand-l) 0%,var(--white) 100%);
  pointer-events:none;z-index:1;
}
.sig-content{
  position:relative;z-index:2;
  padding:0 var(--pad);
  max-width:860px;
  margin-top:150px;
  margin-bottom:clamp(48px,6vw,72px);
}
.sig-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--rust);margin-bottom:12px;
}
.sig-eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--rust)}
.sig-hed{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(2rem,4.5vw,5.5rem);
  letter-spacing:-.05em;line-height:.95;color:var(--char);
  margin-bottom:18px;
}
.sig-hed em{font-style:italic;color:var(--rust)}
.sig-sub{
  font-family:var(--fb);font-style:italic;
  font-size:clamp(.9rem,1.2vw,1.05rem);line-height:1.75;
  color:var(--stone);max-width:52ch;
}
/* Auto-scrolling marquee strip */
.sig-marquee{
  position:relative;z-index:2;
  display:flex;gap:clamp(10px,1.5vw,18px);
  width:max-content;
  animation:marquee 28s linear infinite;
}
/*--.sig-marquee:hover{animation-play-state:paused}--*/
.sig-strip{overflow:hidden;display:flex}
@keyframes marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.sig-frame{
  width:clamp(240px,28vw,380px);
  aspect-ratio:16/10;
  border-radius:8px;overflow:hidden;flex-shrink:0;
  background:rgba(255,255,255,.06);
}
.sig-frame img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.75);
  transition:filter .4s;display:block;
}
.sig-marquee:hover .sig-frame img{filter:brightness(.92)}
.sig-frame{cursor:none;position:relative}
.sig-frame-play{ display:none !important}
/*---.sig-frame-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.8);background:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;color:var(--white);
  opacity:0;transition:opacity .3s,transform .3s var(--ex);pointer-events:none;
}---*/
.sig-frame:hover .sig-frame-play{opacity:1;transform:translate(-50%,-50%) scale(1.1)}
.sig-frame:hover img{filter:brightness(.6)!important}

/* ════════════════════════════════════
   HOW WE THINK — Philosophy
   Alternating full-width text panels
   Dark background with accent lines
════════════════════════════════════ */
.think{
  background:var(--white);
  padding:clamp(88px,12vw,160px) var(--pad) 0;
  position:relative;
}
/* Bottom gradient: white→rust, full bleed via negative margin to escape padding */
.think::after{
  content:'';display:block;
  height:clamp(280px,36vw,480px);
  margin:0 calc(-1 * var(--pad));/* escape section padding for full width */
  background:linear-gradient(180deg,
    var(--white) 0%,
    var(--white) 10%,
    rgba(161,74,50,.03) 28%,
    rgba(161,74,50,.14) 50%,
    rgba(120,40,20,.52) 72%,
    var(--rust) 100%);
  pointer-events:none;
}
.think-top{
  max-width:680px;margin-bottom:clamp(64px,9vw,110px);
}
.think-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--rust);margin-bottom:12px;
}
.think-eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--rust)}
.think-hed{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(1.8rem,3.8vw,4.5rem);
  letter-spacing:-.045em;line-height:.95;color:var(--char);
}
.think-hed em{font-style:italic;color:var(--rust)}

.think-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(20px,2.5vw,32px);
}
.think-item{
  padding:clamp(36px,4.5vw,58px) clamp(32px,4vw,52px);
  background:rgba(26,28,30,.03);
  border-radius:4px;
  border-left:3px solid rgba(161,74,50,.15);
  position:relative;overflow:hidden;
  cursor:default;
  transition:background .4s,border-color .4s;
}
.think-item:hover{background:rgba(161,74,50,.04);border-left-color:var(--rust)}
/* border-left handles accent now */
.think-num{
  font-family:var(--fh);font-size:.52rem;font-weight:700;
  letter-spacing:.2em;color:rgba(26,28,30,.2);
  margin-bottom:14px;display:block;
}
.think-item-hed{
  font-family:var(--fh);font-weight:800;
  font-size:clamp(1rem,1.6vw,1.45rem);
  letter-spacing:-.025em;color:var(--char);
  margin-bottom:10px;line-height:1.2;
}
.think-item-body{
  font-family:var(--fb);font-size:clamp(.82rem,1vw,.92rem);
  line-height:1.8;color:var(--stone);
}

/* ════════════════════════════════════
   HOW WE WORK — Process
   Horizontal counter: numbers advance left→right
   As you scroll, each step illuminates
   Different from vertical pin on home page
════════════════════════════════════ */
.process{
  background:var(--rust);
  position:relative;
  /* NO overflow:hidden — it breaks position:sticky */
}
/* No ::before gradient — gradient lives in think::after below */
.proc-track{height:220vh;position:relative}
.proc-sticky{
  position:sticky;top:0;height:100vh;
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(56px,8vw,100px) var(--pad);
  z-index:3;/* above ::before gradient overlay */
}
.proc-header{
  margin-bottom:clamp(40px,6vw,72px);
}
.proc-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:10px;
}
.proc-eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--gold)}
.proc-hed{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(1.8rem,3.5vw,4rem);
  letter-spacing:-.045em;line-height:.95;color:var(--white);
}
.proc-hed em{font-style:italic;color:var(--gold)}

/* Horizontal step bar */
.proc-steps-wrap{position:relative;padding-top:32px;/* space for line above dots */}
.proc-track-line{
  position:absolute;top:0;left:0;right:0;height:2px;
  background:rgba(255,255,255,.15);border-radius:1px;
}
.proc-track-fill{
  position:absolute;top:0;left:0;height:2px;
  background:linear-gradient(90deg,rgba(239,231,220,.3) 0%,var(--white) 60%,var(--blue) 100%);
  width:0%;border-radius:1px;
  transition:width .5s var(--ex);
}
.proc-steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,3vw,40px);
  position:relative;
}
.proc-step{
  padding-top:clamp(16px,2.5vw,24px);
  opacity:.18;
  transition:opacity .6s var(--ex),transform .6s var(--ex);
  transform:translateY(12px);
}
.proc-step.on{opacity:1;transform:translateY(0)}
.proc-dot{
  width:10px;height:10px;border-radius:50%;
  background:rgba(255,255,255,.2);
  border:1.5px solid rgba(255,255,255,.2);
  margin-bottom:clamp(18px,2.5vw,28px);
  transition:background .4s,border-color .4s;
}
.proc-step.on .proc-dot{
  background:var(--sand);border-color:var(--sand);
  box-shadow:0 0 14px rgba(239,231,220,.4);
}
.proc-sn{
  font-family:var(--fh);font-size:.52rem;font-weight:700;
  letter-spacing:.18em;color:rgba(255,255,255,.3);
  margin-bottom:8px;
}
.proc-st{
  font-family:var(--fh);font-weight:800;
  font-size:clamp(.95rem,1.5vw,1.3rem);
  letter-spacing:-.025em;color:var(--white);
  margin-bottom:10px;line-height:1.2;
}
.proc-sb{
  font-family:var(--fb);font-size:clamp(.78rem,.95vw,.88rem);
  line-height:1.78;color:rgba(255,255,255,.45);
}

/* ════════════════════════════════════
   "SOUND LIKE YOU" — Who It's For
   Green background, slide-in cards
════════════════════════════════════ */
.fit{
  background:var(--blue);
  padding:clamp(88px,12vw,160px) var(--pad);
  position:relative;
}
.fit::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:clamp(120px,16vw,200px);
  background:linear-gradient(180deg,var(--rust) 0%,var(--blue) 100%);
  pointer-events:none;
}
.fit-layout{
  display:grid;grid-template-columns:58fr 42fr;
  gap:clamp(40px,6vw,88px);
  align-items:start;
  padding-top:100px;
}
.fit-left{position:sticky;top:clamp(80px,12vh,120px)}
.fit-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:14px;
}
.fit-eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--gold)}
.fit-hed{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(2rem,4vw,4.8rem);
  letter-spacing:-.045em;line-height:.92;color:var(--white);
  margin-bottom:18px;
}
.fit-hed em{font-style:italic;color:var(--gold)}
.fit-sub{
  font-family:var(--fb);font-style:italic;
  font-size:clamp(.88rem,1.1vw,1rem);
  line-height:1.75;color:rgba(239,231,220,.6);
  margin-bottom:28px;max-width:38ch;
}
.fit-right{display:flex;flex-direction:column;gap:clamp(12px,1.8vw,18px)}
.fit-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  padding:clamp(22px,3vw,32px);
  cursor:none;
  transition:background .35s,border-color .35s,transform .5s var(--ex);
  /* Slide in from right */
  opacity:0;transform:translateX(48px);
  transition:opacity .7s var(--ex),transform .7s var(--ex),background .35s,border-color .35s;
}
.fit-card.in{opacity:1;transform:translateX(0)}
.fit-card:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);transform:translateX(-4px)}
.fit-card-icon{
  width:32px;height:32px;
  background:rgba(201,164,108,.15);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);margin-bottom:14px;flex-shrink:0;
}
.fit-card-hed{
  font-family:var(--fh);font-weight:800;
  font-size:clamp(.92rem,1.3vw,1.18rem);
  letter-spacing:-.02em;color:var(--white);margin-bottom:7px;
}
.fit-card-body{
  font-family:var(--fb);font-size:clamp(.8rem,.95vw,.9rem);
  line-height:1.78;color:rgba(239,231,220,.6);
}

/* ════════════════════════════════════
   FINAL CTA
════════════════════════════════════ */
.cta{
  position:relative;min-height:88vh;
  display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;
}
.cta-photo{position:absolute;inset:0;z-index:0}
.cta-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:brightness(.38)}
.cta-photo-ov{position:absolute;inset:0;background:linear-gradient(160deg,rgba(47,66,54,.25) 0%,rgba(26,28,30,.15) 100%)}
.cta-top-fade{position:absolute;top:0;left:0;right:0;height:32%;z-index:1;background:linear-gradient(180deg,var(--blue) 0%,transparent 100%);pointer-events:none}
.cta-content{position:relative;z-index:2;padding:clamp(56px,7vw,88px) var(--pad) clamp(72px,10vw,120px);max-width:1300px;margin:0 auto;width:100%}
.cta-eye{display:inline-flex;align-items:center;gap:10px;font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.cta-eye::before{content:'';display:block;width:20px;height:1px;background:var(--gold)}
.cta-hed{font-family:var(--fh);font-weight:900;font-size:clamp(2.8rem,7vw,9rem);letter-spacing:-.06em;line-height:.88;color:var(--white);margin-bottom:36px}
.cta-hed em{font-style:italic;color:var(--gold)}
.cta-sub{font-family:var(--fb);font-size:clamp(.9rem,1.2vw,1.06rem);line-height:1.8;color:rgba(255,255,255,.85);max-width:46ch;margin-bottom:28px}
.cta-acts{display:flex;gap:12px;flex-wrap:wrap}

/* ── RESPONSIVE ── */
@media(max-width:1000px){
  .svc-hero{grid-template-columns:1fr}
  .svc-hero-right{display:none}
  .svc-hero-left{padding:clamp(100px,14vh,140px) var(--pad) clamp(64px,9vh,100px)}
  .svcs-cards{grid-template-columns:1fr 1fr}
  .think-grid{grid-template-columns:1fr}
  .proc-steps{grid-template-columns:1fr 1fr;row-gap:clamp(28px,4vw,48px)}
  .fit-layout{grid-template-columns:1fr}
  .fit-left{position:static}
  }
@media(max-width:768px){
    .svcs-cards{grid-template-columns:1fr}
  .proc-steps{grid-template-columns:1fr}
}
@media(max-width:500px){
  }


/* Mobile-only process section cleanup */
@media(max-width:768px){
  .proc-sticky{
    position:static;
    top:auto;
    height:auto;
    padding:60px var(--pad);
  }

  .proc-track{
    height:auto;
  }

  .proc-track-line,
  .proc-track-fill{
    display:none;
  }

  .proc-steps-wrap{
    padding-top:0;
  }

  .proc-steps{
    gap:32px;
  }

  .proc-step{
    opacity:1;
    transform:none;
  }
	.svc-card {
  display: block;
  color: inherit;
  text-decoration: none;
}
}

