/* The new chrome is in normal CSS; the source artwork beneath it stays intact. */
:root{--chrome-ink:#262724;--chrome-paper:#f5f4f0;--chrome-line:rgba(38,39,36,.18)}
.floating-header{position:fixed;z-index:80;top:16px;left:24px;right:24px;height:68px;display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);align-items:center;padding:0 14px;color:var(--chrome-ink);background:rgba(248,247,243,.94);border:1px solid rgba(255,255,255,.55);box-shadow:0 4px 24px #171b1410;border-radius:3px;transition:transform .32s cubic-bezier(.22,.7,.25,1),opacity .24s;transform:translateY(0)}
@supports(backdrop-filter:blur(1px)){.floating-header{background:rgba(248,247,243,.79);backdrop-filter:blur(20px) saturate(.85)}}
.floating-header.header-hidden:not(:focus-within){transform:translateY(calc(-100% - 20px));opacity:0;pointer-events:none}
.floating-brand{display:block;width:90px;height:44px;grid-column:2;justify-self:center}
.brand-art{position:relative;display:block;width:90px;height:44px}.brand-art>.node{position:absolute;left:0!important;top:0!important;transform-origin:0 0;pointer-events:none}
.floating-brand .brand-art{filter:brightness(0);opacity:.9}
.menu-opener{display:flex;align-items:center;gap:12px;justify-self:start;height:44px;padding:0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent;border-radius:2px;transition:background .2s,border-color .2s}
.menu-opener:hover,.menu-opener:focus-visible{background:#fff7;border-color:var(--chrome-line)}
.menu-lines{position:relative;display:block;width:22px;height:14px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.menu-lines::after{content:'';position:absolute;left:0;right:6px;top:5px;height:1px;background:currentColor}
.header-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:24px;min-width:0;font-size:13px;white-space:nowrap}
.header-link{padding:10px 0;position:relative}.header-link::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.header-link:hover::after,.header-link[aria-current]::after{transform:scaleX(1)}
.header-order{display:flex;gap:12px;align-items:center;padding:12px 15px;background:#272824;color:#fbfbfb;border:1px solid #272824;border-radius:2px;transition:background .2s}.header-order:hover{background:#45483e}.header-order svg{width:18px;height:18px}
.skip-link{z-index:90}.section-node,#projects,#contact{scroll-margin-top:104px}

/* Native dialog supplies top-layer ordering, inert background and modal semantics. */
#mobile-menu.drawer-dialog{inset:0;margin:0;padding:0;width:100%;height:100dvh;max-width:none;max-height:none;background:transparent;overflow:hidden;color:var(--chrome-ink)}
#mobile-menu.drawer-dialog::backdrop{background:transparent;backdrop-filter:none}
.drawer-scrim{position:absolute;inset:0;background:rgba(15,19,16,.48);backdrop-filter:blur(7px)}
.drawer-panel{position:relative;display:flex;flex-direction:column;width:min(480px,90%);height:100%;padding:26px 32px 30px;background:rgba(246,245,240,.96);border-right:1px solid #fff6;box-shadow:10px 0 50px #10151022;overflow-y:auto;overscroll-behavior:contain;backdrop-filter:blur(24px)}
.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:28px;border-bottom:1px solid var(--chrome-line)}
.drawer-brand{font-size:20px;letter-spacing:.06em}.icon-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--chrome-line);font:32px/1 var(--font-site);border-radius:50%;transition:background .2s}.icon-close:hover{background:#dedfd6}
#mobile-menu.drawer-dialog .drawer-nav{display:flex;flex-direction:column;gap:0;margin:24px 0;font-size:27px}
.drawer-nav a{display:grid;grid-template-columns:24px 1fr 24px;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid var(--chrome-line);transition:padding .2s,background .2s}.drawer-nav a:hover{padding-left:8px;background:#fff5}.drawer-index{font:11px/1 var(--font-site);color:#72766c}.drawer-nav svg{width:22px;height:22px;opacity:.6}
#mobile-menu.drawer-dialog .drawer-contact{display:flex;flex-direction:column;align-items:start;gap:15px;margin-top:auto;padding-top:18px;font-size:16px;line-height:1.4;font-style:normal}.drawer-contact a:hover{text-decoration:underline}.drawer-order{margin-top:8px;padding:12px 18px;border:1px solid currentColor}

/* 3.35 square cards on desktop, 1.14 on a phone; the remaining card is a cue. */
.project-showcase{overflow:visible!important;isolation:auto}
.rail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;margin:0 var(--rail-inset) 26px}
.rail-heading h2{margin:0;font-size:40px;line-height:1.1;font-weight:300;text-transform:uppercase}
.rail-actions{display:flex;align-items:center;gap:10px}.rail-all{font-size:14px;margin-right:18px;padding:10px 0;border-bottom:1px solid transparent}.rail-all:hover{border-color:currentColor}
.rail-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #3336;border-radius:50%;transition:background .2s,opacity .2s}.rail-arrow svg{width:23px;height:23px}.rail-arrow:not(:disabled):hover{background:#e6e7e0}.rail-arrow:disabled{opacity:.25}
.project-track{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--rail-inset);scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
.project-track::-webkit-scrollbar{display:none}.project-track:focus-visible{outline:1px solid #555;outline-offset:4px}.project-track-list{display:flex;gap:var(--rail-gap);width:max-content;padding:0 var(--rail-inset) 5px}
.rail-item{flex:0 0 var(--card-width);width:var(--card-width);scroll-snap-align:start;scroll-snap-stop:normal}.rail-item>.project-card{width:var(--card-width);height:var(--card-width);cursor:pointer}
.rail-caption{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:15px 1px 0;font-size:14px;line-height:1.4}.rail-caption>span:last-child{font:11px/1.5 var(--font-site);color:#818579}
.project-track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.project-track.is-dragging *{cursor:grabbing!important;user-select:none;pointer-events:none}

/* Compact information, using only the existing name, navigation and contacts. */
.compact-footer.node{height:auto;background:#252722!important;color:#f1f2eb;padding:38px 24px 22px;isolation:auto}
.footer-grid{display:grid;grid-template-columns:minmax(100px,.65fr) minmax(260px,1.5fr) minmax(230px,1fr) auto;gap:24px;align-items:start}
.footer-brand .brand-art{filter:brightness(0) invert(1);opacity:.92}
.footer-links{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:16px 30px;font-size:14px;line-height:1.3}
.footer-contact{display:flex;flex-direction:column;gap:16px;font-size:15px;line-height:1.3;font-style:normal}
.footer-order{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 16px;border:1px solid #d8dedb70;font-size:14px;white-space:nowrap}.footer-order svg{width:20px;height:20px}.compact-footer a{transition:color .2s,border-color .2s}.compact-footer a:hover{color:#c2ccac}.footer-order:hover{border-color:currentColor}
.footer-bottom{display:flex;align-items:center;gap:24px;margin-top:30px;padding-top:18px;border-top:1px solid #e4e9df30;color:#c1c5ba;font-size:12px;line-height:1.5}.footer-bottom a:last-child{margin-left:auto}

/* A sharp, fully contained photo over the dimmed/blurred original page. */
#viewer.photo-viewer{inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;overflow:hidden;background:transparent;color:#fff}
#viewer.photo-viewer::backdrop{background:rgba(9,13,10,.84);backdrop-filter:blur(14px)}
#viewer.photo-viewer[open]{display:block;padding:72px 84px 58px}
#viewer.photo-viewer figure{height:100%;width:100%;display:flex;align-items:center;justify-content:center;position:relative;margin:0;gap:0;pointer-events:auto}
#viewer.photo-viewer img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%;transform-origin:center;user-select:none}
#viewer.photo-viewer figcaption{position:fixed;inset:auto 0 22px;width:auto;height:auto;overflow:visible;clip-path:none;text-align:center;font:12px/1.5 var(--font-site);color:#d6dbd3;pointer-events:none}
#viewer.photo-viewer button{position:absolute;z-index:3;display:grid;place-items:center;width:48px;height:48px;min-width:44px;min-height:44px;border:1px solid #edf3e266;background:#23292080;color:#fff;border-radius:50%;font:34px/1 var(--font-site);transition:background .2s,border-color .2s}
#viewer.photo-viewer button:hover{background:#626e5366;border-color:#fff}
#viewer.photo-viewer button::before,#viewer.photo-viewer button::after{display:none;content:none}
#viewer.photo-viewer .viewer-close{top:18px;right:22px;font-size:34px}
#viewer.photo-viewer .viewer-prev{left:18px;top:calc(50% - 24px)}#viewer.photo-viewer .viewer-next{right:18px;top:calc(50% - 24px)}#viewer.photo-viewer button svg{width:24px;height:24px}
.viewer-loading{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);padding:8px 12px;background:#131c1399;color:#f5f5ee;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none}.is-loading .viewer-loading{opacity:1}

@media(max-width:1199px){.header-actions{gap:16px}.header-link{display:none}.footer-grid{grid-template-columns:100px 1fr 1fr}.footer-order{grid-column:3;justify-self:start}.footer-contact{grid-column:3;grid-row:1}.footer-links{grid-row:1 / span 2}.footer-brand{grid-row:1 / span 2}}
@media(max-width:767px){
 .floating-header{top:10px;left:10px;right:10px;height:62px;padding:0 7px}.floating-header.header-hidden:not(:focus-within){transform:translateY(calc(-100% - 14px))}.menu-opener{padding:0 8px}.menu-word{display:none}.header-order{padding:10px;width:40px;height:40px;justify-content:center;background:transparent;color:var(--chrome-ink);border-color:var(--chrome-line)}.header-order span{display:none}.header-order:hover{background:#fff8}.header-order svg{width:20px;height:20px}
 .drawer-panel{width:min(420px,calc(100% - 28px));padding:18px 22px 28px}.drawer-top{padding-bottom:16px}#mobile-menu.drawer-dialog .drawer-nav{font-size:25px;margin:18px 0}.drawer-nav a{padding-block:14px;gap:12px}.drawer-contact{font-size:15px}
 .rail-heading{gap:8px;margin-bottom:20px}.rail-heading h2{font-size:28px}.rail-actions{gap:7px}.rail-all{font-size:12px;margin-right:5px}.rail-arrow{width:36px;height:36px}.rail-arrow svg{width:20px}.rail-caption{padding-top:12px;font-size:13px}
 .compact-footer.node{padding:30px 16px 20px}.footer-grid{grid-template-columns:90px minmax(0,1fr);gap:24px}.footer-brand{grid-column:1;grid-row:1}.footer-links{grid-column:2;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;font-size:13px}.footer-contact{grid-column:1 / -1;grid-row:2;gap:12px}.footer-order{grid-column:1 / -1;grid-row:3;justify-self:stretch}.footer-bottom{margin-top:24px;gap:12px;flex-wrap:wrap;font-size:11px}.footer-bottom a:last-child{margin-left:0}.footer-bottom a:nth-child(2){order:3;width:100%}.footer-bottom a:last-child{margin-left:auto}
 #viewer.photo-viewer[open]{padding:76px 12px 80px}#viewer.photo-viewer .viewer-close{right:14px;top:14px}#viewer.photo-viewer .viewer-prev,#viewer.photo-viewer .viewer-next{top:auto;bottom:18px;width:44px;height:44px}#viewer.photo-viewer .viewer-prev{left:14px}#viewer.photo-viewer .viewer-next{right:14px}#viewer.photo-viewer figcaption{bottom:30px}
}
@media(max-width:359px){.rail-all{display:none}.rail-heading h2{font-size:26px}.footer-grid{gap:24px 16px}.drawer-panel{padding-inline:18px}.drawer-nav a{font-size:23px}}
@media(prefers-reduced-motion:reduce){.floating-header,.menu-opener,.header-link::after,.header-order,.drawer-nav a,.rail-arrow,.compact-footer a,#viewer.photo-viewer button{transition:none!important}.project-track{scroll-behavior:auto!important}}
