@font-face{font-family:Heldane Text;src:url(/fonts/HeldaneTextMedium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f9f9f8;--ink:#141414;--ink-2:#4a4a4a;--muted:#6b6b6b;--card-bg:#F4F3F1;--card-dark:#1e1d1b;--col:58rem;--col-wide:74rem;--spring:cubic-bezier(0.22,1,0.36,1);--font-d:"Inter",system-ui,sans-serif;--font-x:"Heldane Text",Georgia,serif;--font-m:"JetBrains Mono",monospace}.dark{--bg:#111110;--ink:#eeedea;--ink-2:#a8a49e;--muted:#969696}body,html{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-d);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s;padding-top:4.5rem}.col{max-width:var(--col)}.col,.col-wide{margin:0 auto;padding:0 2rem}.col-wide{max-width:var(--col-wide)}.sec{padding:6rem 0}.l1{text-align:center;max-width:40rem;margin:0 auto}.l-split{display:flex;gap:4rem;align-items:flex-start}.l-split-left{flex:0 0 14rem}.l-split-right{flex:1 1}.top-nav{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:100;height:3rem;display:flex;align-items:center;gap:1.5rem;padding:0 1.5rem;border-radius:2rem;white-space:nowrap;background:rgba(249,249,248,.75);backdrop-filter:blur(40px) saturate(160%);-webkit-backdrop-filter:blur(40px) saturate(160%);box-shadow:0 0 0 1px rgba(0,0,0,.1);transition:background .3s}.dark .top-nav{background:rgba(17,17,16,.85);box-shadow:0 0 0 1px rgba(255,255,255,.08)}.nav-logo{width:1.5rem;height:1.5rem;background:var(--ink);color:var(--bg);font-family:var(--font-m);font-size:.75rem;font-weight:700;border-radius:.5rem;justify-content:center;text-decoration:none;flex-shrink:0;transition:background .3s,color .3s}.nav-logo,.nav-right{display:flex;align-items:center}.nav-right{gap:1.5rem}.nav-link{position:relative;font-family:var(--font-m);font-size:.75rem;color:var(--muted);text-decoration:none;letter-spacing:.02em;transition:color .2s}.nav-back,.nav-link.active,.nav-link:hover{color:var(--ink)}.nav-back{font-family:var(--font-m);font-size:.875rem;text-decoration:none;letter-spacing:.02em;transition:opacity .2s}.nav-back:hover{opacity:.45}.nav-theme-btn{border:none;background:none;cursor:pointer;padding:0;display:flex;align-items:center;transform:translateY(-1px);font-family:var(--font-m);font-size:.875rem;color:var(--muted);transition:color .2s}.nav-theme-btn:hover{color:var(--ink)}.proj-header-title{font-size:clamp(2.75rem,6vw,5rem);letter-spacing:-.01em;white-space:normal;margin-bottom:2.5rem}.l-split-title,.l1-title,.proj-header-title{font-family:var(--font-x);font-weight:500;line-height:1.1;color:var(--ink)}.l-split-title,.l1-title{font-size:2.5rem;letter-spacing:-.015em;margin-bottom:1rem}.sub-title{font-family:var(--font-x);font-size:1.375rem;font-weight:500;letter-spacing:-.01em;line-height:1.2;color:var(--ink);margin-bottom:.75rem}.l-split-desc,.l1-desc{font-family:var(--font-d);font-size:1rem;font-weight:400;color:var(--ink-2);line-height:1.75}.eyebrow{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem;display:block}.chip-section,.eyebrow,.proj-tag{font-family:var(--font-m);font-size:.875rem}.chip-section,.proj-tag{--c:var(--muted);color:var(--ink);letter-spacing:.01em;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.02);border-radius:2rem;padding:.5rem 1rem;display:inline-flex;align-items:center;gap:.5rem}.dark .chip-section,.dark .proj-tag{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.02)}.ms{font-family:Material Symbols Outlined;line-height:1;font-variation-settings:"opsz" 20,"wght" 400,"FILL" 1,"GRAD" 0;display:inline-flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip-section .ms,.proj-tag .ms{font-size:1.125rem;color:var(--c)}.chip-section{margin-bottom:2rem}.proj-tag{white-space:nowrap;flex-shrink:0}.chip{font-family:var(--font-m);font-size:.875rem;color:var(--ink);background:rgba(0,0,0,.03);border-radius:2rem;padding:.5rem .875rem;display:inline-block}.dark .chip{background:rgba(255,255,255,.03)}.chip-row,.tag-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.tag{font-family:var(--font-m);font-size:.875rem;color:var(--muted);background:rgba(0,0,0,.06);padding:.25rem .5rem;border-radius:2rem}.dark .tag{background:rgba(255,255,255,.08)}.img-card{background:var(--card-bg);border-radius:clamp(.5rem,1.5vw,1rem);overflow:hidden;margin-top:3.5rem}.dark .img-card{background:var(--card-dark)}.dark .img-card--bare,.img-card--bare{background:transparent}.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem;margin-top:2.5rem}.insight-grid--stack{grid-template-columns:1fr}.insight-grid--stack .insight-card{min-height:0}.insight-grid--tinted .insight-card{background:var(--card-bg)}.dark .insight-grid--tinted .insight-card{background:var(--card-dark)}.insight-card{background:#ffffff;border-radius:.75rem;padding:1.25rem;min-height:10rem;display:flex;flex-direction:column;gap:1rem}.dark .insight-card{background:var(--card-dark)}.insight-n{font-family:var(--font-m);font-size:1rem;color:var(--muted);margin-bottom:.25rem}.insight-title{font-family:var(--font-d);font-size:1.25rem;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.3}.insight-text{font-family:var(--font-d);font-size:1rem;font-weight:400;color:var(--ink-2);line-height:1.6}.num-list{display:flex;flex-direction:column;gap:1px;background:rgba(0,0,0,.07);border-radius:1rem;overflow:hidden;max-width:40rem;margin:2.5rem auto 0;text-align:left}.dark .num-list{background:rgba(255,255,255,.06)}.num-item{background:var(--bg);padding:1.5rem;display:flex;gap:1rem}.num-n{font-family:var(--font-m);font-size:.875rem;color:var(--muted);flex-shrink:0}.num-title{font-size:1rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.5rem}.num-text{font-size:1rem;color:var(--muted);line-height:1.65}.proj-header{padding:4rem 0 3.5rem}.proj-header-meta{display:flex;flex-wrap:wrap;gap:2.5rem;padding-top:1.75rem}.meta-item{display:flex;flex-direction:column;gap:.5rem}.meta-label{font-family:var(--font-m);font-size:.875rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.meta-value{font-size:1rem;font-weight:500;color:var(--ink-2)}.pull-quote{border-left:2px solid var(--ink);padding-left:1.5rem;margin:3.5rem 0 0}.pull-quote p{font-size:clamp(1.125rem,2.5vw,1.375rem);font-weight:600;line-height:1.4;letter-spacing:-.02em}.pull-quote cite{display:block;margin-top:.75rem;font-family:var(--font-m);font-size:.875rem;color:var(--muted);font-style:normal}.step+.step{margin-top:3.5rem}.video-stack{display:flex;flex-direction:column;gap:3.5rem;margin-top:4rem}.video-card{display:flex;align-items:center;gap:6rem}.video-card--left{margin-right:auto}.video-card--right{margin-left:auto;flex-direction:row-reverse}.video-card video{width:22rem;flex-shrink:0;border-radius:1.25rem;display:block;background:none}.dark .video-card video{background:none}.video-info{display:flex;flex-direction:column;gap:.5rem;max-width:14rem}.video-label{font-family:var(--font-m);font-size:1.5rem;font-weight:500;color:var(--ink);letter-spacing:.01em}.video-desc{font-family:var(--font-d);font-size:1rem;color:var(--muted);line-height:1.6}.back-bar{padding:2.5rem 0 5rem}.back-link{font-family:var(--font-m);font-size:.875rem;color:var(--muted);text-decoration:none;transition:color .2s}.back-link:hover{color:var(--ink)}.fade-up{opacity:0;transform:translateY(1.25rem);transition:opacity .65s var(--spring),transform .65s var(--spring)}.fade-up.is-visible{opacity:1;transform:translateY(0)}.hero{padding:5rem 0 3.5rem}.hero-spacer{height:2.5rem}.headline{font-size:clamp(2.75rem,6vw,5rem);font-weight:600;letter-spacing:-.04em;line-height:1.04;margin-bottom:2rem}.hero-meta{display:flex;align-items:center;gap:.625rem;font-family:var(--font-m);font-size:.875rem;color:var(--muted)}.meta-dot{width:.35rem;height:.35rem;border-radius:50%;background:var(--muted);flex-shrink:0}.meta-sep{opacity:.3}.meta-link{color:var(--muted);text-decoration:none;transition:color .2s}.meta-link:hover{color:var(--ink)}.lines-outer{height:14vh;min-height:5rem;padding-bottom:1rem}.lines-outer,.lines-row{display:flex;align-items:flex-end}.lines-row{justify-content:space-between;height:100%;width:40%}.book{width:.25rem;height:55%;flex-shrink:0;cursor:default;touch-action:none;will-change:transform}.book-gap{flex:1 1}.projects{padding:4rem 0 8rem}.section-label{font-family:var(--font-m);font-size:.875rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3.5rem}.proj-list{gap:5rem}.proj-item,.proj-list{display:flex;flex-direction:column}.proj-item{gap:.75rem;text-decoration:none;color:var(--ink)}.proj-top{display:flex;justify-content:flex-start;align-items:center}.proj-desc-row{position:relative}.proj-arrow{position:absolute;right:0;bottom:0;font-size:1.125rem;color:var(--muted);opacity:0;transform:translate(-4px,4px);transition:opacity .2s ease,transform .25s var(--spring);line-height:1.65}.proj-item:hover .proj-arrow{opacity:1;transform:translate(0)}.proj-name{font-size:clamp(1.5rem,3vw,2rem);font-weight:600;letter-spacing:-.03em;line-height:1.1}.proj-desc{font-size:.9375rem;color:var(--muted);line-height:1.65;font-weight:400;max-width:46ch}.proj-img-wrap{overflow:hidden;aspect-ratio:16/8;border-radius:clamp(.5rem,1.5vw,1rem)}.proj-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .6s var(--spring)}.proj-item:hover .proj-img{transform:scale(1.015)}@media (max-width:640px){.col,.col-wide{padding:0 1.5rem}.top-nav{padding:0 1.25rem}.sec{padding:4rem 0}.hero{padding:4rem 0 2.5rem}.l-split{flex-direction:column;gap:1.5rem}.l-split-left{flex:none}.proj-img-wrap{aspect-ratio:4/3}.proj-list{gap:4rem}.insight-grid{grid-template-columns:1fr}.video-card{flex-direction:column!important;align-items:flex-start}.video-card video{width:100%}}.about-page .intro-row{display:flex;align-items:flex-start;gap:2.5rem}.about-page .avatar{width:11rem;height:11rem;border-radius:50%;object-fit:cover;flex-shrink:0;display:block}@media (max-width:640px){.about-page .intro-row{flex-direction:column-reverse;gap:1.5rem}.about-page .testimonial-list{grid-template-columns:1fr}}.about-page .proj-header{padding-bottom:1rem}.about-page .proj-header-title{font-family:var(--font-x);font-size:2.5rem;font-weight:500;letter-spacing:-.015em}.about-page #intro{padding-top:1.5rem}.about-page #characteristics .insight-card{padding:2.5rem 2rem}.about-page .testimonial-list{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem;margin-top:2.5rem}.about-page .testimonial-card{background:var(--card-bg);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.dark .about-page .testimonial-card{background:var(--card-dark)}.about-page .testimonial-avatar{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;flex-shrink:0;display:block}.about-page .testimonial-quote{font-family:var(--font-d);font-size:1rem;color:var(--ink-2);line-height:1.65;flex:1 1}.about-page .testimonial-author{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem;margin-top:auto}.about-page .testimonial-author-name{font-family:var(--font-d);font-size:.9375rem;font-weight:600;color:var(--ink);margin-top:.375rem}.about-page .testimonial-author-role{font-family:var(--font-m);font-size:.8125rem;color:var(--muted);margin-top:.125rem}