@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#f0f2eb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#0e100e;--bg-raised:#121512;--surface:#161a16;--surface-strong:#1c211c;--surface-glass:#101310db;--text:#f0f2eb;--text-soft:#c1c8bd;--muted:#848d81;--quiet:#596157;--border:#dfe8da1a;--border-strong:#dfe8da2b;--accent:#c8f169;--accent-hover:#d6ff78;--accent-wash:#c8f16917;--accent-line:#c8f1694a;--mono:"DM Mono", "SFMono-Regular", Consolas, monospace;--heading:"Manrope", "Segoe UI", sans-serif;--page-width:1176px;--page-gutter:clamp(22px, 6.05vw, 88px);--ease-out:cubic-bezier(.22, 1, .36, 1);background:#0e100e;font-family:DM Sans,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1b2218;--bg:#f4f6ef;--bg-raised:#edf0e8;--surface:#fafbf7;--surface-strong:#ecefe7;--surface-glass:#f9fbf6eb;--text:#1b2218;--text-soft:#3e493b;--muted:#687362;--quiet:#8b9686;--border:#1a27161a;--border-strong:#1a27162b;--accent:#648b1e;--accent-hover:#547618;--accent-wash:#648b1e17;--accent-line:#648b1e47;background:#f4f6ef}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:300px;scroll-padding-top:92px}body{background:radial-gradient(ellipse at 71% 5%, #7a994d0d, transparent 28%), var(--bg);min-width:300px;min-height:100vh;color:var(--text);margin:0;transition:background-color .24s,color .24s}body,button,a{font-family:DM Sans,Segoe UI,sans-serif}button,a{color:inherit}button{font:inherit}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{color:#10140c;background:var(--accent)}.skip-link{z-index:100;color:#10140c;background:var(--accent);border-radius:5px;padding:10px 14px;position:fixed;inset-block-start:12px;inset-inline-start:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-shell{width:min(100%,1512px);min-height:100vh;margin-inline:auto}.site-header,.section-wrap,.site-footer{width:min(100% - var(--page-gutter) * 2, var(--page-width));margin-inline:auto}.site-header{z-index:10;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:79px;display:flex;position:relative}.brand,.site-nav,.nav-github,.footer-brand,.footer-copy,.footer-link,.footer-year{align-items:center;display:inline-flex}.brand{gap:10px}.brand-mark,.footer-brand>span{border:1px solid var(--accent-line);width:31px;height:31px;color:var(--text);font-family:var(--heading);letter-spacing:-1.7px;border-radius:9px;flex:none;place-items:center;font-size:17px;font-weight:800;display:grid}.brand-mark span{color:var(--accent)}.brand-label,.site-nav>a:not(.nav-github),.footer-brand,.footer-copy,.footer-link,.footer-year{font-family:var(--mono);letter-spacing:.105em;font-size:9px}.brand-label{color:var(--muted)}.site-nav{gap:31px}.site-nav>a:not(.nav-github){color:var(--text-soft);letter-spacing:.005em;gap:7px;font-size:10px;transition:color .17s}.site-nav>a:not(.nav-github):hover{color:var(--accent)}.site-nav>a>span{color:var(--quiet);font-size:9px}.nav-github{border:1px solid var(--border-strong);color:var(--text);font-family:var(--mono);letter-spacing:.04em;border-radius:4px;gap:7px;padding:8px 11px;font-size:9px;transition:background .17s,border-color .17s}.nav-github:hover{border-color:var(--accent-line);background:var(--accent-wash)}.icon-button{border:1px solid var(--border);width:34px;height:34px;color:var(--text-soft);cursor:pointer;background:0 0;border-radius:5px;flex:none;place-items:center;transition:color .17s,border-color .17s,background .17s;display:inline-grid}.icon-button:hover{border-color:var(--accent-line);color:var(--accent);background:var(--accent-wash)}.mobile-menu-toggle{display:none}.hero{grid-template-columns:minmax(0,1.02fr) minmax(400px,.98fr);align-items:center;min-height:617px;padding-block:76px 99px;display:grid;position:relative}.hero-copy{z-index:2;padding-block-end:10px;position:relative}.eyebrow,.hero-actions,.hero-note,.contact-eyebrow{align-items:center;display:flex}.eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.075em;text-transform:uppercase;gap:10px;margin-bottom:29px;font-size:9px}.status-dot,.mini-live-dot,.visual-live-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;position:relative;box-shadow:0 0 12px #c8f16973}.status-dot:after{border:1px solid var(--accent-line);content:"";border-radius:50%;position:absolute;inset:-4px}.hero h1{max-width:665px;font-family:var(--heading);letter-spacing:-.079em;margin:0;font-size:clamp(44px,5.08vw,67px);font-weight:600;line-height:1.06}.hero h1>span,.contact-copy h2>span{color:var(--accent)}.hero-description{max-width:430px;color:var(--muted);margin:23px 0 0;font-size:14px;line-height:1.85}.hero-description strong{color:var(--text-soft);font-weight:600}.hero-actions{flex-wrap:wrap;gap:22px;margin-top:29px}.button{min-height:42px;font-family:var(--mono);letter-spacing:.02em;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:17px;padding:0 16px;font-size:10px;transition:transform .18s,box-shadow .18s,background .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#14190f;background:var(--accent)}.button-primary:hover{background:var(--accent-hover);box-shadow:0 9px 34px #c8f16924}.text-link{color:var(--text-soft);align-items:center;gap:7px;font-size:12px;transition:color .17s;display:inline-flex}.text-link:hover{color:var(--accent)}.hero-note{color:var(--quiet);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;gap:11px;margin-top:49px;font-size:8px}.note-line{background:var(--border-strong);width:32px;height:1px}.hero-art{isolation:isolate;place-items:center;min-height:410px;display:grid;position:relative}.hero-art:before{z-index:-2;background-image:radial-gradient(var(--border-strong) .7px, transparent .7px);content:"";background-size:23px 23px;position:absolute;inset:6%;-webkit-mask-image:radial-gradient(#000 1%,#0000 72%);mask-image:radial-gradient(#000 1%,#0000 72%)}.orbit,.core-glow,.floating-label{position:absolute}.orbit{border:1px solid var(--border);border-radius:50%;width:352px;height:352px;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-one{border-color:#c8f16929;width:290px;height:290px}.orbit-two{border-color:#c8f16921;width:378px;height:237px;transform:translate(-50%,-50%)rotate(-33deg)}.orbit-three{border-color:var(--border);width:378px;height:237px;transform:translate(-50%,-50%)rotate(36deg)}.core-glow{filter:blur(10px);background:radial-gradient(circle,#c8f1691c,#0000 71%);border-radius:50%;width:205px;height:205px;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-card{z-index:1;border:1px solid var(--border-strong);background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:min(100%,342px);transition:transform .42s var(--ease-out);border-radius:7px;position:relative;overflow:hidden;transform:rotate(-2deg);box-shadow:0 26px 73px #00000045,0 0 65px #c8f1690d,inset 0 1px #ffffff08}.hero-card:hover{transform:translateY(-4px)rotate(0)}.hero-card-top,.hero-card-footer,.window-dots,.visual-window-top,.visual-window-top>:not(.visual-window-label){align-items:center;display:flex}.hero-card-top{border-bottom:1px solid var(--border);min-height:36px;color:var(--muted);font-family:var(--mono);justify-content:space-between;padding-inline:12px;font-size:8px}.window-dots{gap:4px}.window-dots i,.visual-window-top>:not(.visual-window-label){background:var(--quiet);border-radius:50%;width:6px;height:6px}.window-dots i:first-child{background:#d58878}.window-dots i:nth-child(2){background:#d5b875}.window-dots i:last-child{background:#8bb37a}.card-lock{width:18px;height:18px;color:var(--quiet);place-items:center;display:grid}.hero-code{min-height:227px;color:var(--text-soft);font-family:var(--mono);align-content:center;gap:10px;padding:24px 21px;font-size:11px;display:grid}.hero-code>span{min-height:15px}.hero-code b{width:30px;color:var(--quiet);margin-right:7px;font-size:8px;font-weight:400;display:inline-block}.hero-code i{color:#c9a7ef;font-style:normal}:root[data-theme=light] .hero-code i{color:#76519a}.hero-code em{color:#e9c184;font-style:normal}:root[data-theme=light] .hero-code em{color:#895b0d}.code-cursor>span{background:var(--accent);width:6px;height:12px;animation:1.2s step-end infinite blink;display:inline-block;transform:translateY(2px)}.hero-card-footer{border-top:1px solid var(--border);min-height:29px;color:var(--quiet);font-family:var(--mono);letter-spacing:.05em;justify-content:space-between;padding-inline:12px;font-size:7px}.hero-card-footer>span:first-child,.visual-bottom>span:first-child{align-items:center;gap:7px;display:inline-flex}.mini-live-dot,.visual-live-dot{width:5px;height:5px}.floating-label{z-index:2;border:1px solid var(--border-strong);color:var(--text-soft);background:var(--surface-glass);font-family:var(--mono);letter-spacing:.045em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:4px;align-items:center;gap:8px;padding:7px 9px;font-size:7px;display:flex;box-shadow:0 7px 22px #0000001f}.label-top{top:62px;right:5%}.label-bottom{bottom:69px;left:3%}.label-index{color:var(--accent)}.art-coordinate{color:var(--quiet);font-family:var(--mono);letter-spacing:.1em;font-size:7px;position:absolute}.coord-top{top:32px;left:9%}.coord-bottom{bottom:28px;right:7%}.scroll-cue{color:var(--quiet);font-family:var(--mono);letter-spacing:.1em;align-items:center;gap:9px;font-size:7px;transition:color .16s;display:inline-flex;position:absolute;bottom:25px;left:0}.scroll-cue:hover{color:var(--accent)}.projects-section{border-top:1px solid var(--border);padding-block:94px 106px;scroll-margin-top:78px}.section-heading{grid-template-columns:53px minmax(0,1fr) auto;align-items:start;gap:15px;padding-bottom:32px;display:grid}.section-index{color:var(--accent);font-family:var(--mono);letter-spacing:.06em;padding-top:4px;font-size:10px}.section-eyebrow,.project-kicker,.approach-number,.stack-label,.stack-hint,.contact-eyebrow,.contact-coordinates,.toolbar-hint,.visual-coordinate,.visual-window-label,.visual-bottom,.filter-chip{font-family:var(--mono);letter-spacing:.065em;text-transform:uppercase}.section-eyebrow{color:var(--muted);margin-bottom:11px;font-size:8px;display:block}.section-heading h2{color:var(--text);font-family:var(--heading);letter-spacing:-.067em;margin:0;font-size:clamp(31px,3.7vw,45px);font-weight:600;line-height:1.15}.section-heading p{max-width:525px;color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.75}.section-trailing{border:1px solid var(--border);min-width:38px;height:34px;color:var(--muted);font-family:var(--mono);border-radius:4px;place-items:center;padding-inline:8px;font-size:8px;display:grid}.project-toolbar{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;min-height:48px;margin-bottom:18px;display:flex}.filter-list{flex-wrap:wrap;gap:4px;display:flex}.filter-chip{min-height:27px;color:var(--muted);cursor:pointer;letter-spacing:.025em;text-transform:none;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:6px;padding:0 9px;font-size:8px;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.filter-chip:hover{color:var(--text)}.filter-chip.is-active{border-color:var(--accent-line);color:var(--accent);background:var(--accent-wash)}.filter-indicator{background:var(--accent);border-radius:50%;width:5px;height:5px}.toolbar-hint{color:var(--quiet);letter-spacing:.08em;flex:none;align-items:center;gap:7px;font-size:7px;display:inline-flex}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:17px;display:grid}.project-card{--card-accent:#bfe879;border:1px solid var(--border);background:var(--surface);min-width:0;animation:.45s both card-enter;animation-delay:calc(var(--card-order,0) * 55ms);transition:transform .22s var(--ease-out), border-color .22s ease, box-shadow .22s ease, background-color .22s ease;border-radius:5px;overflow:hidden}.project-card:hover{border-color:color-mix(in srgb, var(--card-accent) 31%, transparent);transform:translateY(-3px);box-shadow:0 15px 42px #00000026}.project-card-law{--card-accent:#91bbcf}.project-card-ai{--card-accent:#c5a5f3}.project-card-java{--card-accent:#e3a98a}.project-card-dotnet{--card-accent:#b39cec}.project-card-fitness{--card-accent:#f0b35e}.project-card-ar{--card-accent:#6fd6c0}.project-visual{isolation:isolate;border-bottom:1px solid var(--border);background:radial-gradient(ellipse at 49% 53%, color-mix(in srgb, var(--card-accent) 12%, transparent), transparent 48%), linear-gradient(130deg, #171c17 0%, #121512 57%, #151a15 100%);place-items:center;height:203px;display:grid;position:relative;overflow:hidden}:root[data-theme=light] .project-visual{background:radial-gradient(ellipse at 49% 53%, color-mix(in srgb, var(--card-accent) 18%, transparent), transparent 49%), linear-gradient(130deg, #f0f2eb 0%, #ebeee7 57%, #f0f2eb 100%)}.visual-grid{z-index:-1;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.46;background-size:29px 29px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 8%,#0000 82%);mask-image:radial-gradient(#000 8%,#0000 82%)}.visual-coordinate{color:var(--muted);font-size:7px;position:absolute;top:12px;left:13px}.visual-art{perspective:600px;place-items:center;width:78%;height:145px;display:grid;position:relative}.visual-window{z-index:1;border:1px solid color-mix(in srgb, var(--card-accent) 26%, var(--border-strong));background:var(--surface-glass);width:min(77%,286px);box-shadow:0 17px 45px #0003, 0 0 40px color-mix(in srgb, var(--card-accent) 6%, transparent);transition:transform .4s var(--ease-out);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:5px;position:relative;overflow:hidden;transform:rotateX(2deg)rotateY(-7deg)}.project-card:hover .visual-window{transform:rotateX(0)rotateY(0)translateY(-2px)}.visual-window-top{border-bottom:1px solid var(--border);gap:4px;min-height:26px;padding-inline:9px}.visual-window-top>:not(.visual-window-label){background:var(--card-accent);opacity:.64;width:5px;height:5px}.visual-window-label{color:var(--muted);letter-spacing:.08em;margin-inline-start:auto;font-size:6px}.visual-window-body{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:11px;min-height:82px;padding:11px 12px;display:grid}.visual-art-icon{border:1px solid color-mix(in srgb, var(--card-accent) 33%, transparent);width:34px;height:34px;color:var(--card-accent);background:color-mix(in srgb, var(--card-accent) 9%, transparent);border-radius:6px;place-items:center;display:grid}.visual-lines{gap:6px;display:grid}.visual-lines i{background:color-mix(in srgb, var(--card-accent) 34%, var(--border-strong));opacity:.7;border-radius:4px;width:89%;height:4px}.visual-lines i:nth-child(2){opacity:.42;width:68%}.visual-lines i:nth-child(3){opacity:.23;width:45%}.visual-tags{flex-wrap:wrap;grid-column:1/-1;gap:5px;display:flex}.visual-tags span{border:1px solid var(--border);color:var(--muted);font-family:var(--mono);border-radius:3px;padding:3px 5px;font-size:6px}.visual-orbit{border:1px solid color-mix(in srgb, var(--card-accent) 23%, transparent);border-radius:50%;width:195px;height:73px;position:absolute;transform:rotate(-23deg)}.visual-orbit-a{top:20px;right:2%}.visual-orbit-b{opacity:.7;width:143px;height:62px;bottom:6px;left:5%;transform:rotate(36deg)}.visual-accent-square{border:1px solid var(--card-accent);opacity:.66;width:11px;height:11px;box-shadow:0 0 18px color-mix(in srgb, var(--card-accent) 60%, transparent);position:absolute;bottom:23px;right:13%;transform:rotate(45deg)}.visual-bottom{color:var(--quiet);justify-content:space-between;font-size:7px;display:flex;position:absolute;bottom:11px;left:13px;right:13px}.visual-live-dot{background:var(--card-accent)}.project-card-body{padding:16px 17px 13px}.project-card-heading,.project-card-footer{justify-content:space-between;align-items:center;display:flex}.project-kicker{color:var(--muted);letter-spacing:.075em;font-size:7px}.project-kicker>span{color:var(--card-accent);margin-right:4px}.project-open{border:1px solid var(--border);width:27px;height:27px;color:var(--text-soft);border-radius:4px;flex:none;place-items:center;transition:color .17s,border-color .17s,background .17s,transform .17s;display:grid}.project-open:hover{border-color:color-mix(in srgb, var(--card-accent) 46%, transparent);color:var(--card-accent);background:color-mix(in srgb, var(--card-accent) 8%, transparent);transform:translate(1px,-1px)}.project-card-body h3{color:var(--text);font-family:var(--heading);letter-spacing:-.055em;margin:8px 0 5px;font-size:clamp(18px,2vw,22px);font-weight:600}.project-description{min-height:53px;color:var(--muted);font-size:11px;line-height:1.72}.project-tags{flex-wrap:wrap;gap:6px;margin-top:13px;display:flex}.project-tags>span{border:1px solid var(--border);color:var(--text-soft);font-family:var(--mono);border-radius:3px;align-items:center;gap:4px;padding:4px 6px;font-size:7px;display:inline-flex}.project-tags>span svg{color:var(--card-accent)}.project-card-footer{border-top:1px solid var(--border);min-height:35px;margin-top:14px;padding-top:9px}.project-card-footer a,.project-card-footer>span{color:var(--muted);font-family:var(--mono);align-items:center;gap:6px;font-size:8px;transition:color .15s;display:inline-flex}.project-card-footer a:hover,.project-card-footer .project-demo{color:var(--card-accent)}.approach-section{border-top:1px solid var(--border);padding-block:89px 78px;scroll-margin-top:78px}.approach-section .section-heading{grid-template-columns:53px minmax(0,1fr) 38px}.approach-grid{border:1px solid var(--border);background:var(--surface);border-radius:5px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.approach-card{min-height:199px;padding:20px 18px;position:relative}.approach-card+.approach-card{border-left:1px solid var(--border)}.approach-number{color:var(--quiet);font-size:7px}.approach-icon{border:1px solid var(--accent-line);width:34px;height:34px;color:var(--accent);background:var(--accent-wash);border-radius:5px;place-items:center;margin:19px 0 13px;display:grid}.approach-card h3{color:var(--text);font-family:var(--heading);letter-spacing:-.036em;margin:0;font-size:15px;font-weight:600}.approach-card p{max-width:270px;color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.72}.stack-strip{border-bottom:1px solid var(--border);grid-template-columns:154px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:71px;margin-top:27px;display:grid}.stack-label,.stack-hint{color:var(--muted);font-size:7px}.stack-list{flex-wrap:wrap;align-items:center;gap:clamp(8px,1.6vw,20px);display:flex}.stack-list span{color:var(--text-soft);font-family:var(--heading);letter-spacing:-.015em;font-size:11px;font-weight:600}.stack-list i{background:var(--accent);opacity:.72;border-radius:50%;flex:none;width:3px;height:3px}.stack-hint{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.contact-section{border:1px solid var(--border);isolation:isolate;background:radial-gradient(ellipse at 78% 51%, #c8f16914, transparent 38%), linear-gradient(120deg, var(--surface) 9%, var(--bg-raised));border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:328px;margin-block:16px 76px;padding:36px clamp(23px,5vw,63px);scroll-margin-top:90px;display:grid;position:relative;overflow:hidden}.contact-signal{z-index:-1;opacity:.46;align-items:center;gap:clamp(9px,1.45vw,20px);height:100%;padding-inline:4%;display:flex;position:absolute;top:0;right:0}.contact-signal span{background:linear-gradient(transparent, var(--accent-line), transparent);width:1px;height:clamp(90px,15vw,163px)}.contact-signal span:nth-child(2),.contact-signal span:nth-child(4){opacity:.6;height:64%}.contact-signal span:nth-child(3){background:linear-gradient(transparent, var(--accent), transparent);height:86%;box-shadow:0 0 24px #c8f1694a}.contact-copy{max-width:560px}.contact-eyebrow{color:var(--muted);letter-spacing:.09em;gap:10px;font-size:8px}.contact-copy h2{color:var(--text);font-family:var(--heading);letter-spacing:-.078em;margin:21px 0 0;font-size:clamp(35px,4.8vw,52px);font-weight:600;line-height:1.05}.contact-copy p{max-width:378px;color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.78}.button-contact{border-color:var(--accent-line);color:var(--accent);background:var(--accent-wash);margin-top:20px}.button-contact:hover{border-color:var(--accent);background:#c8f16921}.contact-email{color:var(--muted);-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:4px;margin-top:12px;font-size:11px;display:inline-block}.contact-email:hover{color:var(--accent)}.contact-socials{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.contact-socials a{border:1px solid var(--accent-line);color:var(--text-soft);font-family:var(--mono);letter-spacing:.08em;border-radius:999px;align-items:center;gap:5px;padding:7px 12px;font-size:10px;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.contact-socials a:hover{color:var(--accent);background:var(--accent-wash)}.contact-coordinates{color:var(--quiet);text-align:right;align-self:end;gap:11px;padding-bottom:3px;font-size:7px;display:grid}.contact-coordinates span:last-child{color:var(--accent)}.site-footer{border-top:1px solid var(--border);grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:15px;min-height:63px;padding-block:13px;display:grid}.footer-brand{color:var(--text-soft);justify-self:start;gap:9px;font-size:8px}.footer-brand>span{width:22px;height:22px;color:var(--text);border-radius:6px;font-size:12px}.footer-copy{color:var(--quiet);justify-self:center;gap:6px;font-size:7px}.footer-copy svg{color:var(--accent)}.footer-link{color:var(--muted);justify-self:end;gap:5px;font-size:8px;transition:color .15s}.footer-link:hover{color:var(--accent)}.footer-year{color:var(--quiet);justify-self:end;font-size:8px}@keyframes blink{0%,54%{opacity:1}55%,to{opacity:0}}@keyframes card-enter{0%{opacity:0}to{opacity:1}}@media (width>=1513px){.site-shell{border-inline:1px solid var(--border)}}@media (width<=900px){:root{--page-gutter:clamp(22px, 5vw, 45px)}.hero{grid-template-columns:minmax(0,1fr) minmax(324px,.85fr);min-height:563px;padding-block:68px 95px}.hero h1{font-size:clamp(40px,6vw,54px)}.hero-art{min-height:360px;overflow:clip}.orbit-three,.orbit-two{width:322px}.orbit{width:310px;height:310px}.orbit-one{width:254px;height:254px}.hero-card{width:min(100%,300px)}.project-visual{height:183px}.approach-card{padding-inline:14px}}@media (width<=680px){html{scroll-padding-top:70px}.site-header{min-height:65px}.brand-label{font-size:8px}.mobile-menu-toggle{display:inline-grid}.site-nav{border:1px solid var(--border-strong);background:var(--surface-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:5px;flex-direction:column;align-items:stretch;gap:2px;padding:10px;display:none;position:absolute;top:calc(100% + 7px);left:0;right:0;box-shadow:0 19px 40px #00000038}.site-nav.is-open{animation:.16s ease-out both card-enter;display:flex}.site-nav>a:not(.nav-github){min-height:39px;padding-inline:9px;font-family:DM Sans,Segoe UI,sans-serif;font-size:13px}.nav-github{justify-content:center;min-height:39px;margin-top:4px;font-size:10px}.theme-toggle{width:100%;min-height:38px;margin-top:4px}.hero{min-height:unset;grid-template-columns:minmax(0,1fr);padding-block:69px 77px}.hero-copy{padding:0}.eyebrow{letter-spacing:.035em;margin-bottom:23px;font-size:8px}.hero h1{font-size:clamp(42px,10.5vw,63px)}.hero-description{max-width:460px;margin-top:16px;font-size:13px;line-height:1.78}.hero-actions{gap:16px;margin-top:22px}.hero-note{margin-top:29px}.hero-art{min-height:339px;margin-top:21px}.hero-card{width:min(83%,333px)}.orbit,.orbit-three,.orbit-two{width:min(94vw,350px)}.orbit{height:min(88vw,330px)}.orbit-one{width:min(73vw,262px);height:min(73vw,262px)}.orbit-two,.orbit-three{height:min(59vw,214px)}.label-top{top:32px;right:2%}.label-bottom{bottom:43px;left:1%}.coord-top{top:10px;left:4%}.coord-bottom{bottom:9px;right:3%}.scroll-cue{bottom:17px}.projects-section{padding-block:66px 70px}.section-heading,.approach-section .section-heading{grid-template-columns:33px minmax(0,1fr) auto;gap:9px;padding-bottom:25px}.section-heading h2{font-size:clamp(29px,7.8vw,39px)}.section-heading p{margin-top:8px;font-size:11px}.section-eyebrow{font-size:7px}.section-trailing{min-width:33px;height:29px;padding-inline:5px;font-size:7px}.project-toolbar{flex-direction:column;align-items:flex-start;gap:3px;padding-block:9px}.filter-list{gap:2px}.filter-chip{min-height:27px;padding-inline:7px;font-size:8px}.toolbar-hint{padding:2px 8px 0;font-size:7px}.projects-grid{grid-template-columns:minmax(0,1fr);gap:13px}.project-visual{height:clamp(177px,54vw,222px)}.visual-art{width:85%}.project-card-body{padding-inline:14px}.project-card-body h3{font-size:21px}.project-description{min-height:0;font-size:11px}.approach-section{padding-block:64px 55px}.approach-grid{grid-template-columns:minmax(0,1fr)}.approach-card{min-height:0;padding:17px 15px}.approach-card+.approach-card{border-top:1px solid var(--border);border-left:0}.approach-icon{margin:12px 0 10px}.approach-card p{max-width:410px}.stack-strip{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-block:15px}.stack-label{grid-column:1/-1}.stack-list{gap:7px 9px}.stack-list span{font-size:10px}.stack-list i{width:2px;height:2px}.stack-hint{font-size:6px}.contact-section{grid-template-columns:minmax(0,1fr);min-height:300px;margin-block:12px 54px;padding:25px 20px}.contact-copy h2{margin-top:16px;font-size:clamp(38px,10vw,49px)}.contact-coordinates{text-align:left;flex-wrap:wrap;gap:9px 14px;margin-top:27px;font-size:6px;display:flex}.contact-signal{opacity:.23;gap:14px;padding-inline:7%}.contact-signal span{height:112px}.site-footer{grid-template-columns:1fr auto auto;gap:11px;padding-block:15px}.footer-copy{display:none}.footer-year{font-size:7px}}@media (width<=380px){:root{--page-gutter:17px}.brand{gap:7px}.brand-label{font-size:7px}.filter-chip{padding-inline:5px;font-size:7px}.toolbar-hint{font-size:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
