:root{--bg: #f5f3ee;--bg-warm: #ecebe5;--ink: #14110d;--ink-soft: #3a362f;--muted: #8a857c;--rule: #d8d4cb;--paper: #fbfaf6}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;font-size:16px;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.4;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.08 0 0 0 0 0.06 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.display{font-family:Fraunces,Georgia,serif;font-weight:400;letter-spacing:-.02em;line-height:1.05;font-variation-settings:"SOFT" 50,"WONK" 1}.display-italic{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:300;font-variation-settings:"SOFT" 80,"WONK" 1}.label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}.container{max-width:1140px;margin:0 auto;padding:0 32px}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 32px;background:#f5f3eed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}nav.scrolled{border-bottom-color:var(--rule)}.nav-inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.nav-brand{font-family:Fraunces,serif;font-size:1.05rem;font-weight:500;letter-spacing:-.01em}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{color:var(--ink-soft);text-decoration:none;font-size:.88rem;transition:color .2s;position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--ink);transition:width .3s}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{width:100%}.lang-toggle{display:flex;gap:2px;font-size:.78rem;border:1px solid var(--rule);border-radius:999px;padding:3px;background:var(--paper)}.lang-toggle button{border:none;background:transparent;padding:4px 12px;border-radius:999px;cursor:pointer;color:var(--muted);font-family:inherit;font-weight:500;transition:all .2s}.lang-toggle button.active{background:var(--ink);color:var(--paper)}@media(max-width:720px){.nav-links a:not(.lang-wrap){display:none}}.hero{padding:160px 0 100px;position:relative}.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center}@media(max-width:880px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero{padding:140px 0 60px}.photo-wrap{width:min(100%,320px)}}.hero-eyebrow{margin-bottom:28px;display:inline-flex;align-items:center;gap:10px}.hero-eyebrow:before{content:"";width:24px;height:1px;background:var(--ink-soft)}.hero h1{font-size:clamp(2.6rem,5.8vw,4.6rem);margin-bottom:28px}.hero-lede{font-size:1.15rem;color:var(--ink-soft);max-width:480px;margin-bottom:36px;line-height:1.55}.hero-cta{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;background:var(--ink);color:var(--paper);text-decoration:none;border-radius:4px;font-size:.92rem;font-weight:500;transition:transform .2s,background .2s}.hero-cta:hover{background:#000;transform:translateY(-1px)}.hero-cta-secondary{margin-left:20px;color:var(--ink-soft);text-decoration:none;font-size:.92rem;border-bottom:1px solid var(--rule);padding-bottom:2px;transition:color .2s,border-color .2s}.hero-cta-secondary:hover{color:var(--ink);border-bottom-color:var(--ink)}.photo-wrap{position:relative;aspect-ratio:4/5;max-width:420px;justify-self:center}.photo-frame{position:absolute;inset:0;background:var(--bg-warm);border-radius:4px;overflow:hidden;transform:rotate(-1.5deg);box-shadow:0 20px 60px -20px #18161347}.photo-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.03)}.photo-tag{position:absolute;bottom:-16px;right:-16px;background:var(--paper);padding:14px 18px;border-radius:4px;transform:rotate(2deg);box-shadow:0 8px 24px -8px #18161338;font-size:.78rem;color:var(--ink-soft);line-height:1.4}.photo-tag strong{display:block;color:var(--ink);font-family:Fraunces,serif;font-weight:500;margin-bottom:2px}section{padding:100px 0;position:relative}@media(max-width:720px){section{padding:70px 0}}.section-header{display:grid;grid-template-columns:200px 1fr;gap:60px;margin-bottom:60px;align-items:baseline}@media(max-width:720px){.section-header{grid-template-columns:1fr;gap:16px;margin-bottom:40px}}.section-title{font-size:clamp(2rem,4vw,2.8rem)}.consulting{background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.consulting-pitch{font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.4;color:var(--ink);max-width:820px;margin-bottom:64px;font-family:Fraunces,serif;font-weight:300;letter-spacing:-.01em}.consulting-pitch em{font-style:italic}.offerings{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}@media(max-width:720px){.offerings{grid-template-columns:1fr}}.offering{background:var(--paper);padding:36px 32px;transition:background .3s}.offering:hover{background:var(--bg-warm)}.offering-num{font-family:Fraunces,serif;font-size:.95rem;color:var(--muted);margin-bottom:16px;font-style:italic}.offering h3{font-family:Fraunces,serif;font-size:1.35rem;font-weight:500;margin-bottom:12px;line-height:1.25}.offering p{color:var(--ink-soft);font-size:.95rem;line-height:1.6}.consulting-cta{margin-top:56px;text-align:center;padding-top:40px;border-top:1px solid var(--rule)}.consulting-cta-text{font-family:Fraunces,serif;font-size:1.3rem;font-style:italic;color:var(--ink-soft);margin-bottom:20px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 56px}@media(max-width:720px){.portfolio-grid{grid-template-columns:1fr;gap:36px}}.project{text-decoration:none;color:inherit;display:block;padding-bottom:24px;border-bottom:1px solid var(--rule);transition:transform .3s;align-self:start}.project:hover{transform:translateY(-2px)}.project:hover .project-name{font-style:italic}.project-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.project-status{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding:3px 10px;border:1px solid var(--rule);border-radius:2px}.project-status.live{color:var(--ink);border-color:var(--ink-soft)}.project-name{font-family:Fraunces,serif;font-size:2rem;font-weight:400;letter-spacing:-.02em;margin-bottom:12px;transition:font-style .2s}.project-desc{color:var(--ink-soft);font-size:1rem;line-height:1.55;margin-bottom:16px}.project-url{font-size:.82rem;color:var(--muted)}.project[data-stealth=true] .project-url{font-style:italic}.about{background:var(--bg-warm);border-top:1px solid var(--rule)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}@media(max-width:880px){.about-content{grid-template-columns:1fr;gap:40px}}.about-prose p{margin-bottom:18px;color:var(--ink-soft);font-size:1.02rem;line-height:1.7}.about-prose p strong{color:var(--ink);font-weight:500}.about-prose p:first-child{font-family:Fraunces,serif;font-size:1.25rem;color:var(--ink);font-weight:300;line-height:1.5;margin-bottom:24px}.career-list{list-style:none;border-left:1px solid var(--rule);padding-left:28px}.career-item{margin-bottom:28px;position:relative}.career-item:before{content:"";position:absolute;left:-32px;top:8px;width:7px;height:7px;background:var(--ink);border-radius:50%}.career-period{font-size:.78rem;color:var(--muted);letter-spacing:.05em;margin-bottom:4px}.career-role{font-family:Fraunces,serif;font-size:1.1rem;font-weight:500;margin-bottom:4px}.career-co{font-style:italic;color:var(--ink-soft)}.career-detail{font-size:.92rem;color:var(--ink-soft);line-height:1.5}.contact{text-align:center;padding:120px 0}.contact h2{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:32px;max-width:720px;margin-left:auto;margin-right:auto}.contact-links{display:flex;gap:32px;justify-content:center;flex-wrap:wrap;margin-top:16px}.contact-link{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:1.05rem;transition:opacity .2s}.contact-link:hover{opacity:.6}footer{padding:32px 0;border-top:1px solid var(--rule);font-size:.82rem;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}.ornament{text-align:center;color:var(--muted);font-family:Fraunces,serif;font-size:1.4rem;margin:0;letter-spacing:.5em;padding-left:.5em}.project-logo{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--paper);border:1px solid var(--rule);overflow:hidden;transition:transform .3s,border-color .3s}.project-logo img,.project-logo svg{width:100%;height:100%;object-fit:contain;padding:6px;display:block}.project:hover .project-logo{transform:rotate(-3deg);border-color:var(--ink-soft)}.project-logo[data-mark=stealth]{background:transparent;border:1px dashed var(--rule);color:var(--muted);font-family:Fraunces,serif;font-size:1.4rem}.project-header{display:flex;align-items:center;gap:16px;margin-bottom:14px}.project-name-wrap{flex:1;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.career-co-mark{display:inline-flex;align-items:center;gap:8px;font-style:normal;color:var(--ink-soft)}.co-favicon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;background:var(--paper);border:1px solid var(--rule);overflow:hidden;margin-right:8px;vertical-align:-6px;flex-shrink:0}.co-favicon img{width:100%;height:100%;object-fit:contain;padding:3px;display:block}
