.identity small{font-size:14px;letter-spacing:.04em;color:#ebe6dd}.nav-shell nav>a{font-size:16px}
.nav-cta i svg,.button i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hero-foot{font-size:16px;color:#f0ebe3}.method-steps article>span{color:#fff2d8!important}.swipe-cue{display:none}
.category-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:90px 0 125px;padding:0;border-top:1px solid rgba(17,16,14,.22);border-bottom:1px solid rgba(17,16,14,.22);overflow:visible}
.category-nav a{min-height:74px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:15px 14px;border-radius:0;background:transparent;border-right:1px solid rgba(17,16,14,.16);font-size:16px}
.category-nav a:first-child{border-left:1px solid rgba(17,16,14,.16)}.category-nav a b{font-size:13px;font-weight:400;color:var(--green)}.category-nav a:hover,.category-nav a:focus-visible{background:var(--kiln);color:var(--chalk)}.category-nav a:hover b,.category-nav a:focus-visible b{color:var(--brass)}
.case{margin-bottom:clamp(130px,13vw,195px)}.case-meta span{font-size:15px}
.single.portrait figure{height:min(780px,68vw)}.single.portrait img{object-position:center 12%}
@media(max-width:900px){.category-nav{display:flex;overflow-x:auto;margin:70px calc(var(--pad) * -1) 100px;padding:0 var(--pad);border-left:0;border-right:0;scroll-snap-type:x proximity;mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 54px),transparent 100%)}.category-nav a{min-width:205px;min-height:76px;scroll-snap-align:start;border-left:1px solid rgba(17,16,14,.16)}.single.portrait figure{height:92vw;max-height:720px}}
@media(max-width:600px){.identity small{display:none}.hero-foot{font-size:15px}.nav-toggle b{font-size:11px}.swipe-cue{display:flex;justify-content:space-between;align-items:center;margin:48px 0 12px;font-size:15px;color:var(--green)}.swipe-cue span{font-size:22px}.category-nav{margin:0 -20px 90px}.category-nav a{font-size:15px}.case{margin-bottom:120px}.single.portrait figure{height:105vw}}

/* Final portfolio index: typographic wayfinding, not a data table. */
.category-nav{display:flex;flex-wrap:wrap;align-items:baseline;gap:13px 34px;margin:82px 0 120px;padding:0 0 28px;border:0;border-bottom:1px solid rgba(17,16,14,.2);overflow:visible}
.category-nav a,.category-nav a:first-child{min-height:44px;display:inline-flex;align-items:center;gap:12px;padding:4px 0;border:0;border-radius:0;background:transparent;font:400 clamp(21px,2vw,31px)/1.15 var(--serif);color:rgba(17,16,14,.48);transition:color .5s var(--ease),transform .5s var(--ease)}
.category-nav a:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brass);transform:scale(0);transition:transform .5s var(--ease)}
.category-nav a:hover,.category-nav a:focus-visible{background:transparent;color:var(--kiln);transform:translateX(5px)}
.category-nav a:hover:before,.category-nav a:focus-visible:before{transform:scale(1)}

/* Contact ledger */
.contact-list{gap:0}.contact-row{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(245,241,233,.18);text-decoration:none;transition:color .45s var(--ease),transform .45s var(--ease)}.contact-row:first-child{border-top:1px solid rgba(245,241,233,.18)}
.contact-row>i{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(201,154,76,.45);border-radius:50%;color:var(--brass);transition:background .45s var(--ease),color .45s var(--ease),transform .45s var(--ease)}
.contact-row svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contact-row span{min-width:0}.contact-row small{display:block;font-size:13px;color:#aaa39a;margin-bottom:5px}.contact-row strong{display:block;font-size:16px;font-weight:400;line-height:1.35;overflow-wrap:anywhere}.contact-row em{display:inline-block;margin-top:8px;color:var(--brass);font-size:14px;font-style:normal}.contact-row:hover{color:var(--brass);transform:translateX(5px)}.contact-row:hover>i{background:var(--brass);color:var(--kiln);transform:rotate(-4deg)}
.location-row{padding-top:28px;padding-bottom:28px}

/* The footer repeats the supplied identity mark exactly. */
.footer-brand{display:flex;align-items:center;gap:14px;font:400 32px/1 var(--serif)}.footer-brand img{width:58px;height:58px;border-radius:50%;object-fit:cover}.footer-brand span{color:var(--brass)}
@media(max-width:900px){.category-nav{display:flex;overflow:visible;mask-image:none;margin:65px 0 100px;padding:0 0 24px;gap:10px 24px}.category-nav a,.category-nav a:first-child{min-width:0;min-height:44px;border:0;scroll-snap-align:none}.contact-list{max-width:none}}
@media(max-width:600px){.category-nav{margin:52px 0 86px;display:grid;grid-template-columns:1fr;gap:4px}.category-nav a,.category-nav a:first-child{font-size:25px;padding:7px 0}.contact-row{grid-template-columns:48px 1fr;gap:14px;padding:20px 0}.contact-row>i{width:46px;height:46px}.contact-row strong{font-size:15px}.footer-brand{font-size:26px}.footer-brand img{width:48px;height:48px}}
.back-to-top{position:fixed;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,42px);z-index:55;width:58px;height:58px;border-radius:50%;border:1px solid rgba(201,154,76,.62);background:rgba(17,16,14,.92);color:var(--brass);display:grid;place-items:center;box-shadow:0 16px 38px rgba(0,0,0,.22);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transform:translateY(16px) scale(.92);transition:opacity .35s var(--ease),visibility .35s,transform .5s var(--ease),background .35s,color .35s;cursor:pointer}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--brass);color:var(--kiln);transform:translateY(-4px)}.back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}@media(max-width:600px){.back-to-top{width:50px;height:50px;right:16px;bottom:16px}}@media(prefers-reduced-motion:reduce){.back-to-top{transition:opacity .01ms,visibility .01ms}.back-to-top:hover{transform:none}}
