:root { color-scheme:light; --night:#080316; --violet:#7b22f5; --magenta:#fc06b1; --ink:#0c0d14; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; color:var(--ink); background:#fdfcfd; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.wrap { width:min(1350px,calc(100% - 92px)); margin:0 auto; }
.hero { min-height:575px; height:61vh; max-height:675px; background:#080317; color:#fff; position:relative; isolation:isolate; overflow:hidden; }
.hero-picture { position:absolute; inset:-5%; z-index:-3; background-image:url("/assets/hero-concert.webp"); background-size:cover; background-position:center 47%; filter:blur(1.4px) saturate(1.3) brightness(.8); transform:scale(1.04); }
.hero-veil { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(7,3,24,.96) 0%,rgba(9,3,24,.82) 18%,rgba(12,3,33,.52) 34%,rgba(12,3,32,.13) 68%,rgba(10,2,24,.18) 100%),linear-gradient(0deg,rgba(6,2,20,.92) 0%,rgba(7,3,24,.1) 47%,rgba(8,2,24,.25) 100%); }
.hero-layout { height:100%; padding-top:28px; position:relative; }
.brand-header img { display:block; width:185px; max-width:100%; height:auto; filter:drop-shadow(0 2px 8px rgba(7,0,15,.3)); }
.brand-header a { display:inline-block; }
.hero-copy { margin-top:47px; }
.hero h1 { font-size:clamp(37px,3vw,49px); letter-spacing:.008em; font-weight:450; line-height:1.015; margin:0; max-width:700px; text-shadow:0 1px 3px rgba(0,0,0,.08); }
.gradient-line { height:4px; width:87px; background:linear-gradient(90deg,#ff08a9,#751aff); margin:34px 0 28px; border-radius:10px; }
.service-line { font-size:12px; font-weight:600; letter-spacing:.15em; white-space:nowrap; margin:0; }
.service-line span { margin:0 14px; color:rgba(255,255,255,.9); }
.private-note { font-size:11px; margin:25px 0 24px; font-weight:600; letter-spacing:.21em; }
.scroll-arrow { display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(255,255,255,.78); border-radius:50%; text-decoration:none; font-size:24px; font-weight:200; line-height:1; transition:transform .2s,border-color .2s; }
.scroll-arrow:hover { transform:translateY(4px); border-color:#f600ac; }
.intelligence { position:absolute; top:48.4%; right:max(5.2vw,calc((100vw - 1450px)/2)); width:347px; min-height:223px; padding:21px 22px 24px; border:1px solid rgba(196,65,246,.8); border-radius:12px; background:linear-gradient(130deg,rgba(30,11,55,.84),rgba(44,4,43,.65)); box-shadow:inset -2px -2px 35px rgba(244,0,207,.13),0 14px 30px rgba(10,0,27,.12); backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px); }
.panel-label { font-size:11px; letter-spacing:.25em; font-weight:650; white-space:nowrap; margin-bottom:22px; }
.event-row { display:flex; align-items:center; gap:16px; }
.event-row strong { font-size:46px; letter-spacing:-.055em; line-height:1; font-weight:300; }
.event-row span { font-size:12px; font-weight:650; line-height:1.5; letter-spacing:.09em; }
.panel-rule { height:1px; background:rgba(255,255,255,.28); margin:21px 0 16px; }
.intelligence p { font-size:10px; font-weight:650; letter-spacing:.025em; line-height:1.55; margin:8px 0 0; white-space:nowrap; }
.intelligence i { display:inline-block; width:6px; height:6px; border-radius:50%; background:#d40bfb; margin-right:9px; vertical-align:2px; }
.private-section { background:#fcfbfc; padding:33px 0 25px; min-height:287px; }
.access-grid { display:grid; grid-template-columns:1.38fr 1fr 1fr; column-gap:55px; position:relative; }
.intro { padding-right:15px; }
.intro h2 { font-size:30px; line-height:1.22; font-weight:600; letter-spacing:-.045em; margin:0 0 21px; }
.intro p { font-size:12.5px; line-height:1.72; font-weight:500; letter-spacing:.005em; margin:0 0 13px; }
.intro strong { font-weight:750; }
.login-column { min-width:0; }
.client-column { border-left:1px solid rgba(105,81,150,.3); padding-left:60px; margin-left:-5px; }
.staff-column { border-left:1px solid rgba(105,81,150,.20); padding-left:51px; margin-left:-10px; }
.login-column h3 { font-size:14px; letter-spacing:.29em; font-weight:700; margin:3px 0 17px; white-space:nowrap; }
.access-form { display:flex; flex-direction:column; gap:9px; }
.access-form input:not([type="hidden"]) { display:block; width:100%; min-height:38px; border:1px solid #d2d0d5; background:#fdfcfd; border-radius:5px; padding:0 13px; outline:none; font-family:inherit; font-size:12px; color:#17121c; transition:border-color .2s, box-shadow .2s; }
.access-form input:focus-visible { border-color:#852af1; box-shadow:0 0 0 2px rgba(125,40,235,.18); }
.password-row { position:relative; }
.password-row input { padding-right:64px!important; }
.show-password { position:absolute; right:10px; top:0; height:100%; padding:0 4px; border:0; cursor:pointer; background:none; font-size:9px; font-weight:650; color:#55505e; letter-spacing:.09em; }
.enter-button { width:100%; height:42px; border:0; border-radius:5px; cursor:pointer; margin-top:9px; background:linear-gradient(110deg,#090811 0%,#090811 95%,#6b19ed 98%,#fc04ad 100%); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:0 22px; font:650 12px "Helvetica Neue",Helvetica,Arial,sans-serif; letter-spacing:.3em; transition:box-shadow .2s,filter .2s; }
.enter-button span { font-size:24px; font-weight:300; letter-spacing:normal; line-height:0; }
.enter-button:hover,.enter-button:focus-visible { filter:brightness(1.17); box-shadow:0 0 0 2px rgba(170,32,234,.18); }
.security-note { position:absolute; left:0; top:205px; grid-column:2/4; font-size:10.7px; color:#68656f; margin-top:0; padding-left:0; }
.security-note span { color:#464252; padding-right:4px; }
.access-feedback { margin-top:16px; font-size:12px; font-weight:600; padding:10px 16px; background:#fff5fb; border:1px solid #eed5e4; border-radius:5px; }
.site-footer { background:#fcfbfc; padding-bottom:14px; }
.footer-content { width:min(1450px,calc(100% - 92px)); min-height:65px; border-top:1px solid #d2d1d6; display:flex; align-items:center; gap:24px; color:#34313e; }
.kt-footer-mark { width:45px; height:auto; object-fit:contain; filter:grayscale(1) brightness(.65); opacity:.7; }
.footer-divider { width:1px; height:24px; background:#bab9c4; }
.powered-by { font-size:11px; font-weight:650; letter-spacing:.28em; white-space:nowrap; }
.parent-brand { display:block; width:205px; height:auto; opacity:.85; }
.visually-hidden { position:absolute!important;width:1px;height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1280px) {
 .wrap { width:min(1180px,calc(100% - 80px)); }
 .hero h1 { font-size:43px; }
 .intelligence { right:40px; width:310px; }
 .event-row strong { font-size:42px; }
 .event-row span { font-size:10px; }
 .intelligence p { white-space:normal; }
 .service-line { letter-spacing:.1em; font-size:10px; }
 .access-grid { column-gap:30px; grid-template-columns:1.2fr 1fr 1fr; }
 .client-column { padding-left:34px; }
 .staff-column { padding-left:34px; }
 .security-note { padding-left:34px; }
}
@media(max-width:960px) {
 .hero { height:auto; min-height:730px; }
 .hero-layout { padding-top:31px; }
 .hero-copy { margin-top:52px; }
 .hero h1 { font-size:clamp(36px,6vw,49px); }
 .intelligence { top:auto; bottom:47px; right:46px; width:min(350px,45vw); min-height:0; padding:19px; }
 .service-line { white-space:normal; line-height:1.8; max-width:540px; }
 .private-section { padding:38px 0; }
 .access-grid { grid-template-columns:1fr 1fr; gap:25px 26px; }
 .intro { grid-column:1/3; max-width:620px; }
 .login-column { border-left:1px solid #e0d9e8; margin-left:0; padding-left:23px; }
 .security-note { position:static; grid-column:1/3; padding-left:24px; margin-top:0; }
}
@media(max-width:650px) {
 .wrap { width:calc(100% - 46px); }
 .hero { min-height:760px; }
 .hero-picture { background-position:54% 50%; }
 .hero-veil { background:linear-gradient(90deg,rgba(7,3,24,.90),rgba(7,3,24,.58)),linear-gradient(0deg,rgba(4,2,15,.95),transparent 62%); }
 .hero-layout { padding-top:30px; }
 .brand-header img { width:173px; }
 .hero-copy { margin-top:58px; }
 .hero h1 { font-size:clamp(31px,7.4vw,42px); line-height:1.1; }
 .gradient-line { margin:26px 0 22px; }
 .service-line { font-size:9px; letter-spacing:.12em; }
 .service-line span { margin:0 6px; }
 .private-note { font-size:10px; margin-top:22px; }
 .scroll-arrow { width:35px; height:35px; }
 .intelligence { left:23px; right:23px; bottom:27px; top:auto; width:auto; min-height:0; padding:18px 20px; }
 .panel-label { font-size:10px; margin-bottom:12px; }
 .event-row strong { font-size:44px; }
 .event-row span { font-size:11px; }
 .panel-rule { margin:15px 0 12px; }
 .intelligence p { font-size:10px; }
 .private-section { padding:32px 0 25px; }
 .access-grid { display:block; }
 .intro h2 { font-size:26px; margin-bottom:18px; }
 .intro p { font-size:12px; line-height:1.62; }
 .login-column { margin:29px 0 0; padding:0; border:0; }
 .login-column h3 { margin-bottom:14px; }
 .security-note { margin:22px 0 0; padding:0; line-height:1.6; }
 .site-footer { padding-bottom:12px; }
 .footer-content { width:calc(100% - 46px); gap:13px; flex-wrap:wrap; padding-top:12px; padding-bottom:12px; }
 .kt-footer-mark { width:35px; }
 .powered-by { font-size:9px; letter-spacing:.19em; }
 .parent-brand { width:140px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .scroll-arrow,.enter-button { transition:none; } }

.lock-icon { width:11px; height:11px; vertical-align:-1px; stroke:#6f6b75; stroke-width:1.5; fill:none; margin-right:4px; }

@media(max-width:650px) { .service-line { max-width:300px; white-space:normal; line-height:1.85; } .intro h2 { font-size:23px; } }

/* Intelligence live data + discreet corporate signature */
.intelligence { min-height:250px; padding-bottom:17px; }
.event-row { gap:15px; }
.event-row strong { font-size:47px; font-variant-numeric:tabular-nums; letter-spacing:-.055em; }
.event-row span { font-size:11.5px; line-height:1.55; }
.intelligence .panel-rule { margin:17px 0 14px; }
.intelligence p { margin:7px 0 0; font-size:10px; white-space:normal; }
.intel-sync { display:flex; align-items:center; gap:7px; border-top:1px solid rgba(255,255,255,.17); margin-top:13px; padding-top:10px; font-size:8px; letter-spacing:.1em; font-weight:600; color:rgba(244,239,249,.64); }
.intel-sync-dot { display:block; height:5px; width:5px; border-radius:50%; background:#947caa; flex:none; }
.intel-sync-dot.is-live { background:#75cda9; box-shadow:0 0 7px rgba(117,205,169,.35); }
.intel-sync-dot.is-stale { background:#d9b37d; }
.footer-content { min-height:53px; gap:12px; }
.kt-footer-mark { width:28px; height:auto; opacity:.48; filter:grayscale(1) brightness(.85); }
.footer-divider { height:17px; background:#d5d2d8; }
.powered-by { font-size:8.5px; letter-spacing:.22em; font-weight:550; color:#8f8b96; }
.parent-brand { width:110px; height:auto; opacity:.58; }
.site-footer { padding-bottom:7px; }
@media(max-width:960px) { .intelligence { min-height:245px; } .event-row strong { font-size:43px; } .event-row span { font-size:10.7px; } }
@media(max-width:650px) { .hero { min-height:810px; } .intelligence { padding:18px 20px 16px; min-height:0; } .event-row strong { font-size:43px; } .event-row span { font-size:10.5px; } .intel-sync { font-size:7.7px; } .footer-content { min-height:48px; gap:9px; } .kt-footer-mark { width:26px; } .powered-by { font-size:8px; } .parent-brand { width:106px; } }

/* Touch usability: prevent Safari input zoom and improve tap targets. */
@media (max-width:1024px) {
  .access-form input:not([type="hidden"]) { min-height:46px; font-size:16px; }
  .password-row input { padding-right:74px!important; }
  .show-password { min-width:56px; font-size:10px; right:7px; }
  .enter-button { min-height:48px; }
  .scroll-arrow { min-width:44px; min-height:44px; }
}
@media (max-width:650px) {
  .intro p {font-size:13.5px; line-height:1.65;}
  .security-note {font-size:11.5px; line-height:1.7;}
  .scroll-arrow {width:44px;height:44px;}
}
