:root {
  --bg: #050b15;
  --bg-soft: #0b1727;
  --panel: rgba(10, 22, 39, 0.82);
  --panel-2: rgba(16, 31, 55, 0.92);
  --text: #edf3ff;
  --muted: #9db1cf;
  --line: rgba(255,255,255,0.09);
  --primary: #72f1c8;
  --secondary: #88a7ff;
  --danger: #ff9e9e;
  --shadow: 0 24px 60px rgba(0,0,0,0.32);
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 0% 0%, rgba(114,241,200,.10), transparent 26%),
    radial-gradient(circle at 100% 0%, rgba(136,167,255,.13), transparent 22%),
    linear-gradient(180deg, #040913 0%, #07111f 38%, #091423 100%);
}
a { color: inherit; text-decoration: none; }
p { color: var(--muted); line-height: 1.75; }
h1,h2,h3,h4 { margin: 0 0 12px; line-height: 1.06; }
.container { width: min(1200px, calc(100% - 32px)); margin: 0 auto; }
.narrow { width: min(780px, 100%); }
.section { padding: 92px 0; }
.alt-section { background: rgba(255,255,255,0.018); border-block: 1px solid var(--line); }
.announcement-bar { font-size: .9rem; color: #cae0ff; padding: 10px 0; text-align: center; background: rgba(255,255,255,.025); border-bottom: 1px solid var(--line); }
.site-header { position: sticky; top: 0; z-index: 40; backdrop-filter: blur(18px); background: rgba(5, 12, 24, 0.72); border-bottom: 1px solid var(--line); }
.nav-wrap { display:flex; align-items:center; justify-content:space-between; min-height:82px; gap:20px; }
.brand { display:flex; align-items:center; gap:14px; }
.brand strong { display:block; font-size:1rem; }
.brand small { display:block; color:var(--muted); font-size:.78rem; }
.brand-mark { width:46px; height:46px; border-radius:16px; display:grid; place-items:center; font-weight:900; color:#041015; background:linear-gradient(135deg, var(--primary), #cffff1); box-shadow: 0 0 40px rgba(114,241,200,.24); }
.nav-links, .nav-actions { display:flex; align-items:center; gap:22px; }
.nav-links { color:var(--muted); }
.nav-links a:hover, .text-link:hover, .social-row a:hover { color: var(--primary); }
.hero-section { padding: 94px 0 58px; overflow: clip; }
.hero-grid, .showcase-grid, .booking-grid, .contact-page-grid, .contact-band-grid, .detail-grid, .split-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: 28px; align-items: start; }
.hero-grid h1 { font-size: clamp(3rem, 7vw, 6rem); max-width: 10ch; letter-spacing: -.05em; }
.hero-copy { font-size: 1.08rem; max-width: 60ch; }
.hero-trust { margin-top: 22px; color: #d4e4ff; font-weight: 600; }
.eyebrow { display:inline-flex; padding:9px 14px; border:1px solid rgba(114,241,200,.28); color:var(--primary); border-radius:999px; background:rgba(114,241,200,.06); margin-bottom:18px; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; }
.hero-actions, .card-actions, .action-row, .social-row { display:flex; gap:14px; flex-wrap:wrap; }
.btn { border:none; cursor:pointer; border-radius: 16px; padding: 14px 20px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; transition:.25s ease; }
.btn-primary { color:#041015; background:linear-gradient(135deg, var(--primary), #d6fff3); box-shadow: 0 18px 32px rgba(114,241,200,.2); }
.btn-secondary { color:var(--text); background:linear-gradient(135deg, rgba(136,167,255,.18), rgba(255,255,255,.04)); border:1px solid var(--line); }
.btn-ghost { color:var(--text); border:1px solid var(--line); background:transparent; }
.btn:hover { transform: translateY(-2px); }
.glass-card, .content-card, .pricing-card, .calendar-card, .flash, .form-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.glass-card, .content-card, .pricing-card, .form-card { padding: 28px; }
.hero-visual { position:relative; overflow:hidden; min-height: 520px; }
.hero-orb { position:absolute; border-radius:50%; filter: blur(12px); }
.orb-1 { width: 220px; height:220px; background: rgba(114,241,200,.18); top: -30px; right: -20px; }
.orb-2 { width: 180px; height:180px; background: rgba(136,167,255,.20); bottom: 80px; left: -30px; }
.visual-panel { position:relative; z-index: 2; padding: 22px; border:1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.03); }
.visual-panel.top { margin-bottom: 18px; }
.visual-panel.bottom { margin-top: 18px; }
.visual-stack { position:relative; z-index: 2; display:grid; gap:14px; }
.visual-card { padding: 18px 20px; border-radius: 20px; background: rgba(255,255,255,.04); border:1px solid var(--line); display:grid; gap:6px; }
.visual-card strong { font-size: 1.06rem; }
.logo-band { padding: 24px 0; border-block: 1px solid var(--line); background: rgba(255,255,255,.02); }
.logo-row { display:grid; grid-template-columns: repeat(5, 1fr); gap:16px; text-align:center; color:#cfe0ff; font-weight:700; letter-spacing:.04em; }
.mini-tag, .pill { display:inline-flex; margin-bottom:18px; padding:8px 12px; border-radius:999px; font-size:.82rem; background:rgba(136,167,255,.12); color:#d7e1ff; }
.signal-list { display:grid; gap:12px; }
.signal-list div { display:flex; align-items:center; gap:10px; color:#d9e5ff; }
.signal-list span { width:10px; height:10px; border-radius:50%; background: var(--primary); box-shadow:0 0 20px rgba(114,241,200,.55); }
.stats-grid, .card-grid.three, .pricing-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:18px; }
.stats-grid { grid-template-columns: repeat(4,1fr); margin-top:34px; }
.stat-card { padding:18px; border-radius:20px; border:1px solid var(--line); background: rgba(255,255,255,.03); }
.stat-card strong { display:block; font-size:1.4rem; margin-bottom:5px; }
.section-head { margin-bottom: 28px; }
.inline-head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; }
.section-head h2, .faq-grid h2, .contact-band h2, .inner-hero h1 { font-size: clamp(2rem, 3vw, 3.1rem); }
.content-card h3, .pricing-card h3, .pricing-card h2 { font-size: 1.35rem; }
.icon-badge { width:54px; height:54px; display:grid; place-items:center; border-radius:18px; background: rgba(114,241,200,.08); color: var(--primary); font-weight:800; margin-bottom:16px; }
.service-card.tall { min-height: 320px; }
.pricing-card { position:relative; display:flex; flex-direction:column; }
.pricing-card.popular { border-color: rgba(114,241,200,.45); transform: translateY(-8px); }
.price { font-size: 2rem; font-weight: 800; color: var(--text); margin-bottom: 14px; }
.pricing-card ul, .check-list, .case-card ul, .footer-list { padding-left: 18px; color: var(--muted); }
.pricing-card ul li, .check-list li, .case-card ul li { margin-bottom: 10px; }
.stack-cards { display:grid; gap:18px; }
.feature-card { min-height: 180px; }
.quote-card p { color: var(--text); font-size: 1.02rem; }
.quote-meta { display:grid; gap:4px; margin-top: 16px; }
.about-strip { display:grid; gap:26px; }
.card-grid.two { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.faq-grid { display:grid; grid-template-columns: .8fr 1.2fr; gap:28px; }
.faq-item { border-bottom:1px solid var(--line); padding:18px 0; }
.faq-item summary { cursor:pointer; font-weight:700; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.contact-band { background: linear-gradient(135deg, rgba(114,241,200,.05), rgba(136,167,255,.07)); }
.mini-form, .form-card { display:grid; gap:14px; }
.field-wrap { display:grid; gap:8px; }
label { color:#dbe7ff; font-weight:600; font-size:.95rem; }
input, select, textarea { width:100%; padding: 14px 16px; border-radius: 14px; border:1px solid var(--line); background: rgba(255,255,255,.03); color: var(--text); outline:none; }
input:focus, select:focus, textarea:focus { border-color: rgba(114,241,200,.45); box-shadow: 0 0 0 4px rgba(114,241,200,.08); }
.field-error { color: #ffb4b4; }
.flash-stack { padding-top: 18px; display:grid; gap:10px; }
.flash { padding: 14px 18px; }
.flash.success { border-color: rgba(114,241,200,.45); }
.flash.error { border-color: rgba(255,158,158,.45); }
.flash.warning { border-color: rgba(255, 214, 102, .35); }
.inner-hero { padding: 86px 0 24px; }
.muted { color: var(--muted); }
.divider { height:1px; background: var(--line); margin:18px 0; }
.side-stack { display:grid; gap:18px; }
.map-wrap { min-height: 360px; border-radius: var(--radius); overflow: hidden; border:1px solid var(--line); box-shadow: var(--shadow); }
.calendar-card { padding: 20px; min-height: 460px; }
.embed-note { margin-top:18px; }
.site-footer { padding: 76px 0 24px; border-top: 1px solid var(--line); margin-top: 20px; }
.footer-grid { display:grid; grid-template-columns: 1.1fr .8fr .7fr .9fr; gap:24px; }
.footer-list { list-style:none; padding:0; display:grid; gap:10px; }
.footer-bottom { display:flex; justify-content:space-between; gap:12px; margin-top:30px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:.92rem; }
.footer-mini-card { margin-top: 16px; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.03); border:1px solid var(--line); }
.newsletter-form { display:grid; grid-template-columns:1fr auto; gap:10px; }
.fc { color: var(--text); }
.fc-theme-standard .fc-scrollgrid,
.fc-theme-standard td,
.fc-theme-standard th { border-color: var(--line); }
.fc .fc-button-primary { background: rgba(136,167,255,.15); border:1px solid var(--line); }
.fc-event { background: rgba(114,241,200,.18); border:1px solid rgba(114,241,200,.4); color:#dafdf3; }
.text-link { color: #dce7ff; font-weight: 700; }
@media (max-width: 1040px) {
  .hero-grid, .showcase-grid, .booking-grid, .contact-page-grid, .contact-band-grid, .detail-grid, .faq-grid, .footer-grid, .split-grid { grid-template-columns: 1fr; }
  .stats-grid, .card-grid.three, .pricing-grid, .card-grid.two, .logo-row { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .nav-wrap { flex-wrap: wrap; padding: 12px 0; }
  .nav-links { width: 100%; overflow:auto; }
  .footer-bottom, .inline-head, .newsletter-form { grid-template-columns: 1fr; display:grid; }
  .hero-grid h1 { max-width: none; }
}
