:root { --font-geist-sans:Inter,Arial,sans-serif; --font-geist-mono:"SFMono-Regular",Consolas,monospace; --ink:#111f1d; --paper:#f4f3ed; --lime:#caff3d; --aqua:#61e6ce; --blue:#77b9ff; --line:#ccd0c7; --muted:#5e6966; }
* { box-sizing:border-box; }
img { max-width:100%; height:auto; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist-sans), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
.nav { height:78px; padding:0 max(5vw,24px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; background:rgba(244,243,237,.92); backdrop-filter:blur(14px); }
.brand { display:flex; align-items:center; gap:11px; font-weight:850; letter-spacing:.04em; }
.brand span { width:32px; height:32px; display:grid; place-items:center; background:var(--ink); color:var(--lime); font:700 11px var(--font-geist-mono); border-radius:2px; }
.brand-logo { flex:0 0 auto; max-width:220px; overflow:hidden; }
.brand-logo img { display:block; width:150px; height:54px; max-width:150px; object-fit:contain; }
.footer-logo img { width:220px; height:auto; max-width:220px; }
.brand-asset { width:max-content; color:var(--aqua); font:600 10px var(--font-geist-mono); border-bottom:1px solid #49615b; padding-bottom:4px; }
.navlinks { display:flex; gap:32px; font-size:13px; font-weight:650; }
.navlinks a:hover { color:#47786c; }
.nav-cta { border:1px solid var(--ink); padding:10px 16px; font-size:13px; font-weight:750; }
.nav-cta span, .project-card a span, .button span, .text-link span { margin-left:8px; }
.hero { min-height:690px; padding:90px max(5vw,24px) 80px; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:7vw; background-image:linear-gradient(rgba(17,31,29,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,31,29,.035) 1px,transparent 1px); background-size:32px 32px; }
.eyebrow { font:700 11px var(--font-geist-mono); letter-spacing:.14em; margin:0 0 24px; color:#49615b; }
.status-dot { display:inline-block; width:8px; height:8px; background:#61cf54; border-radius:50%; box-shadow:0 0 0 5px rgba(97,207,84,.13); margin-right:12px; }
h1 { font-size:clamp(54px,6.2vw,94px); letter-spacing:-.07em; line-height:.93; max-width:860px; margin:0; font-weight:820; }
h1 em { color:#317d70; font-style:normal; }
.lede { max-width:610px; font-size:19px; line-height:1.6; color:var(--muted); margin:32px 0 36px; }
.hero-actions { display:flex; gap:28px; align-items:center; flex-wrap:wrap; }
.button { display:inline-flex; justify-content:center; align-items:center; padding:15px 20px; font-size:13px; font-weight:800; }
.button.primary { color:var(--paper); background:var(--ink); }
.text-link { font-size:13px; font-weight:750; border-bottom:1px solid var(--ink); padding:8px 0; }
.hero-console { max-width:560px; width:100%; background:#101c1a; color:#e8f1ee; box-shadow:22px 22px 0 #d5d6ce; border:1px solid #50615d; justify-self:end; transform:rotate(.4deg); font-family:var(--font-geist-mono); }
.console-top,.console-foot { display:flex; align-items:center; justify-content:space-between; padding:13px 16px; background:#1a2926; font-size:10px; color:#90a39f; }
.console-top div { display:flex; gap:6px; }.console-top i { display:block; width:9px; height:9px; border-radius:50%; background:#ff7269; }.console-top i:nth-child(2){background:#f2c34f}.console-top i:nth-child(3){background:#6ace6a}.console-top b{color:var(--aqua);font-size:9px}.console-body{padding:24px;font-size:12px;line-height:1.65;min-height:330px}.console-body p{margin:0 0 14px}.muted{color:#71827e}.success{color:#8de7a1}.sync{border:1px solid #31433f;margin:20px 0;padding:15px;display:grid;grid-template-columns:1fr auto;gap:7px}.sync span{color:#6f817d;font-size:9px}.sync strong{color:#94eab1}.sync b{grid-column:2;color:var(--aqua);font-size:10px}.cursor i{display:inline-block;width:8px;height:14px;background:var(--lime);vertical-align:middle;animation:blink 1s steps(1) infinite}.console-foot span:first-child{color:var(--lime)}@keyframes blink{50%{opacity:0}}
.ticker { min-height:72px; background:var(--ink); color:#dce7e3; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:15px 28px; padding:18px 5vw; font:600 10px var(--font-geist-mono); letter-spacing:.08em; text-transform:uppercase; }
.ticker span:not(:last-child)::after { content:"✦"; color:var(--lime); margin-left:28px; }
.section { padding:110px max(5vw,24px); max-width:1600px; margin:auto; }
.section-heading,.architecture-head { display:grid; grid-template-columns:1.25fr .75fr; gap:50px; align-items:end; margin-bottom:50px; }
h2 { font-size:clamp(40px,5vw,70px); line-height:1; letter-spacing:-.055em; margin:0; }
.section-heading>p,.architecture-head>p,.skills-intro { color:var(--muted); line-height:1.7; font-size:16px; max-width:550px; margin:0; }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.project-card { min-height:460px; padding:34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; transition:.25s; }
.project-card:hover { background:#fff; transform:translateY(-4px); box-shadow:0 12px 30px rgba(17,31,29,.08); }
.project-card.featured { background:var(--lime); }
.card-meta { display:flex; justify-content:space-between; align-items:center; font:700 10px var(--font-geist-mono); letter-spacing:.1em; }
.card-meta b { border:1px solid currentColor; padding:6px 8px; }
.project-card h3 { font-size:30px; line-height:1.08; letter-spacing:-.035em; margin:70px 0 18px; }
.project-card>p { color:#53615e; line-height:1.65; margin:0 0 24px; }
.tags { display:flex; flex-wrap:wrap; gap:7px; }.tags span { border:1px solid #99a19d; padding:6px 8px; font:600 9px var(--font-geist-mono); text-transform:uppercase; }
.project-card>a { margin-top:auto; padding-top:25px; border-top:1px solid rgba(17,31,29,.22); font-size:13px; font-weight:800; display:flex; justify-content:space-between; }
.architecture { background:#142522; color:#f1f3ed; padding-bottom:110px; scroll-margin-top:70px; }.architecture-head{padding-bottom:40px}.architecture-head .eyebrow,.eyebrow.light{color:var(--aqua)}.architecture-head>p{color:#a7b7b2}.diagram-wrap{max-width:1440px;margin:auto;padding:0 max(5vw,24px)}.diagram-labels{display:grid;grid-template-columns:2fr 2fr 1fr;color:#71847f;font:700 9px var(--font-geist-mono);letter-spacing:.13em;padding:0 0 14px;border-bottom:1px solid #38504b}.diagram-labels span:nth-child(2){text-align:center}.diagram-labels span:last-child{text-align:right}.pipeline{display:grid;grid-template-columns:repeat(5,1fr);padding:36px 0 48px}.pipeline-step{text-align:center;position:relative}.step-icon{width:62px;height:62px;border:1px solid currentColor;display:grid;place-items:center;margin:auto;font:800 12px var(--font-geist-mono);box-shadow:6px 6px 0 rgba(255,255,255,.06)}.step-icon.blue{color:var(--blue)}.step-icon.teal{color:var(--aqua)}.step-icon.purple{color:#c89cff}.step-icon.orange{color:#ffb36c}.pipeline-step h3{font-size:16px;margin:16px 0 6px}.pipeline-step p{color:#8fa09c;font:500 10px var(--font-geist-mono);margin:0}.connector{position:absolute;right:-8px;top:23px;color:#5e7771}.platform-map{display:grid;grid-template-columns:1fr 1fr 2fr 1fr 1fr;border:1px solid #405852}.map-block{min-height:130px;padding:22px;border-right:1px solid #405852;display:flex;flex-direction:column;justify-content:center}.map-block:last-child{border:0}.map-block span{color:var(--aqua);font:700 8px var(--font-geist-mono);letter-spacing:.1em}.map-block strong{font-size:18px;margin:10px 0}.map-block small{color:#889b96;line-height:1.5}.map-block.wide{background:#1b302c}.diagram-caption{text-align:center;color:#899d98;font:500 10px var(--font-geist-mono);margin:22px}.diagram-caption span{color:var(--lime);margin-right:12px}
.skills-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.skills-intro{margin-top:28px}.skill-list{border-top:1px solid var(--line)}.skill-list>div{display:grid;grid-template-columns:45px .75fr 1.25fr;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:25px 0}.skill-list span{font:600 10px var(--font-geist-mono);color:#69807a}.skill-list h3{font-size:18px;margin:0}.skill-list p{color:var(--muted);line-height:1.5;margin:0;font-size:14px}
.notes{background:#2e7167;color:#f3f5ef}.notes-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.notes-copy>p:not(.eyebrow){color:#c0d8d3;line-height:1.7;max-width:440px}.button.pale{background:var(--paper);color:var(--ink);margin-top:22px}.docs{border-top:1px solid rgba(255,255,255,.35)}details{border-bottom:1px solid rgba(255,255,255,.35)}summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:45px 1fr auto;padding:24px 0;font-weight:700}summary::-webkit-details-marker{display:none}summary span{font:600 10px var(--font-geist-mono);color:var(--aqua)}summary b{font-size:18px}details p{margin:0 45px 24px;color:#c5dbd7;line-height:1.6;font-size:14px}
footer{background:#101c1a;color:#dce6e2;padding:70px max(5vw,24px) 30px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.brand.inverted span{background:var(--lime);color:var(--ink)}footer>div{display:flex;flex-direction:column;gap:12px}footer>div>span{color:#71847f;font:700 9px var(--font-geist-mono);letter-spacing:.12em;margin-bottom:8px}footer p{color:#82938f;font-size:13px}.copyright{grid-column:1/-1;border-top:1px solid #2f413e;padding-top:24px;margin-top:30px;font:500 9px var(--font-geist-mono)}
@media(max-width:900px){.navlinks{display:none}.hero{grid-template-columns:1fr;padding-top:65px}.hero-console{justify-self:start}.section-heading,.architecture-head,.skills-section,.notes-inner{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-card{min-height:380px}.pipeline{grid-template-columns:1fr;gap:25px}.connector{right:50%;top:auto;bottom:-24px;transform:rotate(90deg)}.platform-map{grid-template-columns:1fr 1fr}.map-block{border-bottom:1px solid #405852}.map-block.wide{grid-column:1/-1}.diagram-labels{display:none}footer{grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/-1}}
@media(max-width:560px){h1{font-size:50px}.hero{padding-bottom:55px}.hero-console{box-shadow:10px 10px 0 #d5d6ce}.console-body{padding:18px}.section{padding-top:80px;padding-bottom:80px}.platform-map{grid-template-columns:1fr}.map-block.wide{grid-column:auto}.skill-list>div{grid-template-columns:35px 1fr}.skill-list p{grid-column:2}.notes-inner{padding-left:24px;padding-right:24px}footer{grid-template-columns:1fr}.copyright,footer>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor i{animation:none}}
