:root{--ink:#160d2d;--dark:#100a21;--primary:#9035eb;--hot:#ed27af;--line:#e8ddf5;--muted:#716c80;--panel:#fff;--sh:#210d4417}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(ellipse 70% 40% at 10% 0%,#e9dcfc,transparent 70%),radial-gradient(ellipse 45% 35% at 92% 15%,#f7def7,transparent 80%),#f9f7fd}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}img{max-width:100%;display:block}
.top{background:linear-gradient(115deg,#0c0719,#1a0b38 65%,#290e48);border-bottom:1px solid #ffffff14;box-shadow:0 10px 35px #18052a16}.topin{max-width:1220px;margin:auto;min-height:78px;padding:14px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{width:min(285px,65vw);height:auto}.head-tag{color:#ddd0f4;font-size:11px;letter-spacing:.18em;font-weight:750;text-transform:uppercase;white-space:nowrap}.head-tag b{color:#f6a7ef}
main{max-width:1220px;margin:0 auto;padding:58px 26px 90px}.lead{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0 auto 38px;max-width:800px}.eyebrow{display:flex;align-items:center;gap:10px;color:#8229db;font-size:12px;letter-spacing:.2em;font-weight:850;text-transform:uppercase}.eyebrow:before,.eyebrow:after{content:"";width:32px;height:2px;background:linear-gradient(90deg,#8a3cfa,#f232b0)}h1{font-size:clamp(32px,4.8vw,56px);font-weight:850;letter-spacing:-.05em;line-height:1.09;margin:12px 0 14px}.lead p{font-size:clamp(14px,1.5vw,17px);color:var(--muted);line-height:1.65;max-width:600px;margin:0}
.grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;align-items:stretch}.city{width:calc((100% - 44px)/3);min-width:0;background:var(--panel);border:1px solid #e5daf4;border-radius:22px;overflow:hidden;box-shadow:0 13px 39px var(--sh);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.city:hover{transform:translateY(-5px);box-shadow:0 22px 46px #3b1e622b}.media{position:relative;aspect-ratio:1.55;overflow:hidden;background:linear-gradient(135deg,#24144d,#8244ab 55%,#e08ecd)}.media:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(180deg,transparent,#100a29a8);pointer-events:none}.media img{width:100%;height:100%;object-fit:cover;object-position:center 50%;transition:transform .5s ease}.city:hover .media img{transform:scale(1.035)}.location{position:absolute;bottom:15px;left:18px;right:12px;z-index:1;color:#fff;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:750;text-shadow:0 1px 6px #0006}.location svg{width:16px;height:16px;flex:none}.body{padding:23px 23px 22px;flex:1;display:flex;flex-direction:column}.overline{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.16em;color:#8d40cf;margin:0 0 9px}.body h2{font-size:clamp(21px,2.1vw,26px);line-height:1.19;letter-spacing:-.035em;margin:0 0 11px;font-weight:820;min-height:52px}.body p{font-size:13.5px;line-height:1.6;margin:0 0 21px;color:#625c72;flex:1}.cta{border:none;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;width:100%;font-size:13px;font-weight:800;min-height:49px;padding:13px 15px;border-radius:12px;background:linear-gradient(110deg,#6226b4,#a62edb 70%,#cc2fac);color:#fff;box-shadow:0 6px 17px #a32edf30;transition:filter .2s,transform .2s}.cta:hover{filter:brightness(1.1)}.cta:focus-visible{outline:3px solid #ff84d7;outline-offset:3px}.cta svg{width:19px;height:19px;flex:none}
.note{margin:27px auto 0;text-align:center;color:#777182;font-size:12px;line-height:1.6}@media(hover:none){.city:hover{transform:none}.city:hover .media img{transform:none}}footer{padding:23px 26px 30px;border-top:1px solid #e8e0ef;background:#fcfbff}footer .inner{max-width:1220px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}footer p{font-size:12px;color:#7b7585;margin:0}
@media(max-width:990px){.city{width:calc((100% - 22px)/2)}.topin{min-height:72px}.body h2{min-height:0}main{padding-top:46px}}@media(max-width:610px){.head-tag{display:none}.topin{min-height:67px;padding:15px 18px}.logo{width:235px}main{padding:36px 16px 55px}.lead{margin-bottom:27px}.grid{gap:17px}.city{width:100%;max-width:460px}.media{aspect-ratio:1.6}.body{padding:19px}.body h2{font-size:23px}footer .inner{justify-content:center;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.city,.media img,.cta{transition:none}}
