@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{color:#f4f7fb;font-synthesis:none;text-rendering:optimizelegibility;--background:#080d14;--surface:#0d141e;--text:#f4f7fb;--muted:#a5b0bf;--subtle:#7d8999;--border:#273241;--border-strong:#3a485a;--accent:#2da8ff;--accent-strong:#148ce0;--code:#0a1018;background:#080d14;font-family:DM Sans,system-ui,sans-serif}:root.light{color:#111827;--background:#fff;--surface:#f5f7fa;--text:#111827;--muted:#4b5563;--subtle:#687386;--border:#d8dee7;--border-strong:#bcc6d3;--accent:#0878c9;--accent-strong:#0563a7;--code:#111827;background:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--background);min-width:320px;min-height:100vh;color:var(--text);margin:0;transition:background-color .18s,color .18s}button,a{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent);outline-offset:4px}img{max-width:100%;display:block}.site-shell{width:min(100%,1540px);margin:0 auto;padding:0 clamp(24px,4vw,68px)}.site-header{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--border) 78%, transparent);background:color-mix(in srgb, var(--background) 90%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:1fr auto 1fr;align-items:center;min-height:78px;display:grid;position:sticky;top:0}.wordmark{width:max-content;color:var(--text);letter-spacing:-.02em;font-weight:700;text-decoration:none}.nav-links{align-items:center;gap:34px;display:flex}.nav-links a,.header-github{color:var(--muted);font-size:.92rem;font-weight:600;text-decoration:none;transition:color .16s}.nav-links a{padding:29px 0 27px;position:relative}.nav-links a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .16s;position:absolute;bottom:19px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover,.header-github:hover{color:var(--text)}.nav-links a:hover:after{transform:scaleX(1)}.header-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.icon-button{border:1px solid var(--border);width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;display:grid}.header-github{align-items:center;gap:8px;display:inline-flex}.hero{grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);align-items:center;gap:clamp(48px,6vw,100px);min-height:calc(100vh - 78px);padding:72px 0 84px;display:grid}.hero h1{letter-spacing:-.064em;max-width:720px;margin:0;font-size:clamp(3.2rem,5.25vw,6rem);line-height:.99}.hero-copy>p{max-width:660px;color:var(--muted);margin:32px 0 0;font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.button{border:1px solid var(--border-strong);border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 21px;font-weight:700;text-decoration:none;transition:transform .16s,border-color .16s,background-color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{border-color:var(--accent-strong);color:#fff;background:var(--accent-strong)}.button-primary:hover{background:var(--accent)}.button-secondary:hover{border-color:var(--accent)}.hero-media{min-height:580px;position:relative}.hero-shot{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;margin:0;position:absolute;overflow:hidden;box-shadow:0 22px 55px #00000040}.hero-shot img{object-fit:cover;width:100%;height:100%}.hero-shot-atlas{width:77%;height:54%;top:2%;left:3%}.hero-shot-atlas img{object-position:top left}.hero-shot-ask{z-index:2;background:#f5f7fa;width:38%;height:58%;top:16%;right:0}.hero-shot-ask img{object-position:top center}.hero-shot-visualdb{z-index:3;width:84%;height:47%;bottom:1%;right:2%}.work-section,.capabilities,.closing-section{border-top:1px solid var(--border)}.work-section{padding:110px 0 40px}.section-heading,.capability-heading{grid-template-columns:1fr 1fr;align-items:end;gap:36px;margin-bottom:68px;display:grid}.section-heading h2,.capability-heading h2,.closing-section h2{letter-spacing:-.045em;margin:0;font-size:clamp(2.1rem,3.5vw,3.8rem);line-height:1.05}.section-heading p,.capability-heading p{max-width:500px;color:var(--muted);justify-self:end;margin:0;font-size:1.04rem;line-height:1.6}.project-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.34fr) minmax(300px,.66fr);align-items:center;gap:clamp(42px,6vw,96px);padding:38px 0 82px;display:grid}.project-row--reverse{grid-template-columns:minmax(300px,.66fr) minmax(0,1.34fr)}.project-row--reverse .project-media,.project-row--reverse .code-frame{grid-column:2}.project-row--reverse .project-copy{grid-area:1/1}.project-media,.code-frame{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;min-height:360px;transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden}.project-media:hover{border-color:color-mix(in srgb, var(--accent) 58%, var(--border));transform:translateY(-5px);box-shadow:0 24px 54px #0003}.project-media img{object-fit:cover;width:100%;height:100%;min-height:360px}.project-media--ask{background:#f2f5f8;place-items:start center;display:grid}.project-media--ask img{object-fit:contain;object-position:top center;width:auto;max-width:54%}.project-media--atlas img,.project-media--visualdb img{object-position:top left}.project-copy{max-width:450px}.project-index{color:var(--accent);margin:0 0 18px;font-family:JetBrains Mono,monospace;font-size:.82rem}.project-copy h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.8rem,2.9vw,3.1rem);line-height:1.08}.project-description{color:var(--text);margin:22px 0 0;font-size:1.12rem;line-height:1.55}.project-details{color:var(--muted);margin:14px 0 0;line-height:1.65}.project-stack{color:var(--subtle);margin:24px 0 0;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.5}.text-link{color:var(--accent);align-items:center;gap:8px;margin-top:28px;font-weight:700;text-decoration:none;display:inline-flex}.text-link svg{transition:transform .16s}.text-link:hover svg{transform:translate(3px,-3px)}.code-frame{background:var(--code)}.code-frame-header{color:#9aa8b9;border-bottom:1px solid #273241;justify-content:space-between;padding:15px 18px;font-family:JetBrains Mono,monospace;font-size:.76rem;display:flex}.code-frame pre{color:#d9e7f7;margin:0;padding:26px;font-family:JetBrains Mono,monospace;font-size:clamp(.74rem,1vw,.92rem);line-height:1.7;overflow:auto}.capabilities{grid-template-columns:.76fr 1.24fr;gap:clamp(60px,8vw,130px);padding:110px 0;display:grid}.capability-heading{margin:0;display:block}.capability-heading p{margin-top:22px}.capability-list{margin:0}.capability-list>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,.38fr) 1fr;gap:24px;padding:24px 0;display:grid}.capability-list>div:first-child{border-top:1px solid var(--border)}.capability-list dt{color:var(--text);font-weight:700}.capability-list dd{color:var(--muted);margin:0}.closing-section{grid-template-columns:1.15fr .85fr;gap:clamp(60px,10vw,160px);padding:110px 0;display:grid}.about-copy p{max-width:700px;color:var(--muted);margin:26px 0 0;font-size:1.08rem;line-height:1.7}.contact-links h2{margin-bottom:24px}.contact-links a{border-bottom:1px solid var(--border);color:var(--muted);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 0;text-decoration:none;transition:color .16s,padding .16s;display:grid}.contact-links a:first-of-type{border-top:1px solid var(--border)}.contact-links a:hover{color:var(--text);padding-left:4px;padding-right:4px}footer{border-top:1px solid var(--border);color:var(--subtle);justify-content:space-between;padding:30px 0 42px;font-size:.88rem;display:flex}@media (width<=1080px){.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:830px}.hero-media{min-height:610px}.project-row,.project-row--reverse{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}}@media (width<=760px){.site-shell{padding:0 20px}.site-header{grid-template-columns:1fr auto;min-height:66px}.nav-links,.header-github span,.header-github svg:last-child{display:none}.hero{gap:52px;padding:72px 0 66px}.hero h1{font-size:clamp(3rem,13vw,4.6rem)}.hero-media{min-height:420px}.hero-shot-atlas{width:86%;height:52%}.hero-shot-ask{width:42%;height:58%}.hero-shot-visualdb{width:91%;height:44%}.work-section,.capabilities,.closing-section{padding-top:78px}.section-heading,.capabilities,.closing-section{grid-template-columns:1fr}.section-heading{gap:18px;margin-bottom:40px}.section-heading p{justify-self:start}.project-row,.project-row--reverse{grid-template-columns:1fr;gap:34px;padding:26px 0 62px}.project-row--reverse .project-media,.project-row--reverse .code-frame,.project-row--reverse .project-copy{grid-column:1}.project-row--reverse .project-media,.project-row--reverse .code-frame{grid-row:1}.project-row--reverse .project-copy{grid-row:2}.project-media,.project-media img,.code-frame{min-height:260px}.project-media--ask img{max-width:62%}.capabilities,.closing-section{gap:48px;padding-bottom:78px}footer{flex-direction:column;gap:8px}}@media (width<=480px){.wordmark{font-size:.92rem}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.hero-media{min-height:340px}.hero-shot-atlas{width:90%}.hero-shot-ask{width:44%}.hero-shot-visualdb{width:94%}.capability-list>div{grid-template-columns:1fr;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
