:root{--paper:#c7c5be;--paper-2:#b3b1aa;--ink:#171613;--ink-soft:#2c2a26;--panel:#111110;--panel-2:#2a2926;--off:#eae7dd;--rule:#8a8879;--accent:#8a3b2a;--mono:"Space Mono",monospace;--disp:"Archivo Black",sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--mono)}body{position:relative;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;mix-blend-mode:overlay;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:998;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.05) 0 1px,transparent 1px 3px)}.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}a{color:var(--ink)}a:hover{color:var(--ink-soft)}.site-header{position:sticky;top:0;z-index:10}.nav{background:var(--paper);border-bottom:1px solid var(--rule);padding:16px clamp(20px,5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{font-family:var(--disp);font-size:18px;letter-spacing:.01em;display:flex;align-items:center;gap:10px;white-space:nowrap}.navlinks{display:flex;gap:26px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.navlinks a,.navlinks a:visited{color:var(--ink);border-bottom:1px solid transparent;white-space:nowrap;text-decoration:none;transition:border-color .15s ease}.navlinks a:hover{border-color:var(--ink-soft)}.navlinks a.active{border-color:var(--ink)}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;border:1px solid var(--ink);background:transparent;cursor:pointer;padding:0;flex-shrink:0}.hamburger span{display:block;width:18px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:flex;flex-direction:column;gap:16px;background:var(--paper);border-bottom:1px solid var(--rule);padding:20px clamp(20px,5vw,64px) 24px;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.mobile-menu a,.mobile-menu a:visited{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;width:fit-content;transition:border-color .15s ease}.mobile-menu a:hover{border-color:var(--ink-soft)}.mobile-menu a.active{border-color:var(--ink)}.mobile-menu .btn{width:100%}@media(max-width:720px){.navlinks,.cta-desktop{display:none}.hamburger{display:flex}}@media(min-width:721px){.mobile-menu{display:none}}.btn{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;padding:11px 20px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap}.btn:hover,.btn-solid{background:var(--ink);color:var(--paper)}.btn-solid:hover{background:var(--ink-soft)}.icon-link{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);color:var(--ink)}.icon-link:hover{background:var(--ink);color:var(--paper)}.icon-link svg{width:16px;height:16px;fill:currentColor}.social-row{display:flex;gap:10px}.hero{padding:clamp(34px,5vw,62px) 0 clamp(28px,4vw,42px)}.status-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.status{font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);padding:6px 12px;display:flex;align-items:center;gap:7px;white-space:nowrap}.status .led{width:7px;height:7px;border-radius:50%;background:#3b7a3f}.headline{font-family:var(--disp);font-size:clamp(38px,6.2vw,80px);line-height:.98;letter-spacing:-.01em;margin:0;text-transform:uppercase}.hero-role{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 0}.hero-sub{font-size:14.5px;line-height:1.75;max-width:60ch;margin:16px 0 0;color:var(--ink-soft)}.hero-cta{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}.rule{height:1px;background:var(--rule);margin:0;border:0}.section{padding:clamp(36px,5vw,62px) 0}.section-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:32px;border-bottom:1px solid var(--rule);padding-bottom:14px}.section-title{font-family:var(--disp);font-size:clamp(22px,2.8vw,32px);text-transform:uppercase;margin:0}.section-index{font-size:12px;letter-spacing:.1em;color:var(--ink-soft)}.about-text{font-size:15px;line-height:1.8;max-width:70ch;color:var(--ink-soft);margin:0}.stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule)}@media(max-width:900px){.stack-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.stack-grid{grid-template-columns:1fr}}.stack-cell{background:var(--paper);padding:20px 22px}.stack-cell h3{font-family:var(--disp);font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{font-size:11.5px;border:1px solid var(--ink-soft);padding:5px 9px;color:var(--ink-soft);letter-spacing:.02em}.feature-list{display:grid}.feature{display:grid;grid-template-columns:64px 1fr;gap:clamp(16px,4vw,40px);padding:22px 0;border-bottom:1px solid var(--rule);align-items:baseline}@media(max-width:600px){.feature{grid-template-columns:1fr;gap:6px}}.feature .fn{font-family:var(--disp);font-size:28px;color:var(--ink-soft);opacity:.5}.feature p{font-size:14px;line-height:1.6;margin:0;color:var(--ink-soft)}.feature b{color:var(--ink);font-weight:700}.projects-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--rule)}.project{background:var(--paper);display:grid;grid-template-columns:1fr;gap:0}.project.has-shot{grid-template-columns:340px 1fr}@media(max-width:820px){.project.has-shot{grid-template-columns:1fr}}.project-shot{position:relative;background:var(--panel);border-right:1px solid var(--rule);aspect-ratio:9/8;min-height:227px;overflow:hidden}@media(max-width:820px){.project-shot{border-right:0;border-bottom:1px solid var(--rule)}}.project-shot iframe{width:333%;height:333%;border:0;display:block;pointer-events:none;transform:scale(.3);transform-origin:top left}.project-body{padding:26px 28px}.project-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:4px}.project-title{font-family:var(--disp);font-size:19px;text-transform:uppercase;margin:0}.project-period{font-size:11px;letter-spacing:.06em;color:var(--ink-soft);white-space:nowrap}.project-stack{font-size:11.5px;color:var(--ink-soft);margin:6px 0 14px;letter-spacing:.02em}.project-desc{font-size:13px;color:var(--ink-soft);margin:0 0 12px;line-height:1.6}.project-body ul{margin:0;padding-left:18px;font-size:13px;line-height:1.65;color:var(--ink-soft)}.project-body li{margin-bottom:4px}.project-link{display:inline-block;margin-top:14px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--ink);text-decoration:none}.contact{background:var(--panel);color:var(--off)}.contact .wrap{padding-left:clamp(28px,6vw,72px);padding-right:clamp(28px,6vw,72px)}.contact .section-head{border-color:var(--rule)}.contact .section-title{color:var(--off)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,56px)}@media(max-width:800px){.contact-grid{grid-template-columns:1fr}}.contact-note p{font-size:14px;line-height:1.75;color:#c9c6ba;max-width:44ch;margin:0}.contact-note .email{display:inline-block;margin-top:18px;font-family:var(--disp);font-size:20px;color:var(--off);letter-spacing:0;border-bottom:1px solid var(--off);text-decoration:none}.contact-note .social-row{margin-top:22px}.contact-note .icon-link{border-color:var(--off);color:var(--off)}.contact-note .icon-link:hover{background:var(--off);color:var(--panel)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#a7a498}.field input,.field textarea{font-family:var(--mono);font-size:13px;padding:12px 14px;border:1px solid var(--rule);background:var(--panel-2);color:var(--off)}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus{outline:1px solid var(--off)}.field--hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.field-status{font-size:12px;margin-top:12px}.field-status--ok{color:#8fae7c}.field-status--error{color:#c97a63}footer{border-top:1px solid var(--rule);margin-top:clamp(36px,5vw,62px);padding:20px 0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
