
.hero-copy h1,.hero-inner-content h1{font-size:clamp(2.2rem,4.8vw,4.8rem);line-height:1.02;max-width:12ch}
.hero-copy .lead,.hero-inner-content p{max-width:720px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 22px}
.hero-points{display:flex;gap:12px;flex-wrap:wrap}
.hero-points span{
  padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:.92rem;color:#d9e9f8
}
.online-dot{color:#90ffcb;font-weight:700}
.compact-form{margin-top:20px}
.info-lines div{display:grid;gap:6px}
.calendar-panels{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.week-label{font-weight:700;color:#dff0ff}
.calendar-editor{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.calendar-editor .editor-card{padding:14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--line);display:grid;gap:10px}
.calendar-editor .editor-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.calendar-editor .editor-actions button{padding:10px;border-radius:12px;border:none;cursor:pointer;font-size:.82rem}
.editor-free{background:rgba(47,224,181,.18);color:#d8fff3}
.editor-booked{background:rgba(255,98,125,.18);color:#ffe2e8}
.editor-lesson{background:rgba(52,179,255,.18);color:#d7f0ff}
.editor-event{background:rgba(138,92,255,.18);color:#ece0ff}
.admin-body{background:#06111a}
.admin-shell{width:min(1450px, calc(100vw - 24px));margin:0 auto;padding:20px 0 42px}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.admin-login-card{max-width:520px;margin:80px auto 0}
.admin-error{margin-top:14px;color:#ffcad4}
.admin-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:16px;padding:18px}
.toolbar-group{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.reveal{opacity:0;transform:translateY(18px)}
.reveal.visible{opacity:1;transform:none;transition:opacity .6s ease, transform .6s ease}
.delay-1{transition-delay:.12s}
.delay-2{transition-delay:.24s}
.delay-3{transition-delay:.36s}

.hero-quick-badges{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 0}
.hero-quick-badges span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-size:.82rem;color:#e9f5ff}
.section-intro{max-width:760px;margin:10px auto 0}
.review-card-live{position:relative;overflow:hidden}
.review-card-live::after{content:"";position:absolute;inset:auto -40px -40px auto;width:120px;height:120px;background:radial-gradient(circle,rgba(52,179,255,.12),transparent 70%);pointer-events:none}


/* gallery page */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.gallery-item{display:block;position:relative;overflow:hidden;border-radius:18px;background:#0c1622;box-shadow:0 10px 30px rgba(0,0,0,.28);aspect-ratio:4/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease,filter .35s ease}
.gallery-item:hover img{transform:scale(1.05);filter:brightness(1.06)}
.gallery-intro{max-width:900px;margin:0 auto 28px;text-align:center}
.gallery-intro p{opacity:.9}
.lightbox{position:fixed;inset:0;background:rgba(5,10,18,.92);display:none;align-items:center;justify-content:center;padding:24px;z-index:9999}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1200px,96vw);max-height:88vh;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.lightbox-close{position:absolute;top:18px;right:18px;width:48px;height:48px;border:none;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:30px;cursor:pointer}
.gallery-cta{margin-top:28px;text-align:center}
