.navbar{background:#fff;border-bottom:1px solid var(--color-rule);padding:5px 0;position:sticky;top:0;z-index:30}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:0 3vw;min-height:36px}.nav-link{font-size:25px;line-height:1;text-transform:uppercase;color:var(--color-text);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}.brand{display:inline-flex;align-items:center;line-height:0}.brand img{display:block;height:19.7px;width:auto}.nav-link.active{color:var(--color-accent)}.nav-link:not(.active):hover{color:var(--color-muted)}.tagbar{position:sticky;top:var(--nav-height);z-index:25;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-rule)}.tagbar-inner{display:flex;align-items:center;gap:16px;padding:10px 3vw;min-height:var(--tagbar-height)}.tagbar-filters{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--color-text);background:var(--color-text);color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:999px;transition:background .15s ease,color .15s ease;white-space:nowrap}.tagbar-filters:hover{background:var(--color-accent);border-color:var(--color-accent)}.tagbar-filters-icon{display:inline-flex;flex-direction:column;gap:3px}.tagbar-filters-icon span{display:block;width:12px;height:1.5px;background:currentColor;border-radius:1px}.tagbar-filters-icon span:nth-child(2){width:8px}.tagbar-filters-icon span:nth-child(3){width:10px}.tagbar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#fff;color:var(--color-text);font-size:11px;font-weight:500}.tagbar-scroll-wrap{position:relative;flex:1;min-width:0}.tagbar-scroll{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;padding:2px 36px;scrollbar-width:none;-ms-overflow-style:none}.tagbar-scroll::-webkit-scrollbar{display:none}.tag-pill{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 14px;border-radius:999px;border:1px solid #c9c9c9;background:transparent;color:var(--color-text);font-size:13px;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap;font-family:var(--font-sans)}.tag-pill:hover{border-color:var(--color-text)}.tag-pill--active{background:var(--color-warm);border-color:var(--color-text);color:var(--color-text)}.tag-pill-x{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--color-text);color:#fff;font-size:11px;line-height:1}.tagbar-empty{font-size:13px;color:var(--color-muted);padding:0 8px;letter-spacing:.05em}.tagbar-arrow{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:1px solid var(--color-rule);background:#fff;color:var(--color-text);font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:2}.tagbar-arrow--left{left:-4px}.tagbar-arrow--right{right:-4px}.tagbar-scroll-wrap.has-left .tagbar-arrow--left,.tagbar-scroll-wrap.has-right .tagbar-arrow--right{opacity:1;pointer-events:auto}.tagbar-scroll-wrap.has-left:before,.tagbar-scroll-wrap.has-right:after{content:"";position:absolute;top:0;bottom:0;width:36px;pointer-events:none;z-index:1}.tagbar-scroll-wrap.has-left:before{left:0;background:linear-gradient(to right,#fffffff2,#fff0)}.tagbar-scroll-wrap.has-right:after{right:0;background:linear-gradient(to left,#fffffff2,#fff0)}.tagbar-clear{border:1px solid var(--color-text);background:transparent;color:var(--color-text);padding:7px 12px;font-size:11px;letter-spacing:.08em;border-radius:999px;cursor:pointer;text-transform:uppercase;white-space:nowrap}.tagbar-clear:hover{background:var(--color-text);color:#fff}.workspace{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr;transition:grid-template-columns .35s ease;--card-target: 3in}.workspace--detail{grid-template-columns:clamp(380px,calc(58vh + 48px),620px) 1fr;--card-target: 1.8in}.gallery{padding:12px 12px 96px;overflow-x:hidden;overflow-y:auto;background:#ededea}.gallery-state{padding:80px 0;text-align:center;color:var(--color-muted)}.gallery-state-detail{margin-top:8px;font-family:var(--font-serif);font-size:12px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--card-target, 3in),calc((100% - 4px)/2)),1fr));gap:4px}.gallery-card{position:relative;width:100%;aspect-ratio:1 / 1;padding:0;background:#fff;overflow:hidden;border:1px solid #e2e1dc;cursor:pointer;font:inherit;color:inherit;transform:translateZ(0);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;will-change:transform}.gallery-card:hover{transform:scale(1.1);border-color:#a9a8a1;box-shadow:0 14px 32px #0000002e;z-index:2}.gallery-card--selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.gallery-card--selected:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff9e;z-index:2;pointer-events:none}.gallery-card--selected:hover{box-shadow:inset 0 0 0 1px var(--color-accent),0 14px 32px #f15c2447}.gallery-card--selected:hover:after{background:#ffffff73}.sharp-image{position:absolute;top:50%;left:50%;max-width:none;max-height:none;opacity:0;transform:translate3d(-50%,-50%,0);transform-origin:center center;transition:opacity .25s ease;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}.sharp-image--loaded{opacity:1}.gallery-card-img--hover.sharp-image,.gallery-card-img--hover.sharp-image--loaded{opacity:0;z-index:2}.gallery-card-img--hover.sharp-image.show,.gallery-card-img--hover.sharp-image--loaded.show{opacity:1}.gallery-card-match{position:absolute;top:6px;right:6px;padding:2px 7px;border-radius:999px;background:var(--color-text);color:#fff;font-size:11px;letter-spacing:.04em;z-index:3}.detail-panel{position:relative;border-right:1px solid var(--color-rule);display:flex;flex-direction:column;background:var(--color-panel);min-height:0;height:100%;animation:detail-slide-in .35s ease}@keyframes detail-slide-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.detail-close{position:absolute;top:8px;right:8px;z-index:4;width:26px;height:26px;border:0;border-radius:50%;background:#303030b8;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:#fff;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background .15s ease,color .15s ease}.detail-close:hover{background:var(--color-accent);color:#fff}.detail-hero{position:relative;margin:16px auto 0;width:min(calc(100% - 40px),58vh);aspect-ratio:1 / 1;background:#fff;border:1px solid #e3e3df;overflow:hidden;flex-shrink:0}.detail-hero .detail-hero-placeholder{z-index:1}.detail-hero .detail-hero-highres{z-index:2}.detail-body{display:flex;flex-direction:column;min-height:0;flex:1;padding:16px 20px 12px;overflow-x:auto;overflow-y:hidden}.detail-subhead{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:10px;align-items:center;margin:0 0 10px;flex-shrink:0}.detail-subhead>.detail-title{grid-column:1;grid-row:1;margin:0}.detail-subhead>.detail-actions{grid-column:2;grid-row:1;justify-self:stretch;min-width:0;container-type:inline-size;container-name:detail-actions}.detail-subhead>.detail-tags-scroll{grid-column:1 / -1;grid-row:2}.detail-title{font-family:var(--font-sans);font-size:36px;line-height:1;margin:0;letter-spacing:0;min-width:0}.detail-panel .detail-title{white-space:nowrap;overflow-wrap:normal;word-break:normal;min-width:min-content}.detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-flow:row wrap;align-content:center;flex-shrink:0}@container detail-actions (max-width: 370px){.detail-subhead>.detail-actions{justify-self:end;width:max-content;max-width:100%}.detail-actions{display:grid;grid-template-columns:max-content;justify-items:stretch;gap:8px;width:max-content;max-width:100%}.detail-subhead .detail-cta{width:auto;justify-content:center}}.detail-tags-scroll{position:relative;margin:0 -20px 12px;flex-shrink:0;display:flex;align-items:center}.detail-tags{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;overflow-y:hidden;padding:2px 20px 6px;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-width:0;scroll-behavior:smooth}.detail-tags::-webkit-scrollbar{display:none}.detail-tags-scroll.is-overflow-left .detail-tags{mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 100%)}.detail-tags-scroll.is-overflow-right .detail-tags{mask-image:linear-gradient(to left,transparent 0,#000 28px,#000 100%);-webkit-mask-image:linear-gradient(to left,transparent 0,#000 28px,#000 100%)}.detail-tags-scroll.is-overflow-left.is-overflow-right .detail-tags{mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%)}.detail-tags-arrow{flex:0 0 auto;width:26px;height:26px;border:1px solid var(--color-rule);border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text);opacity:0;pointer-events:none;transition:opacity .15s ease,background .15s ease;margin:0 6px;z-index:1}.detail-tags-scroll.is-overflow-left .detail-tags-arrow--left,.detail-tags-scroll.is-overflow-right .detail-tags-arrow--right{opacity:1;pointer-events:auto}.detail-tags-arrow:hover{background:var(--color-warm)}.detail-tag-pill{flex:0 0 auto;font-size:11px;padding:5px 12px;border-radius:999px;background:var(--color-warm);letter-spacing:.04em;white-space:nowrap}.detail-filters-scroll{flex:1;min-height:96px;display:flex;flex-direction:column;padding-top:10px;margin-top:4px;border-top:1px solid #d9d9d4;overflow:hidden}.detail-filters-heading{font-family:var(--font-sans);font-size:16px;letter-spacing:0;color:var(--color-text);opacity:.5;text-transform:none;margin:0 0 8px;flex-shrink:0}.detail-filters{margin:0;flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:10px 16px;padding-right:4px}@media (min-width: 520px){.detail-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.detail-filter-row{display:flex;flex-direction:column;gap:2px;margin:0;font-size:13px;min-width:0}.detail-filter-row dt{font-family:var(--font-sans);color:var(--color-text);opacity:.5;font-size:11px;letter-spacing:0;text-transform:none}.detail-filter-row dd{font-family:var(--font-serif);margin:0;overflow-wrap:anywhere;line-height:1.25}.detail-metadata-cq{flex:1;min-height:0;display:flex;flex-direction:column;container-type:size;container-name:detail-metadata}.detail-metadata-body{flex:1;min-height:0;display:flex;flex-direction:column}@supports (container-type: size){@container detail-metadata (max-height: 80px){.detail-metadata-body{display:none}.detail-metadata-cq{flex:0 0 0;min-height:0;overflow:hidden}}}@supports not (container-type: size){@media (max-height: 520px){.workspace--detail .detail-metadata-body{display:none}}}.detail-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;border:0;background:var(--color-highlight);font-size:11px;font-weight:500;font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text);padding:8px 14px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background-color .3s var(--brand-ease),color .3s var(--brand-ease)}.detail-cta:hover,.detail-cta:active{background:var(--color-accent);color:#fff}.detail-cta:disabled{cursor:wait;opacity:.55}.detail-cta--secondary{background:var(--color-accent);color:#fff}.detail-subhead .detail-cta--secondary{padding-left:8px;padding-right:8px}.detail-cta--secondary:hover:not(:disabled),.detail-cta--secondary:active:not(:disabled){background:var(--color-highlight);color:var(--color-text)}.detail-error{margin:0 0 8px;font-family:var(--font-serif);font-size:12px;color:#8b1d00}.site-footer{container-type:inline-size;container-name:site-footer;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid var(--color-text);height:var(--footer-height);padding:0 3vw;font-size:clamp(9px,2.75cqw,14px);line-height:1.25;color:var(--color-text);text-transform:uppercase;background:#fff}.footer-left{display:flex;gap:clamp(8px,4cqw,24px);align-items:center;flex-wrap:nowrap;white-space:nowrap;min-width:0}.footer-left a,.footer-left span,.footer-center,.footer-center a{white-space:nowrap}.footer-center{text-align:center;min-width:0}.site-footer a:hover{color:var(--color-muted)}body.filters-scroll-lock,body.filters-scroll-lock .gallery{overflow:hidden}.filters-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#20202073;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s;z-index:90}.filters-backdrop.open{opacity:1;visibility:visible;transition:opacity .25s ease}.filters-drawer{position:fixed;top:0;right:0;bottom:0;width:min(340px,100vw);background:#fff;border-left:1px solid var(--color-rule);box-shadow:-12px 0 36px #00000014;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column;z-index:100}.filters-drawer.open{transform:translate(0)}.filters-head{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:calc(var(--nav-height) + 1px);padding:0 18px 0 28px;border-bottom:1px solid var(--color-rule)}.filters-title{margin:0;font-family:var(--font-sans);font-size:24px;line-height:1;letter-spacing:0;text-transform:none;color:var(--color-text)}.filters-close{border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;padding:4px 6px;color:var(--color-text)}.filters-close:hover{color:var(--color-accent)}.filters-body{flex:1;overflow-y:auto;padding:20px 28px 24px}.filters-empty{color:var(--color-muted);font-family:var(--font-serif)}.filters-section{padding:4px 0 28px}.filters-section-label{margin:0 0 6px;font-family:var(--font-sans);font-size:16px;color:var(--color-text);opacity:.5;font-weight:400;letter-spacing:0}.filters-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.filters-option{position:relative;width:100%;display:flex;align-items:center;gap:10px;padding:6px 0 6px 14px;background:transparent;border:0;cursor:pointer;font-family:var(--font-sans);font-size:20px;line-height:1.3;text-align:left;color:var(--color-text);transition:color .15s ease}.filters-option:hover{color:var(--color-accent)}.filters-option-mark{position:absolute;left:0;top:8px;bottom:8px;width:2px;background:transparent;transition:background .15s ease}.filters-option.active .filters-option-mark{background:var(--color-accent)}.filters-option-label{flex:1}.filters-option--all{font-family:var(--font-sans);color:var(--color-text)}.filters-footer{box-sizing:border-box;flex-shrink:0;height:calc(var(--footer-height));border-top:1px solid var(--color-rule);padding:0 3vw;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff}.filters-reset{background:transparent;color:var(--color-text);border:0;padding:10px 14px;font-family:var(--font-sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.filters-reset:disabled{color:#c4c4c0;cursor:not-allowed}.filters-reset:not(:disabled):hover{color:var(--color-accent)}.filters-apply{background:var(--color-text);color:#fff;border:0;padding:12px 28px;font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:6px;min-width:160px;transition:background-color .3s var(--brand-ease),color .3s var(--brand-ease),transform .15s ease}.filters-apply:disabled{background:#e3e3de;color:#9a9a95;cursor:not-allowed}.filters-apply:not(:disabled):hover{background:var(--color-accent);transform:translateY(-1px)}.filters-apply:not(:disabled):active{transform:translateY(0)}.floating-build-button{position:fixed;right:20px;bottom:calc(var(--footer-height) + 16px);z-index:40;display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:var(--color-text);color:#fff;font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-radius:6px;box-shadow:0 8px 24px #0000002e;transition:background-color .3s var(--brand-ease),color .3s var(--brand-ease),transform .15s ease}.floating-build-button:hover{background:var(--color-accent);transform:translateY(-1px)}.floating-build-button:active{transform:translateY(0)}@media (max-width: 720px),((max-height: 760px) and (min-width: 721px)){.workspace--detail .detail-subhead{column-gap:10px;row-gap:8px;align-items:center}.workspace--detail .detail-subhead>.detail-tags-scroll{margin:0 -20px 12px;min-width:0}}@media (max-height: 680px) and (max-width: 720px){.workspace--detail .detail-hero{width:min(calc(100% - 40px),40vh)}}@media (max-width: 720px){.workspace--detail{grid-template-columns:1fr}.workspace--detail .gallery{display:none}.app-shell:has(.workspace--detail) .floating-build-button{display:none}.detail-panel{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--color-rule)}.workspace--detail .detail-hero{width:min(calc(100% - 40px),46vh)}.footer-tail{display:none}.site-footer{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:clamp(6px,3cqw,14px);height:var(--footer-height);padding:0 max(12px,3vw)}.footer-left{flex:1 1 auto;gap:clamp(6px,3cqw,16px);min-width:0;text-align:left}.footer-center{flex:0 1 auto;text-align:right;margin-left:6px;min-width:0}}@font-face{font-family:NeueMontreal;src:url(/assets/PPNeueMontreal-Medium-DDZXP0uB.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MessinaModern;src:url(/assets/MessinaModernWeb-Regular-DQhF7E79.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--color-text: #303030;--color-muted: #808080;--color-rule: #d1d5db;--color-accent: #f15c24;--color-warm: #e5e4dc;--color-highlight: #ffc15e;--color-bg: #ffffff;--color-panel: #fafafa;--font-sans: "NeueMontreal", "Helvetica Neue", Arial, sans-serif;--font-serif: "MessinaModern", Georgia, "Times New Roman", serif;--brand-ease: cubic-bezier(.4, 0, .2, 1);--nav-height: 46px;--tagbar-height: 56px;--footer-height: 52px;--gallery-min-page-height: 760px}*{box-sizing:border-box}html{min-height:100%}body{margin:0;display:flex;flex-direction:column;min-height:max(var(--gallery-min-page-height),100vh);min-height:max(var(--gallery-min-page-height),100dvh);overflow-x:hidden;overflow-y:auto;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:14px;line-height:1.35;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}::-webkit-scrollbar{display:block;width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--color-text)}::-webkit-scrollbar-track{background:transparent}button{font-family:inherit;color:inherit}a{color:inherit;text-decoration:none}.app-shell{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:hidden}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
