@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:block;src:url(fonts/manrope-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:block;src:url(fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500 700;font-display:block;src:url(fonts/unbounded-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500 700;font-display:block;src:url(fonts/unbounded-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Noto Sans Georgian';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/noto-sans-georgian.woff2) format('woff2');unicode-range:U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F}
/* Фирменные цвета Music Point (22.10.2026): тёмно-синий #1A2232, бордовый #96283C, горчичный #EEB656, кремовый #FAF3E0, приглушённый оранжевый #F3C06B */
:root{--bg:#faf3e0;--card:#fffdf7;--ink:#1a2232;--muted:#555d6e;--line:#e6dcc4;--accent:#96283c;--accent-ink:#faf3e0;--accent2:#f3c06b;--soft:#f1e8d1;--shadow:0 1px 2px rgba(26,34,50,.05),0 8px 24px rgba(26,34,50,.07);color-scheme:light}
/* Тёмная тема: по выбору на сайте (data-theme, кнопка в шапке) или, если не выбирали, как в системе */
:root[data-theme=dark]{--bg:#1a2232;--card:#222b3e;--ink:#faf3e0;--muted:#b9b6ad;--line:#2f3a50;--accent:#eeb656;--accent-ink:#1a2232;--soft:#283247;--shadow:none;color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a2232;--card:#222b3e;--ink:#faf3e0;--muted:#b9b6ad;--line:#2f3a50;--accent:#eeb656;--accent-ink:#1a2232;--soft:#283247;--shadow:none;color-scheme:dark}}
/* тёмные блоки (первый экран, полоса анонсов, подвал): тёмно-синий, крем и янтарь */
.on-dark{--bg:#1a2232;--card:rgba(250,243,224,.06);--ink:#faf3e0;--muted:rgba(250,243,224,.72);--line:rgba(250,243,224,.16);--accent:#eeb656;--accent-ink:#1a2232;--soft:rgba(250,243,224,.08);--shadow:none;background:var(--bg);color:var(--ink)}
.on-dark .fact b{color:var(--accent2)}
.hero .fact b{color:var(--accent)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Manrope,"Noto Sans Georgian",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
.leaflet-container img{max-width:none!important;max-height:none!important}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
h1,h2,h3{font-family:Unbounded,"Noto Sans Georgian",Manrope,sans-serif;line-height:1.15;margin:0}
h2{font-size:clamp(26px,4vw,40px);margin-bottom:8px}
.lead{color:var(--muted);max-width:640px;margin:0 0 28px}
section{padding:64px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);font-weight:700;text-decoration:none;white-space:nowrap}
.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn:hover{filter:brightness(.97)}
/* шапка */
header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;height:60px}
.logo{font-family:Unbounded,"Noto Sans Georgian";font-weight:700;font-size:18px;text-decoration:none;display:flex;align-items:center;gap:8px;white-space:nowrap}
.logo img{width:40px;height:40px;border-radius:10px;flex:none}
nav{display:flex;gap:18px;margin-left:auto}nav a{text-decoration:none;color:var(--muted);font-weight:500}nav a:hover{color:var(--ink)}
@media (max-width:760px){nav{display:none}.theme-btn{margin-left:auto}.bar{gap:10px}}
/* грузинские пункты меню длинные: на средних экранах они не помещаются в шапку — прячем меню за ☰, как на телефоне */
@media (max-width:1100px){
  html[lang=ka] nav{display:none}html[lang=ka] .theme-btn{margin-left:auto}html[lang=ka] .menu-btn{display:block}
  html[lang=ka] nav.open{display:grid;position:absolute;top:60px;left:0;right:0;background:var(--card);border-bottom:1px solid var(--line);padding:8px 16px 16px;gap:0;box-shadow:var(--shadow)}
  html[lang=ka] nav.open a{padding:12px 4px;border-bottom:1px solid var(--line);font-size:17px;color:var(--ink)}
}
.theme-btn{display:none;align-items:center;justify-content:center;min-height:40px;min-width:40px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
:root[data-theme] .theme-btn{display:inline-flex}
.theme-btn .i-sun,:root[data-theme=dark] .theme-btn .i-moon{display:none}
:root[data-theme=dark] .theme-btn .i-sun{display:block}
.lang{position:relative}.lang-btn{min-height:40px;min-width:48px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:700 14px Manrope,"Noto Sans Georgian",sans-serif;cursor:pointer}
/* языки — ссылки на ту же страницу на другом языке */
.lang-menu{position:absolute;right:0;top:46px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:6px;display:grid;min-width:150px;z-index:30}
.lang-menu a{display:block;text-align:left;padding:10px 12px;color:var(--ink);font:500 15px Manrope,"Noto Sans Georgian",sans-serif;border-radius:10px;text-decoration:none}.lang-menu a:hover{background:var(--soft)}
.lang-menu a[aria-current=true]{font-weight:700;color:var(--accent)}
/* первый экран */
.hero{padding:40px 0 48px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center}
.hero h1{font-size:clamp(34px,5.6vw,64px)}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{font-size:18px;color:var(--muted);margin:18px 0 26px;max-width:520px}
.cta{display:flex;flex-wrap:wrap;gap:10px}
.hero-img{border-radius:24px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow)}
.hero-img img{width:100%;height:100%;object-fit:cover}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}
.fact{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.fact b{display:block;font-family:Unbounded,"Noto Sans Georgian";font-size:clamp(17px,4.4vw,22px);white-space:nowrap}.fact span{color:var(--muted);font-size:14px}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-img{order:-1}.facts{grid-template-columns:repeat(2,1fr)}}
/* точки */
.map{border-radius:20px;overflow:hidden;border:1px solid var(--line);margin-bottom:24px;background:var(--soft);height:440px;z-index:0}
@media (max-width:760px){.map{height:360px}}
.pin{width:30px;height:30px;border-radius:50%;background:#96283c;color:#faf3e0;display:grid;place-items:center;font:700 14px Manrope,"Noto Sans Georgian",sans-serif;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.leaflet-popup-content{margin:12px 14px;font:14px/1.45 Manrope,"Noto Sans Georgian",sans-serif}.leaflet-popup-content b{font-size:16px}
.leaflet-popup-content .pa{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.leaflet-popup-content .pa a{font-weight:700;color:#96283c}
/* фото точки в карточке на карте; фон карточки у карты всегда белый, поэтому цвета ссылок фиксированные */
.leaflet-popup-content .pop-img{display:block;width:100%;height:130px;object-fit:cover;border-radius:10px;margin-bottom:8px}
.locs{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media (max-width:860px){.locs{grid-template-columns:1fr}}
.loc{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.gallery{position:relative}
.loc-media{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;aspect-ratio:16/9;background:var(--soft);scrollbar-width:none;cursor:grab;user-select:none}
.loc-media::-webkit-scrollbar{display:none}.loc-media.drag{cursor:grabbing;scroll-snap-type:none}
.g-prev,.g-next{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(250,243,224,.9);color:#1a2232;font:700 24px/1 Manrope,"Noto Sans Georgian",sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2);display:grid;place-items:center;padding-bottom:3px}
.g-prev{left:10px}.g-next{right:10px}.g-prev:disabled,.g-next:disabled{opacity:0;pointer-events:none}
.g-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.g-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 2px rgba(0,0,0,.4)}.g-dots span.on{background:#fff;width:18px;border-radius:4px}
.loc-media img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}
.loc-media--empty{aspect-ratio:auto;height:56px;align-items:center;justify-content:center;color:var(--muted);font-size:14px;background:repeating-linear-gradient(135deg,var(--soft) 0 12px,transparent 12px 24px)}
.loc-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.loc-head{display:flex;align-items:center;gap:10px}.loc-head h3{font-size:22px}
.num{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.addr{margin:0;font-weight:700}.howto,.note{margin:0;color:var(--muted);font-size:15px}
.rooms{list-style:none;padding:0;margin:6px 0;display:grid;gap:8px}
.rooms li{background:var(--soft);border-radius:12px;padding:10px 12px;font-size:15px}
.rooms b{font-weight:700}
.eq{display:block;color:var(--muted);font-size:14px}.eq:empty{display:none}
.loc-actions{display:flex;gap:10px;margin-top:auto;padding-top:8px}
/* афиша */
.events{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.event{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}
.event{display:flex;flex-direction:column;gap:4px}.event .link{display:inline-block;margin-top:6px;margin-right:12px}.event .when{font-weight:700;color:var(--accent)}.event h3{font-size:18px;margin:6px 0}.event p{margin:0;color:var(--muted);font-size:15px}
.band{margin-top:22px;background:var(--bg);color:var(--ink);border-radius:20px;padding:22px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.band p{margin:0;max-width:560px}
/* преподаватели */
.chips-wrap{position:relative;margin-bottom:18px}
.chips{display:flex;flex-direction:column;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;cursor:grab}
.chip-row{display:flex;gap:8px;width:max-content}
.chips::-webkit-scrollbar{display:none}.chips.drag{cursor:grabbing}.chips.drag .chip{pointer-events:none}
.chips-wrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:48px;background:linear-gradient(90deg,transparent,var(--bg));pointer-events:none;opacity:0;transition:opacity .2s}
.chips-wrap.has-more::after{opacity:1}
.cnt{font-size:12px;font-weight:600;color:var(--muted);margin-left:2px}.chip[aria-pressed=true] .cnt{color:inherit;opacity:.7}
@media (min-width:761px){.chips,.chip-row{gap:6px}.chips .chip{padding:0 11px;font-size:14px;min-height:38px}.chips .cnt{font-size:12px}}
.chip{flex:none;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);font:inherit;font-weight:700;cursor:pointer;color:var(--ink)}
.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.teachers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.teachers{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.teachers{grid-template-columns:1fr}}
.teacher{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.teacher img,.avatar{aspect-ratio:4/3;width:100%;object-fit:cover;object-position:top}
.avatar{display:grid;place-items:center;background:var(--soft);font-family:Unbounded,"Noto Sans Georgian";font-size:40px;color:var(--muted)}
.teacher-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.teacher h3{font-size:17px}.tags{margin:0;color:var(--accent);font-weight:700;font-size:14px}
.bio,.where{margin:0;color:var(--muted);font-size:14px}.price{margin:0;font-size:14px;font-weight:600}
.link{margin-top:auto;padding-top:6px;font-weight:700;text-decoration:none;color:var(--accent)}
.more{display:flex;justify-content:center;margin-top:20px}
/* сообщества, вопросы, подвал */
.comm{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.comm a{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;text-decoration:none;display:block}
.comm b{display:block;margin-bottom:4px}.comm span{color:var(--muted);font-size:14px}
details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:0 18px;margin-bottom:10px}
summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none}summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--accent);font-size:20px;line-height:1}details[open] summary::after{content:"−"}
details p{margin:0 0 16px;color:var(--muted)}
footer{padding:32px 0 48px;color:var(--muted);font-size:15px}
footer .cols{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}footer a{font-weight:700;color:var(--ink);text-decoration:none}
.sticky-cta{display:none}
@media (max-width:760px){.sticky-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.18)}body{padding-bottom:72px}}
/* ---------- многостраничность ---------- */
.menu-btn{display:none;min-height:40px;min-width:44px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:700 18px Manrope,"Noto Sans Georgian",sans-serif;cursor:pointer}
nav a[aria-current=page]{color:var(--ink);font-weight:700}
@media (max-width:760px){
  .menu-btn{display:block}
  .bar .btn--primary{display:none}
  nav.open{display:grid;position:absolute;top:60px;left:0;right:0;background:var(--card);border-bottom:1px solid var(--line);padding:8px 16px 16px;gap:0;box-shadow:var(--shadow)}
  nav.open a{padding:12px 4px;border-bottom:1px solid var(--line);font-size:17px;color:var(--ink)}
}
header .wrap{position:relative}
.crumbs{font-size:14px;color:var(--muted);padding-top:20px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}
.crumbs span{margin:0 6px}
.page-head{padding:16px 0 8px}.page-head h1{font-size:clamp(28px,4.6vw,48px);max-width:900px}
.page-head .lead{margin-top:14px;font-size:18px;max-width:760px}
section.tight{padding:32px 0}
.prose{max-width:760px}.prose p{margin:0 0 14px}.prose h2{margin-top:8px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;text-decoration:none;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow)}
.tile b{font-family:Unbounded,"Noto Sans Georgian",Manrope,sans-serif;font-size:18px}.tile span{color:var(--muted);font-size:15px}.tile i{font-style:normal;color:var(--accent);font-weight:700;margin-top:auto}
.tile:hover{border-color:var(--accent)}
.plist{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media (max-width:760px){.plist{grid-template-columns:1fr}}
.pitem{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none}
.pitem img,.pitem .ph{width:120px;flex:none;object-fit:cover;background:var(--soft)}
.pitem div{padding:14px 14px 14px 0;display:flex;flex-direction:column;gap:4px}
.pitem b{font-family:Unbounded,"Noto Sans Georgian",Manrope,sans-serif}.pitem span{color:var(--muted);font-size:14px}.pitem i{font-style:normal;color:var(--accent);font-weight:700;font-size:14px;margin-top:auto}
.point-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}@media (max-width:860px){.point-grid{grid-template-columns:1fr}}
.point-grid .gallery,.point-grid .loc-media{border-radius:20px;overflow:hidden}
.panel{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:10px}
.panel .loc-actions{margin-top:6px}
.map--small{height:300px;margin-bottom:0}
.facts-row{display:flex;flex-wrap:wrap;gap:8px}.facts-row span{background:var(--soft);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600}
.room-groups{display:grid;gap:22px}.room-groups h2{font-size:22px}
.rtable{display:grid;gap:10px}
.rrow{display:grid;grid-template-columns:1.1fr 1.6fr auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.rrow b{display:block}.rrow span{color:var(--muted);font-size:14px}.rrow .acts{display:flex;gap:8px}
@media (max-width:760px){.rrow{grid-template-columns:1fr}.rrow .acts{justify-content:flex-start}}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0;list-style:none}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;counter-increment:s}
.steps li::before{content:counter(s);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;margin-bottom:8px}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.pills a{display:inline-block;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);text-decoration:none;font-weight:600}
.pills a:hover{border-color:var(--accent)}
footer{padding:40px 0 48px}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media (max-width:760px){.fgrid{grid-template-columns:1fr 1fr}}
.fgrid h4{margin:0 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.fgrid a{display:block;padding:3px 0;font-weight:600;color:var(--ink);text-decoration:none}.fgrid a:hover{color:var(--accent)}
.fcopy{margin-top:24px;font-size:14px}
/* en/ka: бот для записи пока только на русском — заметка под кнопкой записи */
.bot-note,.hero .bot-note{margin:12px 0 0;max-width:520px;color:var(--muted);font-size:14px}.bot-note a{color:var(--accent);font-weight:700}
/* грузинский: заглавных букв нет — uppercase превратил бы текст в мтаврули */
html[lang=ka] .fgrid h4{text-transform:none;letter-spacing:0}
