
.siteHeader { width:min(1560px,calc(100% - 80px)); margin:auto; min-height:98px; display:flex; align-items:center; gap:38px; border-bottom:1px solid #ffffff30; position:relative; z-index:8; }
.siteHeader .logo { flex-shrink:0; }
.siteHeader .logo img { width:168px; }
.siteNav { display:flex; align-items:center; gap:24px; margin-left:auto; font-size:13px; }
.siteNav > a,.siteNav summary { padding:18px 0; }
.siteNav summary { list-style:none; cursor:pointer; }
.siteNav summary:after { content:'⌄'; margin-left:7px; color:#baa58f; }
.siteNav summary::-webkit-details-marker,.mobileNav summary::-webkit-details-marker { display:none; }
.navDropdown { position:relative; }
.navPanel { position:absolute; top:100%; left:-24px; width:290px; display:grid; gap:0; padding:16px 22px; color:#151616; background:#f2f0ec; box-shadow:0 16px 50px #0003; border-top:2px solid #b49a7c; }
.navPanel a { padding:10px 0; line-height:1.3; }
.navPanel a:hover { text-decoration:underline; }
.navAll { font-weight:600; border-bottom:1px solid #0002; margin-bottom:6px; }
.headerContact { display:flex; align-items:center; gap:22px; font-size:13px; white-space:nowrap; }
.headerCta { border:1px solid #ffffff70; padding:13px 17px; border-radius:30px; }
.mobileNav { display:none; }
.siteFooter { padding:70px max(40px,calc((100vw - 1440px)/2)) 28px; color:#eee; background:#090a0b; border-top:1px solid #ffffff25; }
.footerTop { display:flex; justify-content:space-between; gap:40px; padding-bottom:45px; border-bottom:1px solid #ffffff25; }
.footerBrand p { color:#aaa; line-height:1.6; font-size:14px; margin-top:22px; }
.footerContacts { display:flex; flex-direction:column; align-items:flex-end; gap:15px; }
.footerContacts > a:first-child { font-size:28px; font-weight:350; }
.footerContacts > a:nth-child(2) { font-size:22px; font-weight:350; }
.footerContacts p,.footerContacts > a:last-child { color:#aaa; font-size:12px; margin:0; }
.footerMenus { display:grid; grid-template-columns:1.2fr 1.2fr 1fr 1fr; gap:40px; padding:42px 0; }
.footerMenus nav,.footerSocial { display:flex; flex-direction:column; gap:12px; }
.footerMenus h2 { font-size:14px; font-weight:500; color:#d5bfaa; margin:0 0 10px; }
.footerMenus a { color:#bcbdbd; font-size:12px; line-height:1.5; }
.footerMenus a:hover { color:#fff; text-decoration:underline; }
.footerSocial p { font-size:12px; color:#898b8d; line-height:1.6; margin:15px 0 0; }
.footerLegal { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #ffffff25; padding-top:24px; font-size:11px; color:#999; }
@media(max-width:1200px) { .siteHeader { gap:24px; } .siteNav { gap:18px; } .headerCta { display:none; } }
@media(max-width:960px) {
  .siteHeader { width:calc(100% - 48px); min-height:82px; gap:24px; }
  .siteNav { display:none; }.headerContact { margin-left:auto; }.mobileNav { display:block; }
  .mobileNav summary { list-style:none; cursor:pointer; display:flex; gap:12px; align-items:center; padding:15px 0; font-size:13px; }
  .mobileNav nav { position:absolute; top:100%; right:0; width:min(360px,90vw); max-height:75svh; overflow-y:auto; display:grid; gap:0; background:#f2f0ec; color:#111; padding:15px 25px; border-top:2px solid #b49a7c; box-shadow:0 14px 40px #0005; }
  .mobileNav nav a { padding:11px 0; font-size:14px; line-height:1.4; }
  .footerMenus { grid-template-columns:1fr 1fr; gap:38px; }
}
@media(max-width:650px) {
  .siteHeader { width:calc(100% - 36px); min-height:78px; gap:15px; }.siteHeader .logo img { width:135px; }.headerContact { display:none; }.mobileNav { margin-left:auto; }
  .siteFooter { padding:55px 20px 50px; }.footerTop { flex-direction:column; gap:30px; }.footerContacts { align-items:flex-start; }.footerContacts > a:first-child { font-size:26px; }.footerContacts > a:nth-child(2) { font-size:21px; }.footerMenus { grid-template-columns:1fr 1fr; gap:35px 20px; }.footerMenus a { font-size:11px; }.footerMenus h2 { font-size:13px; }.footerLegal { flex-wrap:wrap; gap:18px; line-height:1.6; }
}