:root{color-scheme:light;--ink:#111318;--muted:#696f7a;--line:#e4e7ec;--soft:#f6f7f9;--blue:#2457e6;--blue-light:#eaf0ff;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#fff;min-width:320px}body{background:#fff;min-height:100vh;margin:0}a{color:inherit}.site-shell{width:min(1240px,100% - 48px);min-height:100vh;margin:0 auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:96px;display:flex}.brand{color:var(--ink);letter-spacing:-.025em;align-items:center;gap:.75rem;font-size:.9375rem;font-weight:760;text-decoration:none;display:inline-flex}.brand-mark{background:var(--blue);color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;font-size:.875rem;font-weight:800;display:grid}.site-header nav{align-items:center;gap:clamp(1.3rem,3vw,2.5rem);display:flex}.site-header nav a{color:var(--muted);align-items:center;gap:.25rem;padding:.5rem 0;font-size:.875rem;font-weight:560;text-decoration:none;transition:color .16s;display:inline-flex;position:relative}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--ink)}.site-header nav a[aria-current=page]:after{background:var(--blue);content:"";height:2px;position:absolute;bottom:-1.05rem;left:0;right:0}.hero{grid-template-columns:minmax(0,1.1fr) minmax(320px,.76fr);align-items:center;gap:clamp(4rem,10vw,10rem);min-height:min(760px,100vh - 96px);padding:clamp(4.5rem,9vh,7rem) 0;display:grid}.hero-copy{z-index:1;position:relative}.eyebrow{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;margin:0 0 2rem;font-size:.75rem;font-weight:780}.eyebrow span{color:#b1b6bf;margin:0 .55rem}h1,h2,p,figure,figcaption{margin-top:0}.hero h1{color:#a2a7b0;letter-spacing:-.075em;margin-bottom:0;font-size:clamp(4rem,8.2vw,7.2rem);font-weight:530;line-height:.94}.hero h1 strong{color:var(--ink);font-weight:780}.hero-lead{color:#464c56;margin:2.3rem 0 0;font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.9}.hero-actions{align-items:center;gap:.75rem;margin-top:2.5rem;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;gap:.7rem;min-height:50px;padding:0 1.25rem;font-size:.9375rem;font-weight:680;text-decoration:none;transition:background .16s,color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible,.site-header a:focus-visible,.text-link:focus-visible{outline-offset:4px;outline:3px solid #2457e638}.button-primary{background:var(--ink);color:#fff}.button-primary:hover{background:var(--blue)}.button-quiet{border:1px solid var(--line);color:var(--ink);background:#fff}.button-quiet:hover{background:var(--soft);border-color:#cdd2da}.portrait-block{justify-self:end;width:min(100%,320px);position:relative}.portrait-accent{background:var(--blue-light);border-radius:30px;width:76%;height:78%;position:absolute;top:-22px;right:-22px}.portrait-block figure{border:1px solid var(--line);background:#fff;border-radius:28px;margin-bottom:0;position:relative;overflow:hidden;box-shadow:0 30px 80px #1113181f}.portrait-block img{object-fit:contain;width:100%;height:auto;display:block}.portrait-block figcaption{min-height:56px;color:var(--muted);letter-spacing:.12em;justify-content:space-between;align-items:center;margin-bottom:0;padding:0 1.25rem;font-size:.6875rem;font-weight:720;display:flex}.about{border-top:1px solid var(--line);grid-template-columns:190px minmax(0,1fr);gap:clamp(2rem,8vw,8rem);padding:clamp(5rem,10vw,8rem) 0;display:grid}.section-index{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:760}.about-content{grid-template-columns:minmax(320px,1fr) minmax(260px,.75fr);gap:clamp(3rem,8vw,8rem);display:grid}.about h2{letter-spacing:-.055em;margin-bottom:0;font-size:clamp(2rem,4vw,3.6rem);font-weight:680;line-height:1.18}.about-copy{align-self:end}.about-copy p{color:#4d535d;margin-bottom:1.6rem;font-size:1rem;line-height:1.9}.text-link{color:var(--ink);text-underline-offset:5px;align-items:center;gap:.45rem;font-size:.9rem;font-weight:700;text-decoration-color:#bbc0c9;display:inline-flex}.projects-page{min-height:calc(100vh - 185px);padding:clamp(5rem,11vw,9rem) 0}.projects-heading h1{letter-spacing:-.075em;margin-bottom:clamp(4rem,9vw,7rem);font-size:clamp(3.8rem,8vw,7rem);font-weight:760;line-height:1}.empty-state{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,.35fr) 1fr;align-items:end;gap:2rem;padding:clamp(2rem,5vw,4rem) 0;display:grid}.empty-number{color:#d7dae0;letter-spacing:-.07em;font-size:clamp(4rem,9vw,7rem);font-weight:700;line-height:.8}.empty-state h2{letter-spacing:-.035em;margin-bottom:.65rem;font-size:clamp(1.4rem,2.5vw,2rem)}.empty-state p{color:var(--muted);margin-bottom:0;line-height:1.8}.site-footer{border-top:1px solid var(--line);min-height:88px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.site-footer p{margin-bottom:0}@media (width<=900px){.hero{grid-template-columns:1fr;gap:5rem;min-height:auto}.portrait-block{justify-self:start;width:min(68vw,340px);margin-left:1.4rem}.about,.about-content{grid-template-columns:1fr;gap:2.5rem}.about-copy{max-width:560px}}@media (width<=560px){.site-shell{width:min(100% - 32px,1240px)}.site-header{min-height:82px}.brand>span:last-child{display:none}.site-header nav{gap:1.15rem}.site-header nav a{font-size:.8125rem}.site-header nav a[aria-current=page]:after{bottom:-.8rem}.hero{gap:4rem;padding:4.5rem 0}.hero h1{font-size:clamp(3.5rem,18vw,5rem)}.desktop-break{display:none}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.portrait-block{width:min(100% - 18px,300px);margin-left:0}.portrait-accent{top:-14px;right:-14px}.portrait-block figure{border-radius:22px}.about{padding:4.5rem 0}.about h2 br{display:none}.empty-state{grid-template-columns:1fr;align-items:start;gap:2rem}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
