html{scrollbar-gutter:stable}
button{font-family:inherit;color:inherit;cursor:pointer}
.header-right{gap:22px}
.shape-controls{display:flex;align-items:center;gap:3px;border:1px solid #a5a28e;border-radius:24px;padding:4px}
.shape-label{font:8px Arial,Helvetica,sans-serif;letter-spacing:1px;margin:0 7px 0 9px;color:var(--muted)}
.shape-controls button{border:0;background:transparent;border-radius:18px;padding:9px 11px;font:10px Arial,Helvetica,sans-serif;letter-spacing:.2px;min-height:34px}
.shape-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.shape-controls button:hover{background:#c9c8b4}
.shape-controls button[aria-pressed=true]:hover{background:#414739}
button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.section-heading{border-bottom:0;padding-bottom:0;margin-bottom:32px}
.project-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 24px;max-width:1140px;align-items:start}
.project-card,.project-card:first-child{grid-column:auto;width:100%;margin:0;min-width:0}
.project-card:nth-child(3n){margin-top:0}
.project-card .image,.project-card:first-child .image{aspect-ratio:4/3;position:relative;display:flex;align-items:center;justify-content:center;background:transparent;overflow:visible}
.thumbnail-mask{height:100%;width:75%;overflow:hidden;position:relative;border-radius:14px;background:#d4d0c1;transition:border-radius .32s,width .32s,height .32s}
.project-card img{display:block;width:100%;height:100%;object-fit:cover}
body[data-thumbnail-shape=circle] .thumbnail-mask{border-radius:50%}
body[data-thumbnail-shape=pill] .thumbnail-mask{width:100%;height:64%;border-radius:999px}
.card-caption{border-top:0;margin-top:0;padding:12px 0 0;min-height:66px;align-items:flex-start;gap:9px}
.card-caption h2{font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.card-caption>span{font-size:9px;padding-top:2px}
.card-arrow{font-size:15px!important;padding-top:0!important}
#drawer-layer{position:fixed;inset:0;overflow:hidden;z-index:8;pointer-events:none;visibility:hidden}
#drawer-layer.is-mounted{visibility:visible}
.drawer-scrim{position:absolute;left:calc(var(--side) + 20px);right:0;top:108px;bottom:0;background:#34392c38;opacity:0;transition:opacity .42s;pointer-events:none}
#project-drawer{position:absolute;right:20px;top:108px;bottom:18px;width:min(920px,calc(100vw - var(--side) - 76px));display:flex;flex-direction:column;background:var(--paper);border:1px solid #aaa58f;border-radius:24px;box-shadow:-18px 20px 65px #272a2330;transform:translateX(calc(100% + 32px));transition:transform .48s cubic-bezier(.22,.75,.16,1);overflow:hidden;pointer-events:none;outline:none}
.drawer-open{overflow:hidden}
.drawer-open .drawer-scrim{opacity:1;pointer-events:auto}
.drawer-open #project-drawer{transform:translateX(0);pointer-events:auto}
.drawer-toolbar{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:12px 25px;border-bottom:1px solid #aba68f66}
.drawer-context{font:9px Arial,Helvetica,sans-serif;letter-spacing:1.2px;color:var(--muted)}
.drawer-close{background:transparent;border:1px solid #8e917d;border-radius:24px;padding:8px 14px;font:10px Arial,Helvetica,sans-serif;min-height:42px}
.drawer-close span{font:23px Arial,sans-serif;line-height:1;vertical-align:-2px;margin-left:14px}
.drawer-close:hover{background:var(--ink);color:var(--paper)}
.drawer-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;flex:1;padding:20px 28px 35px}
#project-drawer .detail-top{font-size:10px;align-items:center;margin:0 0 24px}
#project-drawer .detail-title{font-size:clamp(29px,3.5vw,50px);font-weight:400;letter-spacing:-1.5px;line-height:1.05;margin:0 0 28px}
#project-drawer .hero-media{width:100%;height:auto;max-height:58vh;object-fit:contain;border-radius:0;background:#ddd8ca}
#project-drawer .project-info{grid-template-columns:1fr 3fr;gap:20px;padding:28px 0 30px}
#project-drawer .project-info p{font-size:14px}
#project-drawer .gallery{grid-template-columns:1fr;gap:28px;padding-top:30px}
#project-drawer .gallery figure{grid-column:auto}
#project-drawer .gallery img{width:100%;height:auto;object-fit:contain;border-radius:0}
@media(max-width:1000px) and (min-width:801px){.header-right{gap:12px}.shape-controls button{padding:9px 8px}.shape-label{display:none}.project-list{gap:22px 16px}.card-caption h2{font-size:12px}}
@media(max-width:800px){
header{height:155px}
.header-right{gap:14px}
.shape-controls{position:absolute;right:23px;top:100px;padding:3px}
.shape-controls button{font-size:9px;padding:7px 10px;min-height:34px}
.shape-label{font-size:7px;margin:0 5px 0 7px}
.landing-copy{top:174px}
.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
.project-card:first-child .image{aspect-ratio:4/3}
.section-heading{padding-bottom:0;margin-bottom:22px}
.card-caption{min-height:63px}.card-caption h2{font-size:12px}
.drawer-scrim{left:86px;top:154px}
#project-drawer{left:90px;right:8px;top:154px;bottom:8px;width:auto;border-radius:18px}
.drawer-toolbar{padding:8px 13px}.drawer-context{font-size:8px;letter-spacing:.5px}
.drawer-close{padding:6px 10px;min-height:40px;font-size:9px}
.drawer-close span{margin-left:7px;font-size:21px}
.drawer-scroll{padding:18px 17px 25px;scrollbar-gutter:auto}
#project-drawer .detail-top{font-size:9px;gap:14px;flex-wrap:wrap;margin-bottom:20px}
#project-drawer .detail-top .nextprev{gap:20px}
#project-drawer .detail-title{font-size:28px;letter-spacing:-1px;overflow-wrap:anywhere}
#project-drawer .project-info{grid-template-columns:1fr;gap:15px}
#project-drawer .hero-media{max-height:55vh}
}
@media(max-width:600px){.project-list{grid-template-columns:1fr;gap:23px}.card-caption{min-height:55px}}
@media(max-height:450px){#project-drawer,.drawer-scrim{top:100px}.shape-controls{top:60px}.wordmark span{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.thumbnail-mask,#project-drawer,.drawer-scrim{transition:none!important}}

header{pointer-events:none}header a,header button,.shape-controls{pointer-events:auto}
