/* ═══════════════════════════════════════════
   TERMINBUCHUNG — Apple × Framer × Lumina OS
═══════════════════════════════════════════ */
.tb { background:#000; color:#fff; }
.tb, .tb * { font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; }

.tb-canvas { position:relative; isolation:isolate; overflow:hidden; }
.tb-dark { background:#000; }
.tb-mid  { background:#0a0a0a; }
.tb-wrap { max-width:1480px; margin:0 auto; padding:0 clamp(20px,4vw,56px); }

.tb-h2 { font-size:clamp(28px,3.4vw,46px); font-weight:600; letter-spacing:-0.025em; line-height:1.08; margin:0; }
.tb-h3 { font-size:clamp(18px,1.5vw,22px); font-weight:600; letter-spacing:-0.015em; line-height:1.25; margin:0; }
.tb-eyebrow { display:inline-block; font-size:13px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin:0; }
.tb-eyebrow.accent { color:#67e8f9; }
.tb-lead { font-size:clamp(15px,1.2vw,17px); font-weight:400; line-height:1.55; letter-spacing:-0.005em; color:rgba(255,255,255,0.66); }
.tb-p { font-size:14px; line-height:1.6; color:rgba(255,255,255,0.6); margin:0; }

.tb-row { display:flex; gap:10px; flex-wrap:wrap; }
.tb-btn-primary, .tb-btn-ghost {
  display:inline-flex; align-items:center; gap:6px;
  padding:11px 22px; border-radius:980px;
  font-size:14px; font-weight:500; letter-spacing:-0.005em;
  text-decoration:none; transition:all 0.18s; border:1px solid transparent; cursor:pointer;
}
.tb-btn-primary {
  color:#fff;
  background:linear-gradient(135deg,#0284c7,#06b6d4);
  background-size:200% 200%; animation:tbGradMove 6s ease infinite;
  box-shadow:0 8px 32px rgba(2,132,199,0.35);
}
.tb-btn-primary:hover { transform:translateY(-1px); box-shadow:0 12px 40px rgba(6,182,212,0.45); }
.tb-btn-ghost {
  background:rgba(255,255,255,0.06); color:#fff;
  border-color:rgba(255,255,255,0.18); backdrop-filter:blur(20px);
}
.tb-btn-ghost:hover { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.32); }
.tb-link { display:inline-flex; align-items:center; gap:4px; color:#67e8f9; text-decoration:none; font-size:14px; font-weight:500; }
.tb-link::after { content:'›'; font-size:18px; line-height:0.8; transform:translateY(-1px); }
.tb-link:hover { opacity:0.8; }

@keyframes tbGradMove { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@keyframes tbFade { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }
@keyframes tbPulse { 0%,100% { opacity:0.4; transform:scale(1); } 50% { opacity:1; transform:scale(1.4); } }

/* ─── 1 · HERO ─────────────────────────────── */
.tb-hero {
  position:relative; min-height:92vh;
  padding:130px clamp(20px,4vw,56px) 90px;
  display:flex; flex-direction:column; align-items:center; gap:38px;
  text-align:center; overflow:hidden;
}
.tb-aurora { position:absolute; inset:-20%; pointer-events:none; z-index:0; filter:blur(80px); opacity:0.5; }
.tb-aurora::before, .tb-aurora::after, .tb-aurora-3 { content:''; position:absolute; border-radius:50%; }
.tb-aurora::before { width:720px; height:720px; background:radial-gradient(circle,#0284c7 0%,transparent 70%); top:-10%; left:-10%; animation:tbA1 20s ease-in-out infinite; }
.tb-aurora::after  { width:620px; height:620px; background:radial-gradient(circle,#06b6d4 0%,transparent 70%); top:18%; right:-15%; animation:tbA2 24s ease-in-out infinite; }
.tb-aurora-3 { position:absolute; width:560px; height:560px; background:radial-gradient(circle,#22d3ee 0%,transparent 70%); bottom:-15%; left:30%; animation:tbA3 28s ease-in-out infinite; }
@keyframes tbA1 { 0%,100% { transform:translate(0,0) scale(1); } 50% { transform:translate(80px,40px) scale(1.15); } }
@keyframes tbA2 { 0%,100% { transform:translate(0,0) scale(1); } 50% { transform:translate(-60px,80px) scale(0.9); } }
@keyframes tbA3 { 0%,100% { transform:translate(0,0) scale(1); } 50% { transform:translate(40px,-50px) scale(1.2); } }
.tb-hero > * { position:relative; z-index:1; }

.tb-hero-tag {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase;
  color:#fff; padding:6px 14px; border-radius:100px;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18);
  backdrop-filter:blur(20px); animation:tbFade 0.7s ease both;
}
.tb-hero-tag-dot { width:6px; height:6px; border-radius:50%; background:linear-gradient(135deg,#0284c7,#06b6d4); box-shadow:0 0 12px rgba(6,182,212,0.8); }

.tb-hero-title {
  font-size:clamp(46px,7.5vw,108px); font-weight:600; letter-spacing:-0.04em; line-height:0.98; margin:0;
  max-width:1180px; animation:tbFade 0.9s ease 0.05s both;
}
.tb-hero-title .gradient {
  background:linear-gradient(135deg,#22d3ee 0%,#06b6d4 35%,#0284c7 65%,#1e40af 100%);
  background-size:300% 300%; background-clip:text; -webkit-background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  animation:tbHeroGrad 7s ease infinite;
}
@keyframes tbHeroGrad { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }

.tb-hero-sub { max-width:680px; margin:0; animation:tbFade 0.9s ease 0.15s both; }
.tb-hero-actions { animation:tbFade 0.9s ease 0.25s both; justify-content:center; }

/* ─── HERO STAGE: Lumina Wizard ─────────────── */
.tb-stage {
  position:relative; width:100%; max-width:1260px; margin-top:30px;
  animation:tbFade 1s ease 0.35s both;
}
.tb-wizard {
  position:relative; z-index:2;
  background:linear-gradient(180deg, rgba(15,18,28,0.92), rgba(8,11,18,0.96));
  border:1px solid rgba(255,255,255,0.12);
  border-radius:24px; backdrop-filter:blur(24px);
  display:grid; grid-template-columns:280px 1fr;
  min-height:560px; overflow:hidden;
  box-shadow:0 40px 120px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.04) inset;
}

/* Wizard sidebar */
.tb-wz-side { padding:28px 24px; border-right:1px solid rgba(255,255,255,0.08); display:flex; flex-direction:column; gap:36px; text-align:left; background:rgba(255,255,255,0.015); }
.tb-wz-brand { display:flex; align-items:center; gap:10px; }
.tb-wz-logo { width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,#fff,#e6f7ff); display:flex; align-items:center; justify-content:center; color:#000; box-shadow:0 4px 16px rgba(255,255,255,0.15); }
.tb-wz-logo svg { width:22px; height:22px; }

.tb-wz-steps { display:flex; flex-direction:column; gap:18px; flex:1; }
.tb-wz-step { display:flex; align-items:center; gap:14px; cursor:pointer; transition:opacity .2s; }
.tb-wz-step-num {
  width:28px; height:28px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:600; flex-shrink:0;
  background:rgba(255,255,255,0.05); color:rgba(255,255,255,0.5);
  border:1px solid rgba(255,255,255,0.1); transition:all .25s;
}
.tb-wz-step-label { font-size:14px; color:rgba(255,255,255,0.5); font-weight:500; transition:color .2s; }
.tb-wz-step.done .tb-wz-step-num { background:linear-gradient(135deg,#10b981,#34d399); border-color:transparent; color:#000; }
.tb-wz-step.done .tb-wz-step-num::before { content:'✓'; }
.tb-wz-step.done .tb-wz-step-num span { display:none; }
.tb-wz-step.active .tb-wz-step-num { background:linear-gradient(135deg,#0284c7,#06b6d4); border-color:transparent; color:#fff; box-shadow:0 0 0 4px rgba(6,182,212,0.18); }
.tb-wz-step.active .tb-wz-step-label { color:#67e8f9; font-weight:600; }

.tb-wz-summary { padding-top:22px; border-top:1px solid rgba(255,255,255,0.08); }
.tb-wz-sum-eye { font-size:11px; color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:8px; }
.tb-wz-sum-svc { font-size:18px; font-weight:600; color:#fff; margin-bottom:4px; }
.tb-wz-sum-meta { font-size:13px; color:rgba(255,255,255,0.55); margin-bottom:16px; }
.tb-wz-sum-price { font-size:28px; font-weight:700; color:#fff; letter-spacing:-0.02em; }
.tb-wz-sum-deposit { font-size:13px; color:#67e8f9; margin-top:2px; }

/* Wizard main panel */
.tb-wz-main { padding:32px 36px; display:flex; flex-direction:column; gap:22px; text-align:left; min-height:560px; }
.tb-wz-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.tb-wz-q { font-size:clamp(22px,2.4vw,32px); font-weight:600; letter-spacing:-0.02em; line-height:1.1; }
.tb-wz-toggle { display:flex; align-items:center; gap:6px; padding:4px; border-radius:100px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); }
.tb-wz-toggle-opt { font-size:12px; padding:6px 12px; border-radius:100px; color:rgba(255,255,255,0.55); cursor:pointer; transition:all .15s; font-weight:500; }
.tb-wz-toggle-opt.on { background:rgba(255,255,255,0.1); color:#fff; }
.tb-wz-ai-toggle {
  display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:500;
  padding:8px 14px; border-radius:100px; color:#fff;
  background:linear-gradient(135deg,#0284c7,#06b6d4);
  box-shadow:0 4px 16px rgba(6,182,212,0.4);
}
.tb-wz-ai-toggle::before { content:'✦'; font-size:11px; }

/* AI prompt bar */
.tb-wz-ai-bar {
  position:relative;
  background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.1);
  border-radius:14px; padding:14px 18px;
  display:flex; align-items:center; gap:12px;
  font-size:14px; color:rgba(255,255,255,0.45);
}
.tb-wz-ai-bar::before { content:'✦'; color:#67e8f9; font-size:16px; }
.tb-wz-ai-bar-mic { margin-left:auto; width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.6); font-size:13px; }

/* AI suggestion */
.tb-wz-ai-sug {
  background:rgba(6,182,212,0.06); border:1px solid rgba(6,182,212,0.22);
  border-radius:14px; padding:14px 18px;
  display:flex; align-items:center; gap:14px; font-size:13px; color:rgba(255,255,255,0.85);
}
.tb-wz-ai-sug::before { content:'✦'; color:#67e8f9; font-size:14px; }
.tb-wz-ai-sug-cta { margin-left:auto; padding:6px 14px; border-radius:100px; border:1px solid rgba(255,255,255,0.18); background:rgba(255,255,255,0.04); color:#fff; font-size:12px; font-weight:500; cursor:pointer; }

/* Service grid */
.tb-wz-svcs { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tb-wz-svc { padding:22px; background:rgba(255,255,255,0.025); border:1px solid rgba(255,255,255,0.08); border-radius:16px; cursor:pointer; transition:all .2s; position:relative; }
.tb-wz-svc:hover { background:rgba(255,255,255,0.04); border-color:rgba(255,255,255,0.16); }
.tb-wz-svc.sel { background:rgba(6,182,212,0.06); border-color:rgba(6,182,212,0.4); }
.tb-wz-svc-dot { width:8px; height:8px; border-radius:50%; margin-bottom:10px; }
.tb-wz-svc-title { font-size:18px; font-weight:600; color:#fff; margin-bottom:6px; letter-spacing:-0.01em; }
.tb-wz-svc-meta { font-size:13px; color:rgba(255,255,255,0.5); margin-bottom:14px; }
.tb-wz-svc-desc { font-size:13px; color:rgba(255,255,255,0.6); line-height:1.5; margin-bottom:10px; }
.tb-wz-svc-tag { font-size:12px; color:#67e8f9; }

/* Date row */
.tb-wz-eyebrow-s { font-size:11px; color:rgba(255,255,255,0.45); letter-spacing:0.08em; text-transform:uppercase; }
.tb-wz-dates { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }
.tb-wz-date { padding:14px 8px; border-radius:14px; background:rgba(255,255,255,0.025); border:1px solid rgba(255,255,255,0.08); cursor:pointer; transition:all .15s; text-align:center; }
.tb-wz-date:hover { background:rgba(255,255,255,0.05); }
.tb-wz-date.sel { background:linear-gradient(135deg,#0284c7,#06b6d4); border-color:transparent; }
.tb-wz-date-d { font-size:11px; color:rgba(255,255,255,0.5); margin-bottom:4px; letter-spacing:0.04em; }
.tb-wz-date.sel .tb-wz-date-d { color:rgba(255,255,255,0.9); }
.tb-wz-date-n { font-size:22px; font-weight:600; color:#fff; }

/* Time slots */
.tb-wz-slots-row { display:flex; gap:10px; flex-wrap:wrap; }
.tb-wz-slot { padding:10px 22px; border-radius:14px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); font-size:14px; color:rgba(255,255,255,0.85); cursor:pointer; font-weight:500; transition:all .15s; }
.tb-wz-slot:hover { background:rgba(255,255,255,0.06); }
.tb-wz-slot.sel { background:linear-gradient(135deg,#0284c7,#06b6d4); border-color:transparent; color:#fff; }

/* Recurring */
.tb-wz-rec-row { display:flex; gap:8px; flex-wrap:wrap; }
.tb-wz-rec { padding:10px 18px; border-radius:100px; border:1px solid rgba(255,255,255,0.12); background:transparent; font-size:13px; color:rgba(255,255,255,0.7); cursor:pointer; transition:all .15s; }
.tb-wz-rec:hover { background:rgba(255,255,255,0.04); }
.tb-wz-rec.sel { background:rgba(6,182,212,0.08); color:#67e8f9; border-color:rgba(6,182,212,0.5); }

.tb-wz-best-time { display:inline-flex; align-items:center; gap:6px; font-size:13px; padding:9px 16px; border-radius:100px; background:linear-gradient(135deg,#0284c7,#06b6d4); color:#fff; font-weight:500; cursor:pointer; }
.tb-wz-best-time::before { content:'✦'; font-size:11px; }

.tb-wz-foot { margin-top:auto; display:flex; justify-content:space-between; padding-top:18px; border-top:1px solid rgba(255,255,255,0.06); }
.tb-wz-back { padding:11px 22px; border-radius:100px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); color:rgba(255,255,255,0.85); font-size:13px; font-weight:500; cursor:pointer; }
.tb-wz-next { padding:11px 26px; border-radius:100px; background:#fff; color:#000; font-size:13px; font-weight:600; cursor:pointer; border:none; }

/* Floats around wizard */
.tb-float {
  position:absolute; z-index:3;
  background:rgba(20,22,32,0.85); backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,0.14); border-radius:16px;
  padding:14px 18px; display:flex; flex-direction:column; gap:4px;
  box-shadow:0 16px 48px rgba(0,0,0,0.4);
  animation:tbFloat 6s ease-in-out infinite;
}
.tb-float-icon {
  width:32px; height:32px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:15px; font-weight:600; margin-bottom:4px;
}
.tb-float-label { font-size:11px; color:rgba(255,255,255,0.5); letter-spacing:0.04em; text-transform:uppercase; }
.tb-float-val { font-size:15px; font-weight:600; color:#fff; }

.tb-float-1 { top:6%; left:-3%; animation-delay:0s; }
.tb-float-2 { top:18%; right:-4%; animation-delay:1.5s; }
.tb-float-3 { bottom:18%; left:-4%; animation-delay:3s; }
.tb-float-4 { bottom:6%; right:-3%; animation-delay:4.5s; }

@keyframes tbFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }

@media(max-width:980px) {
  .tb-wizard { grid-template-columns:1fr; }
  .tb-wz-side { padding:18px; flex-direction:row; flex-wrap:wrap; gap:18px; border-right:none; border-bottom:1px solid rgba(255,255,255,0.08); }
  .tb-wz-steps { flex-direction:row; gap:10px; flex-wrap:wrap; }
  .tb-wz-summary { width:100%; padding-top:14px; }
  .tb-wz-svcs { grid-template-columns:1fr; }
  .tb-wz-dates { grid-template-columns:repeat(4,1fr); }
  .tb-float { display:none; }
}

/* ─── 2 · STATEMENT ─────────────────────────── */
.tb-statement { padding:120px clamp(20px,4vw,56px) 130px; text-align:center; max-width:1200px; margin:0 auto; }
.tb-statement-h { font-size:clamp(36px,5.5vw,80px); font-weight:600; letter-spacing:-0.035em; line-height:1.05; margin:0 0 28px; }
.tb-statement-h .grad-x {
  background:linear-gradient(135deg,#22d3ee,#06b6d4 50%,#0284c7);
  background-clip:text; -webkit-background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}
.tb-statement-sub { max-width:740px; margin:0 auto; font-size:clamp(16px,1.5vw,20px); }

/* ─── 3 · DASHBOARD MOCK ────────────────────── */
.tb-section { padding:100px clamp(20px,4vw,56px); }
.tb-section-head { max-width:880px; margin:0 auto 56px; text-align:center; display:flex; flex-direction:column; gap:14px; align-items:center; }

.tb-dashboard {
  max-width:1400px; margin:0 auto;
  background:#08090d; border:1px solid rgba(255,255,255,0.1);
  border-radius:22px; overflow:hidden;
  display:grid; grid-template-columns:240px 1fr;
  min-height:620px;
  box-shadow:0 40px 120px rgba(0,0,0,0.5);
}
.tb-ds-side { background:rgba(255,255,255,0.015); border-right:1px solid rgba(255,255,255,0.06); padding:22px 16px; display:flex; flex-direction:column; gap:18px; }
.tb-ds-brand { display:flex; align-items:center; gap:10px; padding:0 6px; }
.tb-ds-brand-logo { width:36px; height:36px; border-radius:10px; background:linear-gradient(135deg,#fff,#e6f7ff); display:flex; align-items:center; justify-content:center; }
.tb-ds-brand-logo svg { width:18px; height:18px; }
.tb-ds-brand-name { font-size:14px; font-weight:700; letter-spacing:0.08em; }
.tb-ds-brand-sub { font-size:10px; color:#67e8f9; letter-spacing:0.1em; }
.tb-ds-section-label { font-size:10px; color:rgba(255,255,255,0.35); letter-spacing:0.12em; text-transform:uppercase; padding:0 10px; margin-top:8px; }
.tb-ds-nav { display:flex; flex-direction:column; gap:2px; }
.tb-ds-nav-item { display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:10px; font-size:13px; color:rgba(255,255,255,0.7); cursor:pointer; transition:all .15s; }
.tb-ds-nav-item:hover { background:rgba(255,255,255,0.04); color:#fff; }
.tb-ds-nav-item.active { background:#fff; color:#000; font-weight:600; }
.tb-ds-nav-icon { width:16px; height:16px; flex-shrink:0; opacity:0.85; }
.tb-ds-nav-badge { margin-left:auto; font-size:10px; padding:2px 6px; border-radius:6px; background:rgba(6,182,212,0.18); color:#67e8f9; font-weight:600; }
.tb-ds-nav-item.active .tb-ds-nav-badge { background:rgba(0,0,0,0.1); color:#000; }

.tb-ds-user { margin-top:auto; display:flex; align-items:center; gap:10px; padding:10px; border-top:1px solid rgba(255,255,255,0.06); padding-top:14px; }
.tb-ds-user-avatar { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#0284c7,#06b6d4); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:600; color:#fff; }
.tb-ds-user-name { font-size:13px; font-weight:600; }
.tb-ds-user-role { font-size:10px; color:rgba(255,255,255,0.4); letter-spacing:0.08em; text-transform:uppercase; }

.tb-ds-main { padding:34px 38px; }
.tb-ds-greet-tag { display:inline-flex; align-items:center; gap:8px; font-size:11px; color:#67e8f9; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:14px; }
.tb-ds-greet-tag::before { content:''; width:6px; height:6px; border-radius:50%; background:#22d3ee; box-shadow:0 0 12px rgba(34,211,238,0.8); animation:tbPulseDot 1.6s ease-in-out infinite; }
@keyframes tbPulseDot { 0%,100% { opacity:0.5; } 50% { opacity:1; } }
.tb-ds-greet-h { font-size:clamp(28px,3.5vw,48px); font-weight:600; letter-spacing:-0.025em; line-height:1.05; margin:0 0 14px; }
.tb-ds-greet-h .accent { color:#22d3ee; }
.tb-ds-greet-sub { font-size:15px; color:rgba(255,255,255,0.6); margin-bottom:30px; max-width:560px; }
.tb-ds-cta-row { display:flex; gap:10px; margin-bottom:46px; flex-wrap:wrap; }
.tb-ds-cta { padding:11px 22px; border-radius:100px; font-size:13px; font-weight:500; cursor:pointer; border:1px solid transparent; display:inline-flex; align-items:center; gap:8px; }
.tb-ds-cta-primary { background:#fff; color:#000; }
.tb-ds-cta-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,0.18); }

.tb-ds-stats-eye { font-size:11px; color:rgba(255,255,255,0.45); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:10px; }
.tb-ds-stats-h { font-size:clamp(22px,2.4vw,32px); font-weight:600; letter-spacing:-0.02em; margin:0 0 22px; }
.tb-ds-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.tb-ds-stat { padding:18px 18px; border-radius:16px; background:rgba(255,255,255,0.025); border:1px solid rgba(255,255,255,0.06); position:relative; }
.tb-ds-stat-icon { width:32px; height:32px; border-radius:10px; background:rgba(255,255,255,0.05); display:flex; align-items:center; justify-content:center; margin-bottom:14px; color:rgba(255,255,255,0.7); }
.tb-ds-stat-icon svg { width:16px; height:16px; }
.tb-ds-stat-delta { position:absolute; top:18px; right:18px; font-size:11px; font-weight:600; color:#10b981; }
.tb-ds-stat-num { font-size:30px; font-weight:700; letter-spacing:-0.02em; margin-bottom:4px; }
.tb-ds-stat-label { font-size:11px; color:rgba(255,255,255,0.45); letter-spacing:0.08em; text-transform:uppercase; }

@media(max-width:900px) {
  .tb-dashboard { grid-template-columns:1fr; }
  .tb-ds-side { display:none; }
  .tb-ds-stats { grid-template-columns:1fr 1fr; }
}

/* ─── 4 · BENEFITS GRID ─────────────────────── */
.tb-bento { display:grid; grid-template-columns:repeat(3, 1fr); grid-auto-rows:1fr; gap:14px; max-width:1400px; margin:0 auto; }
.tb-bento-cell {
  padding:32px;
  background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  border:1px solid rgba(255,255,255,0.08);
  border-radius:22px;
  display:flex; flex-direction:column; gap:16px;
  position:relative; overflow:hidden;
  transition:all .25s;
}
.tb-bento-cell:hover { border-color:rgba(255,255,255,0.16); transform:translateY(-2px); }
.tb-bento-cell.b-big { grid-column:span 2; grid-row:span 2; min-height:380px; }
.tb-bento-cell.b-tall { grid-row:span 2; }
.tb-bento-cell.b-wide { grid-column:span 2; }

.tb-bento-icon { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0284c7,#06b6d4); color:#fff; font-size:18px; }
.b-title { font-size:21px; font-weight:600; letter-spacing:-0.018em; margin:0; }
.b-desc { font-size:14px; color:rgba(255,255,255,0.62); line-height:1.55; margin:0; }
.b-stat { font-size:48px; font-weight:700; letter-spacing:-0.03em; line-height:1; }
.b-stat .small { font-size:24px; opacity:0.6; }
.tb-bento-mini-row { display:flex; gap:8px; align-items:center; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.06); font-size:13px; }
.tb-bento-mini-row:last-child { border-bottom:none; }
.tb-bento-mini-row .dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.tb-bento-mini-row .name { flex:1; color:rgba(255,255,255,0.85); }
.tb-bento-mini-row .meta { color:rgba(255,255,255,0.5); font-size:12px; }

@media(max-width:900px) {
  .tb-bento { grid-template-columns:1fr; }
  .tb-bento-cell.b-big, .tb-bento-cell.b-tall, .tb-bento-cell.b-wide { grid-column:auto; grid-row:auto; min-height:auto; }
}

/* ─── 5 · INDUSTRIES TICKER ─────────────────── */
.tb-ticker-wrap { overflow:hidden; padding:24px 0; mask-image:linear-gradient(to right, transparent, #000 12%, #000 88%, transparent); }
.tb-ticker { display:flex; gap:14px; animation:tbTicker 32s linear infinite; width:max-content; }
.tb-ticker-item { padding:14px 24px; border-radius:100px; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.02); font-size:14px; color:rgba(255,255,255,0.85); white-space:nowrap; display:inline-flex; align-items:center; gap:8px; }
.tb-ticker-item .em { font-size:16px; }
@keyframes tbTicker { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ─── 6 · USE CASES ─────────────────────────── */
.tb-cases { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; max-width:1280px; margin:0 auto; }
.tb-case { padding:32px; border-radius:22px; background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)); border:1px solid rgba(255,255,255,0.08); display:flex; flex-direction:column; gap:14px; }
.tb-case-tag { font-size:11px; color:#67e8f9; letter-spacing:0.1em; text-transform:uppercase; }
.tb-case-title { font-size:22px; font-weight:600; letter-spacing:-0.02em; margin:0; }
.tb-case-desc { font-size:14px; color:rgba(255,255,255,0.65); line-height:1.6; margin:0; }
.tb-case-result {
  margin-top:auto; padding-top:14px; border-top:1px solid rgba(255,255,255,0.08);
  font-size:14px; font-weight:600;
  background:linear-gradient(135deg,#22d3ee,#06b6d4);
  background-clip:text; -webkit-background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}
@media(max-width:780px){ .tb-cases { grid-template-columns:1fr; } }

/* ─── 7 · PROCESS ──────────────────────────── */
.tb-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:1400px; margin:0 auto; }
.tb-step-card { padding:28px; border-radius:20px; background:rgba(255,255,255,0.025); border:1px solid rgba(255,255,255,0.08); display:flex; flex-direction:column; gap:12px; }
.tb-step-num {
  width:34px; height:34px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:600;
  background:rgba(6,182,212,0.12); color:#67e8f9;
  border:1px solid rgba(6,182,212,0.3);
}
.tb-step-title { font-size:17px; font-weight:600; letter-spacing:-0.015em; margin:0; }
.tb-step-desc { font-size:13.5px; color:rgba(255,255,255,0.6); line-height:1.55; margin:0; }
@media(max-width:980px){ .tb-steps { grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .tb-steps { grid-template-columns:1fr; } }

/* ─── 8 · FAQ ───────────────────────────────── */
.tb-faq { max-width:880px; margin:0 auto; }
.tb-faq-item { border-bottom:1px solid rgba(255,255,255,0.08); }
.tb-faq-item:first-child { border-top:1px solid rgba(255,255,255,0.08); }
.tb-faq-q { width:100%; background:none; border:none; color:#fff; font-family:inherit; font-size:17px; font-weight:500; letter-spacing:-0.01em; text-align:left; padding:22px 0; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.tb-faq-icon { color:rgba(255,255,255,0.4); font-size:22px; transition:transform .25s; flex-shrink:0; }
.tb-faq-a { font-size:15px; color:rgba(255,255,255,0.6); line-height:1.7; padding-bottom:22px; display:none; }
.tb-faq-item.open .tb-faq-a { display:block; }
.tb-faq-item.open .tb-faq-icon { transform:rotate(45deg); color:#67e8f9; }

/* ─── 9 · CTA ──────────────────────────────── */
.tb-cta { text-align:center; max-width:1100px; margin:0 auto; padding:120px clamp(20px,4vw,56px); position:relative; }
.tb-cta-h { font-size:clamp(36px,5.5vw,76px); font-weight:600; letter-spacing:-0.035em; line-height:1.05; margin:0 0 22px; }
.tb-cta-h .grad {
  background:linear-gradient(135deg,#22d3ee,#06b6d4 50%,#0284c7);
  background-clip:text; -webkit-background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}
.tb-cta-sub { max-width:640px; margin:0 auto 32px; font-size:clamp(15px,1.4vw,18px); color:rgba(255,255,255,0.66); }

/* ─── reveal anim ──────────────────────────── */
.r-up { opacity:0; transform:translateY(30px); transition:opacity .8s ease, transform .8s ease; }
.r-up.in { opacity:1; transform:translateY(0); }

/* ─── related ──────────────────────────────── */
.tb-related { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:1280px; margin:0 auto; }
.tb-related-card { padding:28px; border-radius:18px; background:rgba(255,255,255,0.025); border:1px solid rgba(255,255,255,0.08); text-decoration:none; color:#fff; display:flex; flex-direction:column; gap:10px; transition:all .2s; }
.tb-related-card:hover { background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.18); transform:translateY(-2px); }
.tb-related-card .ico { font-size:28px; }
.tb-related-card .t { font-size:17px; font-weight:600; letter-spacing:-0.015em; }
.tb-related-card .d { font-size:13.5px; color:rgba(255,255,255,0.55); line-height:1.55; }
@media(max-width:780px){ .tb-related { grid-template-columns:1fr; } }
