:root{color-scheme:dark;--background:#080912;--background-deep:#060710;--surface:#111321;--surface-raised:#1a1d30;--text:#f5f3ff;--text-muted:#b6b8cc;--smoke-blue:#31c5ff;--smoke-pink:#ff4ea3;--smoke-purple:#8f62ff;--nuclear:#ff8a3d;--line:#e2e6ff2b;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--body:Inter, "Avenir Next", Avenir, Arial, sans-serif;--display:"Avenir Next", Avenir, "Trebuchet MS", Arial, sans-serif;font-family:var(--body);background:var(--background);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-width:320px;color:var(--text);margin:0}a{color:inherit}::selection{background:var(--smoke-pink);color:var(--background)}.skip-link{z-index:20;background:var(--nuclear);color:var(--background);padding:.8rem 1rem;font-weight:800;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.shell{width:min(1320px,100% - 64px);margin-inline:auto}.eyebrow{font:500 .72rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}.section-label{color:var(--text-muted);align-items:center;gap:12px;display:flex}.section-label:before{content:"";background:var(--nuclear);border-radius:50%;width:8px;height:8px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:23px 0;display:flex}.brand{font:700 .85rem var(--display);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-logo{width:36px;height:auto;display:block}.site-nav{align-items:center;gap:clamp(18px,3vw,40px);display:flex}.site-nav a{font-size:.76rem;font-weight:700;text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible{text-decoration:underline;text-decoration-color:var(--smoke-blue);text-underline-offset:5px}.availability{color:var(--text-muted);font:.65rem var(--mono);align-items:center;gap:8px;display:flex}.availability:before{content:"";background:var(--nuclear);width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, var(--nuclear) 15%, transparent);border-radius:50%}.hero{isolation:isolate;min-height:min(760px,100svh - 75px);padding:0;position:relative;overflow:hidden}.hero-inner{z-index:2;min-height:inherit;flex-direction:column;justify-content:center;padding-block:48px 75px;display:flex;position:relative}.hero:before{z-index:1;background:linear-gradient(90deg, color-mix(in srgb, var(--background) 78%, transparent) 0%, color-mix(in srgb, var(--background) 68%, transparent) 48%, color-mix(in srgb, var(--background) 24%, transparent) 76%, transparent 100%);content:"";pointer-events:none;position:absolute;inset:0}.hero-copy{width:min(100%,760px);padding-block:48px;position:relative}.hero h1{max-width:760px;font:500 clamp(3.7rem, 8.2vw, 8rem)/.91 var(--display);letter-spacing:-.085em;margin:24px 0 26px}.hero h1 span{color:var(--smoke-pink)}.hero-intro{max-width:480px;color:var(--text-muted);font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px;display:flex}.button-link{border:1px solid var(--nuclear);background:var(--nuclear);color:var(--background);border-radius:2px;align-items:center;gap:13px;padding:14px 18px;font-size:.77rem;font-weight:800;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.button-link:hover{background:var(--smoke-blue);border-color:var(--smoke-blue);color:var(--background);transform:translateY(-2px)}.text-link{text-underline-offset:5px;align-items:center;gap:7px;font-size:.76rem;font-weight:800;display:inline-flex}.visual-stage{z-index:0;isolation:isolate;background:radial-gradient(ellipse at 82% 34%, color-mix(in srgb, var(--smoke-pink) 84%, transparent), transparent 36%), radial-gradient(ellipse at 64% 72%, color-mix(in srgb, var(--smoke-blue) 78%, transparent), transparent 40%), radial-gradient(ellipse at 70% 44%, color-mix(in srgb, var(--smoke-purple) 82%, transparent), transparent 43%), radial-gradient(ellipse at 58% 62%, color-mix(in srgb, var(--nuclear) 82%, transparent), transparent 48%), var(--background-deep);pointer-events:none;position:absolute;inset:0;overflow:hidden}.visual-stage canvas{z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.visual-stage[data-webgl=unsupported] canvas{display:none}.hero-index{z-index:2;border-top:1px solid var(--line);background:color-mix(in srgb, var(--background) 88%, transparent);color:var(--text-muted);font:.63rem var(--mono);text-transform:uppercase;justify-content:space-between;padding:14px 12px 5px;display:flex;position:absolute;bottom:24px;left:0;right:0}.section{border-bottom:1px solid var(--line);padding-block:112px}.section-heading{grid-template-columns:.6fr 1.4fr;align-items:start;gap:36px;margin-bottom:52px;display:grid}.section-heading h2{max-width:780px;font:500 clamp(2.5rem, 5.5vw, 5rem)/1 var(--display);letter-spacing:-.07em;margin:0}.section-heading h2 em{color:var(--smoke-purple);font-style:normal}.section-heading p{max-width:540px;color:var(--text-muted);grid-column:2;margin:0;line-height:1.7}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:20px;display:grid}.work-card{border:1px solid var(--line);background:var(--surface);flex-direction:column;justify-content:flex-start;gap:1rem;min-height:330px;padding:25px;text-decoration:none;transition:transform .2s,border-color .2s;display:flex}.work-card:hover{border-color:var(--smoke-blue);transform:translateY(-5px)}.work-card:nth-child(2n){background:var(--surface-raised)}.work-card-top,.work-card-bottom{justify-content:space-between;align-items:center;gap:16px;display:flex}.work-card-top{color:var(--text-muted);font:.65rem var(--mono);text-transform:uppercase}.work-card-arrow{color:var(--text);font:1rem/1 var(--display);text-transform:none}.work-card-icon{border:1px solid var(--line);width:100px;height:100px;font:1.5rem var(--display);border-radius:50%;align-self:center;place-items:center;display:grid}.work-card-thumbnail{aspect-ratio:16/9;border:1px solid var(--line);background:var(--background-deep);object-fit:cover;object-position:center;width:100%;display:block}.work-card:nth-child(2n) .work-card-icon{border-radius:5px;transform:rotate(12deg)}.work-card h3{font:500 clamp(1.4rem, 2.2vw, 2rem) var(--display);letter-spacing:-.045em;margin:0}.work-card-bottom>div{flex-direction:column;gap:1rem;display:flex}.work-card p{max-width:380px;color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.6}.draft-note{border:1px dashed var(--line);color:var(--text-muted);font:.72rem var(--mono);padding:12px 15px}.about-layout{grid-template-columns:.7fr 1.3fr;gap:10%;display:grid}.about-copy{max-width:700px}.about-copy p{letter-spacing:-.035em;margin:0 0 22px;font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.5}.about-copy p:first-child{font-weight:700}.principles{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:56px;display:grid}.principle{background:var(--surface);min-height:150px;padding:18px}.principle strong{color:var(--smoke-blue);font:500 1.8rem var(--display);margin-bottom:22px;display:block}.principle span{font:.7rem var(--mono);text-transform:uppercase}.contact{background:var(--background-deep);color:var(--text);padding-block:110px 90px;position:relative;overflow:hidden}.contact-inner{z-index:1;position:relative}.contact-intro{margin-bottom:64px}.contact-form-layout{grid-template-columns:minmax(0,1fr) minmax(120px,.28fr);align-items:center;gap:clamp(36px,6vw,90px);display:grid}.contact-mark{justify-self:end;width:min(100%,240px);height:auto;display:block}.contact .section-label{color:var(--text-muted)}.contact h2{max-width:880px;font:500 clamp(3.2rem, 8vw, 7.5rem)/.94 var(--display);letter-spacing:-.08em;margin:30px 0 0}.contact h2 em{color:var(--nuclear);font-style:normal}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:900px;display:grid}.contact-field{flex-direction:column;gap:9px;min-width:0;display:flex}.contact-field-message,.contact-form-actions{grid-column:1/-1}.contact-field label{color:var(--text-muted);font:.7rem var(--mono);text-transform:uppercase}.contact-field input,.contact-field textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:1rem/1.5 var(--body);border-radius:0;padding:15px 16px}.contact-field textarea{resize:vertical;min-height:150px}.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--nuclear);outline-offset:3px}.contact-field [aria-invalid=true]{border-color:var(--smoke-pink)}.contact-field-error{min-height:1em;color:var(--smoke-pink);font-size:.8rem}.contact-honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-form-actions{justify-content:space-between;align-items:center;gap:24px;display:flex}.contact-feedback{min-height:1.5em;color:var(--text-muted);margin:0}.contact .button-link{border-color:var(--nuclear);background:var(--nuclear);color:var(--background);cursor:pointer;font:inherit;flex:none}.contact .button-link:hover{border-color:var(--smoke-blue);background:var(--smoke-blue)}.contact .button-link:disabled{cursor:wait;opacity:.7}.site-footer{color:var(--text-muted);background:var(--background-deep);font:.62rem var(--mono);text-transform:uppercase;justify-content:space-between;gap:1rem;padding-block:23px;display:flex}.detail-title{max-width:950px;font:500 clamp(3rem, 8vw, 7rem)/.95 var(--display);letter-spacing:-.08em;margin:28px 0 20px}.detail-summary{max-width:680px;color:var(--text-muted);font-size:1.2rem;line-height:1.7}.project-screenshot{border:1px solid var(--line);background:var(--surface);margin:52px 0 0;padding:12px}.project-screenshot img{width:100%;height:auto;display:block}.project-screenshot figcaption{color:var(--text-muted);font:.68rem/1.6 var(--mono);padding:12px 4px 2px}.writing-image{max-width:1100px;margin:52px auto 0}.writing-image img{width:100%;height:auto;display:block}.prose{max-width:740px;margin:64px auto 0;font-size:1.05rem;line-height:1.85}.prose h2{font:500 2rem/1.1 var(--display);letter-spacing:-.05em;margin:2.3em 0 .6em}.prose p{color:var(--text-muted)}.prose code,.draft-note code{font:.9em var(--mono);background:#f5f3ff14;padding:.12em .35em}@media (width<=900px){.hero{min-height:0}.hero:before{background:linear-gradient(180deg, color-mix(in srgb, var(--background) 78%, transparent) 0%, color-mix(in srgb, var(--background) 66%, transparent) 78%, color-mix(in srgb, var(--background) 40%, transparent) 100%)}.hero-copy{padding:30px 0 0}.hero h1{max-width:760px;font-size:clamp(4.2rem,13vw,7.4rem)}.hero-index{bottom:0}.section{padding-block:84px}.about-layout{grid-template-columns:1fr;gap:30px}}@media (width<=620px){.shell{width:min(100% - 36px,1320px)}.site-header{align-items:flex-start}.site-nav{gap:15px}.site-nav a{font-size:.68rem}.availability{display:none}.hero{min-height:0}.hero:before{background:linear-gradient(180deg, color-mix(in srgb, var(--background) 80%, transparent) 0%, color-mix(in srgb, var(--background) 72%, transparent) 78%, color-mix(in srgb, var(--background) 48%, transparent) 100%)}.hero h1{font-size:clamp(3.5rem,15vw,5.5rem)}.hero-intro{font-size:.95rem}.hero-index{font-size:.55rem}.section{padding-block:70px}.project-screenshot{margin-top:36px;padding:7px}.writing-image{margin-top:36px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.section-heading p{grid-column:auto}.work-grid{grid-template-columns:1fr}.work-card{min-height:290px}.principles{grid-template-columns:1fr}.principle{min-height:auto}.principle strong{margin-bottom:12px}.contact{padding-block:80px 60px}.contact-form-layout{grid-template-columns:1fr;gap:28px}.contact-intro{margin-bottom:42px}.contact-mark{justify-self:start;width:min(100%,150px)}.contact h2{font-size:clamp(3rem,14vw,5.5rem)}.contact-form{grid-template-columns:1fr;gap:16px}.contact-field-message,.contact-form-actions{grid-column:auto}.contact-form-actions{flex-direction:column-reverse;align-items:flex-start}.site-footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
