:root{--ink:#07100d;--paper:#f1f0ea;--acid:#c8ff3d;--mint:#9adfc5;--line:rgba(7,16,13,.18);--muted:#5d6762;--pad:clamp(22px,5vw,76px)}
html,body{max-width:100%;overflow-x:hidden}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next","Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.55}
a{color:inherit}
.skip-link{position:fixed;top:-50px;left:20px;background:var(--acid);padding:10px 16px;z-index:100}
.skip-link:focus{top:10px}
.site-header{color:var(--paper);height:86px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;z-index:20;width:100%}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand span{width:36px;height:36px;background:var(--acid);color:var(--ink);display:grid;place-items:center;font:600 12px "Avenir Next",Arial,sans-serif}
.brand b{font:600 15px "Avenir Next",Arial,sans-serif}
.site-header nav{display:flex;align-items:center;gap:32px}
.site-header nav a{text-decoration:none;font-size:14px}
.site-header nav a:not(.nav-cta):hover{opacity:.55}
.nav-cta{border:1px solid var(--ink);padding:10px 15px;display:flex;gap:22px}
.menu-toggle{display:none}
.hero{min-height:100vh;padding:clamp(145px,15vw,190px) var(--pad) 40px;background:var(--ink);color:var(--paper);position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);column-gap:4vw;align-items:center}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to right,transparent,black)}
.hero-copy{position:relative;z-index:2}
.eyebrow,.section-label{font:600 11px "Avenir Next",Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.eyebrow{color:#c9d1cd;display:flex;align-items:center;gap:9px;margin-bottom:30px}
.eyebrow span{width:7px;height:7px;background:var(--acid);border-radius:50%;box-shadow:0 0 0 5px rgba(200,255,61,.12)}
h1,h2,h3,p{margin-top:0}
h1{font:600 clamp(46px,6.2vw,91px)/.98 "Avenir Next",Arial,sans-serif;letter-spacing:-.065em;margin-bottom:35px;max-width:950px}
h1 em,.contact h2 em{font-style:normal;color:var(--acid)}
.hero-name{font-size:clamp(56px,7.6vw,112px);font-weight:700;line-height:.9;max-width:1050px;margin:0 0 28px;color:var(--paper)}
.hero-title{font:600 clamp(32px,4.1vw,62px)/1 "Avenir Next",Arial,sans-serif;letter-spacing:-.055em;margin:0 0 30px;max-width:760px;color:#c4cec9}
.hero-title em{font-style:normal;color:var(--acid)}
.lede{font-size:clamp(18px,1.5vw,22px);max-width:680px;color:#b7c0bc;line-height:1.55}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:40px}
.button{display:inline-flex;text-decoration:none;align-items:center;gap:40px;padding:15px 18px;font-weight:600;font-size:14px}
.button-primary{background:var(--acid);color:var(--ink)}
.text-link{text-decoration:none;border-bottom:1px solid #61706a;padding-bottom:4px;font-size:14px}
.text-link span{margin-left:8px}
.hero-visual{height:530px;position:relative;z-index:2}
.orbit{position:absolute;border:1px solid rgba(200,255,61,.22);border-radius:50%;inset:9% 6%}
.orbit-two{inset:24% 20%;border-color:rgba(154,223,197,.18)}
.core{position:absolute;left:38%;top:35%;width:150px;height:150px;background:var(--acid);color:var(--ink);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 80px rgba(200,255,61,.16)}
.core span,.system-card span{font:600 9px "Avenir Next",Arial,sans-serif;letter-spacing:.15em}
.core b{font:700 32px "Avenir Next",Arial,sans-serif;letter-spacing:-.06em}
.core small{font-size:11px}
.system-card{position:absolute;width:175px;padding:17px;border:1px solid rgba(241,240,234,.18);background:rgba(14,27,23,.88);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:3px}
.system-card span{color:var(--acid)}
.system-card strong{font:600 16px "Avenir Next",Arial,sans-serif}
.system-card small{color:#8fa099}
.card-data{top:3%;left:2%}
.card-ml{right:0;top:22%}
.card-cloud{bottom:4%;left:8%}
.hero-stats{grid-column:1/-1;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.17);margin-top:35px;padding-top:26px}
.hero-stats div{display:flex;align-items:flex-start;gap:16px}
.hero-stats strong{font:600 36px "Avenir Next",Arial,sans-serif;letter-spacing:-.06em}
.hero-stats span{color:#9eaaa5;font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.04em}
.section{padding:clamp(90px,10vw,150px) var(--pad)}
.section-label{color:#64706b;margin-bottom:38px}
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:10vw}
.intro h2,.section-heading h2,.sticky-copy h2,.toolkit h2{font:600 clamp(38px,5vw,68px)/1.05 "Avenir Next",Arial,sans-serif;letter-spacing:-.055em}
.intro-grid>div p{font-size:19px;color:#44504b;max-width:610px}
.work{background:#dfe5dc}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}
.section-heading h2{margin:0;max-width:800px}
.section-heading>p{max-width:340px;color:var(--muted)}
.filters{display:flex;gap:8px;margin-bottom:22px}
.filters button{font:500 12px "Avenir Next",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;border:1px solid #adb6ad;background:transparent;padding:9px 14px;cursor:pointer}
.filters button.active,.filters button:hover{background:var(--ink);color:white;border-color:var(--ink)}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.project{min-height:570px;background:var(--paper);padding:26px;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:opacity .25s,transform .25s}
.project.hidden{display:none}
.project-featured{background:var(--ink);color:white}
.project-wide{grid-column:1/-1;min-height:430px}
.project-top{display:flex;justify-content:space-between;font:600 10px "Avenir Next",Arial,sans-serif;letter-spacing:.15em;border-bottom:1px solid currentColor;padding-bottom:14px;opacity:.55}
.project-body{margin-top:auto;position:relative;z-index:2;max-width:620px}
.project-body>p:first-child{font:600 10px "Avenir Next",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#6b7772}
.project-featured .project-body>p:first-child{color:var(--acid)}
.project h3{font:600 clamp(27px,3vw,45px)/1.08 "Avenir Next",Arial,sans-serif;letter-spacing:-.045em;margin-bottom:17px}
.project-body>p{color:#5a6560;max-width:580px}
.project-featured .project-body>p{color:#abb7b2}
.impact{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.impact span{border:1px solid rgba(100,112,107,.35);padding:8px 11px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.impact b{font-size:14px;margin-right:4px}
.project-mark{position:absolute;width:250px;height:210px;right:20px;top:80px}
.mark-lake i{position:absolute;border:1px solid rgba(200,255,61,.42);width:190px;height:70px;transform:rotate(-12deg) skewX(25deg)}
.mark-lake i:nth-child(2){top:34px}
.mark-lake i:nth-child(3){top:68px}
.mark-ml i{position:absolute;width:74px;height:74px;border:1px solid #7e8d86;border-radius:50%}
.mark-ml i:nth-child(1){left:48px}
.mark-ml i:nth-child(2){left:110px;top:42px}
.mark-ml i:nth-child(3){top:95px;left:35px}
.mark-ml i:nth-child(4){top:115px;left:140px;background:var(--acid);border:none;width:20px;height:20px}
.mark-api i{position:absolute;width:11px;height:11px;background:var(--ink);border-radius:50%}
.mark-api i:nth-child(1){left:20px;top:80px}
.mark-api i:nth-child(2){left:90px;top:20px}
.mark-api i:nth-child(3){left:150px;top:100px}
.mark-api i:nth-child(4){left:220px;top:40px}
.mark-api i:nth-child(5){left:115px;top:170px}
.mark-api:before,.mark-api:after{content:"";position:absolute;inset:35px 20px;border:1px solid #9aa69f;transform:rotate(17deg)}
.signal{position:absolute;right:0;top:60px;width:45%;height:240px}
.signal svg{width:100%;height:100%;overflow:visible}
.signal path{fill:none;stroke:#8a9b92;stroke-width:1.3;vector-effect:non-scaling-stroke}
.signal .ghost{stroke:var(--acid);stroke-width:2}
.experience{background:var(--ink);color:var(--paper)}
.experience .section-label{color:#819089}
.experience-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}
.sticky-copy{align-self:start;position:sticky;top:50px}
.sticky-copy p{color:#9ba7a2;max-width:480px}
.timeline article{padding:0 0 55px;margin-bottom:55px;border-bottom:1px solid rgba(255,255,255,.17)}
.timeline-meta{display:flex;justify-content:space-between;color:var(--acid);font:600 10px "Avenir Next",Arial,sans-serif;letter-spacing:.12em;margin-bottom:32px}
.timeline h3{font:600 clamp(26px,3vw,40px) "Avenir Next",Arial,sans-serif;letter-spacing:-.04em;margin-bottom:2px}
.timeline h4{font:500 15px "Avenir Next",Arial,sans-serif;color:#a9b4af;margin:0 0 20px}
.timeline p{color:#9ba7a2;max-width:620px}
.toolkit{background:var(--acid)}
.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.capability-grid>div{padding:25px 24px 10px 0;border-right:1px solid rgba(7,16,13,.3);min-height:230px}
.capability-grid>div:not(:first-child){padding-left:24px}
.capability-grid>div:last-child{border:0}
.capability-grid span{font:600 10px "Avenir Next",Arial,sans-serif}
.capability-grid h3{font:600 22px "Avenir Next",Arial,sans-serif;margin-top:40px}
.capability-grid p{font-size:14px}
.contact{padding:clamp(90px,10vw,150px) var(--pad) 55px;background:#18231f;color:var(--paper)}
.contact .section-label{color:#8c9993}
.contact-main{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:65px}
.contact h2{font:600 clamp(52px,8vw,110px)/.96 "Avenir Next",Arial,sans-serif;letter-spacing:-.065em;margin:0}
.contact-arrow{width:115px;height:115px;border-radius:50%;background:var(--acid);color:var(--ink);display:grid;place-items:center;text-decoration:none;font-size:45px;transition:transform .2s}
.contact-arrow:hover{transform:rotate(45deg)}
.contact-footer{display:flex;justify-content:space-between;padding-top:35px;color:#aeb8b3}
.contact-footer>div{display:flex;flex-direction:column;align-items:flex-end}
.contact-footer a{color:white;text-underline-offset:4px}
footer{background:#18231f;color:#8f9d96;padding:22px var(--pad);border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
footer a{color:var(--paper);text-decoration:none}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header nav{position:absolute;top:86px;left:0;right:0;background:var(--paper);color:var(--ink);padding:25px var(--pad);display:none;flex-direction:column;align-items:stretch}
.site-header nav.open{display:flex}
.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;border:0}
.menu-toggle span{display:block;width:24px;height:1px;background:currentColor}
.hero{grid-template-columns:1fr;padding-top:140px}
.hero-visual{height:430px;margin-top:25px}
.hero-stats{grid-template-columns:1fr 1fr;gap:25px}
.intro-grid,.experience-layout{grid-template-columns:1fr}
.project-grid{grid-template-columns:1fr}
.project-wide{grid-column:auto}
.sticky-copy{position:static;margin-bottom:50px}
.capability-grid{grid-template-columns:1fr 1fr}
.section-heading{align-items:start;flex-direction:column}
.contact-arrow{width:80px;height:80px}
.contact-footer{gap:30px}
.contact-footer>div{align-items:flex-start}
}
@media(max-width:600px){.site-header{height:72px}
.brand b{display:none}
h1{font-size:45px}
.hero{padding-top:120px}
.hero-visual{height:360px}
.system-card{width:145px;padding:12px}
.card-cloud{bottom:0}
.core{width:115px;height:115px;left:34%}
.core b{font-size:25px}
.hero-stats{grid-template-columns:1fr}
.hero-stats div{border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:15px}
.hero-actions{align-items:flex-start;flex-direction:column}
.intro-grid{gap:20px}
.project{min-height:520px}
.project-mark{opacity:.7;right:-65px}
.signal{opacity:.6;width:80%}
.capability-grid{grid-template-columns:1fr}
.capability-grid>div,.capability-grid>div:not(:first-child){border-right:0;border-bottom:1px solid rgba(7,16,13,.3);padding:25px 0;min-height:auto}
.capability-grid h3{margin-top:25px}
.contact-main{align-items:flex-start;flex-direction:column;gap:40px}
.contact h2{font-size:54px}
.contact-footer{flex-direction:column}
.contact-footer>div{align-items:flex-start}
footer{gap:16px;flex-direction:column}
footer span:nth-child(2){display:none}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal{opacity:1;transform:none;transition:none}
}

/* Expanded AI and agentic capability layer */
.project-agentic{background:#d5c8ff;min-height:570px}
.project-agentic .project-body>p:first-child{color:#4d376e}
.agent-nodes{position:absolute;right:28px;top:85px;width:270px;height:210px}
.agent-nodes:before,.agent-nodes:after{content:"";position:absolute;inset:40px;border:1px solid rgba(7,16,13,.28);transform:rotate(35deg)}
.agent-nodes:after{transform:rotate(-35deg)}
.agent-nodes i{position:absolute;width:70px;height:70px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;background:#d5c8ff;font:600 9px "Avenir Next",Arial,sans-serif;letter-spacing:.08em;font-style:normal;z-index:1}
.agent-nodes i:nth-child(1){left:100px;top:0}
.agent-nodes i:nth-child(2){right:0;top:78px;background:var(--acid)}
.agent-nodes i:nth-child(3){left:100px;bottom:0}
.agent-nodes i:nth-child(4){left:0;top:78px}
.capability-grid{grid-template-columns:repeat(3,1fr)}
.capability-grid>div{border-bottom:1px solid rgba(7,16,13,.3);min-height:220px}
.capability-grid>div:nth-child(3),.capability-grid>div:nth-child(6){border-right:0}
.capability-grid>div:nth-child(n+4){border-bottom:0}
.solution-map{background:var(--paper)}
.solution-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:70px}
.solution-heading h2{font:600 clamp(42px,6vw,78px)/1.02 "Avenir Next",Arial,sans-serif;letter-spacing:-.06em;margin:0}
.solution-heading p{color:var(--muted);font-size:18px;max-width:520px}
.solution-flow{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.solution-flow article{min-height:310px;padding:22px;border-right:1px solid var(--line);position:relative}
.solution-flow article:last-child{border-right:0;background:#d5c8ff}
.solution-flow article:not(:last-child):after{content:"→";position:absolute;right:-13px;top:47%;z-index:2;width:26px;height:26px;border:1px solid var(--ink);background:var(--paper);border-radius:50%;display:grid;place-items:center;font-size:12px}
.solution-flow span{font:600 10px "Avenir Next",Arial,sans-serif;letter-spacing:.12em;color:var(--muted)}
.solution-flow h3{font:600 25px "Avenir Next",Arial,sans-serif;margin-top:95px;letter-spacing:-.035em}
.solution-flow p{font-size:13px;color:var(--muted);line-height:1.55}
.learning-note{display:flex;gap:22px;align-items:center;margin:28px 0 0;color:var(--muted)}
.learning-note span{background:var(--ink);color:var(--acid);padding:8px 11px;font:600 9px "Avenir Next",Arial,sans-serif;letter-spacing:.12em;white-space:nowrap}

@media(max-width:900px){
  .capability-grid{grid-template-columns:1fr 1fr}
  .capability-grid>div:nth-child(3){border-right:1px solid rgba(7,16,13,.3)}
  .capability-grid>div:nth-child(even){border-right:0}
  .capability-grid>div:nth-child(4){border-bottom:1px solid rgba(7,16,13,.3)}
  .solution-heading{grid-template-columns:1fr;gap:24px}
  .solution-flow{grid-template-columns:1fr 1fr}
  .solution-flow article{min-height:240px;border-bottom:1px solid var(--line)}
  .solution-flow article:nth-child(even){border-right:0}
  .solution-flow article:not(:last-child):after{display:none}
  .solution-flow article:last-child{grid-column:1/-1;min-height:220px}
  .solution-flow h3{margin-top:45px}
}

@media(max-width:600px){
  .agent-nodes{right:-70px;opacity:.55}
  .capability-grid{grid-template-columns:1fr}
  .capability-grid>div,.capability-grid>div:nth-child(3),.capability-grid>div:nth-child(4){border-right:0;border-bottom:1px solid rgba(7,16,13,.3)}
  .solution-flow{grid-template-columns:1fr}
  .solution-flow article,.solution-flow article:last-child{grid-column:auto;border-right:0;min-height:210px}
  .solution-flow h3{margin-top:35px}
  .learning-note{align-items:flex-start;flex-direction:column}
}

/* Multi-cloud positioning */
.multicloud{background:#e8edf4}
.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink);margin-bottom:22px}
.provider{min-height:310px;padding:27px;border-right:1px solid var(--ink);display:flex;flex-direction:column}
.provider:last-child{border-right:0}
.provider-aws{background:#b9d7ff}
.provider>div{display:flex;justify-content:space-between;gap:18px;font:600 9px "Avenir Next",Arial,sans-serif;letter-spacing:.11em}
.provider>div b{font-weight:600;text-align:right;color:#54605b}
.provider h3{font:600 clamp(25px,2.5vw,38px)/1.05 "Avenir Next",Arial,sans-serif;letter-spacing:-.045em;margin:auto 0 22px}
.provider p{font-size:13px;color:#4e5a55;margin:0;line-height:1.7}
.cloud-domain-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.cloud-domain-grid article{min-height:245px;padding:22px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.cloud-domain-grid span{font:600 9px "Avenir Next",Arial,sans-serif;letter-spacing:.12em;color:#65716c}
.cloud-domain-grid h3{font:600 19px/1.12 "Avenir Next",Arial,sans-serif;letter-spacing:-.025em;margin:58px 0 14px}
.cloud-domain-grid p{font-size:12px;line-height:1.6;color:#59645f;margin:0}
.cloud-principles{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--ink);padding:24px 0 10px;margin-top:18px;overflow:auto}
.cloud-principles span{font:600 9px "Avenir Next",Arial,sans-serif;letter-spacing:.12em;color:#5c6862;white-space:nowrap}
.cloud-principles p{font:600 14px "Avenir Next",Arial,sans-serif;margin:0;white-space:nowrap}
.cloud-principles i{font-style:normal;color:#85918b}
.project-multicloud{background:#b9d7ff}
.project-multicloud .project-body>p:first-child{color:#36506f}
.cloud-stack{position:absolute;right:24px;top:88px;width:270px;height:200px}
.cloud-stack i{position:absolute;width:130px;height:70px;border:1px solid var(--ink);display:grid;place-items:center;font:600 11px "Avenir Next",Arial,sans-serif;font-style:normal;letter-spacing:.1em;background:#b9d7ff}
.cloud-stack i:nth-child(1){left:0;top:0}
.cloud-stack i:nth-child(2){right:0;top:58px;background:var(--acid)}
.cloud-stack i:nth-child(3){left:20px;bottom:0;background:var(--paper)}
.cloud-stack:before,.cloud-stack:after{content:"";position:absolute;background:var(--ink);height:1px;width:90px;left:93px;top:70px;transform:rotate(34deg);transform-origin:left}
.cloud-stack:after{top:126px;transform:rotate(-28deg)}

@media(max-width:900px){
  .provider-grid{grid-template-columns:1fr}
  .provider{min-height:240px;border-right:0;border-bottom:1px solid var(--ink)}
  .provider:last-child{border-bottom:0}
  .cloud-domain-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:600px){
  .hero-name{font-size:54px;line-height:.92}
  .hero-title{font-size:36px}
  .eyebrow{max-width:100%;flex-wrap:wrap}
  .provider{min-height:220px;padding:22px}
  .provider-grid,.cloud-domain-grid,.cloud-principles{max-width:100%;min-width:0}
  .cloud-domain-grid{grid-template-columns:1fr}
  .cloud-domain-grid article{min-height:200px}
  .cloud-domain-grid h3{margin-top:35px}
  .cloud-stack{right:-75px;opacity:.55}
  .cloud-principles{justify-content:flex-start}
}
