/* A compact expanding index: square modules from Amin's Kufic mark. */
html{scroll-padding-top:112px}
body{padding-top:104px}
.site-header{position:fixed;z-index:60;top:24px;left:50%;right:auto;transform:translateX(-50%);width:min(352px,calc(100% - 32px));min-height:72px;padding:12px 16px;gap:16px;border:1px solid var(--slate);box-shadow:0 6px 0 var(--slate);transition:width .32s cubic-bezier(.2,.8,.2,1)}
.menu-open .site-header{width:min(448px,calc(100% - 32px))}
.site-header .identity{gap:10px;min-width:0}
.site-header .logo-small{width:48px}
.site-header .identity-name{font-size:14px;white-space:nowrap}
.site-header .identity-name>span{font-size:5px;margin-top:6px;letter-spacing:.13em}
.site-header .menu-button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;min-width:92px;padding:10px 12px;border:1px solid var(--slate);background:var(--slate);color:var(--paper);font:600 11px/1 var(--body)}
.menu-label{min-width:28px;text-align:left}
.menu-bars{position:relative;width:18px;height:14px;border-top:3px solid;border-bottom:3px solid}
.menu-bars:after{content:'';position:absolute;top:3px;right:0;width:10px;height:2px;background:currentColor;transition:width .2s}
.menu-button[aria-expanded="true"] .menu-bars{border-color:transparent}
.menu-button[aria-expanded="true"] .menu-bars:after{width:18px;height:3px;top:3px}
.site-header nav{position:absolute;display:flex;top:100%;left:-1px;right:-1px;height:auto;max-height:calc(100vh - var(--menu-top,96px) - 24px);max-height:calc(100dvh - var(--menu-top,96px) - 24px);flex-direction:column;align-items:stretch;padding:20px 24px 24px;background:var(--ink);border:1px solid var(--slate);border-top:0;box-shadow:0 6px 0 var(--slate);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;pointer-events:none;clip-path:inset(0 0 100% 0);transition:clip-path .32s cubic-bezier(.2,.8,.2,1),visibility .32s}
.site-header nav.open{display:flex;visibility:visible;pointer-events:auto;clip-path:inset(0 0 -8px 0)}
.site-header .nav-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 16px;flex:none}
.nav-intro .eyebrow{font-size:8px;color:var(--line);letter-spacing:.12em}
.nav-signature{display:block;width:8px;height:8px;margin-right:8px;background:var(--slate);box-shadow:8px 0 var(--slate),0 8px var(--slate)}
.site-header .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;flex:none;border-top:1px solid var(--slate)}
.site-header nav .nav-item{display:grid;grid-template-columns:24px minmax(0,1fr) 8px;align-items:center;gap:12px;width:100%;min-height:68px;padding:12px 8px;border:0;border-bottom:1px solid rgba(202,213,223,.24);color:var(--paper);background:none}
.site-header .nav-index{display:block;width:auto;height:auto;border:0;color:var(--line);font:600 9px/1 var(--display)}
.nav-copy{min-width:0}
.site-header .nav-title{display:block;font:600 clamp(24px,6vw,32px)/1.1 var(--display);letter-spacing:-.035em}
.site-header .nav-description{display:block;margin-top:5px;color:var(--line);font:400 10px/1.5 var(--body)}
.site-header .nav-marker{display:block;width:8px;height:8px;background:var(--slate)}
.site-header nav .nav-item:hover,.site-header nav .nav-item:focus-visible,.site-header nav .nav-item[aria-current="location"]{background:var(--slate);color:var(--paper)}
.site-header .nav-item:hover .nav-description,.site-header .nav-item:focus-visible .nav-description,.site-header .nav-item[aria-current="location"] .nav-description{color:var(--paper)}
.site-header .nav-item:hover .nav-index,.site-header .nav-item:focus-visible .nav-index,.site-header .nav-item[aria-current="location"] .nav-index{color:var(--paper);background:transparent}
.site-header .nav-item:hover .nav-marker,.site-header .nav-item:focus-visible .nav-marker{background:var(--paper)}
.site-header .nav-item[aria-current="location"]:after{display:none}
.site-header nav .nav-contact{margin-top:16px;min-height:72px;padding:12px;background:var(--slate);border-bottom:4px solid var(--paper)}
.site-header .nav-contact .nav-description{color:var(--paper)}
.site-header .nav-contact .nav-marker{background:var(--paper)}
.site-header .nav-footer{display:flex;justify-content:space-between;gap:16px;margin-top:0;padding-top:20px;color:var(--line);font:600 7px/1.5 var(--body);letter-spacing:.1em;flex:none}
.menu-backdrop{position:fixed;inset:0;z-index:50;background:rgba(14,15,60,.2);backdrop-filter:blur(2px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s,visibility .25s}
.menu-open{overflow:hidden}
.menu-open .menu-backdrop{visibility:visible;opacity:1;pointer-events:auto}
.admin-bar .site-header{top:56px}
@media(max-width:782px){.admin-bar .site-header{top:62px}}
@media(max-width:760px){body{padding-top:96px}.site-header{top:16px;min-height:68px;padding:10px 12px}.site-header nav{padding:16px 20px 20px}.site-header .identity-name{font-size:13px}.site-header .nav-footer{font-size:6px}}
@media(max-width:360px){.site-header .logo-small{width:40px}.site-header .identity-name{font-size:12px}.site-header .menu-button{min-width:80px;padding:10px;gap:8px}.site-header nav{padding-inline:16px}.site-header .nav-description{font-size:9px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header nav,.menu-backdrop,.menu-bars:after{transition:none}}
