:root{--bg: #000;--text: #ffffff;--subtle: #9aa5b1;--accent: rgba(0, 255, 255, .9);--accent-solid: #00ffff;--rule: rgba(255, 255, 255, .12);--card: rgba(255, 255, 255, .035);--measure: 1040px}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a:focus-visible{outline:2px solid var(--accent-solid);outline-offset:3px;border-radius:4px}.stage{position:relative;width:100%;height:100vh;height:100svh;background:var(--bg);overflow:hidden}.top-half,.bottom-half{position:absolute;left:0;width:100%;z-index:0;image-rendering:optimizeSpeed;will-change:transform}.top-half{top:0;height:50vh}.bottom-half{bottom:0;height:50vh}.center-split{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 20px;pointer-events:none}.brand{margin:0 0 10px;font-weight:900;font-size:clamp(42px,9vw,108px);line-height:1.05;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.55)}.tagline{margin:0 0 20px;font-size:clamp(14px,2.2vw,18px);letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);text-shadow:0 2px 6px rgba(0,0,0,.8)}.cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;pointer-events:auto;margin-top:4px}.pill{display:inline-block;text-decoration:none;font-weight:800;font-size:14px;line-height:1;color:#001418;background:var(--accent);padding:11px 18px;border-radius:999px;box-shadow:0 8px 24px #00000059;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.pill:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 10px 28px #00000073}.pill:active{transform:translateY(0)}.scroll-hint{position:absolute;left:50%;bottom:28px;transform:translate(-50%);z-index:2;color:var(--subtle);font-size:22px;line-height:1;text-decoration:none;padding:8px 12px;animation:nudge 2.4s ease-in-out infinite}.scroll-hint:hover{color:var(--accent-solid)}@keyframes nudge{0%,to{transform:translate(-50%) translateY(0);opacity:.55}50%{transform:translate(-50%) translateY(6px);opacity:1}}.section{max-width:var(--measure);margin:0 auto;padding:96px 20px 24px;scroll-margin-top:24px}.section h2{margin:0 0 8px;font-size:clamp(26px,4vw,38px);font-weight:800;letter-spacing:-.01em}.section h2:after{content:"";display:block;width:56px;height:3px;margin-top:14px;background:var(--accent-solid);border-radius:2px}.section-lead{margin:20px 0 0;color:var(--subtle);font-size:17px}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:34px}.project{border:1px solid var(--rule);background:var(--card);border-radius:14px;padding:26px;display:flex;flex-direction:column;transition:border-color .18s ease,transform .18s ease}.project:hover{border-color:#00ffff73;transform:translateY(-2px)}.project-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px}.project-title{margin:0;font-size:22px;font-weight:800}.project-period{color:var(--subtle);font-size:13px;white-space:nowrap}.project-tagline{margin:6px 0 0;color:var(--accent-solid);font-size:13px;letter-spacing:.06em;text-transform:uppercase}.project-blurb{margin:16px 0 0;color:#d6dde4;font-size:15.5px;line-height:1.65}.stack{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0}.stack li{font-size:12px;font-weight:600;color:var(--subtle);border:1px solid var(--rule);border-radius:999px;padding:5px 11px}.project-links{margin-top:auto;padding-top:22px;display:flex;flex-wrap:wrap;gap:18px}.project-links a{color:var(--accent-solid);text-decoration:none;font-weight:700;font-size:14.5px}.project-links a:hover{text-decoration:underline}.contact-list{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}.contact-list a{color:var(--text);text-decoration:none;font-size:17px;border-bottom:1px solid var(--rule);padding-bottom:3px}.contact-list a:hover{color:var(--accent-solid);border-bottom-color:var(--accent-solid)}.footer{max-width:var(--measure);margin:0 auto;padding:80px 20px 48px;color:var(--subtle);font-size:14px}.footer p{margin:0}@media (max-width: 640px){.cta-row{gap:10px}.pill{padding:10px 15px;font-size:13px}.section{padding-top:72px}.project{padding:22px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.pill,.project{transition:none}.pill:hover,.project:hover{transform:none}.scroll-hint{animation:none;opacity:.7}}
