
:root{
  --ink:#0d1b2a;
  --ink-2:#14283e;
  --paper:#f7f4ec;
  --white:#ffffff;
  --muted:#667383;
  --line:#dfe4e8;
  --blue:#176bff;
  --green:#23c483;
  --orange:#ff5a36;
  --yellow:#ffd84d;
  --soft-blue:#eaf1ff;
  --soft-green:#e9fbf3;
  --soft-orange:#fff0eb;
  --max:1220px;
  --radius:26px;
  --shadow:0 22px 70px rgba(13,27,42,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.62;
}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.container{width:min(var(--max),calc(100% - 42px));margin:auto}
.section{padding:108px 0}
.section-sm{padding:70px 0}
.bg-paper{background:var(--paper)}
.bg-ink{background:var(--ink);color:var(--white)}
.bg-blue{background:var(--blue);color:var(--white)}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.78rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;
  color:var(--blue);margin-bottom:18px
}
.kicker:before{content:"";width:24px;height:3px;background:var(--orange);border-radius:99px}
h1,h2,h3{line-height:1.02;letter-spacing:-.045em;margin:0 0 20px}
h1{font-size:clamp(3.2rem,7.2vw,7.2rem);max-width:1060px}
h2{font-size:clamp(2.3rem,5vw,4.7rem)}
h3{font-size:clamp(1.25rem,2vw,1.65rem)}
p{margin:0 0 18px;color:var(--muted)}
.lead{font-size:clamp(1.08rem,1.9vw,1.34rem);max-width:780px}
.bg-ink p,.bg-blue p{color:rgba(255,255,255,.72)}
.display-outline{
  color:transparent;-webkit-text-stroke:1.5px var(--ink);text-stroke:1.5px var(--ink)
}
.highlight{position:relative;display:inline-block;z-index:1}
.highlight:after{
  content:"";position:absolute;left:-2%;right:-2%;bottom:7%;height:20%;
  background:var(--yellow);z-index:-1;transform:rotate(-1deg)
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:54px;padding:0 22px;border-radius:999px;border:2px solid transparent;
  font-weight:900;transition:.2s ease;cursor:pointer
}
.btn:hover{transform:translateY(-3px)}
.btn-dark{background:var(--ink);color:white}
.btn-blue{background:var(--blue);color:white}
.btn-light{background:white;color:var(--ink)}
.btn-outline{border-color:var(--ink)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px);border-bottom:1px solid rgba(13,27,42,.08)
}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:255px;max-height:52px}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{font-size:.91rem;font-weight:800}
.nav-links a:hover,.nav-links a.active{color:var(--blue)}
.menu-btn{display:none;border:1px solid var(--line);background:white;border-radius:12px;padding:9px 12px}
.nav-cta{white-space:nowrap}

.hero{position:relative;overflow:hidden;padding:86px 0 92px;background:var(--paper)}
.hero:before{
  content:"";position:absolute;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,var(--soft-blue),rgba(234,241,255,0) 66%);
  right:-130px;top:-170px
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center;position:relative}
.hero h1{font-size:clamp(3.3rem,6.5vw,6.4rem)}
.hero-art{
  min-height:560px;position:relative;border-radius:38px;background:var(--ink);
  overflow:hidden;box-shadow:var(--shadow);padding:36px;color:white
}
.hero-art:after{
  content:"";position:absolute;inset:auto -70px -100px auto;width:330px;height:330px;
  border-radius:50%;background:var(--blue);opacity:.9
}
.dash-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}
.live-dot{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:800}
.live-dot:before{content:"";width:9px;height:9px;background:var(--green);border-radius:50%;box-shadow:0 0 0 6px rgba(35,196,131,.15)}
.metric-big{font-size:5.6rem;font-weight:900;letter-spacing:-.06em;line-height:1;margin:76px 0 8px;position:relative;z-index:2}
.metric-label{color:rgba(255,255,255,.62);position:relative;z-index:2}
.chart{
  position:absolute;left:34px;right:34px;bottom:52px;height:165px;z-index:2;
  display:flex;align-items:end;gap:13px
}
.bar{flex:1;background:linear-gradient(180deg,var(--orange),#ff8f75);border-radius:12px 12px 3px 3px;min-height:20px}
.bar:nth-child(2n){background:linear-gradient(180deg,var(--green),#86e3bc)}
.bar:nth-child(3n){background:linear-gradient(180deg,var(--blue),#8cb2ff)}
.floating-card{
  position:absolute;background:white;color:var(--ink);border-radius:18px;padding:17px 19px;
  box-shadow:var(--shadow);z-index:4
}
.fc-1{right:-14px;top:104px}
.fc-2{left:-24px;bottom:92px}
.floating-card strong{display:block;font-size:1.3rem}
.floating-card span{font-size:.78rem;color:var(--muted)}

.trust{border-block:1px solid var(--line);background:white}
.trust-grid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);align-items:stretch}
.trust-title,.partner-pill{min-height:100px;padding:22px;border-right:1px solid var(--line);display:flex;align-items:center}
.partner-pill{justify-content:center;font-weight:900;color:#4d5a69}
.partner-pill:last-child{border-right:0}
.trust-title{font-size:.9rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em;color:var(--blue)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}
.impact-panel{position:relative;min-height:520px;border-radius:34px;background:var(--soft-orange);overflow:hidden;padding:34px}
.impact-orbit{
  position:absolute;border:2px solid rgba(13,27,42,.12);border-radius:50%;
  width:410px;height:410px;left:50%;top:50%;transform:translate(-50%,-50%)
}
.impact-orbit:before,.impact-orbit:after{content:"";position:absolute;border:2px solid rgba(13,27,42,.1);border-radius:50%;inset:58px}
.impact-orbit:after{inset:125px;background:var(--orange);border:0}
.orbit-label{
  position:absolute;background:white;border:1px solid var(--line);border-radius:999px;
  padding:10px 15px;font-weight:850;box-shadow:0 8px 25px rgba(13,27,42,.08)
}
.ol-1{left:20px;top:65px}.ol-2{right:18px;top:130px}.ol-3{left:42px;bottom:85px}.ol-4{right:36px;bottom:45px}
.checks{display:grid;gap:12px;margin:28px 0}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:750}
.check:before{content:"✓";width:28px;height:28px;border-radius:50%;background:var(--soft-green);color:var(--green);display:grid;place-items:center;flex:0 0 auto}

.statement{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:end
}
.statement h2{font-size:clamp(2.6rem,6vw,5.7rem)}
.statement-box{
  background:var(--blue);color:white;border-radius:32px;padding:42px;min-height:330px;
  display:flex;flex-direction:column;justify-content:space-between
}
.statement-box strong{font-size:4rem;line-height:1}
.statement-box p{color:rgba(255,255,255,.74)}

.section-head{display:flex;justify-content:space-between;gap:34px;align-items:end;margin-bottom:48px}
.section-head p{max-width:600px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{
  position:relative;min-height:300px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;background:white;transition:.25s ease
}
.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:transparent}
.service-card .num{font-size:.78rem;font-weight:950;letter-spacing:.12em;color:var(--orange)}
.service-icon{
  width:58px;height:58px;border-radius:18px;background:var(--soft-blue);color:var(--blue);
  display:grid;place-items:center;font-size:1.5rem;margin:42px 0 24px
}
.service-card:nth-child(2n) .service-icon{background:var(--soft-green);color:var(--green)}
.service-card:nth-child(3n) .service-icon{background:var(--soft-orange);color:var(--orange)}
.service-card:after{
  content:"↗";position:absolute;right:28px;top:28px;font-size:1.4rem;font-weight:900
}

.marquee{
  overflow:hidden;background:var(--orange);color:white;padding:24px 0;white-space:nowrap;
  font-size:clamp(1.7rem,4vw,3.8rem);font-weight:950;letter-spacing:-.04em
}
.marquee-track{display:inline-block;animation:marquee 22s linear infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.partner-cases{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.case{
  border-radius:30px;padding:34px;min-height:320px;position:relative;overflow:hidden;
  background:var(--ink);color:white
}
.case:nth-child(2){background:var(--blue)}
.case:nth-child(3){background:#123f32}
.case:nth-child(4){background:#5938a8}
.case .tag{display:inline-flex;border:1px solid rgba(255,255,255,.25);padding:7px 11px;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.case h3{font-size:2rem;margin-top:70px}
.case p{color:rgba(255,255,255,.7)}
.case:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.08);right:-40px;top:-50px}

.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:process}
.process-card{
  padding:30px;border-top:4px solid var(--ink);background:white;min-height:290px
}
.process-card:before{
  counter-increment:process;content:"0" counter(process);
  display:block;color:var(--orange);font-weight:950;letter-spacing:.12em;margin-bottom:70px
}
.process-card:nth-child(2){border-color:var(--blue)}
.process-card:nth-child(3){border-color:var(--green)}

.insights{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.insight-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:white}
.insight-visual{height:210px;background:linear-gradient(135deg,var(--soft-blue),var(--soft-orange));position:relative}
.insight-visual:before{
  content:"";position:absolute;width:130px;height:130px;border-radius:34px;background:var(--blue);
  transform:rotate(18deg);left:38px;top:38px
}
.insight-card:nth-child(2) .insight-visual{background:linear-gradient(135deg,var(--soft-green),var(--paper))}
.insight-card:nth-child(2) .insight-visual:before{background:var(--green);border-radius:50%}
.insight-card:nth-child(3) .insight-visual{background:linear-gradient(135deg,var(--soft-orange),var(--soft-blue))}
.insight-card:nth-child(3) .insight-visual:before{background:var(--orange);transform:rotate(45deg)}
.insight-body{padding:25px}
.insight-meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--blue)}

.cta{
  border-radius:38px;background:var(--ink);color:white;padding:58px;
  display:flex;justify-content:space-between;align-items:center;gap:36px;position:relative;overflow:hidden
}
.cta:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:var(--blue);right:-140px;bottom:-200px}
.cta > *{position:relative;z-index:2}
.cta p{max-width:640px;color:rgba(255,255,255,.68)}

.page-hero{padding:105px 0 72px;background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(3rem,6.8vw,6.5rem)}
.content-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.sticky-title{position:sticky;top:120px;align-self:start}
.long-copy h2{font-size:2rem;margin-top:38px}
.long-copy p,.long-copy li{color:var(--muted)}
.long-copy li{margin:8px 0}

.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:30px}
.contact-card{background:var(--ink);color:white;padding:34px;border-radius:28px}
.contact-card p{color:rgba(255,255,255,.65)}
.contact-list{display:grid;gap:16px;margin-top:30px}
.contact-item{padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:17px}
.form-card{padding:34px;border:1px solid var(--line);border-radius:28px}
form{display:grid;gap:15px}
label{font-size:.82rem;font-weight:900}
input,textarea,select{
  width:100%;border:1px solid var(--line);background:white;color:var(--ink);
  border-radius:14px;padding:14px 15px;outline:none
}
input:focus,textarea:focus,select:focus{border-color:var(--blue)}
textarea{min-height:150px;resize:vertical}
.form-note{font-size:.76rem}
.success{display:none;color:var(--green);font-weight:850}

.notice{
  padding:20px;border-left:4px solid var(--orange);background:var(--soft-orange);
  border-radius:0 16px 16px 0;color:var(--ink)
}

footer{background:var(--ink);color:white;padding:74px 0 28px;margin-top:80px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,.7fr);gap:34px}
.footer-brand{display:flex;align-items:center;gap:14px;font-size:1.15rem;font-weight:950}
.footer-brand img{width:54px;height:54px}
.footer-title{font-weight:950;margin-bottom:15px}
.footer-links{display:grid;gap:10px}
.footer-links a{color:rgba(255,255,255,.62)}
.footer-links a:hover{color:white}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:24px;color:rgba(255,255,255,.48);font-size:.82rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

@media(max-width:980px){
  .hero-grid,.split,.statement,.content-grid,.contact-grid{grid-template-columns:1fr}
  .hero-art{min-height:500px}
  .service-grid,.process-grid,.insights{grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-title{grid-column:1/-1}
  .partner-pill{border-top:1px solid var(--line)}
  .nav-links{
    position:fixed;inset:82px 18px auto 18px;display:none;flex-direction:column;align-items:stretch;
    background:white;border:1px solid var(--line);padding:18px;border-radius:18px;box-shadow:var(--shadow)
  }
  .nav-links.open{display:flex}
  .menu-btn{display:block}
  .nav-cta{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .sticky-title{position:static}
}
@media(max-width:640px){
  .container{width:min(var(--max),calc(100% - 28px))}
  .section{padding:78px 0}
  .brand img{width:210px}
  .hero{padding-top:62px}
  .hero h1{font-size:3.15rem}
  .hero-art{min-height:440px;padding:24px}
  .metric-big{font-size:4.1rem}
  .fc-1{right:10px}.fc-2{left:10px}
  .service-grid,.partner-cases,.process-grid,.insights,.footer-grid{grid-template-columns:1fr}
  .section-head,.cta{align-items:flex-start;flex-direction:column}
  .cta{padding:34px}
  .impact-panel{min-height:440px}
  .impact-orbit{width:330px;height:330px}
}


/* =============================================
   PREMIUM PARALLAX & MICRO-INTERACTION LAYER
   Vanilla CSS/JS, no scroll-jacking, mobile-safe
   ============================================= */
:root{
  --scroll-progress:0%;
  --pointer-x:50vw;
  --pointer-y:50vh;
}
body{overflow-x:hidden}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;
  background:radial-gradient(420px circle at var(--pointer-x) var(--pointer-y),rgba(23,107,255,.065),transparent 62%);
  opacity:0;transition:opacity .3s ease
}
@media (hover:hover) and (pointer:fine){body.has-pointer::before{opacity:1}}
.scroll-progress{
  position:fixed;z-index:10000;left:0;top:0;width:var(--scroll-progress);height:3px;
  background:linear-gradient(90deg,var(--orange),var(--blue),var(--green));
  box-shadow:0 2px 12px rgba(23,107,255,.32);pointer-events:none
}
.site-header{transition:box-shadow .3s ease,background .3s ease,transform .3s ease}
.site-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 10px 36px rgba(13,27,42,.08)}
.site-header.is-scrolled .nav{height:70px}
.nav{transition:height .3s ease}
.brand img{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.brand:hover img{transform:translateY(-2px) scale(1.015)}

.hero{isolation:isolate;min-height:calc(100vh - 82px);display:flex;align-items:center}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.34;
  background-image:linear-gradient(rgba(13,27,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(13,27,42,.045) 1px,transparent 1px);
  background-size:54px 54px;mask-image:linear-gradient(to bottom,black,transparent 90%)
}
.hero-copy{position:relative;z-index:3;will-change:transform}
.hero-copy .kicker,.hero-copy h1,.hero-copy .lead,.hero-copy .actions{opacity:0;transform:translateY(28px);animation:heroReveal .85s cubic-bezier(.2,.75,.2,1) forwards}
.hero-copy h1{animation-delay:.09s}.hero-copy .lead{animation-delay:.18s}.hero-copy .actions{animation-delay:.27s}
@keyframes heroReveal{to{opacity:1;transform:translateY(0)}}
.highlight::after{transform-origin:left center;animation:highlightSweep .9s .72s cubic-bezier(.2,.8,.2,1) both}
@keyframes highlightSweep{from{transform:scaleX(0) rotate(-1deg)}to{transform:scaleX(1) rotate(-1deg)}}

.hero-art{
  --hero-rx:0deg;--hero-ry:0deg;--hero-lift:0px;
  transform:perspective(1400px) translate3d(0,var(--hero-lift),0) rotateX(var(--hero-rx)) rotateY(var(--hero-ry));
  transform-style:preserve-3d;will-change:transform;transition:box-shadow .35s ease;
  box-shadow:0 34px 90px rgba(13,27,42,.2)
}
.hero-art:hover{box-shadow:0 46px 110px rgba(13,27,42,.26)}
.hero-art::before{
  content:"";position:absolute;inset:-30%;z-index:1;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.07) 48%,transparent 61%);
  transform:translateX(-70%) rotate(8deg);animation:dashboardSheen 8s ease-in-out infinite
}
@keyframes dashboardSheen{0%,58%{transform:translateX(-70%) rotate(8deg)}82%,100%{transform:translateX(70%) rotate(8deg)}}
.parallax-layer{--depth-x:0px;--depth-y:0px;transform:translate3d(var(--depth-x),var(--depth-y),0);will-change:transform}
.metric-big{font-size:clamp(4.8rem,8.5vw,7rem);letter-spacing:-.075em;background:linear-gradient(100deg,#fff 35%,#9fc0ff 70%,#6ee0b2);-webkit-background-clip:text;background-clip:text;color:transparent}
.metric-label{font-size:1.06rem;max-width:500px;color:rgba(255,255,255,.72)}
.chart .bar{transform:scaleY(.06);transform-origin:bottom;opacity:.3;transition:transform .9s cubic-bezier(.22,.8,.2,1),opacity .5s ease}
.hero-art.in-view .chart .bar{transform:scaleY(1);opacity:1}
.hero-art.in-view .chart .bar:nth-child(1){transition-delay:.05s}.hero-art.in-view .chart .bar:nth-child(2){transition-delay:.1s}.hero-art.in-view .chart .bar:nth-child(3){transition-delay:.15s}.hero-art.in-view .chart .bar:nth-child(4){transition-delay:.2s}.hero-art.in-view .chart .bar:nth-child(5){transition-delay:.25s}.hero-art.in-view .chart .bar:nth-child(6){transition-delay:.3s}.hero-art.in-view .chart .bar:nth-child(7){transition-delay:.35s}.hero-art.in-view .chart .bar:nth-child(8){transition-delay:.4s}
.fc-1{right:24px;top:112px}.fc-2{left:24px;bottom:154px}
.floating-card{backdrop-filter:blur(14px);background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.7)}

/* Reveal system */
.js .reveal{opacity:0;transform:translateY(42px);transition:opacity .8s cubic-bezier(.2,.75,.2,1),transform .8s cubic-bezier(.2,.75,.2,1);transition-delay:var(--reveal-delay,0ms)}
.js .reveal.reveal-left{transform:translateX(-48px)}
.js .reveal.reveal-right{transform:translateX(48px)}
.js .reveal.in-view{opacity:1;transform:translate3d(0,0,0)}

/* Partner runway */
.partner-runway-section{padding:0 0 22px;background:white;overflow:hidden}
.partner-runway-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:22px;padding-bottom:14px}
.partner-runway-heading .trust-title{min-height:auto;padding:0;border:0}
.partner-runway-heading p{font-size:.78rem;margin:0;max-width:500px;text-align:right}
.partner-runway{overflow:hidden;border-block:1px solid var(--line);background:rgba(247,244,236,.45)}
.partner-runway-track{display:flex;width:max-content;animation:partnerRunway 26s linear infinite;will-change:transform}
.partner-runway:hover .partner-runway-track{animation-play-state:paused}
.partner-group{display:flex;align-items:center}
.partner-wordmark{
  min-width:240px;height:104px;padding:0 34px;display:flex;align-items:center;justify-content:center;
  border-right:1px solid var(--line);font-weight:950;font-size:1.42rem;letter-spacing:-.035em;color:#8b949e;
  filter:grayscale(1);transition:color .3s ease,filter .3s ease,transform .3s ease,background .3s ease
}
.partner-wordmark:hover{filter:grayscale(0);transform:scale(1.035);background:white}
.partner-wordmark.healthy:hover{color:#25a66f}.partner-wordmark.finance:hover{color:#315ed8}.partner-wordmark.medianet:hover{color:#e3362c}.partner-wordmark.visymo:hover{color:#5a38b5}
@keyframes partnerRunway{to{transform:translateX(-50%)}}

/* Depth and card polish */
.impact-panel,.statement-box,.service-card,.case,.process-card,.insight-card,.cta,.contact-card,.form-card{will-change:transform}
.impact-panel{box-shadow:0 30px 85px rgba(255,90,54,.12)}
.orbit-label{transition:transform .35s ease,box-shadow .35s ease}
.impact-panel:hover .orbit-label{box-shadow:0 14px 34px rgba(13,27,42,.13)}
.impact-panel:hover .ol-1{transform:translate(-6px,-5px)}.impact-panel:hover .ol-2{transform:translate(7px,-4px)}.impact-panel:hover .ol-3{transform:translate(-5px,7px)}.impact-panel:hover .ol-4{transform:translate(7px,6px)}
.service-card{background:linear-gradient(145deg,#fff,rgba(247,244,236,.48));transform-style:preserve-3d}
.service-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;pointer-events:none;
  background:radial-gradient(240px circle at var(--card-x,50%) var(--card-y,50%),rgba(23,107,255,.12),transparent 68%);transition:opacity .25s ease
}
.service-card:hover::before{opacity:1}
.service-card > *{position:relative;z-index:1}
.case{transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease}
.case:hover{transform:translateY(-8px) scale(1.008);box-shadow:0 30px 70px rgba(13,27,42,.19)}
.insight-card{transition:transform .4s ease,box-shadow .4s ease}
.insight-card:hover{transform:translateY(-8px);box-shadow:0 28px 65px rgba(13,27,42,.12)}
.insight-visual::after{content:"↗";position:absolute;right:22px;bottom:18px;width:42px;height:42px;border-radius:50%;background:white;display:grid;place-items:center;font-weight:950;box-shadow:0 10px 24px rgba(13,27,42,.12);transition:transform .3s ease}
.insight-card:hover .insight-visual::after{transform:rotate(45deg)}

/* Process scroll progress */
.process-shell{position:relative}
.process-line{position:absolute;left:0;right:0;top:2px;height:4px;background:rgba(13,27,42,.1);overflow:hidden;border-radius:99px}
.process-line span{display:block;width:var(--process-progress,0%);height:100%;background:linear-gradient(90deg,var(--orange),var(--blue),var(--green));transition:width .12s linear}
.process-grid{position:relative;padding-top:24px}
.process-card{transition:transform .45s ease,background .45s ease,box-shadow .45s ease}
.process-card.in-view{background:#fff;box-shadow:0 20px 55px rgba(13,27,42,.07)}

/* Magnetic-looking buttons without positional hijacking */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.15);transform:translateX(-105%) skewX(-16deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.btn:hover::after{transform:translateX(105%) skewX(-16deg)}

/* Services page sticky storytelling */
body[data-page="services"] .section .split>div:first-child{position:sticky;top:110px;align-self:start}
body[data-page="services"] .section:nth-of-type(even) .split>div:first-child{position:relative;top:auto}

/* CTA animated ambient light */
.cta::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(35,196,131,.22);left:-90px;top:-140px;filter:blur(3px);animation:ctaFloat 7s ease-in-out infinite alternate}
@keyframes ctaFloat{to{transform:translate(70px,50px) scale(1.18)}}

@media(max-width:980px){
  .hero{min-height:auto}
  body[data-page="services"] .section .split>div:first-child{position:static}
  .partner-runway-heading{align-items:flex-start;flex-direction:column}.partner-runway-heading p{text-align:left}
  .fc-2{bottom:122px}
}
@media(max-width:640px){
  body::before{display:none}
  .scroll-progress{height:2px}
  .hero-art{transform:none!important}
  .parallax-layer,.hero-copy,[data-parallax]{transform:none!important}
  .metric-big{font-size:4.25rem}
  .metric-label{font-size:.92rem;max-width:310px}
  .fc-1{right:14px;top:92px}.fc-2{left:14px;bottom:116px;max-width:calc(100% - 28px)}
  .floating-card{padding:13px 15px}.floating-card strong{font-size:1.08rem}.floating-card span{font-size:.7rem}
  .partner-wordmark{min-width:190px;height:88px;font-size:1.16rem}
  .partner-runway-track{animation-duration:22s}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .partner-runway-track{animation:none}.parallax-layer,[data-parallax],.hero-art{transform:none!important}
  .js .reveal{opacity:1!important;transform:none!important}
}


/* Refined copy hierarchy — RevenueStack Media */
.dash-top strong{font-size:1.04rem;letter-spacing:-.025em}
.live-dot{font-size:.74rem;letter-spacing:-.01em}
.metric-label{max-width:460px;font-size:1.02rem;line-height:1.45;color:rgba(255,255,255,.68)}
.floating-card{padding:18px 21px}
.floating-card strong{font-size:1.18rem;line-height:1.15;letter-spacing:-.035em}
.floating-card span{display:block;margin-top:7px;font-size:.75rem;line-height:1.35;color:#6f7d8d}
.fc-1{min-width:215px}.fc-2{min-width:300px}
.orbit-label{padding:12px 18px;font-size:.88rem;line-height:1.1;letter-spacing:-.025em;font-weight:900}
.statement-box h3{max-width:560px;margin-bottom:14px;font-size:clamp(1.65rem,2.8vw,2.35rem);letter-spacing:-.045em}
.statement-box p{max-width:650px;margin-bottom:0;font-size:1.02rem;line-height:1.55;color:rgba(255,255,255,.78)}
.section-head>p{max-width:520px;margin-bottom:2px;font-size:1.02rem;line-height:1.55;color:#647387}
.service-card h3{margin-bottom:14px}
.service-card p{max-width:95%;margin-bottom:0;font-size:.98rem;line-height:1.5;color:#5f6f82}
.case h3{margin-bottom:18px}
.case p{max-width:91%;margin-bottom:0;font-size:1rem;line-height:1.55;color:rgba(255,255,255,.76)}
@media(max-width:640px){.fc-1{min-width:190px}.fc-2{min-width:260px}.metric-label{max-width:330px;font-size:.94rem}.orbit-label{font-size:.78rem;padding:10px 13px}.section-head>p{font-size:.96rem}}
