@font-face{font-family:Montserrat;src:url("montserrat-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url("montserrat-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url("montserrat-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
:root{color-scheme:dark;--blue:#00a8e0;--muted:#aaa;--overlay:rgb(0 0 0 / 70%)}
*{box-sizing:border-box}
body{margin:0;background:#000;color:#eee;font-family:Montserrat,Arial,sans-serif;font-size:13px;font-weight:400;min-width:280px}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
[hidden]{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:12px;padding:12px;background:#111;z-index:10;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-header{min-height:94px;padding:24px clamp(20px,2.25vw,44px);display:flex;align-items:center;justify-content:space-between;gap:32px;background:#232323 url("../img_menu/header_bg.jpg") center/cover no-repeat;position:relative;z-index:2}
.brand{display:block;flex:none;line-height:0}
.brand img{display:block;width:307px;max-width:100%;height:auto}
.main-navigation{display:flex;align-items:center;white-space:nowrap}
.main-navigation a{transition:color .15s}
.main-navigation a:hover{color:var(--blue)}
.main-navigation a+a::before{content:"|";display:inline-block;margin:0 10px;color:#aaa}
.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid #606060;background:rgb(0 0 0 / 30%);border-radius:2px;color:#fff;cursor:pointer}
.menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .15s,opacity .15s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.filter-section{background:#111;border:1px solid #242424;padding:8px 16px}
.filters{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;min-height:36px}
.filters button{position:relative;border:0;background:none;color:#aaa;padding:9px 10px;min-height:36px;cursor:pointer;font-size:12px;line-height:18px}
.filters button+button::before{content:"";position:absolute;left:0;top:13px;height:10px;width:1px;background:#777}
.filters button::after{content:"";height:1px;position:absolute;bottom:7px;left:9px;right:9px;background:transparent}
.filters button[aria-pressed="true"]{color:#fff}
.filters button[aria-pressed="true"]::after{background:var(--blue)}
.filters button:hover{color:#fff}
.gallery-area{padding:20px clamp(16px,1.8vw,36px)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:18px}
.gallery-card{display:block;position:relative;overflow:hidden;aspect-ratio:3/2;background:#151515;box-shadow:inset 0 0 0 1px #222}
.gallery-card::after{content:"";position:absolute;inset:0;border:1px solid transparent;pointer-events:none;transition:border-color .15s}
.gallery-card:hover::after,.gallery-card:focus-visible::after{border-color:var(--blue)}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-caption{position:absolute;bottom:0;left:0;right:0;background:var(--overlay);padding:5px 7px;color:#eee;line-height:1.35;overflow-wrap:anywhere}
.image-unavailable{position:absolute;inset:0;display:grid;place-content:center;padding:20px;text-align:center;color:#aaa;font-size:12px}
.gallery-message{padding:48px 16px;text-align:center;line-height:1.7;color:#bbb;margin:0}
.social-links{min-height:56px;display:flex;align-items:center;justify-content:center;gap:18px;background:#111;border:1px solid #222;padding:8px 16px;font-size:14px}
.social-links a{display:inline-flex;align-items:center;gap:8px;min-height:38px}
.social-links a:hover{color:var(--blue)}
.social-links svg{width:16px;height:16px;fill:currentColor}
.social-dot{color:#bd9052}
.footer-scene{min-height:205px;padding:20px 20px 18px;background:#292929 url("../img_menu/footer_bg.jpg") center/cover no-repeat;text-align:center}
.tagline{font-size:19px;line-height:1.5;margin:0 0 18px}
.tagline strong{font-weight:700}
.footer-logo{display:block;margin:0 auto;width:87px;height:87px}
.copyright{font-size:13px;color:#999;margin:14px 0 0}
@media(min-width:2000px){.gallery{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}
@media(max-width:820px){
.site-header{padding:20px;min-height:88px;gap:20px}
.menu-toggle{display:flex;flex:none}
.brand{max-width:calc(100% - 64px)}
.main-navigation{display:none;position:absolute;left:0;right:0;top:100%;background:#171717;border-block:1px solid #333;padding:10px 20px;box-shadow:0 8px 16px rgb(0 0 0 / 30%)}
.main-navigation.is-open{display:flex;flex-direction:column;align-items:stretch}
.main-navigation a{padding:13px 8px;min-height:44px}
.main-navigation a+a{border-top:1px solid #303030}
.main-navigation a+a::before{display:none}
.filters button{min-width:34px;min-height:40px}
.filters button+button::before{top:15px}
.gallery{gap:16px}
.tagline{font-size:17px}
}
@media(max-width:420px){.site-header{padding:16px}.gallery-area{padding:16px}.filter-section{padding:8px}.tagline{font-size:16px}.social-links{gap:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}