/* Строители Москва — союз.online */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --bg: #eef2f9; --card: #fff; --card2: #e5ebf8; --border: #c8d4e8; --acc: #1a2a5c; --acc2: #2a3f80; --text: #060d1e; --muted: #3a4a6e; --dim: #8090b0; --shad: 0 2px 12px rgba(0,0,0,.08); --r: 13px; }
[data-theme="dark"] { --bg: #010208; --card: #040b1a; --card2: #040b1a; --border: #1a2030; --acc: #7090d8; --acc2: #5070c0; --text: #dde8ff; --muted: #8aabdc; --dim: #4060a0; --shad: 0 2px 12px rgba(0,0,0,.4); }
html { scroll-behavior: smooth; }
body { font-family: system-ui,-apple-system,Roboto,sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; transition: background .25s, color .25s; }
a { color: var(--acc2); text-decoration: none; } a:hover { text-decoration: underline; }
.nav { position: sticky; top: 0; z-index: 200; display: flex; align-items: center; gap: .75rem; padding: .7rem 1.5rem; background: rgba(238,242,249,.96); border-bottom: 1px solid var(--border); backdrop-filter: blur(14px); }
[data-theme="dark"] .nav { background: rgba(1,2,8,.94); }
.nav-brand { display: flex; align-items: center; gap: .4rem; font-weight: 700; font-size: .95rem; color: var(--text); }
.nav-brand:hover { text-decoration: none; opacity: .85; }
.nav-links { margin-left: auto; display: flex; align-items: center; gap: .25rem; }
.nav-link { font-size: .82rem; color: var(--muted); padding: .3rem .65rem; border-radius: 6px; }
.nav-link:hover { background: var(--card2); text-decoration: none; color: var(--acc); }
.theme-btn { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--border); background: var(--card); cursor: pointer; font-size: 1rem; display: flex; align-items: center; justify-content: center; }
.hero { padding: 3rem 1.5rem 2rem; background: linear-gradient(135deg, var(--bg) 0%, var(--card2) 100%); border-bottom: 1px solid var(--border); text-align: center; }
.badge { display: inline-block; background: var(--acc); color: #fff; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .25rem .8rem; border-radius: 20px; margin-bottom: 1rem; }
.hero h1 { font-size: clamp(1.8rem, 5vw, 3rem); font-weight: 900; color: var(--acc); margin-bottom: .6rem; }
.hero p { font-size: .95rem; color: var(--muted); max-width: 580px; margin: 0 auto 1.4rem; }
.btns { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-bottom: 1rem; }
.btn { display: inline-flex; align-items: center; gap: .4rem; padding: .6rem 1.3rem; border-radius: 9px; font-weight: 600; font-size: .9rem; cursor: pointer; transition: opacity .15s; white-space: nowrap; }
.btn:hover { opacity: .85; text-decoration: none; }
.btn-p { background: var(--acc); color: #fff; }
.btn-o { background: transparent; color: var(--acc); border: 1.5px solid var(--acc); }
.geo { font-size: .78rem; background: var(--card); color: var(--muted); padding: .2rem .65rem; border-radius: 20px; border: 1px solid var(--border); }
.vband { background: var(--acc); color: #fff; padding: .5rem 1.2rem; text-align: center; font-size: .78rem; }
.section { padding: 2.5rem 1.2rem; }
.section-inner { max-width: 800px; margin: 0 auto; }
.section h2 { font-size: 1.5rem; font-weight: 800; text-align: center; margin-bottom: .8rem; color: var(--text); }
.section p { font-size: .95rem; color: var(--muted); text-align: center; line-height: 1.7; }
.section--card { background: var(--card); }
.footer { background: var(--bg); border-top: 1px solid var(--border); padding: 1.5rem 1.2rem; text-align: center; font-size: .78rem; color: var(--dim); }
.footer a { color: var(--acc2); } .footer-row { margin-top: .35rem; }
