:root{--sand:#E6DCC8;--ink:#212E21;--sage:#AEC0AB;--lime:#EBFC72;--cream:#F3F0E6}
*{box-sizing:border-box}
html,body{margin:0;overflow-x:hidden;background:var(--sand);color:var(--ink);font-family:Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.sx-head{background:var(--lime)}
.sx-head .in{max-width:1080px;margin:0 auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.sx-logo{font-family:"Libre Franklin",sans-serif;font-weight:700;font-size:22px;letter-spacing:-.02em;text-decoration:none}
.sx-nav{display:flex;align-items:center;gap:24px;font-size:15px}
.sx-nav a{text-decoration:none}
.sx-nav a:hover,.sx-nav a.on{text-decoration:underline;text-underline-offset:4px}
.sx-nav svg{width:18px;height:18px;display:block}
@media(max-width:600px){.sx-head .in{flex-direction:column;align-items:flex-start;gap:10px}.sx-nav{gap:18px}}
.sx-foot{background:var(--ink);color:var(--sand)}
.sx-foot .in{max-width:1080px;margin:0 auto;padding:44px 24px;display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between;font-size:15px}
.sx-foot b{font-family:"Libre Franklin",sans-serif;font-size:20px;color:var(--lime)}
.sx-foot nav{display:flex;flex-wrap:wrap;gap:22px}
.sx-foot a{text-decoration:none}.sx-foot a:hover{text-decoration:underline}
.sx-foot small{opacity:.6;width:100%}
/* page blocks */
.sx-band{padding:72px 0}
.sx-wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.sx-lime{background:var(--lime)}.sx-ink{background:var(--ink);color:var(--sand)}.sx-cream{background:var(--cream)}
.sx-h1{font-family:"Libre Franklin",sans-serif;font-weight:700;letter-spacing:-.02em;font-size:clamp(38px,6vw,64px);line-height:1.06;margin:0 0 24px;max-width:900px}
.sx-lede{font-size:clamp(18px,2.1vw,21px);line-height:1.6;max-width:760px;margin:0 0 18px;letter-spacing:-.01em}
.sx-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.sx-btn{display:inline-block;padding:14px 22px;border-radius:999px;font-weight:500;text-decoration:none;border:2px solid currentColor}
.sx-btn.solid{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.sx-ink .sx-btn.solid{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.sx-about{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
.sx-photo{aspect-ratio:4/5;background:#d6cdb6 center/cover no-repeat;border-radius:4px}
@media(max-width:800px){.sx-about{grid-template-columns:1fr}}
.sx-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;opacity:.7;margin:0 0 14px}
.sx-ink .sx-h2{color:var(--lime)}
.sx-h2{font-family:"Libre Franklin",sans-serif;font-weight:700;letter-spacing:-.02em;font-size:clamp(28px,3.4vw,38px);margin:0 0 16px}

/* previous / next project nav */
.ja .ja-pn{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;border-top:1px solid rgba(33,46,33,.18);margin:40px 0 72px;padding-top:28px}
.ja .ja-pn a{color:#212E21;text-decoration:none}
.ja .ja-pn span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;opacity:.65;margin-bottom:6px}
.ja .ja-pn b{font-family:"Libre Franklin",sans-serif;font-weight:700;font-size:clamp(20px,2.4vw,26px);letter-spacing:-.02em}
.ja .ja-pn a:hover b{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.ja .ja-next{text-align:right}
.ja .ja-all{font-size:14px;font-weight:500;border-bottom:2px solid #212E21;padding-bottom:2px}
@media(max-width:640px){.ja .ja-pn{grid-template-columns:1fr 1fr}.ja .ja-all{grid-column:1/-1;grid-row:2;justify-self:center}}

/* image lightbox */
.lb{position:fixed;inset:0;z-index:1000;background:rgba(20,26,20,.94);display:none;align-items:center;justify-content:center}
.lb.on{display:flex}
.lb img{max-width:calc(100vw - 160px);max-height:calc(100vh - 100px);object-fit:contain;border-radius:2px;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.lb button{position:absolute;background:none;border:0;color:#E6DCC8;cursor:pointer;font:300 56px/1 Roboto,sans-serif;padding:12px 20px;opacity:.8}
.lb button:hover{opacity:1;color:#EBFC72}
.lb-x{top:8px;right:8px;font-size:44px!important}
.lb-p{left:8px;top:50%;transform:translateY(-50%)}
.lb-n{right:8px;top:50%;transform:translateY(-50%)}
.lb-c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#E6DCC8;font:500 13px Roboto,sans-serif;letter-spacing:.14em;opacity:.7}
@media(max-width:640px){.lb img{max-width:100vw;max-height:calc(100vh - 120px)}.lb-p,.lb-n{top:auto;bottom:4px;transform:none}}
