:root{--ink:#0e1220;--ink2:#151a2b;--paper:#f4f5f7;--muted:#8d97b5;--line:rgba(242,240,234,.15);--lime:#84b340;--orange:#465493;--purple:#7c89c4;--cyan:#84b340;--sans:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='x'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23x)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}header{height:82px;border-bottom:1px solid var(--line);padding:0 6vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:8;background:rgba(16,21,34,.86);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:14px;letter-spacing:.1em}.brand img{width:31px;height:31px;border-radius:8px}.brand b{font-weight:400;color:var(--lime)}.brand-dot{width:31px;height:31px;border-radius:50%;border:1px solid var(--lime);color:var(--lime);display:grid;place-items:center;font:12px var(--mono)}nav{display:flex;gap:30px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.11em;color:#a7b0c8}nav a:hover,footer a:hover{color:var(--lime)}.top-cta,.under,.link{font:10px var(--mono);text-transform:uppercase;letter-spacing:.11em;border-bottom:1px solid var(--lime);padding-bottom:7px}.top-cta span,.button span,.under span,.link span{color:var(--lime);margin-left:10px}.menu{display:none;background:none;border:0;color:var(--paper);font-size:22px}.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;padding:14px 6vw 20px;background:rgba(14,18,32,.98);border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.35);z-index:20}.mobile-menu a{display:block;padding:14px 4px;border-bottom:1px solid var(--line);color:var(--paper);font:10px var(--mono);letter-spacing:.11em;text-transform:uppercase}.mobile-menu a:hover{color:var(--lime)}.mobile-menu .mobile-menu-cta{margin-top:12px;border:1px solid rgba(132,179,64,.6);padding:14px;color:var(--lime)}.section{padding:7rem 6vw}.hero{min-height:calc(100vh - 82px);padding:5rem 6vw;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4vw}.eyebrow,.kicker{font:10px var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--lime)}.eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(217,255,72,.1);margin-right:10px}h1,h2,p{margin-top:0}h1{font-size:clamp(64px,9vw,140px);line-height:.83;letter-spacing:-.1em;font-weight:700;margin:30px 0}.hero h1 em,h2 em{font:400 .95em/1 Georgia,serif;color:var(--lime);letter-spacing:-.09em}.hero-copy>p{max-width:530px;color:#b9c1d4;line-height:1.7;font-size:16px}.actions{display:flex;gap:26px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 21px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;border:1px solid transparent;cursor:pointer;transition:.25s}.primary{background:var(--lime);color:var(--ink)}.primary:hover{background:#c6dc8f;transform:translateY(-3px)}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:var(--brand-blue)}.under{color:#d6d9e0;border-color:#657080}.hero-stats{display:flex;gap:40px;margin-top:72px}.hero-stats div{display:flex;gap:9px}.hero-stats strong{font-size:29px;line-height:1;color:var(--lime);letter-spacing:-.08em}.hero-stats small{font:9px/1.4 var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.hero-shape{height:350px;min-height:350px;max-height:350px;position:relative;display:grid;place-items:center;overflow:hidden}.shape-grid{position:absolute;width:78%;height:78%;background:linear-gradient(rgba(217,255,72,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(217,255,72,.12) 1px,transparent 1px);background-size:35px 35px;transform:perspective(420px) rotateX(57deg) rotateZ(-22deg);mask-image:radial-gradient(ellipse,black,transparent 70%);animation:float 7s ease-in-out infinite}.shape-orb{width:280px;height:280px;border-radius:50%;background:radial-gradient(circle at 32% 24%,#46545d,#182034 50%,#0b0f17);border:1px solid var(--lime);box-shadow:0 0 100px rgba(217,255,72,.14);display:flex;align-items:center;justify-content:center;transform:rotate(-17deg);font-size:29px;line-height:.86;letter-spacing:-.08em;text-align:center;position:relative;z-index:1}.shape-orb em{font:400 .9em Georgia,serif;color:var(--brand-blue)}.shape-label{position:absolute;padding:8px 10px;border:1px solid rgba(217,255,72,.5);font:9px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--lime);background:rgba(16,21,34,.65)}.l1{top:14%;left:8%}.l2{right:1%;top:38%;color:var(--brand-blue);border-color:rgba(255,112,77,.55)}.l3{bottom:11%;left:25%;color:var(--purple);border-color:rgba(155,123,255,.55)}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;overflow:hidden;white-space:nowrap}.ribbon>div{display:flex;gap:35px;width:max-content;align-items:center;animation:marquee 26s linear infinite;font:13px var(--mono);color:var(--lime);letter-spacing:.14em}.ribbon i{color:var(--brand-blue);font-style:normal}.intro,.services,.work,.os,.insights,.contact{background:var(--paper);color:var(--ink)}.intro .kicker,.services .kicker,.work .kicker,.os .kicker,.insights .kicker,.contact .kicker{color:#675d56}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;margin-top:53px}.intro h2,.heading h2,.work h2,.os h2,.insight-layout h2,.contact h2{font-size:clamp(46px,6.5vw,94px);line-height:.88;letter-spacing:-.1em;font-weight:600;margin:0}.intro h2 em,.heading h2 em,.work h2 em,.os h2 em,.insight-layout h2 em,.contact h2 em{color:var(--brand-blue)}.lead{font:28px/1.2 Georgia,serif;max-width:420px}.intro-grid>div>p:not(.lead){max-width:450px;color:#5a6380;line-height:1.8}.link{display:inline-block;color:var(--ink);border-color:var(--ink);margin-top:20px}.link span{color:var(--brand-blue)}.services{padding-top:0}.heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:50px 0}.heading p{max-width:300px;color:#6d7691;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ccd2e0;border-top:1px solid #ccd2e0;border-left:1px solid #ccd2e0}.service-card{display:flex;color:inherit;text-decoration:none;min-height:370px;padding:25px;border-right:1px solid #ccd2e0;border-bottom:1px solid #ccd2e0;display:flex;flex-direction:column;justify-content:space-between;transition:.3s}.service-card:hover{background:var(--ink);color:var(--paper);transform:translateY(-7px)}.service-card .num{font:10px var(--mono);color:var(--brand-blue)}.service-card h3{font-size:26px;line-height:.95;letter-spacing:-.07em;margin:25px 0 12px}.service-card p{color:#6d7691;font-size:13px;line-height:1.65}.service-card:hover p{color:#a7b0c8}.service-card ul{list-style:none;padding:0;margin:0;color:#6d7691;font:10px/2 var(--mono);text-transform:uppercase}.service-card li:before{content:'↳';color:var(--brand-blue);margin-right:8px}.service-card .deliverable{border-top:1px solid #ccd2e0;padding-top:12px;margin-top:20px;font:10px/1.5 var(--mono);color:#6d665e}.service-card:hover .deliverable{border-color:var(--line);color:var(--muted)}.work{padding-top:0}.work-head,.os-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-top:48px}.work-head p,.os-head p{max-width:440px;color:#6d7691;line-height:1.7}.reference-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#ccd2e0;margin-top:55px}.reference-card{padding:21px;min-height:180px;background:var(--paper);border:1px solid #ccd2e0}.reference-card:hover{background:var(--ink);color:var(--paper)}.reference-card span{font:9px var(--mono);color:var(--brand-blue);text-transform:uppercase}.reference-card h3{font-size:18px;line-height:1;margin:25px 0 10px;letter-spacing:-.05em}.reference-card p{font-size:11px;line-height:1.5;color:#6d7691}.reference-card:hover p{color:var(--muted)}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ccd2e0;margin-top:1px}.case-card{background:var(--ink);color:var(--paper);padding:26px;min-height:310px;display:flex;flex-direction:column;justify-content:space-between}.case-card .case-tag{font:9px var(--mono);text-transform:uppercase;color:var(--lime)}.case-card h3{font-size:25px;line-height:.98;letter-spacing:-.07em}.case-card p{font-size:12px;line-height:1.55;color:#a7b0c8}.case-card ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line);padding-top:14px;font:10px/1.7 var(--mono);color:#a7b0c8}.case-card .status{font:9px var(--mono);color:#767f9e;margin-top:16px}.os{padding-top:0}.os-head{align-items:start}.os-note{font:10px/1.5 var(--mono);color:var(--brand-blue);border-left:1px solid #ccd2e0;padding-left:15px}.os-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ccd2e0;margin-top:52px}.os-card{background:var(--lime);min-height:400px;padding:28px;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.os-card:nth-child(2){background:var(--brand-blue)}.os-card:nth-child(3){background:var(--purple);color:#fff}.os-card:after{content:'OS';position:absolute;right:-15px;bottom:-58px;font-size:180px;font-weight:800;letter-spacing:-.15em;opacity:.09}.os-card .os-label{font:10px var(--mono);letter-spacing:.12em}.os-card h3{font-size:39px;line-height:.88;letter-spacing:-.09em;max-width:300px}.os-card p{font-size:13px;line-height:1.55;max-width:320px}.os-card ul{list-style:none;padding:0;border-top:1px solid rgba(16,21,34,.25);padding-top:13px;font:10px/1.9 var(--mono);text-transform:uppercase}.os-card li:before{content:'+';margin-right:8px}.insights{padding-top:0}.insight-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;margin-top:50px}.insight-layout>div:first-child p{color:#6d7691;line-height:1.7;max-width:420px;margin:30px 0}.insight-cards{display:grid;gap:1px;background:#ccd2e0}.insight-card{display:grid;grid-template-columns:100px 1fr 30px;gap:20px;padding:23px;background:var(--paper);border:1px solid transparent}.insight-card:hover{background:var(--ink);color:var(--paper)}.insight-card span{font:9px var(--mono);color:var(--brand-blue)}.insight-card strong{font-size:18px;line-height:1;letter-spacing:-.05em}.insight-card b{font-size:20px}.contact{padding-top:0}.contact-box{border-top:1px solid #ccd2e0;padding-top:45px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:50px}.contact-grid>div>p{max-width:420px;color:#6d7691;line-height:1.7;margin:30px 0}.contact-lines{display:grid;gap:15px;margin-top:38px}.contact-lines a{font-size:18px;letter-spacing:-.04em}.contact-lines small{display:block;color:#767f9e;font:9px var(--mono);text-transform:uppercase;margin-bottom:5px}.contact-lines span{color:var(--brand-blue);margin-left:8px}form{border-top:1px solid #ccd2e0}label{display:block;border-bottom:1px solid #ccd2e0;padding:17px 0}label small{display:block;color:#767f9e;font:9px var(--mono);text-transform:uppercase;margin-bottom:9px}input,select,textarea{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:16px var(--sans);resize:vertical}select option{color:var(--ink)}form .button{margin-top:22px}#form-note{font:9px var(--mono);color:#767f9e}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;border-bottom:1px solid var(--line);padding-bottom:48px}.footer-top p{font:11px/1.6 var(--mono);color:var(--muted)}.footer-top>div{display:grid;gap:11px;font:10px var(--mono);text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:var(--muted);font:9px var(--mono);text-transform:uppercase}footer{padding:55px 6vw 25px;background:var(--ink)}.reveal{animation:rise .8s ease both}.delay{animation-delay:.15s}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes float{50%{transform:perspective(420px) rotateX(57deg) rotateZ(-18deg) translateY(-13px)}}@media(max-width:950px){.mobile-menu:not([hidden]){display:block}nav,.top-cta{display:none}.menu{display:block}.hero{grid-template-columns:1fr}.hero-shape{max-height:350px}.service-grid{grid-template-columns:repeat(2,1fr)}.reference-grid{grid-template-columns:repeat(2,1fr)}.intro-grid,.insight-layout,.contact-grid{grid-template-columns:1fr;gap:40px}.os-grid,.case-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}}@media(max-width:600px){.section{padding:5rem 20px}.hero{padding:4rem 20px}.hero-stats{gap:18px}.hero-stats strong{font-size:23px}.hero-shape{min-height:350px;height:350px}.shape-orb{width:220px;height:220px;font-size:24px}.shape-label{font-size:8px}.l1{left:0}.l2{right:0}.service-grid,.reference-grid{grid-template-columns:1fr}.heading,.work-head,.os-head{display:block}.heading p,.work-head p,.os-head p{margin-top:25px}.os-note{display:inline-block;margin-top:25px}.footer-top,.footer-bottom{display:grid;gap:20px}.footer-bottom{font-size:8px}}

/* ── Client testimonials (cross-approved references) ── */
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;margin-top:34px}
.testimonial-card{position:relative;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:34px 32px 28px;background:#fff;box-shadow:0 18px 44px rgba(10,12,20,.22)}
.testimonial-card .quote{margin:0;font-size:18px;line-height:1.65;color:#1c2430}
.testimonial-card .quote::before{content:'\201C';display:block;font-size:54px;line-height:1;margin-bottom:6px;color:#a3d34a}
.testimonial-card .who{margin-top:22px;display:flex;flex-direction:column;gap:2px}
.testimonial-card .who strong{color:#1c2430;font-size:15px}
.testimonial-card .who span{color:#5a6675;font-size:13px;letter-spacing:.02em}
@media(max-width:700px){.testimonial-card{padding:26px 22px}}


/* Service card hover: keep list readable on dark ink */
.service-card:hover ul,
.service-card:hover li,
.service-card:hover .cap,
.service-card:hover .deliverable {
  color: #c5cce0 !important;
}
.service-card:hover h3 { color: #f2f5ef !important; }
.service-card:hover p { color: #d5dbeb !important; }

@media(min-width:981px){/*hero-shape-desktop*/.hero-shape{height:min(640px,42vw);min-height:480px;max-height:640px}}

/*pit-h1-stable*/
@media(max-width:980px){.hero h1,.hero .word-reveal{font-size:clamp(2.6rem,11vw,3.4rem)!important;line-height:.98!important}.hero-copy{min-height:280px}.hero-shape{height:350px!important;min-height:350px!important;max-height:350px!important}}
