:root{
  --jmac-ink:#0b0b0a;
  --jmac-yellow:#ffbe00;
  --jmac-muted:#7b620d;
  --jmac-cream:#fff3c4;
}

.legacy-media-services,
.legacy-reel{display:none!important}

.offering-hub{padding-bottom:clamp(80px,10vw,145px)!important}
.offering-panel h2{max-width:8ch}

.jmac-capabilities{background:var(--jmac-ink);color:var(--jmac-yellow);overflow:hidden}
.jmac-capabilities *{box-sizing:border-box}
.jmac-capabilities img{width:100%;height:100%;object-fit:cover}
.jmac-capabilities button{font:inherit}
.jmac-capabilities .section-label{color:inherit}

.capabilities-intro{padding:clamp(88px,11vw,165px) 4vw clamp(65px,8vw,110px)}
.capabilities-intro-grid{display:grid;grid-template-columns:minmax(150px,.55fr) 1.55fr .65fr;gap:clamp(28px,5vw,82px);align-items:end}
.capabilities-intro h2{margin:0;max-width:9ch;font-size:clamp(58px,8.6vw,138px);font-weight:500;line-height:.82;letter-spacing:-.075em}
.capabilities-intro h2 em{font-family:'Instrument Serif',serif;font-weight:400}
.capabilities-intro-copy{max-width:31ch;margin:0 0 8px;font-size:clamp(15px,1.3vw,20px);line-height:1.42}

.capability-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffbe0066;border-bottom:1px solid #ffbe0066}
.capability-split article{min-height:clamp(360px,43vw,650px);padding:clamp(28px,4vw,65px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.capability-split article+article{border-left:1px solid #ffbe0066}
.capability-split article:first-child{background:var(--jmac-yellow);color:var(--jmac-ink)}
.capability-split-index{font:10px 'DM Mono',monospace;letter-spacing:.1em}
.capability-split h3{margin:0;max-width:9ch;font-size:clamp(42px,5.5vw,86px);font-weight:500;line-height:.85;letter-spacing:-.065em}
.capability-split p{max-width:35ch;margin:24px 0 0;font-size:14px;line-height:1.45}
.capability-split-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:35px}
.capability-split-list span{border:1px solid currentColor;border-radius:100px;padding:8px 11px;font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.045em}

.capability-showcase{padding:clamp(88px,10vw,145px) 0}
.capability-showcase-heading{padding:0 4vw;margin-bottom:clamp(38px,5vw,72px);display:flex;justify-content:space-between;align-items:end;gap:40px}
.capability-showcase-heading h2{margin:20px 0 0;max-width:10ch;font-size:clamp(54px,7.7vw,122px);font-weight:500;line-height:.83;letter-spacing:-.075em}
.capability-showcase-heading h2 em{font-family:'Instrument Serif',serif;font-weight:400}
.capability-showcase-heading>p{max-width:30ch;margin-bottom:7px;font-size:14px;line-height:1.5}

.capability-rail{display:flex;gap:14px;padding:0 4vw 24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}
.capability-rail::-webkit-scrollbar{display:none}
.capability-card{flex:0 0 min(72vw,1030px);scroll-snap-align:center;position:relative}
.capability-card-visual{aspect-ratio:16/9;overflow:hidden;background:#171710;border:1px solid #ffbe004d;position:relative}
.capability-card-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,#080807c9 100%);pointer-events:none}
.capability-card img{transition:transform 1s cubic-bezier(.16,1,.3,1),filter .7s ease;filter:saturate(.86) contrast(1.02)}
.capability-card:hover img{transform:scale(1.025);filter:saturate(1)}
.capability-card-copy{display:grid;grid-template-columns:62px 1fr 1fr;gap:22px;padding:24px 0 8px;border-bottom:1px solid #ffbe0052;align-items:start}
.capability-card-copy>span{font:10px 'DM Mono',monospace;letter-spacing:.1em}
.capability-card h3{margin:0;font-size:clamp(27px,3vw,47px);font-weight:500;line-height:.94;letter-spacing:-.05em}
.capability-card p{max-width:34ch;margin:2px 0 0;color:#e4bd3e;font-size:13px;line-height:1.5}
.capability-rail-hint{display:flex;align-items:center;gap:12px;padding:14px 4vw 0;font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.09em}
.capability-rail-hint i{display:block;width:70px;height:1px;background:var(--jmac-yellow);animation:jmac-hint 1.8s ease-in-out infinite;transform-origin:left}

.public-impact{min-height:100svh;display:grid;grid-template-columns:.8fr 1.2fr;background:var(--jmac-yellow);color:var(--jmac-ink)}
.public-impact-copy{padding:clamp(75px,9vw,135px) 4vw;display:flex;flex-direction:column;justify-content:space-between}
.public-impact h2{margin:38px 0 30px;max-width:7ch;font-size:clamp(58px,8vw,126px);font-weight:500;line-height:.81;letter-spacing:-.075em}
.public-impact h2 em{font-family:'Instrument Serif',serif;font-weight:400}
.public-impact-copy>div>p:last-child{max-width:35ch;font-size:15px;line-height:1.48}
.public-impact-list{margin-top:50px;border-top:1px solid #0b0b0a66}
.public-impact-list span{display:grid;grid-template-columns:38px 1fr;padding:12px 0;border-bottom:1px solid #0b0b0a66;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em}
.public-impact-visual{min-height:720px;position:relative;overflow:hidden;background:#1b180e}
.public-impact-visual img{position:absolute;inset:0;transform:scale(1.035);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.public-impact-visual:after{content:"Capability concept";position:absolute;right:18px;bottom:18px;padding:8px 10px;background:#0b0b0ae6;color:var(--jmac-yellow);font:8px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}

.campaign-system{padding:clamp(90px,11vw,160px) 4vw;background:var(--jmac-ink);color:var(--jmac-yellow)}
.campaign-system-head{display:grid;grid-template-columns:.65fr 1.8fr;gap:8vw;align-items:start;margin-bottom:80px}
.campaign-system h2{margin:0;max-width:9ch;font-size:clamp(55px,8vw,128px);font-weight:500;line-height:.82;letter-spacing:-.075em}
.campaign-system h2 em{font-family:'Instrument Serif',serif;font-weight:400}
.campaign-steps{counter-reset:steps;border-top:1px solid #ffbe006b}
.campaign-step{counter-increment:steps;display:grid;grid-template-columns:75px 1fr 1fr;gap:25px;padding:24px 0;border-bottom:1px solid #ffbe006b;align-items:center;transition:padding .35s ease,background .35s ease}
.campaign-step:before{content:"0" counter(steps);font:10px 'DM Mono',monospace}
.campaign-step strong{font-size:clamp(25px,3vw,46px);font-weight:500;letter-spacing:-.045em}
.campaign-step span{max-width:34ch;color:#e0b83a;font-size:13px;line-height:1.45}
.campaign-step:hover{background:var(--jmac-yellow);color:var(--jmac-ink);padding-left:18px;padding-right:18px}
.campaign-step:hover span{color:var(--jmac-ink)}

.proof-band{background:var(--jmac-yellow);color:var(--jmac-ink);padding:clamp(75px,8vw,120px) 4vw}
.proof-band-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end}
.proof-band h2{margin:18px 0 0;max-width:11ch;font-size:clamp(48px,6.6vw,102px);font-weight:500;line-height:.86;letter-spacing:-.07em}
.proof-band h2 em{font-family:'Instrument Serif',serif;font-weight:400}
.proof-band aside{border-top:1px solid var(--jmac-ink);padding-top:20px}
.proof-band aside p{max-width:35ch;margin:0 0 28px;font-size:14px;line-height:1.5}
.proof-band a{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--jmac-ink);padding:0 0 8px;font-weight:600;font-size:18px}

.jmac-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.jmac-reveal.is-visible{opacity:1;transform:none}

@keyframes jmac-hint{0%,100%{transform:scaleX(.45);opacity:.45}50%{transform:scaleX(1);opacity:1}}

@media(max-width:800px){
  .capabilities-intro-grid{grid-template-columns:1fr}
  .capabilities-intro h2{font-size:15vw}
  .capabilities-intro-copy{margin-top:10px}
  .capability-split{grid-template-columns:1fr}
  .capability-split article{min-height:390px}
  .capability-split article+article{border-left:0;border-top:1px solid #ffbe0066}
  .capability-showcase-heading{display:block}
  .capability-showcase-heading h2{font-size:15vw}
  .capability-showcase-heading>p{margin-top:30px}
  .capability-card{flex-basis:88vw}
  .capability-card-copy{grid-template-columns:38px 1fr}
  .capability-card-copy p{grid-column:2}
  .public-impact{grid-template-columns:1fr}
  .public-impact-copy{min-height:760px}
  .public-impact h2{font-size:16vw}
  .public-impact-visual{min-height:62vw}
  .campaign-system-head{grid-template-columns:1fr;gap:35px;margin-bottom:55px}
  .campaign-system h2{font-size:15vw}
  .campaign-step{grid-template-columns:42px 1fr}
  .campaign-step span{grid-column:2}
  .proof-band-inner{grid-template-columns:1fr;gap:45px}
  .proof-band h2{font-size:14vw}
}

@media(max-width:520px){
  .capabilities-intro{padding-left:6vw;padding-right:6vw}
  .capability-split article{padding:50px 6vw}
  .capability-split h3{font-size:13vw}
  .capability-showcase-heading,.capability-rail-hint{padding-left:6vw;padding-right:6vw}
  .capability-rail{padding-left:6vw;padding-right:6vw}
  .capability-card{flex-basis:88vw}
  .capability-card-visual{aspect-ratio:4/3}
  .capability-card img{object-fit:cover}
  .public-impact-copy{padding-left:6vw;padding-right:6vw;min-height:700px}
  .public-impact-visual{min-height:82vw}
  .campaign-system,.proof-band{padding-left:6vw;padding-right:6vw}
}

@media(prefers-reduced-motion:reduce){
  .jmac-reveal{opacity:1;transform:none;transition:none}
  .capability-card img,.public-impact-visual img{transition:none}
  .capability-rail-hint i{animation:none}
}
