:root { --ease-smooth: cubic-bezier(.22, 1, .36, 1); --ease-spring: cubic-bezier(.22, 1.15, .36, 1); }
 .rules-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
 .rules-nav a { padding: 10px 15px; border: 1px solid var(--line); border-radius: 24px; color: var(--gold); font-size: 12px; transition: border-color .3s; }
 .rules-nav a:hover { border-color: var(--gold); }
 .rules-list { min-width: 0; }
 .rules-list details { scroll-margin-top: 12px; }
 .rules-content { padding: 0 20px 24px; }
 .rules-list .rules-content p { padding: 16px 0; margin: 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
 .rules-content h3 { margin: 24px 0 12px; font-size: 14px; color: var(--gold); }
 .rules-content ul { padding-left: 20px; color: var(--muted); font-size: 13px; line-height: 1.9; }
 .rules-content li { margin-bottom: 8px; overflow-wrap: anywhere; }
 @media (max-width: 580px) { .rules-content { padding: 0 12px 18px; } .rules-nav a { font-size: 11px; } }
html { scroll-padding-top: 125px; }
.site-shell { padding-top: 118px; }
.header { position: fixed; z-index: 20; top: 22px; left: 50%; transform: translateX(-50%); width: min(1040px, calc(100% - 64px)); height: 78px; padding: 0 24px; gap: 28px; border: 1px solid #dfbe7c25; border-radius: 42px; background: #171a17ed; backdrop-filter: blur(24px); box-shadow: 0 16px 50px #0005, inset 0 1px 0 #ffffff06; transition: width .65s var(--ease-smooth), height .55s var(--ease-smooth), top .55s var(--ease-smooth), box-shadow .5s, border-color .5s; }
.header.is-compact { width: min(920px, calc(100% - 64px)); height: 64px; top: 14px; box-shadow: 0 12px 40px #0007; border-color: #dfbe7c38; }
.header .brand { font-size: 18px; gap: 10px; flex-shrink: 0; }
.header .brand small { font-size: 6px; letter-spacing: 3px; }
.header .brand-mark { transform: scale(.8) skewY(-7deg); width: 30px; }
.island-menu { display: flex; align-items: center; justify-content: space-between; gap: 25px; flex: 1; min-width: 0; }
.header .navigation { position: relative; gap: 2px; height: 40px; width: auto; order: initial; padding: 3px; border-radius: 24px; background: #0b0e0b55; }
.header .navigation a { height: 34px; padding: 0 16px; font-size: 11px; z-index: 1; border-radius: 20px; transition: color .3s; }
.header .navigation a[aria-current] { color: var(--gold); }
.header .navigation a[aria-current]:after { display: none; }
.nav-highlight { position: absolute; top: 3px; left: 0; height: 34px; border-radius: 22px; background: #dfbe7c12; border: 1px solid #dfbe7c20; pointer-events: none; opacity: 0; transition: transform .55s var(--ease-spring), width .55s var(--ease-spring), opacity .3s; }
.header .header-social { border-radius: 24px; padding: 11px 15px; white-space: nowrap; }
.island-toggle { display: none; }
.footer { display: block; padding: 45px 0 24px; }
.footer-top { display: grid; grid-template-columns: 1.5fr .8fr 1.2fr; gap: 50px; padding-bottom: 38px; }
.footer .footer-brand { font-size: 23px; }
.footer .footer-intro p { margin-top: 16px; font-size: 11px; line-height: 1.8; }
.footer-status { display: inline-flex; gap: 8px; align-items: center; margin-top: 22px; font-size: 9px; color: #9ca58e; }
.footer h2 { font-size: 10px; color: #d1d5c6; font-weight: 600; margin-bottom: 18px; letter-spacing: 1px; }
.footer-navigation { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.footer-navigation h2 { margin-bottom: 5px; }
.footer-navigation a { font-size: 11px; color: var(--muted); }
.footer-contacts { display: flex; flex-direction: column; gap: 15px; }
.footer-contacts h2 { margin-bottom: 3px; }
.footer-contacts a, .footer-contact-soon { display: flex; align-items: center; gap: 11px; font-size: 11px; color: #aab29c; }
.footer-contacts svg { width: 16px; height: 16px; color: var(--gold); }
.footer-contacts a svg:last-child { width: 12px; height: 12px; margin-left: auto; color: #8b937d; }
.footer-contact-soon { color: #838c76; }
.footer-contact-soon svg { color: #838c76; }
.footer-contact-soon small { font-size: 8px; border: 1px solid #3c4430; border-radius: 10px; padding: 3px 8px; margin-left: auto; }
.footer-bottom { display: flex; align-items: center; gap: 25px; border-top: 1px solid var(--line); padding-top: 22px; }
.footer-bottom p { font-size: 9px; }
.footer-bottom .footer-note { width: auto; font-size: 8px; }
.footer-bottom a { display: flex; align-items: center; gap: 8px; margin-left: auto; font-size: 9px; color: #b1b8a5; white-space: nowrap; }
.footer-bottom svg { transform: rotate(-90deg); }
.footer a { transition: color .3s var(--ease-smooth); }
.footer a:hover { color: var(--gold); }
.js .page:not([hidden]) { animation: none; }
.button { position: relative; overflow: hidden; isolation: isolate; transition: transform .5s var(--ease-spring), background .35s, box-shadow .4s; }
.button:active { transform: scale(.96); }
.button svg, .contact-link svg, .header-social svg { transition: transform .5s var(--ease-spring); }
.button:hover svg, .contact-link:hover svg, .header-social:hover svg:last-child { transform: translate(3px, -2px); }
.button-ripple { position: absolute; border-radius: 50%; background: currentColor; opacity: .16; pointer-events: none; z-index: -1; animation: button-ripple .65s ease-out forwards; }
.catalog-card, .contact-card { transition: transform .55s var(--ease-spring), border-color .4s, box-shadow .45s; }
.rules-list details { overflow: hidden; }
.rules-list .details-plus { transition: transform .4s var(--ease-smooth); }
.rules-list details[open] .details-plus { transform: rotate(var(--plus-rotation, 45deg)); }
.island-menu > .navigation { flex-shrink: 0; }
@media (max-width: 800px) { .js .island-menu > .navigation { margin-top: 20px; } .js .island-menu > .header-social { margin-bottom: 6px; } }
.reveal { transition: opacity .8s var(--ease-smooth) var(--reveal-delay,0ms), transform .8s var(--ease-smooth) var(--reveal-delay,0ms); }
@keyframes button-ripple { from { transform: scale(0); opacity: .16; } to { transform: scale(4); opacity: 0; } }
@media (hover:hover) { .catalog-card:hover, .contact-card:hover { transform: translateY(-5px) rotate(-.35deg); box-shadow: 0 15px 35px #0002; } }
@media (max-width: 1000px) { .header { gap: 16px; padding: 0 20px; } .header .navigation a { padding: 0 12px; } .island-menu { gap: 14px; } .header-social svg:last-child { display: none; } .header .header-social { padding: 10px 12px; } }
@media (max-width: 800px) {
    .site-shell { padding-top: 112px; }
    .header, .header.is-compact { top: 16px; width: calc(100% - 40px); height: auto; min-height: 66px; padding: 14px 20px; border-radius: 32px; flex-wrap: wrap; gap: 0; }
    .header .brand { font-size: 17px; }
    .header .brand-mark { height: 33px; }
    .js .island-toggle { display: inline-flex; align-items: center; gap: 14px; margin-left: auto; border: 0; padding: 10px 0 10px 12px; font: 10px var(--body); color: var(--gold); background: none; cursor: pointer; }
    .island-toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; border-radius: 5px; }
    .menu-icon { position: relative; display: block; width: 18px; height: 16px; }
    .menu-icon i { position: absolute; left: 0; top: 4px; width: 18px; height: 1px; background: var(--gold); transition: transform .4s var(--ease-spring); }
    .menu-icon i:last-child { top: 11px; width: 12px; }
    .is-open .menu-icon i:first-child { transform: translateY(3.5px) rotate(45deg); }
    .is-open .menu-icon i:last-child { width: 18px; transform: translateY(-3.5px) rotate(-45deg); }
    .island-menu { width: 100%; flex-basis: 100%; flex-direction: column; gap: 16px; padding: 20px 0 6px; }
    .js .island-menu { height: 0; overflow: hidden; opacity: 0; padding: 0; visibility: hidden; }
    .js .is-open .island-menu { visibility: visible; }
    .header .navigation { width: 100%; height: 40px; justify-content: space-between; }
    .header .navigation a { padding: 0 14px; flex: 1; justify-content: center; font-size: 11px; }
    .header .header-social { padding: 10px 16px; border: 1px solid #3c4034; }
    .footer-top { grid-template-columns: 1fr 1fr; gap: 35px; }
    .footer-intro { grid-column: 1 / -1; }
    .footer-bottom { flex-wrap: wrap; gap: 15px; }
}
@media (max-width: 580px) {
    .header, .header.is-compact { width: calc(100% - 28px); top: 12px; padding: 12px 17px; }
    .site-shell { padding-top: 96px; }
    .header .brand { font-size: 15px; gap: 5px; }
    .header .brand small { font-size: 5px; letter-spacing: 2.5px; }
    .island-current { font-size: 9px; }
    .header .navigation a { font-size: 10px; padding: 0 6px; }
    .footer { padding-top: 32px; }
    .footer-top { grid-template-columns: 1fr; gap: 28px; }
    .footer-intro { grid-column: auto; }
    .footer-navigation { display: grid; grid-template-columns: repeat(2, 1fr); }
    .footer-navigation h2 { grid-column: 1 / -1; }
    .footer .footer-intro p { width: auto; }
    .footer-contacts { max-width: 350px; }
    .footer-bottom p { width: 100%; order: 0; }
    .footer-bottom .footer-note { order: 0; max-width: 190px; line-height: 1.8; }
}
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { animation: none !important; transition: none !important; } }
