@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
.project-open.spider-inspecting .project-media{border-color:#7ee2cf}.project-open.spider-inspecting .details-link{color:#7ee2cf}
:root{--bg:#151616;--panel:#1c1e1e;--ink:#efeee8;--muted:#a2a7a3;--accent:#ff8050;--line:#383b38;--max:1240px;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}body::before{content:'';position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(50% - .5px),#ffffff03 50%,transparent calc(50% + .5px));z-index:0}a{color:inherit}button{font:inherit}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--bg)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;background:var(--accent);color:#151616;padding:10px 18px;z-index:100}.skip-link:focus{top:15px}
#robot-canvas{position:fixed;inset:0;width:100%;height:100dvh;pointer-events:none;z-index:1;opacity:.82}main,footer{position:relative;z-index:2}
.site-header{position:relative;z-index:10;max-width:var(--max);margin:auto;height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:14px;font-weight:600}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--accent);color:var(--accent);font-family:var(--display);font-size:24px;transform:rotate(-6deg)}.brand>span+span{color:var(--muted)}.site-nav{display:flex;gap:36px}.site-nav a{text-decoration:none;font-size:14px;color:#c3c8c2}.site-nav a:hover,.site-nav a:last-child{color:var(--accent)}.menu-button{display:none}
.hero{position:relative;max-width:var(--max);margin:auto;padding:68px 0 80px;min-height:720px;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.eyebrow,.section-label,.project-type,.dialog-type{font:12px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase}.eyebrow{margin:0 0 24px;color:var(--accent)}.hero h1{font-family:var(--display);font-size:clamp(110px,12vw,178px);font-weight:600;line-height:.83;letter-spacing:-.025em;margin:0 0 30px}.hero h1>span{display:block}.name-period{color:var(--accent)}.hero-lead{max-width:555px;font-size:17px;line-height:1.8;color:#b7beb8;margin:0}.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;min-height:48px;text-decoration:none;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button-primary{background:var(--accent);color:#181a18}.button-primary:hover{background:#ff9c76;transform:translateY(-2px)}.button-secondary{border-bottom:1px solid #646a62;padding-inline:0;margin-left:12px}.button-secondary:hover{color:var(--accent)}
.hero-visual{position:relative;align-self:center;padding:0 18px 44px 0}.portrait-frame{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#222725;border-radius:180px 180px 8px 8px;border:1px solid #424942}.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:none;opacity:1}.hero-visual::before{content:'AS / 01';position:absolute;top:-30px;right:20px;font:12px var(--mono);color:var(--muted)}.hero-visual::after{content:'+';position:absolute;bottom:42px;left:-25px;font:60px/1 var(--mono);color:var(--accent)}.visual-note{position:relative;width:100%;margin:20px 0 0;padding-left:18px;border-left:2px solid var(--accent);font-size:14px;color:var(--muted);line-height:1.6}.visual-note span{display:block;font:11px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:5px}.hero-bottom{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:space-between;gap:20px;font:12px var(--mono);color:var(--muted)}.scroll-cue{text-decoration:none}.scroll-cue span{color:var(--accent);margin-left:16px}.spider-hint{font-size:11px;letter-spacing:.03em}
.section{max-width:var(--max);margin:0 auto;border-top:1px solid var(--line);padding:80px 0 90px}.section-label{display:flex;align-items:center;gap:20px;color:var(--muted);margin-bottom:44px}.section-label span{color:var(--accent);font-size:14px}.section h2{font:500 clamp(40px,5vw,72px)/1.05 var(--display);letter-spacing:-.015em;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-grid h2{max-width:420px}.about-copy>p{margin:0 0 20px;color:#bbc1bb;font-size:16px}.facts{margin-top:35px;border-top:1px solid var(--line)}.facts>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.facts span{color:var(--muted);font-size:12px;font-family:var(--mono)}.facts strong{font-weight:500}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:42px}.section-heading h2{max-width:620px}.section-heading>p{max-width:320px;font-size:15px;color:var(--muted);margin:0}
.focus-grid{border-top:1px solid var(--line)}.focus-grid article{display:grid;grid-template-columns:60px 1fr 1fr;gap:24px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.focus-grid article>span{font:12px var(--mono);color:var(--accent)}.focus-grid h3{font:500 30px/1.2 var(--display);margin:0}.focus-grid p{color:var(--muted);font-size:15px;margin:0}.tool-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.tool-row span{font:12px/1.4 var(--mono);border:1px solid #454a44;padding:9px 13px;color:#bdc6bc}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px}.project-card{min-width:0}.project-open{display:flex;flex-direction:column;text-align:left;width:100%;height:100%;padding:0;color:inherit;background:transparent;border:0;cursor:pointer}.project-media{aspect-ratio:1.9;overflow:hidden;position:relative;background:#101717;border:1px solid #363e36;width:100%}.project-media::after{content:'↗';position:absolute;right:16px;bottom:16px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #65705d;border-radius:50%;color:var(--ink);background:#151616aa;transition:background .2s}.project-media img{height:100%;width:100%;object-fit:cover;filter:grayscale(.75) sepia(.25);opacity:.8;transition:transform .55s,filter .55s,opacity .55s}.project-open:hover .project-media img{transform:scale(1.045);filter:none;opacity:1}.project-open:hover .project-media::after{background:var(--accent);color:var(--bg);border-color:var(--accent)}.project-body{position:relative;padding:25px 0 0;width:100%;flex:1;display:flex;flex-direction:column}.project-number{position:absolute;right:0;top:23px;font:12px var(--mono);color:var(--muted)}.project-type{margin:0 30px 8px 0;color:var(--accent);font-size:11px}.project-body h3{font:500 36px/1.12 var(--display);margin:0 0 12px}.project-body>p:not(.project-type){color:var(--muted);font-size:15px;margin:0 0 20px;max-width:510px}.tags,.dialog-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tags span,.dialog-tags span{font:11px var(--mono);color:#a8b2a6;border:1px solid var(--line);padding:5px 9px}.details-link{display:block;font-size:13px;color:#d6ddd0;margin-top:20px}.project-open:hover .details-link{color:var(--accent)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-bottom:100px}.contact h2{max-width:500px}.contact-copy>p{color:var(--muted);font-size:15px;max-width:450px;margin-top:24px}.contact-links{align-self:center}.contact-links a{display:grid;grid-template-columns:85px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none}.contact-links a:first-child{border-top:1px solid var(--line)}.contact-links span{font:12px var(--mono);color:var(--muted)}.contact-links strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.contact-links b{color:var(--accent);font-size:20px}.contact-links a:hover strong{color:var(--accent)}footer{max-width:var(--max);margin:auto;padding:28px 0 80px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font:12px var(--mono);color:var(--muted)}footer a{text-decoration:none}.robot-motion{position:fixed;bottom:18px;right:20px;z-index:30;display:flex;align-items:center;gap:9px;background:#202421e8;backdrop-filter:blur(10px);color:#d2d9cd;border:1px solid #495344;border-radius:30px;padding:9px 15px;font:12px var(--mono);cursor:pointer}.motion-icon{color:var(--accent)}
.project-dialog{color:var(--ink);background:#202421;border:1px solid #495344;width:min(640px,calc(100% - 32px));max-height:85dvh;padding:40px}.project-dialog::backdrop{background:#050805c9;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:14px;top:10px;background:none;border:0;color:var(--ink);font-size:30px;cursor:pointer}.dialog-type{color:var(--accent)}.project-dialog h2{font:500 48px/1 var(--display);margin:18px 0}.project-dialog>p:not(.dialog-type){color:#bbc4b8;line-height:1.75}.dialog-tags{margin:25px 0}.project-dialog .button{margin-top:10px}
@media(min-width:1500px){.hero{min-height:790px}.hero-visual{margin-right:30px}}@media(max-width:1340px){.site-header,.hero,.section,footer{margin-inline:40px}.hero{gap:45px}.about-grid,.contact{gap:60px}}@media(max-width:850px){.hero{grid-template-columns:1.2fr .8fr;min-height:670px;gap:30px}.hero h1{font-size:112px}.hero-lead{font-size:16px}.site-nav{gap:22px}.about-grid{gap:36px}.contact{gap:36px}.section-heading{gap:30px}.section-heading>p{max-width:240px}.focus-grid article{grid-template-columns:35px 1fr 1.2fr;gap:18px}.contact-links a{grid-template-columns:1fr 20px}.contact-links a>span{grid-column:1/-1}.project-body h3{font-size:30px}}
@media(max-width:620px){.site-header,.hero,.section,footer{margin-inline:22px}.site-header{height:78px}.brand>span+span{font-size:13px}.menu-button{display:block;background:none;border:1px solid var(--line);width:42px;height:40px;padding:10px}.menu-button>span:not(.sr-only){display:block;background:var(--ink);height:1px;margin:4px 0}.site-nav{display:none;position:absolute;top:66px;right:0;min-width:180px;background:#202421;padding:20px;border:1px solid var(--line)}.site-nav.open{display:flex;flex-direction:column;gap:18px}.hero{padding:48px 0 76px;grid-template-columns:1fr;gap:34px;min-height:auto}.hero h1{font-size:clamp(100px,23vw,145px)}.eyebrow{font-size:10px}.hero-lead{font-size:16px}.hero-visual{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:22px;padding:0;margin-bottom:30px}.portrait-frame{aspect-ratio:1;border-radius:50%}.hero-visual::before,.hero-visual::after{display:none}.visual-note{margin:0;font-size:13px;padding-left:14px}.hero-note{margin:0}.hero-bottom{font-size:11px;bottom:20px}.spider-hint{display:none}.section{padding:48px 0 56px}.section-label{margin-bottom:26px}.about-grid,.contact{grid-template-columns:1fr;gap:28px}.section h2{font-size:45px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:none;margin-top:18px}.focus-grid article{grid-template-columns:28px 1fr;gap:12px;padding:22px 0}.focus-grid h3{font-size:28px}.focus-grid p{grid-column:2}.project-grid{grid-template-columns:1fr;gap:38px}.project-body h3{font-size:34px}.contact-links a{grid-template-columns:65px minmax(0,1fr) 18px}.contact-links a>span{grid-column:auto}.contact-links strong{font-size:12px}footer{flex-wrap:wrap;font-size:10px;padding-bottom:90px}.project-dialog{padding:30px 24px}.project-dialog h2{font-size:39px}.robot-motion{font-size:11px;bottom:12px;right:12px}#robot-canvas{opacity:.65}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .8s both}.hero-visual{animation:arrive 1s .1s both}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
