#site-menu{position:absolute;right:20px;top:18px;z-index:5}
.site-menu-toggle{width:46px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #ff5f00;border-radius:12px;background:#fbfbfb;color:#ff5f00;box-shadow:0 4px 18px #20171026}
.site-menu-toggle span{display:block;width:23px;height:2px;background:currentColor}
.site-navigation{position:fixed;z-index:1100;right:16px;top:54px;width:285px;max-width:calc(100vw - 32px);padding:6px;background:#fbfbfb;border:1px solid #ff5f00;border-radius:12px;box-shadow:0 12px 36px #20171030}
.site-navigation[hidden]{display:none}
.site-navigation a{display:flex;align-items:center;gap:10px;min-height:42px;padding:4px 9px;border-radius:7px;text-decoration:none;color:#242424;font-size:12px}
.site-navigation a:hover,.site-navigation a[aria-current]{background:#f2f2f2}
.menu-badge{display:grid;place-items:center;width:29px;height:29px;flex-shrink:0;border-radius:8px;background:#ff5f00;color:#242424}
.menu-badge svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.page-header{position:relative;min-height:86px;padding:26px 80px 26px 24px;background:#fff;border-bottom:2px solid #ff5f00}
.page-header>a{text-decoration:none;font-weight:600}
.content-page{max-width:940px;margin:40px auto;padding:0 24px 60px}
.content-page h1{font-size:clamp(26px,5vw,40px);line-height:1.25;letter-spacing:-1px;margin-bottom:20px}
.content-page h2{font-size:20px;margin-top:28px;letter-spacing:-.4px}
.content-page p{line-height:1.9;margin:12px 0;font-size:13px}
.content-page a{text-underline-offset:3px}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,calc(2cm + 8px));gap:8px;margin:24px 0}
.photo-thumb{box-sizing:content-box;width:2cm;height:2cm;padding:3px;border:1px solid #ffd59b;border-radius:6px;background:white}
.photo-thumb img{width:2cm;height:2cm;object-fit:cover;border-radius:3px;display:block}
.photo-thumb:hover{border-color:#ff5f00;transform:scale(1.12)}
#photo-viewer{max-width:1000px;padding:48px 18px 18px;background:#fbfbfb;max-height:95dvh}
#photo-viewer img{display:block;max-width:100%;max-height:65dvh;width:auto;margin:auto;object-fit:contain}
#photo-caption{text-align:center}
.photo-toolbar{display:flex;justify-content:center;gap:12px;margin-top:12px}
.photo-toolbar button,.gallery-more{border:1px solid #ff5f00;border-radius:8px;padding:10px 18px;background:#ff5f00;color:#242424}
@media(max-width:400px){#site-menu{right:12px;top:12px}.site-navigation a{font-size:11px;min-height:40px}}

html.menu-scroll-locked{overflow:hidden;overscroll-behavior:none}
body.menu-scroll-locked{position:fixed;left:0;right:0;overflow:hidden}
.site-navigation{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}

.site-navigation a,.site-navigation summary{border:1px solid transparent}
.site-navigation a:hover,.site-navigation a:focus-visible,.site-navigation a:active,.site-navigation a[aria-current],.site-navigation summary:hover,.site-navigation summary:focus-visible,.menu-account[open]>summary{background:#f2f2f2;border-color:#ff5f00;outline:none}
.site-navigation summary{display:flex;align-items:center;gap:10px;min-height:42px;padding:4px 9px;border-radius:7px;font-size:12px;cursor:pointer;list-style:none}
.site-navigation summary::-webkit-details-marker{display:none}
.site-navigation summary::after{content:'⌄';margin-left:auto}
.menu-account[open]>summary::after{content:'⌃'}
.menu-account>a{margin-left:39px}
.category-menu :is(button,input):is(:hover,:focus-visible,:active),.category-menu .cat-btn.active{outline:1px solid #ff5f00;outline-offset:1px}

.menu-account-header{display:flex;justify-content:flex-end;border-bottom:1px solid #dfdfdf;padding:4px 0 8px;margin-bottom:6px}
.site-navigation .menu-account-link{border:1px solid #ff5f00;background:#fff;gap:8px}
