:root{color-scheme:dark;--color-background:#0c0d0f;--color-surface:#14161a;--color-border:#34373e;--color-text:#f5f5ef;--color-text-muted:#a9abb2;--color-accent:#e8ff54;--color-grid-line:#ffffff09;--color-decorative-ring:#44474f;--color-coming-soon-surface:#111316;--color-coming-soon-border:#25272c;--color-coming-soon-ring:#2f3137;--font-sans:Arial, Helvetica, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-metadata:.75rem;--font-size-metadata-compact:.7rem;--content-max-width:1180px;--about-copy-max-width:760px;--page-gutter-desktop:24px;--page-gutter-mobile:14px;--background-grid-size:32px;--tap-target-size:44px;--stroke-width:1px;--focus-ring-width:2px;--focus-ring-offset:5px;--decorative-ring-size:150px;--decorative-ring-offset:-50px;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:5rem;--space-4xl:6rem;--space-5xl:9rem;--motion-fast:.16s;--motion-card:.18s;--motion-entrance:.6s;--motion-reduced:.01ms;--card-hover-lift:-4px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-background)}body{min-width:320px;color:var(--color-text);background-color:var(--color-background);background-image:linear-gradient(var(--color-grid-line) var(--stroke-width), transparent var(--stroke-width)), linear-gradient(90deg, var(--color-grid-line) var(--stroke-width), transparent var(--stroke-width));background-size:var(--background-grid-size) var(--background-grid-size);font-family:var(--font-sans);margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset)}.section-shell{width:min(var(--content-max-width), calc(100% - var(--page-gutter-desktop) - var(--page-gutter-desktop)));margin-inline:auto}.site-header{border-bottom:var(--stroke-width) solid var(--color-border);min-height:78px;font-family:var(--font-mono);font-size:var(--font-size-metadata);text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.brand,.site-header nav a,.footer-links a{min-height:var(--tap-target-size);align-items:center;display:inline-flex}.brand span{color:var(--color-accent);margin-right:.6rem}.site-header nav{gap:var(--space-lg);display:flex}.site-header nav a,.footer-links a{transition:color var(--motion-fast) ease}.site-header nav a:hover,.footer-links a:hover{color:var(--color-accent)}.hero{border-bottom:var(--stroke-width) solid var(--color-border);min-height:68vh;animation:rise var(--motion-entrance) ease-out both;flex-direction:column;justify-content:center;display:flex}.eyebrow,.section-heading,.project-meta,.about h2,.site-footer{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.eyebrow{margin:0 0 var(--space-lg);color:var(--color-text-muted);font-size:var(--font-size-metadata)}.hero h1{letter-spacing:-.065em;text-transform:uppercase;max-width:1050px;margin:0;font-size:clamp(3.4rem,9vw,7.5rem);line-height:.9}.hero h1 em{color:var(--color-accent);font-style:normal}.hero-description{max-width:580px;margin:var(--space-xl) 0 0;color:var(--color-text-muted);font-family:var(--font-mono);font-size:1rem;line-height:1.65}.projects{padding-top:var(--space-3xl)}.section-heading{font-size:var(--font-size-metadata);justify-content:space-between;align-items:end;margin-bottom:1.75rem;display:flex}.section-heading h2{font:inherit;margin:0}.section-heading span{color:var(--color-text-muted)}.project-grid{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-card{min-height:320px;padding:var(--space-lg);border:var(--stroke-width) solid var(--color-border);background:var(--color-surface);transition:border-color var(--motion-card) ease, transform var(--motion-card) ease;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.project-card:after{top:var(--decorative-ring-offset);right:var(--decorative-ring-offset);width:var(--decorative-ring-size);height:var(--decorative-ring-size);border:var(--stroke-width) solid var(--color-decorative-ring);content:"";border-radius:50%;position:absolute}a.project-card:hover{border-color:var(--color-accent);transform:translateY(var(--card-hover-lift))}.project-meta{z-index:1;color:var(--color-accent);font-size:var(--font-size-metadata-compact);justify-content:space-between;display:flex}.project-card h3{letter-spacing:-.05em;text-transform:uppercase;margin:0 0 .8rem;font-size:clamp(2rem,3vw,2.6rem)}.project-card p{max-width:30ch;color:var(--color-text-muted);margin:0;font-size:.9rem;line-height:1.55}.project-card.is-coming-soon{border-color:var(--color-coming-soon-border);background:var(--color-coming-soon-surface)}.project-card.is-coming-soon:after{border-color:var(--color-coming-soon-ring)}.project-card.is-coming-soon .project-meta{color:var(--color-text-muted)}.about{gap:var(--space-2xl);margin-top:var(--space-5xl);padding-block:var(--space-5xl);border-top:var(--stroke-width) solid var(--color-border);grid-template-columns:1fr 2fr;display:grid}.about h2{font-size:var(--font-size-metadata);margin:0;font-weight:400}.about p{max-width:var(--about-copy-max-width);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.08}.site-footer{align-items:center;gap:var(--space-xl);border-top:var(--stroke-width) solid var(--color-border);min-height:150px;color:var(--color-text-muted);font-size:var(--font-size-metadata-compact);grid-template-columns:1fr auto auto;display:grid}.footer-links{gap:var(--space-lg);display:flex}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@media (width<=760px){.section-shell{width:min(calc(100% - var(--page-gutter-mobile) - var(--page-gutter-mobile)), var(--content-max-width))}.site-header nav{gap:var(--space-sm)}.hero{min-height:72vh}.project-grid{grid-template-columns:1fr}.project-card{min-height:240px}.about{padding-block:var(--space-4xl);grid-template-columns:1fr}.site-footer{gap:var(--space-xs);padding-block:var(--space-xl);grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:var(--motion-reduced)!important;transition-duration:var(--motion-reduced)!important;animation-iteration-count:1!important}a.project-card:hover{transform:none}}
