:root{--bg:#090d18;--panel:#101727;--panel2:#121d30;--text:#edf2fa;--muted:#9ba9bd;--line:rgba(180,200,230,.14);--mint:#8df0d0;--blue:#8baeff;--font:'DM Sans',sans-serif;--display:'Space Grotesk',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6}a{color:inherit;text-decoration:none}.progress{height:2px;position:fixed;z-index:20;top:0;left:0;width:0;background:var(--mint)}.header{height:82px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15;background:rgba(9,13,24,.86);backdrop-filter:blur(18px)}.logo{display:flex;gap:12px;align-items:center;font:700 17px var(--display);letter-spacing:.13em}.logo-period{color:var(--mint)}.logo-symbol{width:24px;height:24px;display:flex;gap:3px;align-items:end}.logo-symbol i{display:block;width:5px;border-radius:4px;background:var(--mint);transform:skew(-25deg)}.logo-symbol i:nth-child(1){height:12px}.logo-symbol i:nth-child(2){height:20px}.logo-symbol i:nth-child(3){height:16px}nav{display:flex;gap:36px;align-items:center;font-size:12px;color:#bac5d5}nav a:hover,.text-link:hover{color:var(--mint)}.nav-cta{border:1px solid var(--line);padding:10px 16px;border-radius:3px;color:var(--text)}.nav-cta b{color:var(--mint);margin-left:12px}.menu-toggle{display:none;background:none;border:0}.hero{min-height:680px;height:min(790px,calc(100vh - 82px));position:relative;overflow:hidden;padding:130px 12vw 70px;display:flex;flex-direction:column;justify-content:center}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(142,170,210,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(142,170,210,.045) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,black,transparent 90%)}.hero-glow{position:absolute;width:600px;height:600px;right:2%;top:4%;background:radial-gradient(circle,rgba(73,132,180,.2),rgba(73,132,180,0) 68%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:800px}.eyebrow,.section-label,.overline,.hero-bottom,.hero-aside,.project-no,.work-meta,.person-top{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:12px;color:#b8c9d9}.pulse{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 18px var(--mint)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.055em}h1{font-size:clamp(66px,9vw,124px);line-height:.99;margin:34px 0 30px;font-weight:500}h1 em,.contact h2 em{font-style:normal;color:var(--mint)}.hero-lead{font-size:17px;line-height:1.8;color:#aab8ca;max-width:540px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.btn{display:inline-flex;align-items:center;gap:35px;padding:15px 19px;border-radius:3px;font-size:12px;font-weight:700;transition:.2s}.btn-primary{background:var(--mint);color:#06120f}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 34px #8df0d02b}.text-link{font-size:12px;color:#d0d9e6}.text-link span{color:var(--mint);margin-left:9px}.hero-aside{position:absolute;right:7vw;top:38%;display:flex;flex-direction:column;gap:12px;writing-mode:vertical-rl;font-size:9px}.aside-line{height:60px;width:1px;background:var(--mint);margin:0 auto}.hero-bottom{position:absolute;bottom:35px;left:12vw;right:12vw;display:flex;justify-content:space-between;font-size:9px}.section-wrap{padding:125px 12vw;border-top:1px solid var(--line)}.section-label{color:var(--mint);font-size:10px}.intro{display:grid;grid-template-columns:1fr 2.2fr;gap:50px}.overline{color:var(--mint);text-transform:uppercase;margin-bottom:18px}.intro h2,.section-head h2,.approach h2{font-size:clamp(36px,5vw,62px);font-weight:500;line-height:1.1;margin:0 0 24px}.intro h2 span,.section-head h2 span,.approach h2 span{color:#718198}.body-copy{max-width:660px;color:var(--muted);font-size:15px;line-height:1.9}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-head h2{margin:22px 0 0}.section-head>p{max-width:330px;color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:5px}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:70px 1fr 30px;gap:20px;padding:31px 0;border-bottom:1px solid var(--line);align-items:start}.service-no{font:500 13px var(--display);color:var(--mint);padding-top:6px}.service h3{font-size:23px;font-weight:500;margin-bottom:8px;letter-spacing:-.03em}.service p,.work-card>p,.person-card>p{font-size:13px;color:var(--muted);max-width:680px;line-height:1.8;margin-bottom:14px}.service-arrow{color:var(--mint);font-size:20px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{border:1px solid var(--line);border-radius:2px;padding:5px 9px;font-size:9px;letter-spacing:.04em;color:#aab8ca}.fine-print{font-size:10px;line-height:1.7;color:#748399;margin-top:25px;max-width:760px}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.work-card{background:var(--panel);border:1px solid var(--line);padding:14px;transition:.25s}.work-card:hover{border-color:#8df0d05c;transform:translateY(-4px)}.work-feature{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;column-gap:26px;align-items:center}.work-art{height:230px;background:#101b2b;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.work-feature .work-art{height:290px;grid-row:span 5}.art-caption{position:absolute;bottom:14px;left:16px;font-size:8px;letter-spacing:.17em;color:#7d91a8}.pulse-ring{position:absolute;width:190px;height:190px;border:1px solid #8df0d05a;border-radius:50%;box-shadow:0 0 0 28px #8df0d00b,0 0 0 58px #8df0d008}.pulse-core{width:94px;height:94px;border-radius:50%;background:linear-gradient(140deg,#8df0d0,#4a9d9a);display:grid;place-items:center;color:#071612;font:600 28px var(--display);box-shadow:0 0 60px #8df0d044}.work-meta{display:flex;justify-content:space-between;margin:18px 0 12px;font-size:8px}.work-meta a{color:var(--mint)}.work-card h3{font-size:27px;font-weight:500;margin-bottom:9px}.work-card>p{min-height:68px}.rag-window{width:60%;padding:18px;background:#19283a;border:1px solid #5b7d9b55;box-shadow:0 18px 60px #0005}.rag-window b,.rag-window small{display:block;font-size:8px;letter-spacing:.14em;color:var(--mint);margin-bottom:15px}.rag-window i{display:block;height:5px;background:#637c98;margin:10px 0;width:90%;opacity:.65}.rag-window i:nth-of-type(2){width:70%}.rag-window i:nth-of-type(3){width:82%}.rag-window small{margin:20px 0 0;color:#b1c0d1}.art-rag{background:radial-gradient(circle at 50% 50%,#24415a,#101b2b 70%)}.relay-nodes{display:flex;align-items:center;gap:14px}.relay-nodes i{width:27px;height:27px;border:1px solid var(--mint);border-radius:7px;transform:rotate(45deg);box-shadow:0 0 25px #8df0d020}.relay-nodes b{color:var(--mint);font-size:25px}.art-relay{background:radial-gradient(circle,#26384c,#101b2b 70%)}.repo-link{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:20px;margin-top:25px;font-size:12px;color:var(--muted)}.repo-link a,.person-links a{color:var(--mint)}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.person-card{padding:28px;background:var(--panel);border:1px solid var(--line)}.person-top{display:flex;justify-content:space-between;align-items:center}.person-mark{font:500 34px var(--display);color:var(--mint);letter-spacing:-.08em}.person-card h3{font-size:28px;font-weight:500;margin:32px 0 4px}.person-card .role{color:var(--mint);font-size:11px}.person-card>p:not(.role){min-height:75px}.person-links{display:flex;gap:20px;font-size:10px;border-top:1px solid var(--line);padding-top:17px}.person-links span{color:#72839a}.team-note{font-size:10px;color:#72839a;margin-top:18px}.approach{display:grid;grid-template-columns:1fr 2fr;gap:50px}.approach-main h2{margin-bottom:48px}.steps{border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.step>b{font:500 12px var(--display);color:var(--mint)}.step h3{font-size:18px;font-weight:500;margin-bottom:5px}.step p{font-size:12px;color:var(--muted);margin:0}.contact{position:relative;overflow:hidden;background:#0d1725;min-height:520px}.contact-glow{position:absolute;right:0;top:0;width:60%;height:100%;background:radial-gradient(ellipse at 70% 50%,#4c8e8930,transparent 65%)}.contact-content{position:relative;max-width:650px;margin:35px 0 0 20%}.contact h2{font-size:clamp(55px,8vw,95px);line-height:1;margin:0 0 24px;font-weight:500}.contact-content>p:not(.overline){color:var(--muted);max-width:420px;font-size:14px}.contact-content small{display:block;color:#72839a;font-size:9px;margin-top:14px}footer{padding:28px 7vw;display:flex;align-items:center;justify-content:space-between;color:#718096;font-size:10px;border-top:1px solid var(--line)}.footer-logo{color:var(--text);font-size:13px}@media(max-width:800px){.header{padding:0 6vw;height:70px}nav{gap:18px}.hero{padding:110px 8vw 70px;min-height:650px}.hero-aside{display:none}.hero-bottom{left:8vw;right:8vw}.section-wrap{padding:90px 8vw}.intro,.approach{grid-template-columns:1fr;gap:28px}.section-head{display:block}.section-head>p{margin-top:22px}.contact-content{margin-left:0}.work-feature{grid-template-columns:1fr}.work-feature .work-art{grid-row:auto}.work-feature>h3{margin-top:0}.work-feature>p{min-height:0}.work-feature .work-art{height:230px}}@media(max-width:600px){.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:10px}.menu-toggle span{width:23px;height:1px;background:var(--text)}nav{display:none;position:absolute;top:70px;left:0;right:0;padding:22px 7vw 28px;background:#0b1220;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:20px}nav.open{display:flex}.nav-cta{align-self:flex-start}.hero{min-height:650px;padding-top:95px}h1{font-size:68px}.hero-lead{font-size:15px}.hero-bottom{font-size:7px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.section-wrap{padding:76px 7vw}.intro h2,.section-head h2,.approach h2{font-size:39px}.service{grid-template-columns:35px 1fr 15px;gap:10px}.service h3{font-size:19px}.work-grid,.team-grid{grid-template-columns:1fr}.work-feature{grid-column:auto}.repo-link{display:block;line-height:2}.repo-link a{display:block}footer{padding:25px 7vw;gap:12px;flex-wrap:wrap}footer>span:nth-child(2){display:none}.contact h2{font-size:62px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.resume-mini{display:grid;gap:7px;border-top:1px solid var(--line);padding:16px 0;margin:14px 0 4px}.resume-mini b{font-size:8px;letter-spacing:.16em;color:var(--mint);margin-top:7px}.resume-mini span{font-size:11px;color:#d5deea}.resume-mini small{font-size:9px;color:#74869b}

.art-route,.art-signal{background:radial-gradient(circle at 70% 30%,#254c51,#101b28 65%)}.art-signal{background:radial-gradient(circle at 70% 30%,#44345f,#111827 65%)}.art-route .pulse-core,.art-signal .pulse-core{display:grid;place-items:center;width:90px;height:90px;margin:52px auto 0;border:1px solid #83e0c2;border-radius:50%;color:#83e0c2;font:600 20px 'Space Grotesk',sans-serif;box-shadow:0 0 45px #83e0c233}.art-signal .pulse-core{border-color:#b9a1ff;color:#b9a1ff;box-shadow:0 0 45px #b9a1ff33}.text-link{display:inline-block;margin-top:12px;color:#83e0c2;font-size:10px;letter-spacing:.1em}
\n
.resume-summary{max-width:900px;margin:-18px 0 45px;color:var(--muted);font-size:14px;line-height:1.9}.resume-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.resume-stats div{border:1px solid var(--line);padding:17px;background:var(--panel)}.resume-stats b{display:block;color:var(--mint);font:500 23px var(--display)}.resume-stats span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.resume-columns{display:grid;grid-template-columns:1.25fr .85fr;gap:48px}.resume-heading{font:500 21px var(--display);margin:0 0 20px;letter-spacing:-.03em}.resume-role{padding:19px 0;border-top:1px solid var(--line)}.resume-role-top{display:flex;justify-content:space-between;gap:15px;align-items:baseline}.resume-role h4{font:500 17px var(--display);margin:0}.resume-role-top>span{font-size:9px;color:#8191a7;text-align:right}.resume-role-title{font-size:11px;color:var(--mint);margin:5px 0 10px}.resume-role ul{padding-left:18px;margin:0;color:var(--muted);font-size:11px;line-height:1.9}.resume-role li{padding:2px 0}.skills-heading{margin-top:34px}.skill-group{padding:13px 0;border-top:1px solid var(--line)}.skill-group b{font-size:10px;color:#dce5f0}.skill-group p{font-size:10px;line-height:1.8;color:var(--muted);margin:5px 0 0}.resume-disclaimer{margin-top:32px;color:#8493a8;font-size:9px;line-height:1.8;border-left:2px solid var(--mint);padding-left:13px}.resume-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:20px;font-size:11px}.resume-links a{color:var(--mint)}@media(max-width:700px){.resume-columns{grid-template-columns:1fr;gap:25px}.resume-stats{grid-template-columns:1fr}.resume-role-top{display:block}.resume-role-top>span{display:block;text-align:left;margin-top:5px}}
\n
.contact-form{display:grid;gap:9px;max-width:560px;margin-top:24px}.contact-form label{font-size:10px;color:#b9c7d8}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:#0a1220;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:12px;font:12px var(--font);outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--mint)}.contact-form textarea{resize:vertical}.contact-form button:disabled{opacity:.55;cursor:wait}.contact-form .consent{display:flex;align-items:flex-start;gap:9px;margin:8px 0}.contact-form .consent input{width:auto;margin-top:2px}.form-status{font-size:10px;color:var(--mint);line-height:1.6}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form small{font-size:9px;color:#8090a5}


/* Accessibility, mobile layout and contact refinements */
:focus-visible{outline:2px solid var(--mint);outline-offset:4px}
nav a,.btn,.menu-toggle{min-height:40px}
.contact-form .form-status a,footer a:not(.logo){color:var(--mint);text-decoration:underline;text-underline-offset:3px}
img,svg,video{max-width:100%;height:auto}
.work-card,.person-card{min-width:0}
@media(max-width:600px){.header{padding-inline:5vw}.menu-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center}.hero{padding-inline:7vw}.hero-bottom{gap:10px;flex-wrap:wrap}.hero-bottom span{white-space:nowrap}.contact-form{width:100%}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.contact-form .btn{justify-content:space-between;width:100%}.work-card>p,.person-card>p:not(.role){min-height:0}.person-card{padding:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

@media(max-width:600px){.header nav{top:70px;right:0;left:0}.header .menu-toggle{display:flex;flex-direction:column;gap:6px;padding:10px;background:transparent;border:0}.header .menu-toggle span{width:23px;height:1px;background:var(--text)}}
