:root{--bg:#f6f1e0;--ink:#292824;--line:color-mix(in srgb,currentColor 27%,transparent);--mono:"Courier New",ui-monospace,monospace;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0;transition:background-color .65s cubic-bezier(.2,.8,.2,1),color .4s ease}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip-link{background:#1d1d1d;color:#fff;left:1rem;padding:.8rem;position:fixed;top:0;transform:translateY(-120%);z-index:50}.skip-link:focus{transform:translateY(0)}.page-progress{height:2px;left:0;position:fixed;right:0;top:0;z-index:60}.page-progress span{background:currentColor;display:block;height:100%;transform:scaleX(0);transform-origin:left}.site-header{align-items:center;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);border-bottom:1px dotted var(--line);display:grid;font:10px/1 var(--mono);grid-template-columns:1fr auto 1fr;letter-spacing:.08em;padding:18px 28px;position:sticky;text-transform:uppercase;top:0;z-index:30}.site-header nav{display:flex;gap:34px}.site-header>a:last-child{text-align:right}.wordmark{font-weight:700}.hero{background:var(--section-bg);color:var(--section-ink);min-height:calc(100vh - 47px);overflow:hidden;padding:24px 28px 28px}.technical-line{border-bottom:1px dotted var(--line);font:9px/1.3 var(--mono);letter-spacing:.07em;margin:0;padding-bottom:9px}.hero h1{font-size:clamp(70px,13.7vw,220px);font-weight:700;letter-spacing:-.085em;line-height:.72;margin:8vh 0 0;white-space:nowrap}.hero-bottom{align-items:end;display:grid;gap:38px;grid-template-columns:1fr 230px 1fr;margin-top:10vh}.hero-bottom>p{font-size:clamp(17px,1.55vw,24px);letter-spacing:-.035em;line-height:1.16;margin:0;max-width:480px}.hero-bottom figure{margin:0}.hero-bottom img{filter:grayscale(.35) sepia(.12);height:150px;object-fit:cover;width:100%}.hero-bottom figcaption,.hero-bottom>a{font:9px/1.3 var(--mono);letter-spacing:.06em;margin-top:7px}.hero-bottom>a{text-align:right}.work{background:var(--section-bg);color:var(--section-ink);padding:84px 28px 110px}.work-header{align-items:end;border-top:1px dotted var(--line);display:grid;gap:36px;grid-template-columns:1fr 1.3fr 1fr;padding:13px 0 62px}.work-header>p:first-child,.about>p{font:9px/1.3 var(--mono);letter-spacing:.08em;margin:0}.work-header h2{font-size:clamp(42px,5vw,76px);letter-spacing:-.065em;line-height:.86;margin:0}.work-note{font-size:14px;line-height:1.35;margin:0;max-width:310px}.project-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:auto;max-width:1540px}.project-card{aspect-ratio:1;background:var(--card-bg);color:var(--card-ink);min-width:0;overflow:hidden;position:relative}.project-card>a{color:inherit;display:grid;height:100%;grid-template-rows:54% 46%}.project-card:not(:has(>a)){display:grid;grid-template-rows:54% 46%}.card-sand{--card-bg:#d9cba0;--card-ink:#292824}.card-stone{--card-bg:#c3b09a;--card-ink:#292824}.card-charcoal{--card-bg:#3d332b;--card-ink:#f6f1e0}.card-brown{--card-bg:#6b4f2b;--card-ink:#f6f1e0}.card-clay{--card-bg:#e0c3b0;--card-ink:#292824}.card-ash{--card-bg:#b0b0b0;--card-ink:#292824}.project-image{background:color-mix(in srgb,var(--card-bg) 78%,#000 22%);border-bottom:1px dotted color-mix(in srgb,var(--card-ink) 32%,transparent);overflow:hidden}.project-image img{height:100%;object-fit:cover;transition:filter .4s ease,transform .7s cubic-bezier(.2,.8,.2,1);width:100%}.project-card:hover .project-image img{filter:contrast(1.07);transform:scale(1.025)}.project-copy{display:flex;flex-direction:column;padding:13px 15px 14px}.project-index{font:8px/1.2 var(--mono);letter-spacing:.07em;margin:0;opacity:.67}.project-copy h3{font-size:clamp(28px,2.65vw,44px);font-weight:700;letter-spacing:-.065em;line-height:.9;margin:14px 0 8px}.project-copy>p:not(.project-index){font-size:clamp(11px,.9vw,14px);letter-spacing:-.012em;line-height:1.28;margin:0;max-width:390px}.project-copy footer{border-top:1px dotted color-mix(in srgb,var(--card-ink) 30%,transparent);display:flex;font:7px/1.2 var(--mono);justify-content:space-between;letter-spacing:.05em;margin-top:auto;padding-top:8px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.reveal.in-view{opacity:1;transform:none}.about{background:var(--section-bg);color:var(--section-ink);padding:90px 28px 38px}.about h2{font-size:clamp(58px,9vw,142px);font-weight:700;letter-spacing:-.075em;line-height:.76;margin:15vh 0 12vh;max-width:1200px}.contact-grid{border-top:1px dotted var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.contact-grid a{border-right:1px dotted var(--line);font:9px/1.2 var(--mono);padding:17px 10px 4px 0}.contact-grid a+a{padding-left:14px}.contact-grid a:last-child{border:0}.site-footer{background:#1d1d1d;color:#8a8a8a;display:flex;font:8px/1.2 var(--mono);justify-content:space-between;padding:20px 28px 24px}@media(max-width:1050px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-copy h3{font-size:clamp(30px,4vw,44px)}.work-header{grid-template-columns:.7fr 1.3fr}.work-note{display:none}}@media(max-width:680px){.site-header{padding:16px 18px}.site-header nav{display:none}.hero{min-height:auto;padding:20px 18px 60px}.hero h1{font-size:21.7vw;line-height:.76;margin-top:10vh}.hero-bottom{grid-template-columns:1fr 110px;margin-top:12vh}.hero-bottom>a{display:none}.hero-bottom img{height:105px}.work{padding:64px 12px 72px}.work-header{display:block;padding:10px 6px 44px}.work-header h2{font-size:48px;margin-top:30px}.project-grid{gap:9px;grid-template-columns:1fr}.project-card{aspect-ratio:1}.project-copy{padding:12px 14px}.project-copy h3{font-size:38px}.project-copy>p:not(.project-index){font-size:13px}.about{padding:70px 18px 25px}.about h2{font-size:17vw;margin:12vh 0}.contact-grid{grid-template-columns:1fr}.contact-grid a,.contact-grid a+a{border-bottom:1px dotted var(--line);border-right:0;padding:15px 0}.site-footer{padding:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{transition:none}.reveal{opacity:1;transform:none;transition:none}.project-image img{transition:none}}
/* Keep keyboard navigation visible against every palette section. */
a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
