:root{--ink:#30342d;--paper:#f2f2ef;--accent:#e1e3d9;--sand:#e9e3d8;--line:rgba(48,52,45,.22);--pad:clamp(1.25rem,3.5vw,4.5rem);--sans:Arial,Helvetica,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;overflow-x:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--paper);padding:.8rem 1rem;z-index:1000}.skip-link:focus{top:1rem}
.topbar{position:fixed;z-index:100;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem var(--pad);color:#fff;mix-blend-mode:difference;transition:transform .4s ease}.topbar.is-hidden{transform:translateY(-120%)}.brand{display:flex;width:max-content;font-weight:900;font-size:1.6rem;letter-spacing:-.16em}.brand span{display:block}.brand span:nth-child(2){color:var(--accent)}.topbar nav{display:flex;gap:clamp(1rem,3vw,3.5rem);font-size:.77rem;text-transform:uppercase;letter-spacing:.12em}.topbar nav a{position:relative}.topbar nav a:after{content:"";position:absolute;height:1px;background:currentColor;left:0;right:100%;bottom:-.35rem;transition:right .25s}.topbar nav a:hover:after,.topbar nav a:focus-visible:after{right:0}.location{justify-self:end;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.hero{position:relative;height:100svh;min-height:44rem;color:#fff;isolation:isolate;overflow:hidden}.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{opacity:0;transform:scale(1.04);transition:opacity 1.2s ease,transform 6s linear}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-shade{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.08) 62%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%)}.hero-copy{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:15vh}.eyebrow,.section-index{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.hero h1{margin:.8rem 0 1.4rem;font-family:var(--serif);font-size:clamp(4.3rem,11.8vw,11.5rem);font-weight:400;letter-spacing:-.07em;line-height:.74}.hero h1 span{display:block}.hero h1 span:last-child{margin-left:10vw;font-style:italic}.hero-intro{margin:0 0 0 50%;max-width:37rem;font-size:clamp(1rem,1.45vw,1.45rem);line-height:1.4}.hero-footer{position:absolute;z-index:2;bottom:2rem;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.slide-count{display:flex;align-items:center;gap:.8rem}.slide-count i{display:block;width:5rem;height:1px;background:rgba(255,255,255,.5)}.scroll-cue span{display:inline-block;margin-left:1rem;animation:bob 1.6s ease infinite}@keyframes bob{50%{transform:translateY(.35rem)}}
.manifesto,.projects,.services{padding:clamp(5rem,10vw,10rem) var(--pad)}.section-index{margin:0 0 4rem}.manifesto-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:8vw}.manifesto h2,.section-heading h2,.services>h2,.contact h2{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:.97}.manifesto h2{font-size:clamp(3.2rem,7vw,8rem)}.manifesto-copy{padding-top:1rem;font-size:clamp(1rem,1.35vw,1.25rem)}.manifesto-copy p:first-child{margin-top:0}.text-link{display:inline-flex;gap:1rem;margin-top:2rem;padding-bottom:.35rem;border-bottom:1px solid}.text-link span,.contact-mail span{transition:transform .25s}.text-link:hover span,.contact-mail:hover span{transform:translate(.25rem,-.25rem)}
.projects{padding-top:2rem}.section-heading{display:grid;grid-template-columns:.65fr 1.35fr;gap:4vw;margin-bottom:clamp(5rem,9vw,9rem)}.section-heading .section-index{margin:1rem 0}.section-heading h2{font-size:clamp(3rem,6.3vw,7rem);max-width:15ch}.project{position:relative;margin-bottom:clamp(6rem,12vw,12rem)}.project-media{height:min(76vw,58rem);overflow:hidden;background:#ddd}.project-media img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .65s ease}.project-media .alt{position:absolute;inset:0;opacity:0}.image-swap{position:relative}.image-swap:hover img:first-child{opacity:0;transform:scale(1.035)}.image-swap:hover .alt{opacity:1;transform:scale(1.025)}.project-caption{display:grid;grid-template-columns:4rem 1fr auto;align-items:baseline;gap:1rem;border-top:1px solid var(--ink);padding-top:.8rem;margin-top:1rem}.project-caption span{font-size:.72rem}.project-caption h3{margin:0;font-family:var(--serif);font-size:clamp(1.7rem,3vw,3.4rem);font-weight:400;letter-spacing:-.04em}.project-caption p{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.project-note{margin:1.5rem 0 0 auto;max-width:37rem;font-size:clamp(1rem,1.25vw,1.2rem)}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,10rem);align-items:start}.project-pair.reverse{grid-template-columns:.9fr 1.1fr}.project-lower{margin-top:15vw}.project-pair .project-media{height:54vw;max-height:50rem}.project-pair .square{height:42vw;max-height:39rem}.project-pair .project-caption{grid-template-columns:2.2rem 1fr}.project-pair .project-caption p{grid-column:2}.project-cinematic{margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);background:var(--ink);color:#fff;padding-bottom:3rem}.project-cinematic .project-media{height:86svh}.project-cinematic .project-caption,.project-cinematic .project-note{margin-left:var(--pad);margin-right:var(--pad)}.project-cinematic .project-caption{border-color:rgba(255,255,255,.7)}
.services{background:var(--accent)}.services>h2{font-size:clamp(3rem,7vw,7.5rem);max-width:13ch;margin-bottom:6rem}.service-list{border-top:1px solid var(--ink)}.service{display:grid;grid-template-columns:6rem 1fr 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--ink);align-items:start}.service span{font-size:.72rem}.service h3{margin:0;font-family:var(--serif);font-size:clamp(1.6rem,3vw,3.2rem);font-weight:400}.service p{margin:.5rem 0 0;max-width:34rem}
.contact{background:var(--ink);color:var(--paper);overflow:hidden;padding:8rem 0 2rem}.contact-marquee{display:flex;width:max-content;font-family:var(--serif);font-style:italic;font-size:clamp(5rem,14vw,13rem);line-height:.9;white-space:nowrap;color:var(--accent);animation:marquee 22s linear infinite}.contact-marquee span{padding-right:.25em}@keyframes marquee{to{transform:translateX(-50%)}}.contact-inner{padding:9rem var(--pad) 6rem}.contact h2{font-size:clamp(3rem,7vw,8rem);max-width:13ch}.contact-mail{display:flex;justify-content:space-between;align-items:center;margin-top:6rem;padding:1.2rem 0;border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4);font-family:var(--serif);font-size:clamp(1.6rem,4.5vw,5rem)}.contact-meta{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem;font-size:.86rem}.contact-meta p:last-child{text-align:right}footer{display:flex;align-items:center;justify-content:space-between;padding:1.4rem var(--pad);background:var(--ink);color:var(--paper);border-top:1px solid rgba(255,255,255,.18);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.footer-brand{font-size:1.25rem}
.reveal{opacity:0;transform:translateY(4rem);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.in-view{opacity:1;transform:none}.reveal-text{background:linear-gradient(90deg,var(--ink) 50%,rgba(23,23,19,.16) 50%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position 1.4s cubic-bezier(.2,.7,.2,1)}.reveal-text.in-view{background-position:0 0}
@media (max-width:800px){.topbar{grid-template-columns:1fr auto}.topbar nav{gap:1rem}.topbar nav a:nth-child(2){display:none}.location{display:none}.hero{min-height:38rem}.hero-copy{bottom:19vh}.hero h1{font-size:clamp(4rem,20vw,7rem);line-height:.79}.hero h1 span:last-child{margin-left:0}.hero-intro{margin-left:0;max-width:28rem}.manifesto-grid,.section-heading{grid-template-columns:1fr}.manifesto-grid{gap:3rem}.section-heading{gap:0}.project-pair,.project-pair.reverse{grid-template-columns:1fr}.project-lower{margin-top:0}.project-pair .project-media,.project-pair .square{height:112vw;max-height:none}.project-caption{grid-template-columns:2.5rem 1fr}.project-caption p{grid-column:2}.project-cinematic .project-media{height:70svh}.service{grid-template-columns:2.5rem 1fr}.service p{grid-column:2}.contact-inner{padding-top:6rem}.contact-meta{grid-template-columns:1fr}.contact-meta p:last-child{text-align:left}footer .brand{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.project-media img,.reveal,.reveal-text{transition:none}.contact-marquee,.scroll-cue span{animation:none}.reveal{opacity:1;transform:none}.reveal-text{background:none;color:var(--ink)}}
