:root { --ink:#090a0c; --graphite:#11151b; --bone:#e8e3d9; --mist:#a4a7aa; --rust:#a2382e; --amber:#d5a14a; --line:rgba(232,227,217,.18); --display:"Barlow Condensed","Arial Narrow",sans-serif; --serif:"Cormorant Garamond",Georgia,serif; --body:Inter,Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); }
body { margin:0; color:var(--bone); background:var(--ink); font-family:var(--body); overflow-x:hidden; }
a { color:inherit; text-decoration:none; } img { display:block; width:100%; height:100%; object-fit:cover; user-select:none; -webkit-user-drag:none; }
.skip-link { position:fixed; z-index:20; top:1rem; left:1rem; padding:.8rem; color:var(--ink); background:var(--bone); transform:translateY(-180%); }.skip-link:focus{transform:none}
.web-header { position:fixed; z-index:10; top:0; left:0; width:100%; display:flex; justify-content:space-between; align-items:center; padding:1.4rem clamp(1.25rem,4vw,4rem); mix-blend-mode:difference; }
.web-header__brand { font:500 1rem var(--display); letter-spacing:.12em; text-transform:uppercase; }.web-header__brand span{color:var(--rust)}
.web-header__tools { display:flex; align-items:center; gap:2rem; font-size:.8125rem; letter-spacing:.1em; text-transform:uppercase; }.web-header__tools nav{display:flex;gap:.45rem}.web-header__tools [aria-current="page"]{color:var(--amber)}
.web-hero { position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding:8rem clamp(1.25rem,5vw,5rem) 4rem; overflow:hidden; }
.web-hero__media { position:absolute; inset:0; opacity:.36; }.web-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,10,12,.4),var(--ink) 95%)}.web-hero__media img{filter:grayscale(1) contrast(1.12)}
.web-hero__content { position:relative; z-index:2; }.web-kicker{color:var(--mist);font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase}.web-hero h1{margin:1.4rem 0 2rem;font:500 clamp(6rem,16vw,15rem)/.68 var(--display);letter-spacing:-.04em;text-transform:uppercase}.web-hero h1 em{display:block;margin-left:18vw;font:italic 400 .58em var(--serif);text-transform:none}.web-hero__intro{max-width:700px;margin-left:auto;color:var(--mist);font:italic clamp(1.15rem,2vw,1.6rem)/1.45 var(--serif)}
.web-practice,.web-projects,.web-contact { padding:clamp(5rem,9vw,8rem) clamp(1.25rem,5vw,5rem); }.web-section-heading{display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(3rem,6vw,6rem)}.web-section-heading span{color:var(--rust);font-size:.8125rem;letter-spacing:.11em;text-transform:uppercase}.web-section-heading h2{margin:0;font:500 clamp(4rem,8vw,8rem)/.78 var(--display);text-transform:uppercase}.web-section-heading h2 em{font:italic 400 .72em var(--serif);text-transform:none}.web-section-heading p{max-width:420px;margin:0;color:var(--mist);font-size:1rem;line-height:1.7}
.practice-grid { display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line) }.practice-grid article{min-height:220px;padding:1.5rem;border-bottom:1px solid var(--line)}.practice-grid article:nth-child(even){border-left:1px solid var(--line)}.practice-grid span{color:var(--rust);font-size:.8125rem}.practice-grid h3{margin:3rem 0 1rem;font:500 clamp(2.2rem,4vw,4rem)/.9 var(--display);text-transform:uppercase}.practice-grid p{max-width:520px;color:var(--mist);font-size:1rem;line-height:1.65}
.web-projects { background:var(--bone); color:var(--ink); }.web-projects .web-section-heading p{color:#555}.web-projects-grid{display:grid;gap:clamp(6rem,10vw,10rem)}
.web-case{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,7rem);align-items:start}.web-case__media{position:relative;height:min(58vw,760px);margin:0;overflow:hidden;background:var(--graphite)}.web-case__media img{filter:grayscale(.85) contrast(1.08)}.web-case__media figcaption{position:absolute;left:1.2rem;bottom:1.2rem;padding:.55rem .75rem;color:var(--bone);background:var(--rust);font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase}.web-case__number{color:var(--rust);font-size:.8125rem;letter-spacing:.11em;text-transform:uppercase}.web-case h3{margin:2rem 0;font:500 clamp(3.5rem,6vw,6.5rem)/.8 var(--display);text-transform:uppercase}.web-case__description{color:#555;font:italic clamp(1.1rem,1.8vw,1.4rem)/1.4 var(--serif)}.web-case__facts{margin-top:3rem}.web-case__fact{display:grid;grid-template-columns:.65fr 1.35fr;gap:1rem;padding:1rem 0;border-top:1px solid rgba(9,10,12,.2)}.web-case__fact dt{color:#555;font-size:.8125rem;letter-spacing:.09em;text-transform:uppercase}.web-case__fact dd{margin:0;font:italic 1rem/1.5 var(--serif)}.web-case__fact ul{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.web-case__fact li{padding:.3rem .55rem;border:1px solid rgba(9,10,12,.22);font:500 .8125rem var(--body);letter-spacing:.06em;text-transform:uppercase}.web-case__link{display:inline-block;margin-top:2rem;padding-bottom:.5rem;border-bottom:1px solid var(--rust);font-size:.875rem;letter-spacing:.1em;text-transform:uppercase}
.web-contact{min-height:60svh;display:flex;flex-direction:column;justify-content:center}.web-contact p{color:var(--mist);font-size:.8125rem;letter-spacing:.11em;text-transform:uppercase}.web-contact h2{margin:2rem 0;font:500 clamp(5rem,11vw,11rem)/.75 var(--display);text-transform:uppercase}.web-contact h2 em{display:block;color:var(--mist);font:italic 400 .65em var(--serif);text-transform:none}.web-contact a{align-self:flex-start;padding-bottom:.6rem;border-bottom:1px solid var(--amber);font-size:.875rem;letter-spacing:.1em;text-transform:uppercase}
.web-footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem clamp(1.25rem,5vw,5rem);border-top:1px solid var(--line);color:var(--mist);font-size:.8125rem;line-height:1.5;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:800px){.web-header__tools>a{display:none}.web-hero h1{font-size:clamp(5.5rem,26vw,9rem)}.web-hero h1 em{margin-left:0}.web-hero__intro{margin-left:0}.web-section-heading{grid-template-columns:1fr}.practice-grid{grid-template-columns:1fr}.practice-grid article:nth-child(even){border-left:0}.web-case{grid-template-columns:1fr}.web-case__media{height:110vw}.web-case__fact{grid-template-columns:1fr}.web-footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
