:root{--bg:#f5f1e9;--text:#101113;--muted:#5e615d;--line:#10111324;--font-body:"Manrope", sans-serif;--font-display:"Newsreader", serif;--font-mono:"IBM Plex Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:500;line-height:1.5}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}body:before{content:"";z-index:-1;pointer-events:none;opacity:.28;background-image:linear-gradient(#1011130a 1px,#0000 1px),linear-gradient(90deg,#1011130a 1px,#0000 1px);background-size:38px 38px;position:fixed;inset:0}a{color:inherit;text-decoration:none;transition:color .18s,border-color .18s,transform .18s}button,input,textarea{font:inherit}img{max-width:100%;display:block}::selection{background:#ba73492e}#root{width:min(1160px,100% - 48px);margin:0 auto;padding:20px 0 0}body.admin-mode #root{width:min(1440px,100% - 48px)}@media (width<=760px){#root{width:min(100% - 24px,100%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes portraitFloat{0%,to{transform:translate(0,0)}50%{transform:translateY(-8px)}}.site-shell{padding-bottom:72px}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .72s,transform .72s cubic-bezier(.19,1,.22,1);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:translate(0,0)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:28px;padding:18px 0 28px;display:flex}.site-name{gap:6px;display:grid}.site-name strong{letter-spacing:.02em;font-size:1rem;font-weight:800}.site-name span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem}.site-nav{flex-wrap:wrap;justify-content:flex-end;gap:18px;display:flex}.site-nav a,.more-work-links a{color:var(--muted);border-bottom:1px solid #10111329;padding-bottom:5px;font-size:.93rem}.site-nav a:hover,.more-work-links a:hover,.text-link:hover,.action-link:hover{color:var(--text)}.site-nav a:hover,.more-work-links a:hover{transform:translateY(-1px)}.hero{grid-template-columns:minmax(0,1.15fr) minmax(280px,.78fr);gap:44px;padding:56px 0 40px;display:grid}.hero-main{min-width:0}.hero-eyebrow,.project-year,.section-index,.experience-period,.fact-list dt,.contact-overline,.more-work>span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem}.hero h1,.project-content h3,.contact-copy h2{font-family:var(--font-display);letter-spacing:-.05em;text-wrap:balance;margin:0;font-weight:600}.hero h1{max-width:9.8ch;margin-top:14px;font-size:clamp(3.1rem,7vw,6.9rem);line-height:.9}.hero-text{gap:18px;margin-top:26px;display:grid}.hero-text p,.practice-copy p,.section-lede,.project-content p,.column-block p,.experience-summary,.contact-copy p{max-width:64ch;color:var(--muted);margin:0;line-height:1.9}.hero-actions,.project-links,.contact-links,.more-work-links{flex-wrap:wrap;gap:16px;display:flex}.hero-actions{margin-top:30px}.action-link,.text-link{border-bottom:1px solid var(--text);color:var(--text);align-items:center;gap:8px;padding:11px 0;font-weight:700;display:inline-flex}.action-link:after,.text-link:after{content:"↗";font-size:.82rem;transition:transform .18s;transform:translateY(-1px)}.action-link:hover:after,.text-link:hover:after{transform:translate(3px,-3px)}.hero-aside{align-content:start;gap:28px;display:grid}.portrait{margin:0}.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center top;filter:saturate(.96)contrast(1.02);width:100%;animation:9s ease-in-out infinite portraitFloat}.portrait figcaption{color:var(--muted);font-family:var(--font-mono);margin-top:10px;font-size:.72rem;line-height:1.7}.fact-list{gap:14px;margin:0;display:grid}.fact-list div{border-top:1px solid var(--line);grid-template-columns:92px minmax(0,1fr);gap:16px;padding-top:14px;display:grid}.fact-list dd{margin:0;font-size:.98rem;line-height:1.65}.signal-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:20px 0 26px;display:grid}.signal-item{border-left:1px solid var(--line);padding-left:18px}.signal-item:first-child{border-left:none;padding-left:0}.signal-item strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:600;line-height:.95;display:block}.signal-item span{margin-top:10px;font-weight:700;display:block}.signal-item p{color:var(--muted);margin:6px 0 0;font-size:.9rem;line-height:1.7}.section-row{border-top:1px solid var(--line);grid-template-columns:172px minmax(0,1fr);gap:28px;padding:56px 0;display:grid}.section-marker{align-content:start;gap:12px;display:grid}.section-title{letter-spacing:.01em;margin:0;font-size:1rem;font-weight:800}.section-body{min-width:0}.section-lede{margin-bottom:30px}.project-list{gap:34px;display:grid}.project-entry{border-top:1px solid var(--line);grid-template-columns:180px minmax(0,1fr);gap:26px;padding-top:24px;transition:transform .22s;display:grid}.project-entry:first-child{border-top:none;padding-top:0}.project-meta{align-content:start;gap:8px;display:grid}.project-kind{color:var(--muted);margin:0;line-height:1.7}.project-entry:hover{transform:translate(6px)}.project-content{gap:14px;display:grid}.project-content h3{font-size:clamp(1.85rem,3vw,3.2rem);line-height:.96}.project-outcome{font-weight:700;color:var(--text)!important}.project-stack{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;font-size:.82rem}.project-facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:6px 0 0;padding-top:16px;display:grid}.project-facts div{gap:6px;display:grid}.project-facts dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.project-facts dd{margin:0;line-height:1.6}.practice-grid{grid-template-columns:minmax(0,1.06fr) minmax(280px,.94fr);gap:28px;display:grid}.practice-copy,.practice-columns,.custom-section{gap:22px;display:grid}.column-block{border-top:1px solid var(--line);padding-top:18px}.column-block h3{margin:0 0 10px;font-size:1rem;font-weight:800}.experience-list{display:grid}.experience-entry{border-top:1px solid var(--line);grid-template-columns:200px minmax(0,1fr);gap:26px;padding:22px 0;display:grid}.experience-entry:first-child{border-top:none;padding-top:0}.experience-main{gap:10px;display:grid}.experience-heading{flex-wrap:wrap;justify-content:space-between;gap:14px;display:flex}.experience-heading h3{margin:0;font-size:1.06rem;line-height:1.5}.experience-heading span{color:var(--muted)}.experience-bullets{gap:8px;margin:0;padding-left:18px;line-height:1.8;display:grid}.contact-layout{gap:24px;display:grid}.contact-overline{margin:0 0 10px}.contact-copy h2{max-width:14ch;font-size:clamp(2.3rem,4.4vw,4.5rem);line-height:.92}.contact-links{padding-top:8px}.more-work{border-top:1px solid var(--line);gap:14px;padding-top:18px;display:grid}@media (prefers-reduced-motion:reduce){.portrait img{animation:none}.reveal,.reveal.is-visible,.project-entry,.site-nav a,.more-work-links a,.text-link:after,.action-link:after{transform:none}}@media (width<=980px){.hero,.practice-grid,.section-row,.project-entry,.experience-entry{grid-template-columns:1fr}.signal-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-item:nth-child(3){border-left:none;padding-left:0}.project-facts{grid-template-columns:1fr}}@media (width<=760px){.site-header{flex-direction:column;align-items:stretch}.site-nav{justify-content:flex-start}.hero{padding:38px 0 30px}.hero h1{font-size:clamp(2.7rem,14vw,4.1rem)}.signal-strip{grid-template-columns:1fr}.signal-item{border-left:none;border-top:1px solid var(--line);padding-top:14px;padding-left:0}.signal-item:first-child{border-top:none;padding-top:0}.section-row{gap:18px;padding:40px 0}.project-content h3,.contact-copy h2{font-size:clamp(1.95rem,10vw,2.9rem)}.fact-list div{grid-template-columns:1fr;gap:8px}}.admin-login-shell{place-items:center;min-height:100vh;padding:40px 0 72px;display:grid}.admin-login-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;gap:18px;width:min(520px,100%);padding:28px;display:grid}.admin-login-panel h1{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(2.4rem,5vw,4.4rem);line-height:.9}.admin-login-panel p{color:var(--muted);margin:0;line-height:1.8}.admin-login-form{gap:14px;display:grid}.admin-login-form button{border:1px solid var(--text);background:var(--text);color:#f5f1e9;cursor:pointer;min-height:44px;padding:12px 14px;font-weight:700}.admin-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff8f;align-self:start;height:100vh;padding:24px 18px 28px;position:sticky;top:0}.admin-brand{gap:8px;display:grid}.admin-brand strong{font-size:1rem;font-weight:800}.admin-brand span,.admin-saved,.admin-nav button,.admin-help p,.admin-section-intro,.admin-list-toolbar span,.admin-field label,.admin-card-header span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.admin-saved{margin-top:18px;display:block}.admin-sync-box{border-top:1px solid var(--line);gap:10px;margin-top:20px;padding-top:18px;display:grid}.admin-sync-box strong{font-size:1rem}.admin-sync-box p{color:var(--muted);margin:0;line-height:1.7}.admin-actions,.admin-nav{gap:10px;margin-top:22px;display:grid}.admin-actions a,.admin-actions button,.admin-nav button,.admin-list-toolbar button,.admin-card-actions button,.admin-toolbar button,.admin-upload-label,.add-button{border:1px solid var(--line);min-height:40px;color:var(--text);cursor:pointer;text-align:left;background:#fff;padding:10px 12px}.admin-actions button,.admin-toolbar button,.admin-card-actions button,.admin-list-toolbar button,.add-button{font-weight:700}.admin-upload-label{align-items:center;font-weight:700;display:flex}.admin-actions button:disabled,.admin-login-form button:disabled{cursor:wait;opacity:.74}.admin-upload-label input{display:none}.admin-main{padding:28px 28px 40px}.admin-intro{border-bottom:1px solid var(--line);gap:12px;max-width:72ch;padding-bottom:24px;display:grid}.admin-intro h1{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2.2rem,4vw,4rem);line-height:.92}.admin-intro p{color:var(--muted);margin:0;line-height:1.8}.admin-grid{gap:34px;margin-top:28px;display:grid}.admin-section{border-top:1px solid var(--line);gap:18px;padding-top:24px;display:grid}.admin-section h2{margin:0;font-size:1.08rem}.admin-section-intro{margin:0}.admin-fields{gap:14px;display:grid}.admin-field{gap:8px;display:grid}.admin-field input,.admin-field textarea{border:1px solid var(--line);width:100%;color:var(--text);resize:vertical;background:#ffffffe6;padding:12px 14px}.admin-field textarea{min-height:120px}.admin-card-list{gap:16px;display:grid}.admin-card{border:1px solid var(--line);background:#ffffffb3;gap:14px;padding:16px;display:grid}.admin-card-header,.admin-card-actions,.admin-toolbar,.admin-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-card-header h3{margin:0;font-size:1rem}.admin-subgrid,.admin-inline-grid{gap:12px;display:grid}.admin-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-help{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.admin-help p{margin:0 0 10px}.admin-help ul{color:var(--muted);margin:0;padding-left:18px;line-height:1.8}.admin-error{color:#8d2f17;margin:0;line-height:1.7}@media (width<=980px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:none;border-bottom:1px solid var(--line);height:auto;position:relative}.admin-inline-grid{grid-template-columns:1fr}}@media (width<=760px){.admin-login-shell{padding:20px 0 48px}.admin-login-panel{padding:22px 18px}.admin-main{padding:22px 0 34px}.admin-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:18px 0 20px}}
