
:root{--bg:#07090e;--panel:#10151d;--panel2:#151b25;--text:#f7f9fc;--muted:#aab3c2;--line:#273247;--accent:#2f80ff;--accent-soft:rgba(47,128,255,.12);--success:#7ef0a8;--danger:#ff7387;--info:#7fd6ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit}.site-header{position:sticky;top:0;z-index:50;background:rgba(7,9,14,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-wrap{max-width:1200px;margin:auto;padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{width:112px;display:block}.nav-wrap nav{display:flex;align-items:center;gap:18px}.nav-wrap nav a{text-decoration:none;color:#dfe4ed;font-size:.9rem}.nav-cta{background:var(--accent);color:#07090e!important;padding:9px 14px;border-radius:8px;font-weight:900}.menu-toggle{display:none;background:transparent;color:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 11px}.hero{min-height:75vh;display:grid;place-items:center;background:radial-gradient(circle at 78% 10%,rgba(47,128,255,.14),transparent 30%),linear-gradient(180deg,#0b1018,#07090e)}.hero-inner{max-width:1100px;width:100%;padding:95px 24px}.eyebrow{font-size:.76rem;letter-spacing:.17em;font-weight:900;color:var(--accent);margin-bottom:11px}.hero h1,.section h2{letter-spacing:-.045em;line-height:1.02}.hero h1{font-size:clamp(3rem,7vw,6.6rem);max-width:1100px;margin:0 0 24px}.hero p{max-width:760px;color:var(--muted);font-size:1.16rem}.hero-actions,.trust-row,.wizard-actions,.toolbar,.booking-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions{margin-top:30px}.trust-row{margin-top:42px}.trust-row span{border:1px solid var(--line);padding:7px 11px;border-radius:999px;color:#cbd2dd;font-size:.84rem}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;padding:12px 17px;text-decoration:none;font:inherit;font-weight:900;cursor:pointer}.primary{background:var(--accent);color:#080a0e;border-color:var(--accent)}.secondary{background:transparent;color:#fff}.section{max-width:1200px;margin:auto;padding:88px 24px}.section-head{margin-bottom:34px}.section h2{font-size:clamp(2.1rem,4.5vw,4.2rem);margin:0 0 12px}.section-head p{color:var(--muted);max-width:760px}.alt{max-width:none;background:#0c1118}.alt>.section-head,.alt>.feature-grid{max-width:1152px;margin-left:auto;margin-right:auto}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card,.feature-card,.card-shell,.track-result,.admin-card,.booking-item{background:var(--panel);border:1px solid var(--line);border-radius:16px}.service-card,.feature-card{padding:26px}.service-number,.feature-card strong{color:var(--accent);font-weight:900}.service-card h3,.feature-card h3{font-size:1.45rem;margin:16px 0 8px}.service-card p,.feature-card p{color:var(--muted)}.service-card a{color:var(--accent);font-weight:800;text-decoration:none}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.track-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.track-result{margin-top:18px;padding:22px}.status-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px}.status-dot{padding:12px;border:1px solid var(--line);border-radius:9px;color:var(--muted);text-align:center;font-size:.82rem}.status-dot.done{border-color:var(--accent);color:#fff;background:var(--accent-soft)}.card-shell{padding:26px}.wizard-progress{display:flex;align-items:center;margin-bottom:30px}.progress-step{display:grid;justify-items:center;gap:6px;min-width:70px;color:var(--muted)}.progress-step span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-weight:900}.progress-step.active,.progress-step.done{color:#fff}.progress-step.active span,.progress-step.done span{background:var(--accent);border-color:var(--accent);color:#080a0e}.progress-line{height:1px;flex:1;background:var(--line)}.wizard-panel{display:none}.wizard-panel.active{display:block}.wizard-panel h3{font-size:1.6rem;margin:0 0 20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{display:grid;gap:7px;font-weight:700;font-size:.9rem}.full{grid-column:1/-1}input,select,textarea{width:100%;background:#0a0e14;color:#fff;border:1px solid #303b4f;border-radius:9px;padding:12px 13px;font:inherit}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(47,128,255,.2);border-color:var(--accent)}.consent{grid-template-columns:auto 1fr!important;align-items:start}.consent input{width:18px;margin-top:4px}.wizard-actions{justify-content:space-between;margin-top:24px}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.review-item{background:#0a0e14;border:1px solid var(--line);border-radius:10px;padding:13px}.review-item small{display:block;color:var(--muted);margin-bottom:3px}.form-message{margin-top:14px;min-height:24px}.success{color:var(--success)}.error{color:var(--danger)}footer{border-top:1px solid var(--line);padding:40px 22px;text-align:center;color:var(--muted)}footer img{width:98px}

/* admin */
.admin-page{min-height:100vh}.admin-shell{max-width:1320px;margin:auto;padding:30px 18px 80px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-top img{width:106px}.admin-card{padding:22px}.login-card{max-width:460px;margin:65px auto}.login-card form{display:grid;gap:13px}.hidden{display:none!important}.admin-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.metric{padding:18px}.metric small{color:var(--muted)}.metric strong{font-size:1.85rem;display:block}.toolbar{margin:18px 0}.toolbar input,.toolbar select{max-width:260px}.booking-list{display:grid;gap:13px}.booking-item{padding:20px}.booking-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.booking-head h3{margin:0}.status{font-size:.75rem;font-weight:900;padding:6px 9px;border:1px solid var(--line);border-radius:999px}.status-new{color:var(--accent)}.status-reviewing{color:#ffcf70}.status-confirmed,.status-scheduled{color:var(--info)}.status-completed{color:var(--success)}.status-cancelled{color:#ff8796}.meta{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.meta>div{background:#0a0e14;border-radius:8px;padding:10px}.meta small{display:block;color:var(--muted)}.admin-editor{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px;border-top:1px solid var(--line);padding-top:15px}.admin-editor textarea{grid-column:1/-1}.booking-actions{margin-top:12px}.booking-actions button{background:#151c27;color:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 12px;cursor:pointer}
@media(max-width:900px){.feature-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:repeat(2,1fr)}.meta,.admin-editor{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.menu-toggle{display:block}.nav-wrap{align-items:center}.nav-wrap nav{display:none;position:absolute;top:64px;left:0;right:0;background:#0a0d13;border-bottom:1px solid var(--line);padding:15px 18px;flex-direction:column;align-items:stretch}.nav-wrap nav.open{display:flex}.service-grid,.feature-grid,.form-grid,.track-form,.review-grid,.admin-grid,.meta,.admin-editor{grid-template-columns:1fr}.full,.admin-editor textarea{grid-column:auto}.hero{min-height:auto}.hero-inner{padding:70px 18px}.section{padding:62px 18px}.wizard-progress small{display:none}.progress-step{min-width:44px}.booking-head{flex-direction:column}.toolbar input,.toolbar select{max-width:none;width:100%}}

.client-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px}.portal-form{display:grid;gap:14px}.client-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:32px 0 10px}.muted-copy{color:var(--muted)}@media(max-width:760px){.client-auth-grid{grid-template-columns:1fr}.client-dashboard-head{flex-direction:column}}

.confirmation-overlay{position:fixed;inset:0;z-index:200;background:rgba(3,5,9,.84);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}
.confirmation-card{width:min(560px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 30px 100px rgba(0,0,0,.45)}
.confirmation-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--accent);color:#080a0e;font-size:2rem;font-weight:900;margin-bottom:20px}
.confirmation-card h2{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05;margin:0 0 14px}
.reference-box{background:#090d13;border:1px solid var(--accent);border-radius:12px;padding:18px;margin:22px 0}
.reference-box small{display:block;color:var(--muted);margin-bottom:6px;letter-spacing:.08em}
.reference-box strong{font-size:clamp(1.25rem,4vw,2rem);color:var(--accent);word-break:break-word}
.modal-open{overflow:hidden}

/* TAKT blue visual theme */
:root{
  --accent:#2f80ff;
  --accent-2:#00b8ff;
}
.button.primary,
.confirmation-icon{
  background:linear-gradient(135deg,#2f80ff 0%,#00b8ff 100%);
}
.reference-box{
  border-color:#2f80ff;
}
.reference-box strong,
.eyebrow{
  color:#5da0ff;
}


/* TAKT professional refinement — preserves original dark/blue design */
:root{
  --accent:#2f80ff;
  --accent-2:#00b8ff;
}
body{
  letter-spacing:-.005em;
}
.site-header{
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.nav-wrap{
  max-width:1240px;
}
.nav-wrap nav a{
  font-weight:700;
  letter-spacing:.025em;
}
.hero-inner{
  max-width:1240px;
}
.hero h1{
  letter-spacing:-.045em;
  line-height:.96;
}
.hero p{
  max-width:680px;
  line-height:1.7;
}
.section{
  max-width:1240px;
}
.section-head{
  max-width:820px;
}
.section-head p{
  line-height:1.75;
}
.service-card,.feature-card,.card-shell,.admin-card,.booking-item{
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.service-card:hover,.feature-card:hover{
  transform:translateY(-4px);
  border-color:rgba(47,128,255,.5);
  box-shadow:0 20px 55px rgba(0,0,0,.22);
}
.button{
  font-weight:800;
  letter-spacing:.04em;
}
.button.primary{
  background:linear-gradient(135deg,#2f80ff 0%,#00b8ff 100%);
  box-shadow:0 10px 28px rgba(47,128,255,.18);
}
.button.primary:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(47,128,255,.28);
}
input,select,textarea{
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
input:focus,select:focus,textarea:focus{
  border-color:#2f80ff;
  box-shadow:0 0 0 3px rgba(47,128,255,.12);
}
.booking-item{
  border-left:3px solid rgba(47,128,255,.75);
}
.metric strong{
  letter-spacing:-.04em;
}
.reference-box{
  border-color:#2f80ff;
  box-shadow:inset 0 0 0 1px rgba(47,128,255,.08);
}
.reference-box strong{
  color:#5da0ff;
}
.confirmation-icon{
  background:linear-gradient(135deg,#2f80ff,#00b8ff);
}
@media(max-width:720px){
  .hero h1{line-height:1}
  .hero-actions .button{width:100%}
  .section{padding-left:20px;padding-right:20px}
}

/* TAKT videowall showcase */
.videowall-showcase{padding:90px 22px;background:#080b11}
.videowall-showcase-inner{max-width:1240px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.videowall-copy h2{font-size:clamp(2.7rem,5vw,5rem);line-height:.98;letter-spacing:-.045em;margin:12px 0 22px}
.videowall-copy p{max-width:560px;color:var(--muted);font-size:1.08rem;line-height:1.75}
.videowall-image{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:#05070a;box-shadow:0 28px 70px rgba(0,0,0,.38)}
.videowall-image img{display:block;width:100%;height:520px;object-fit:cover}
.image-label{position:absolute;left:20px;right:20px;bottom:20px;padding:16px 18px;background:rgba(5,8,13,.82);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:12px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.image-label strong{color:#fff;letter-spacing:.12em}
.image-label span{color:#b7c1cf;font-size:.82rem;text-align:right}
@media(max-width:800px){
 .videowall-showcase{padding:64px 20px}
 .videowall-showcase-inner{grid-template-columns:1fr;gap:34px}
 .videowall-image img{height:360px}
 .image-label{position:static;border:0;border-top:1px solid var(--line);border-radius:0}
}

.client-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:48px auto;max-width:1100px}
.portal-form{display:grid;gap:14px}
.confirmation-status{margin:18px 0 24px;padding:18px;background:#0a0e14;border:1px solid var(--line);border-radius:12px}
.confirmation-status small{display:block;color:var(--muted);margin-bottom:6px}
.confirmation-status strong{font-size:1.35rem;color:#5da0ff}
.confirmation-status p{color:var(--muted);margin-bottom:0}
@media(max-width:760px){.client-auth-grid{grid-template-columns:1fr}}
