*{box-sizing:border-box}
:root{--ivory:#f5f1e9;--paper:#fbf8f1;--stone:#e7ded1;--stone2:#d1c4b2;--graphite:#403b34;--ink:#15130f;--muted:#82776a;--line:rgba(64,59,52,.16)}
html{scroll-behavior:smooth}html,body{margin:0;background:var(--ivory);color:var(--ink);font-family:Helvetica,Arial,sans-serif;letter-spacing:-.045em}body{overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(.96) sepia(.08) brightness(1.02)}a{text-decoration:none;color:inherit}button{font:inherit}figure{margin:0}.eyebrow{margin:0 0 18px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.grain{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.035;background-image:radial-gradient(#000 1px,transparent 1px);background-size:4px 4px;mix-blend-mode:multiply}.cursor{position:fixed;left:0;top:0;width:13px;height:13px;border-radius:50%;background:#fff;mix-blend-mode:difference;z-index:1000;pointer-events:none;transform:translate(-50%,-50%)}.loader{position:fixed;inset:0;z-index:2000;background:var(--ivory);display:flex;align-items:center;justify-content:center;color:var(--graphite)}.loader span{font-size:12px;letter-spacing:.3em}.nav{position:fixed;top:0;left:0;width:100%;padding:28px 40px;z-index:120;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;mix-blend-mode:difference;text-transform:uppercase;font-size:12px;letter-spacing:.14em}.brand{font-weight:700}.nav-links{display:flex;gap:30px}.nav-links a{opacity:.82}.nav-links a:hover{opacity:1}.index-btn{justify-self:end;border:0;background:transparent;color:inherit;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;padding:0}.index-panel{position:fixed;inset:0;z-index:1500;background:rgba(245,241,233,.96);color:var(--graphite);transform:translateY(-100%);transition:transform .75s cubic-bezier(.77,0,.175,1);padding:38px 5vw}.index-panel.open{transform:translateY(0)}.close-index{position:absolute;right:40px;top:30px;border:0;background:transparent;text-transform:uppercase;font-size:12px;letter-spacing:.14em;cursor:pointer}.index-inner{height:100%;display:flex;flex-direction:column;justify-content:center;gap:10px}.index-inner a{display:flex;align-items:baseline;gap:28px;font-size:clamp(44px,7vw,116px);line-height:.95;font-weight:300;border-top:1px solid var(--line);padding:18px 0}.index-inner a:last-child{border-bottom:1px solid var(--line)}.index-inner span{font-size:12px;letter-spacing:.18em;color:var(--muted)}
.hero{height:132vh;position:relative}.hero-media{position:sticky;top:0;width:100vw;height:100vh;overflow:hidden;background:#111;will-change:width,height,border-radius,transform}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.44))}.hero-mark{position:fixed;left:5vw;bottom:7vh;color:#fff;z-index:3;pointer-events:none}.hero-mark p{margin:0 0 18px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.hero-mark h1{font-size:clamp(58px,9.4vw,168px);line-height:.86;font-weight:300;margin:0;max-width:1180px}.hero-note{position:fixed;right:5vw;bottom:8vh;z-index:3;color:#fff;display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;pointer-events:none}.hero-note i{display:block;width:56px;height:1px;background:rgba(255,255,255,.58)}
.intro{min-height:72vh;background:linear-gradient(180deg,var(--ivory),var(--stone));padding:9vw 5.2vw;display:flex;flex-direction:column;justify-content:center}.intro h2{margin:0;max-width:1120px;color:var(--graphite);font-size:clamp(42px,6.2vw,106px);line-height:.94;font-weight:300}.intro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7vw;max-width:920px;margin:56px 0 0 auto;color:#70675d}.intro-grid p{font-size:16px;line-height:1.5;letter-spacing:-.02em;margin:0}
.work{background:var(--ivory);padding:0 0 11vw}.project{position:relative;padding:0 0 76px;border-top:1px solid rgba(64,59,52,.08)}.project:first-child{border-top:0}.project-media{width:100vw;height:92vh;overflow:hidden;background:#111}.project-media img{will-change:transform}.project-caption{display:grid;grid-template-columns:minmax(200px,320px) minmax(0,1fr);gap:4vw;align-items:baseline;width:min(1440px,100%);margin:0 auto;padding:28px 5vw 0;color:var(--graphite)}.project-caption span{font-size:clamp(22px,2.1vw,36px);font-weight:700;letter-spacing:-.055em;line-height:1}.project-caption p{margin:0;font-size:clamp(18px,1.6vw,28px);font-weight:300;letter-spacing:-.045em;line-height:1.14;color:#6e655b}.project:nth-child(even){background:#f0e9df}.project:nth-child(even) .project-caption{color:#3d3832}
.capability{min-height:82vh;padding:10vw 5vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,var(--stone2),var(--ivory))}.cap-list{display:grid;gap:12px;color:var(--graphite)}.cap-list span{font-size:clamp(42px,6.8vw,112px);line-height:.9;font-weight:300;border-top:1px solid var(--line);padding-top:10px}.process{padding:10vw 5vw;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.process-grid div{background:var(--paper);padding:38px;min-height:260px}.process-grid span{font-size:11px;letter-spacing:.18em;color:var(--muted)}.process-grid h3{font-size:34px;font-weight:300;margin:42px 0 14px;color:var(--graphite)}.process-grid p{margin:0;color:#70675d;line-height:1.45;letter-spacing:-.02em}.contact{min-height:70vh;padding:8vw 5vw;display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:center;background:var(--ivory);color:var(--graphite)}.contact h2{margin:0;font-size:clamp(40px,6vw,92px);line-height:.96;font-weight:300;max-width:900px}.contact-grid{display:grid;gap:26px}.contact-grid div{border-top:1px solid var(--line);padding-top:18px}.contact-grid span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.contact-grid p,.contact-grid a{margin:0;font-size:18px;letter-spacing:-.03em;color:var(--graphite)}
@media(max-width:900px){.cursor{display:none}.nav{padding:22px;grid-template-columns:1fr auto}.nav-links{display:none}.hero{height:122vh}.hero-mark{left:22px;right:22px;bottom:52px}.hero-note{display:none}.intro{min-height:62vh}.intro-grid{grid-template-columns:1fr;margin-top:34px}.project{padding-bottom:52px}.project-media{height:68vh}.project-caption{grid-template-columns:1fr;gap:10px;padding:20px 22px 0}.project-caption span{font-size:28px}.project-caption p{font-size:20px}.process-grid,.contact{grid-template-columns:1fr}.process-grid div{min-height:auto}.index-inner a{font-size:clamp(34px,12vw,70px)}}


.cap-item{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:24px;
  cursor:default;
}
.cap-item small{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:0;
  transform:translateX(16px);
  white-space:nowrap;
  color:var(--muted);
  transition:opacity .45s ease, transform .45s ease;
}
.cap-item:hover small{
  opacity:.62;
  transform:translateX(0);
}
.cap-item:hover span{
  transform:translateX(10px);
  opacity:.82;
}
.cap-item span{
  transition:opacity .45s ease, transform .45s ease;
}
@media(max-width:900px){
  .cap-item{display:block}
  .cap-item small{display:block;margin-top:8px;opacity:.55;transform:none;white-space:normal}
  .cap-item:hover span{transform:none;opacity:1}
}
