.site-search-toggle{border:0;background:transparent;color:inherit;font-size:30px;cursor:pointer;min-width:44px;min-height:44px;padding:0;margin-left:12px}.site-search-dialog,.product-viewer{background:var(--bg,#fff);color:var(--ink,#111);border:1px solid #888;border-radius:4px;padding:28px;width:min(92vw,760px);max-height:90dvh;overflow:auto}.site-search-dialog::backdrop,.product-viewer::backdrop{background:#000b}.dialog-close{display:block;margin-left:auto;border:0;background:transparent;color:inherit;font:32px/1 sans-serif;cursor:pointer;min-width:44px;min-height:44px}.site-search-dialog label{display:block;font-size:28px;margin:12px 0}.site-search-dialog input{width:100%;padding:14px;border:1px solid #888;border-radius:0;background:transparent;color:inherit;font:inherit}.site-search-results{padding:0;list-style:none}.site-search-results a{display:block;padding:14px 0;border-bottom:1px solid #8885;text-decoration:none;color:inherit}.site-search-results small{display:block;opacity:.6;font-size:13px;margin-top:4px}.back-to-top{position:fixed;bottom:24px;left:20px;z-index:30;min-width:44px;min-height:44px;background:var(--bg,#fff);color:var(--ink,#111);border:1px solid #888;border-radius:50%;font-size:24px;cursor:pointer}.back-to-top[hidden]{display:none}.mobile-welcome-photo{display:none}.outside-projects{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:70px}.outside-projects img{width:100%;height:55vh;object-fit:cover}.outside-projects a{color:inherit;text-decoration:none}.outside-projects h2{font-size:32px}.shop-image[role=button]{cursor:zoom-in}.shop-image[role=button]:focus-visible{outline:3px solid #888;outline-offset:4px}.product-view-stage{columns:1!important;display:block!important;width:min(100%,650px);margin:auto}.product-view-stage .shop-product{width:100%!important;break-inside:avoid}.product-view-stage .shop-image{cursor:zoom-in}.product-view-stage.is-zoomed{width:1100px;max-width:none}.product-view-stage.is-zoomed .shop-image{cursor:zoom-out}.product-viewer h2{font-size:24px;padding-right:35px}.product-viewer>p{font-size:14px;opacity:.65}.product-viewer{width:min(92vw,850px)}
@media(max-width:700px){header.nav{gap:8px;padding:16px 18px;flex-wrap:wrap}.nav .brand{font-size:18px}.nav .mark{width:24px}.nav .links{gap:14px;margin-left:auto}.nav .links a{font-size:14px}.nav .lang{font-size:13px}.site-search-toggle{margin-left:0;font-size:26px;width:32px;min-width:32px}.mobile-welcome-photo{display:block;margin:0 0 24px;width:100%}.mobile-welcome-photo img{display:block;width:100%;height:38dvh;max-height:380px;min-height:230px;object-fit:cover;object-position:center 35%}.home-hero{padding-top:0!important;padding-bottom:32px!important;min-height:0!important;gap:24px!important}.home-section,.portfolio-intro,.project-intro,.shop-heading{padding-top:28px!important;padding-bottom:28px!important;margin-top:0!important;min-height:0!important}.project-intro{gap:22px!important}.project-intro h1{font-size:clamp(36px,11vw,64px)!important;line-height:1.05}.project-main{padding-top:20px!important}.project-gallery{margin-top:20px!important;gap:14px!important}.gallery-section{margin-bottom:32px!important}.footer{padding-top:35px!important;padding-bottom:25px!important;min-height:0!important}.outside-projects{grid-template-columns:1fr;gap:20px}.outside-projects img{height:auto;max-height:70dvh;object-fit:contain}.shop-section{padding-top:30px!important;padding-bottom:20px!important}.shop-section-head{margin-bottom:20px!important}.site-search-dialog,.product-viewer{padding:16px}.back-to-top{bottom:18px;left:12px}}
.product-view-stage.is-zoomed{width:1100px!important}.product-viewer .dialog-close{position:sticky;top:0;z-index:8;background:var(--bg,#fff)}
@media(max-width:700px){header.nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;padding:12px 16px}.nav .brand-wrap{grid-column:1;grid-row:1;min-width:0}.nav .brand{font-size:16px}.nav .lang{grid-column:2;grid-row:1;margin:0}.site-search-toggle{grid-column:3;grid-row:1}.nav .theme-choice{grid-column:4;grid-row:1;margin:0;max-width:62px;font-size:10px;padding:7px 2px}.nav .links{grid-column:1/-1;grid-row:2;display:flex;width:100%;justify-content:space-between;margin:0}.nav .links a{padding:4px 0}.nav .mark{width:19px}.nav .brand-wrap{gap:7px}}
