*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0e0e0d;--text:#e8e4dc;--muted:#52514e;--dim:#2a2a28;--accent:#b8a898;--serif:"Instrument Serif",Georgia,serif;--mono:"DM Mono",monospace}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:13px;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem}.nav-name{font-size:12px;color:var(--accent);letter-spacing:.06em}.nav-right{display:flex;gap:2rem}.nav-right a{font-size:12px;color:var(--muted);letter-spacing:.04em;transition:color .2s}.nav-right a:hover{color:var(--text)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8rem 2rem 4rem}.hero-eyebrow{font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;animation:up .5s .1s forwards}.hero-eyebrow,.hero-name{margin-bottom:2rem;opacity:0}.hero-name{font-family:var(--serif);font-size:clamp(3.5rem,9vw,7rem);font-weight:400;line-height:.95;letter-spacing:-.01em;animation:up .5s .2s forwards}.hero-name em{font-style:italic;color:var(--accent)}.hero-line{font-size:13px;color:var(--muted);line-height:1.8;max-width:360px;opacity:0;animation:up .5s .3s forwards}.hero-cta{margin-top:2.5rem;opacity:0;animation:up .5s .4s forwards}.hero-cta a{font-size:11px;letter-spacing:.1em;color:var(--accent);text-transform:uppercase;border-bottom:.5px solid var(--dim);padding-bottom:2px;transition:border-color .2s}.hero-cta a:hover{border-color:var(--accent)}.work{padding:2rem 2rem 6rem;max-width:1180px;margin:0 auto}.section-label{font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:3rem}.relevant-work{max-width:920px;margin:0 auto 4.5rem;padding:1.35rem 0;border-top:.5px solid var(--dim);border-bottom:.5px solid var(--dim);display:grid;grid-template-columns:160px minmax(0,1fr) auto;grid-gap:1.25rem 2rem;gap:1.25rem 2rem;align-items:start}.relevant-label{font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.relevant-title{font-family:var(--serif);font-size:1.6rem;line-height:1.1}.relevant-copy{grid-column:2;max-width:540px;color:var(--muted);font-size:12px;line-height:1.8}.relevant-work a{justify-self:end;font-size:10px;letter-spacing:.08em;color:var(--accent);text-transform:uppercase;border-bottom:.5px solid var(--dim);padding-bottom:2px;transition:border-color .2s,color .2s}.relevant-work a:hover{color:var(--text);border-color:var(--accent)}.project{max-width:920px;margin:0 auto 5rem}.project-meta{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.project-index{font-size:11px;color:var(--muted);min-width:2ch}.project-title{font-family:var(--serif);font-size:1.5rem;font-weight:400}.project-type{font-size:11px;color:var(--muted);margin-left:auto}.carousel{position:relative;overflow:hidden;border-radius:4px;margin-bottom:1.25rem;cursor:pointer;max-width:920px}.carousel-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}.carousel-track img,.project-image-link{width:100%;flex-shrink:0;display:block}.carousel-track img{height:auto;filter:brightness(.9);transition:filter .3s}.carousel:hover .carousel-track img{filter:brightness(1)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(14,14,13,.7);border:.5px solid var(--dim);color:var(--text);width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;border-radius:2px;transition:background .2s;z-index:2;font-family:var(--mono);line-height:1}.carousel-btn:hover{background:rgba(14,14,13,.9)}.carousel-btn.prev{left:1rem}.carousel-btn.next{right:1rem}.carousel-dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:6px}.carousel-dot{width:4px;height:4px;border:0;padding:0;border-radius:50%;background:var(--muted);cursor:pointer;transition:background .2s}.carousel-dot.active{background:var(--accent)}.carousel-link{position:absolute;bottom:1rem;right:1rem;font-size:10px;letter-spacing:.08em;color:var(--text);text-transform:uppercase;background:rgba(14,14,13,.78);border:.5px solid var(--dim);border-radius:2px;opacity:1;padding:.4rem .55rem;transition:opacity .3s;z-index:2}.carousel:hover .carousel-link{border-color:var(--accent)}.project-desc{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;flex-wrap:wrap}.project-desc-text{font-size:12px;color:var(--muted);line-height:1.7;max-width:520px}.project-tags{display:flex;gap:.75rem;flex-wrap:wrap;flex-shrink:0}.project-tags span{font-size:10px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.about{padding:4rem 2rem 6rem;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:180px minmax(0,1fr);grid-column-gap:clamp(2.5rem,5vw,5rem);column-gap:clamp(2.5rem,5vw,5rem);align-items:start}.about>.section-label{grid-column:1;grid-row:1/span 2}.about-text{grid-column:2;font-family:var(--serif);font-size:clamp(1.45rem,2.4vw,2.1rem);line-height:1.6;font-weight:400;margin-bottom:1.5rem;max-width:720px}.about-text em,.inline-accent{font-style:italic;color:var(--accent)}.about-sub{grid-column:2;font-size:12px;color:var(--muted);line-height:1.8;max-width:680px}.contact{padding:4rem 2rem 5rem;border-top:.5px solid var(--dim);max-width:1180px;margin:0 auto;display:grid;grid-template-columns:180px minmax(0,1fr);grid-column-gap:clamp(2.5rem,5vw,5rem);column-gap:clamp(2.5rem,5vw,5rem);align-items:start}.contact>.section-label{grid-column:1;grid-row:1/span 3}.contact-line{grid-column:2;font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.2;margin-top:2rem;margin-bottom:0}.contact-line em{font-style:italic;color:var(--accent)}.contact-services{grid-column:2;max-width:680px;color:var(--muted);font-size:12px;line-height:1.8;margin-bottom:2rem}.contact-links{grid-column:2;display:flex;gap:2.5rem;flex-wrap:wrap;align-items:center}.contact-links a{font-size:12px;letter-spacing:.04em;color:var(--muted);border-bottom:.5px solid var(--dim);padding-bottom:2px;transition:color .2s,border-color .2s}.contact-links a:hover{color:var(--text);border-color:var(--muted)}.contact-links .contact-primary{color:var(--text);border-color:var(--accent);text-transform:uppercase;font-size:11px;letter-spacing:.08em}.contact-links .contact-primary:hover{color:var(--accent)}footer{padding:2rem;border-top:.5px solid var(--dim);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-left{letter-spacing:.04em}.footer-left,.footer-note{font-size:11px;color:var(--muted)}.footer-note{font-style:italic}.footer-note span{color:var(--accent);font-style:normal}.divider{height:.5px;background:var(--dim);margin:0 2rem}@keyframes up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){nav{padding:1.25rem}.about,.contact,.hero,.work{padding-left:1.25rem;padding-right:1.25rem}.about,.contact{display:block}.contact-line{margin-bottom:2rem}.relevant-work{display:block;margin-bottom:3rem;padding:1.25rem 0}.relevant-copy,.relevant-title{margin-top:.75rem}.relevant-work a{display:inline-block;margin-top:1rem}.contact-links{gap:1rem 1.5rem}footer{padding:1.5rem 1.25rem}.divider{margin:0 1.25rem}.project-desc{flex-direction:column;gap:.75rem}}