@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,Arial,sans-serif;color:#f4f4f4;background:#090909;font-synthesis:none;--accent:#c5f463;--muted:#a4a4a4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ffffff;outline-offset:6px}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}header{height:110px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #292929}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:800;letter-spacing:-1px}.brand-light{font-weight:500}.mark{display:grid;place-items:center;background:var(--accent);width:39px;height:39px;border-radius:11px;font-size:30px;line-height:1;letter-spacing:-2px;padding-bottom:5px}nav{display:flex;align-items:center;gap:35px;font-size:14px;font-weight:600}.nav-cta{border:1px solid #444444;padding:13px 18px;border-radius:7px;display:flex;gap:25px}nav a:hover{color:#ffffff}.hero{padding-top:76px;padding-bottom:0}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;display:block}h1{font-size:clamp(56px,7.2vw,98px);letter-spacing:-5px;line-height:1.09;font-weight:600;margin:28px 0 32px}h1 span{color:#aaaaaa}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:36px}.hero-bottom p{font-size:18px;line-height:1.8;max-width:600px;color:#b4b4b4;margin:0}.button{display:flex;align-items:center;justify-content:space-between;gap:42px;background:var(--accent);border-radius:7px;padding:21px 25px;font-size:15px;font-weight:800;white-space:nowrap}.button:hover{background:#dedede}.button span{font-size:24px}.capabilities{display:flex;justify-content:space-between;margin-top:68px;padding:25px 0;border-top:1px solid #292929;font-size:13px;color:#a3a3a3}.services{background:#111111;padding:80px 0 85px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}h2{font-size:clamp(30px,3vw,41px);line-height:1.25;font-weight:600;letter-spacing:-1.5px;margin:20px 0 0}.section-head>p{color:var(--muted);font-size:15px;line-height:1.8;margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid article{background:#090909;border:1px solid #303030;border-radius:10px;padding:29px 28px 26px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.icon{font-size:24px;font-weight:600}.number{font-size:12px;color:#909090}h3{font-size:19px;font-weight:700;letter-spacing:-.5px;margin:0 0 12px}.grid p{font-size:15px;line-height:1.8;color:var(--muted);margin:0;min-height:81px}.tags{font-size:12px;letter-spacing:.7px;color:#a0a0a0;padding-top:25px}.approach{padding-top:90px;padding-bottom:90px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.approach>div>p{color:var(--muted);line-height:1.8;max-width:440px}.approach ol{list-style:none;margin:0;padding:0}.approach li{display:flex;gap:24px;padding:20px 0;border-bottom:1px solid #292929}.approach li:first-child{padding-top:0}.approach li>span{font-size:13px;color:#aaaaaa;padding-top:4px}.approach li p{margin:0;font-size:15px;line-height:1.7;color:var(--muted)}.contact{background:#181818;color:#fff;border-radius:12px;padding:55px 60px;position:relative;margin-bottom:55px}.contact .eyebrow{color:var(--accent)}.contact h2{font-size:45px}.contact p{font-size:18px;color:#bdbdbd;line-height:1.7}.contact-note{display:inline-block;color:#cccccc;font-size:14px;border-top:1px solid #494949;padding-top:15px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:35px}footer>.brand{font-size:18px}footer>span{font-size:12px;color:var(--muted)}@media(min-width:1600px){.hero{padding-top:100px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}nav{gap:20px}.hero{padding-top:55px}h1{letter-spacing:-3px}.grid{grid-template-columns:repeat(2,1fr)}.section-head>p{max-width:250px}.approach{gap:40px}.hero-bottom{align-items:start}.button{gap:20px;padding:18px}.contact h2{font-size:36px}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}header{height:85px}.brand{font-size:19px}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:12px;padding:11px;gap:8px}.hero{padding-top:48px}h1{font-size:clamp(43px,10.5vw,62px);letter-spacing:-2.5px;line-height:1.15}.hero-bottom{flex-direction:column;gap:25px}.hero-bottom p{font-size:16px}.capabilities{flex-wrap:wrap;gap:18px;margin-top:42px;font-size:12px}.capabilities span{width:45%}.services{padding:50px 0}.section-head{display:block}.section-head>p{margin-top:20px;max-width:none}.grid{grid-template-columns:1fr}.grid article{padding:25px}.card-top{margin-bottom:24px}.grid p{min-height:0}.tags{font-size:11px}.approach{display:block;padding-top:55px;padding-bottom:55px}.approach ol{margin-top:30px}.contact{padding:35px 25px;margin-bottom:30px}.contact h2{font-size:32px}.contact p{font-size:16px}footer{flex-wrap:wrap}footer>.brand{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Monochrome identity and restrained motion. */
:root{color-scheme:dark}
::selection{background:#fff;color:#090909}
.mark,.button{color:#090909}
.mark{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.brand:hover .mark{transform:rotate(-9deg)}
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero:before{content:"";position:absolute;z-index:-1;width:65%;height:75%;right:-10%;top:0;background:radial-gradient(ellipse,#ffffff0b,transparent 65%);pointer-events:none;animation:ambient 12s ease-in-out infinite alternate}
h1 span{background:linear-gradient(110deg,#777 0%,#eee 30%,#999 55%,#fafafa 75%,#777 100%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:silver 9s ease-in-out infinite alternate}
.button,.nav-cta{transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}
.button span,.nav-cta span{transition:transform .25s ease}
.button:hover{transform:translateY(-3px);box-shadow:0 8px 30px #ffffff18}
.button:hover span{transform:translate(3px,3px)}
.nav-cta:hover{background:#202020;border-color:#888}
.nav-cta:hover span{transform:translate(2px,-2px)}
.grid article{transition:transform .35s ease,border-color .35s ease,background .35s ease}
.grid .icon{display:inline-block;transition:transform .35s ease}
.contact-note{transition:color .2s,border-color .2s}
.contact-note:hover{color:white;border-color:white}
.capabilities{position:relative}
.capabilities:before{content:"";position:absolute;top:-1px;left:0;height:1px;width:100px;background:linear-gradient(90deg,transparent,#ddd,transparent);animation:trace 7s ease-in-out infinite}
@media(hover:hover){.grid article:hover{transform:translateY(-6px);border-color:#777;background:#181818}.grid article:hover .icon{transform:translateY(-3px) rotate(-5deg)}}
@keyframes silver{to{background-position:100% 50%}}
@keyframes ambient{to{transform:translate(-15%,15%) scale(1.15)}}
@keyframes trace{0%,100%{left:0;opacity:0}15%,85%{opacity:1}90%{left:calc(100% - 100px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}h1 span{background:none;color:#ccc}}

/* Lime accents on the dark surface. */
a:focus-visible{outline-color:#c5f463}
.button:hover{background:#b2e34d;box-shadow:0 8px 30px #c5f46320}
nav a:hover{color:#c5f463}
h1 span{background-image:linear-gradient(110deg,#91b746 0%,#d9ff94 30%,#b4de65 55%,#e5ffb8 75%,#91b746 100%)}
.contact .eyebrow{color:#c5f463}
.capabilities:before{background:linear-gradient(90deg,transparent,#c5f463,transparent)}
@media(hover:hover){.grid article:hover{border-color:#718a47}.grid article:hover .icon{color:#c5f463}}
@media(prefers-reduced-motion:reduce){h1 span{background:none;color:#c5f463}}

/* Pointer light stays inside cards; magnetic translation is separate from hover lift. */
.grid article{position:relative;isolation:isolate;overflow:hidden}
.grid article:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(260px circle at var(--light-x,50%) var(--light-y,50%),#c5f46319,transparent 75%);opacity:0;transition:opacity .3s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.grid article.pointer-lit:before{opacity:1}
.button,.nav-cta{translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .35s cubic-bezier(.2,.8,.2,1),transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}
}
