
/* KEffect v4 — Cinematic Dark (Blackbird-inspired)
   Design language: pure black canvas, oversized editorial type, hairline
   borders, sparing colour accents, full-bleed hero, grid-based portfolio
   style cards for services and work. All copy is original.
*/

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Mono:wght@500;600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  /* KEffect brand palette — cinematic black */
  --bg:#050505;
  --bg2:#0a0a0a;
  --panel:#0b0b0c;
  --panel2:#111113;
  --border:rgba(255,255,255,0.10);
  --border2:rgba(255,255,255,0.22);
  --text:#f5f5f4;
  --muted:#9a9a9d;
  --muted2:#6b6b70;
  --accent:#8fe23c;
  --accent2:#3d84e6;
  --danger:#f87171;

  --radius:4px;
  --radius2:6px;
  --shadow: 0 30px 80px rgba(0,0,0,0.55);
  --shadow2: 0 16px 40px rgba(0,0,0,0.45);

  --font-display: "Space Grotesk", ui-sans-serif, system-ui, Arial, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --max:100%;
  --pad: clamp(16px, 5vw, 80px);
}


*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:120px}
body{
  margin:0;
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background: var(--bg);
  overflow-x:hidden;
}

a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
p{line-height:1.7; color:var(--muted); margin:0 0 14px}
small{color:var(--muted2)}
h1,h2,h3,h4{font-family:var(--font-display); letter-spacing:-0.02em; font-weight:700}
.container{width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--pad)}
hr.hr{border:0; border-top:1px solid var(--border); margin:18px 0}
.hidden{display:none!important}

.eyebrow, .kicker .badge, .label{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:0.22em;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; color:var(--muted2);
  margin-bottom:14px;
}
.eyebrow::before{content:"—"; color:var(--accent)}

.roster{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--border);
  border:1px solid var(--border);
}
.roster-card{
  position:relative;
  background:var(--bg);
  padding:32px 26px 26px;
  overflow:hidden;
  transition:background .25s ease;
}
.roster-card::before{content:none}
.roster-card::after{
  content:attr(data-id);
  position:absolute; top:20px; right:22px;
  font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em;
  color:var(--muted2);
}
.roster-card:hover{background:var(--panel2)}
.roster-card .icon{
  width:40px; height:40px; border-radius:0;
  display:flex; align-items:center; justify-content:center;
  background:transparent; border:1px solid var(--border);
  color:var(--text); font-size:16px; margin-bottom:24px;
}
.roster-card h3{font-size:20px; margin:0 0 10px; color:var(--text); font-weight:700}
.roster-card p{font-size:13.5px; margin:0 0 18px}
.roster-card .tags{display:flex; flex-wrap:wrap; gap:6px}
.roster-card .tags span{
  font-family:var(--font-mono); font-size:10px; letter-spacing:0.06em;
  padding:5px 9px; border-radius:0;
  border:1px solid var(--border); color:var(--muted);
  text-transform:uppercase;
}
.roster-card .go{
  display:inline-flex; align-items:center; gap:6px;
  margin-top:20px; font-size:12.5px; font-weight:600; color:var(--text);
  text-transform:uppercase; letter-spacing:0.08em;
}
.roster-card .go i{transition:transform .2s ease}
.roster-card:hover .go i{transform:translateX(4px)}
@media (max-width:980px){ .roster{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .roster{grid-template-columns:1fr} }

.announce{
  position:sticky;
  top:0;
  z-index:999;
  background: var(--bg);
  border-bottom:1px solid var(--border);
}
.announce .row{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:10px 0;
}
.announce .msg{
  display:flex; align-items:center; gap:10px;
  font-size:12.5px; color:var(--muted); letter-spacing:0.02em;
}
.announce .msg i{opacity:0.9; color:var(--accent)}
.announce .actions{display:flex; align-items:center; gap:10px}
.announce .link{
  font-size:12.5px; color:var(--text);
  text-transform:uppercase; letter-spacing:0.08em;
}
.announce .close{
  display:flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:0;
  border:1px solid var(--border);
  background:transparent;
  cursor:pointer;
  color:var(--muted);
}
.announce .close:hover{border-color:var(--border2); color:var(--text)}

.nav{
  position:sticky;
  top:0;
  z-index:998;
  border-bottom:1px solid var(--border);
  background:rgba(5,5,5,0.82);
  backdrop-filter: blur(14px);
}
.nav.scrolled{background:rgba(5,5,5,0.96)}
.nav .bar{
  display:flex; align-items:center; justify-content:space-between;
  gap:18px; padding:20px 0;
}
.brand{display:flex; align-items:center; gap:10px}
.brand img{height:30px; width:auto}
.brand span{font-weight:700; letter-spacing:0.2px}
.navlinks{
  display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0;
}
.navlinks > li{position:relative}
.navlinks a{
  display:flex; align-items:center; gap:8px;
  padding:10px 14px;
  border-radius:0;
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--muted);
  font-weight:600;
}
.navlinks a:hover{color:var(--text)}
.navlinks a.active{color:var(--text)}
.navlinks .chev{font-size:10px; opacity:0.6; transition:transform .18s ease}

.dd{
  position:absolute;
  top:44px; left:0;
  width:320px;
  background: rgba(10,10,10,0.98);
  border:1px solid var(--border);
  border-radius:0;
  padding:6px;
  box-shadow: var(--shadow2);
  display:none;
}
li:hover>.dd{display:block}
.navlinks > li.open > .dd{display:block}
.navlinks > li.open > a{color:var(--text)}
.navlinks > li.open > a .chev{transform:rotate(180deg)}
.dd a{
  padding:14px 12px;
  border-radius:0;
  display:flex; gap:10px;
  text-transform:none; letter-spacing:0;
}
.dd a .meta{display:flex; flex-direction:column; gap:3px}
.dd a .t{font-weight:650; font-size:13.5px; color:var(--text)}
.dd a .d{font-size:12px; color:var(--muted)}
.dd a i{width:18px; opacity:0.9; margin-top:2px; color:var(--muted)}
.dd a:hover{background:var(--panel2)}

.nav-cta{display:flex; align-items:center; gap:10px}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; padding:8px 12px;
  border:1px solid var(--border);
  background:transparent;
  border-radius:0;
  color:var(--muted);
  text-transform:uppercase; letter-spacing:0.14em;
}
.badge .dot{width:6px; height:6px; border-radius:999px; background:var(--accent)}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:9px;
  border-radius:0;
  padding:13px 20px;
  border:1px solid var(--border);
  background:transparent;
  color:var(--text);
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:600;
  cursor:pointer;
}
.btn:hover{border-color:var(--border2); background:var(--panel2)}
.btn.primary{
  border:1px solid var(--text);
  background: var(--text);
  color:#050505;
  font-weight:700;
}
.btn.primary:hover{background:transparent; color:var(--text)}
.btn.ghost{
  background:transparent;
  border-color:var(--border);
}
.btn.small{padding:10px 14px; font-size:11.5px; border-radius:0}

.hamburger{display:none}
.hamburger button{
  width:42px; height:42px;
  border-radius:0;
  border:1px solid var(--border);
  background:transparent;
  color:var(--text);
  cursor:pointer;
}

.mmenu{
  display:none;
  border-top:1px solid var(--border);
  padding:10px 0 14px;
}
.mmenu.open{display:block}
.mmenu .col{display:flex; flex-direction:column; gap:6px}
.mmenu a{padding:14px 12px; border-radius:0; background:transparent; border:1px solid var(--border); text-transform:uppercase; font-size:12.5px; letter-spacing:0.06em}
.mmenu a:hover{background:var(--panel2)}
.mmenu details{
  border:1px solid var(--border);
  border-radius:0;
  background:transparent;
  padding:12px 12px;
}
.mmenu summary{cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--text); font-size:12.5px; text-transform:uppercase; letter-spacing:0.06em}
.mmenu summary::-webkit-details-marker{display:none}
.mmenu details a{border:0; background:transparent; padding:10px 0; border-radius:0; text-transform:none; font-size:14px}
.mmenu details .sub{display:flex; flex-direction:column; gap:6px; margin-top:8px; padding-top:8px; border-top:1px solid var(--border)}
.mmenu .cta{display:flex; gap:10px; flex-wrap:wrap; margin-top:8px}

.hero{
  padding:110px 0 60px;
  position:relative;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(143,226,60,0.05), transparent 60%),
    radial-gradient(900px 500px at 10% 0%, rgba(61,132,230,0.06), transparent 60%);
  pointer-events:none;
}
.hero .grid{
  display:grid; grid-template-columns: 1.15fr 0.85fr;
  gap:24px; align-items:center;
  position:relative;
}
.kicker{margin-bottom:20px}
.h1{
  font-size:clamp(48px, 7vw, 92px);
  line-height:0.98;
  letter-spacing:-0.03em;
  margin:0 0 24px;
  font-weight:700;
  text-transform:uppercase;
}
.grad{
  background: linear-gradient(135deg, var(--accent2), var(--accent));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.lede{
  font-size:18px;
  color:var(--muted);
  max-width:52ch;
  margin-bottom:24px;
}
.hero .actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:6px}
.hero .fine{display:flex; gap:16px; flex-wrap:wrap; margin-top:28px}
.fine .chip{
  display:inline-flex; gap:10px; align-items:flex-start;
  padding:14px 16px;
  border-radius:0;
  background:transparent;
  border:1px solid var(--border);
  width:max-content;
}
.fine .chip i{opacity:0.9; margin-top:2px; color:var(--accent)}
.fine .chip .t{font-weight:700; color:var(--text); font-size:12.5px; text-transform:uppercase; letter-spacing:0.04em}
.fine .chip .d{font-size:12px; color:var(--muted); margin-top:3px}
.hero-card{
  border-radius: 0;
  border:1px solid var(--border);
  background: var(--panel);
  box-shadow: var(--shadow2);
  overflow:hidden;
}
.hero-card .top{
  padding:16px 16px 12px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  border-bottom:1px solid var(--border);
}
.dots{display:flex; gap:6px}
.dots span{width:8px; height:8px; border-radius:999px; background:var(--border2)}
.hero-card .body{padding:14px 16px 16px}
.chat{display:flex; flex-direction:column; gap:10px}
.bubble{
  max-width: 92%;
  padding:11px 12px;
  border-radius:0;
  border:1px solid var(--border);
  background: transparent;
  color:var(--text);
  font-size:13.5px;
}
.bubble.me{align-self:flex-end; background:var(--panel2); border-color:var(--border2)}
.bubble.ai{align-self:flex-start; background:rgba(143,226,60,0.06); border-color:rgba(143,226,60,0.28)}
.hero-card .mini{
  display:grid; grid-template-columns:1fr 1fr;
  gap:1px; margin-top:12px;
  background:var(--border);
}
.mtag{
  padding:12px 12px;
  border-radius:0;
  background:var(--bg);
  border:0;
  font-size:12px;
  display:flex; align-items:center; gap:8px;
  color:var(--text);
}
.mtag i{opacity:0.9; color:var(--accent)}

.marquee{
  margin:26px 0 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background: transparent;
}
.marquee .wrap{
  overflow:hidden;
  padding:22px 0;
}
.track{
  display:flex;
  gap:14px;
  width:max-content;
  animation: scroll 26s linear infinite;
}
.pill{
  padding:10px 16px;
  border-radius:0;
  border:1px solid var(--border);
  background:transparent;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--muted);
  display:flex; gap:10px; align-items:center;
  white-space:nowrap;
}
@keyframes scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.section{padding:100px 0}
.section.compact{padding:64px 0}
.section .head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:20px; margin-bottom:44px; flex-wrap:wrap;
}
.h2{
  font-size:clamp(30px, 4vw, 48px);
  line-height:1.05;
  margin:0 0 12px;
  letter-spacing:-0.02em;
  text-transform:uppercase;
}
.sub{color:var(--muted); max-width:64ch; margin:0}

.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border)}
.grid2{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border); border:1px solid var(--border)}
.card{
  border-radius:0;
  background:var(--bg);
  border:0;
  padding:32px 26px;
  transition:background .2s ease;
}
.card:hover{background:var(--panel2)}
.card .icon{
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border); color:var(--text); font-size:16px; margin-bottom:20px;
}
.card h3{font-size:19px; margin:0 0 10px; color:var(--text)}
.card ul{list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:8px}
.card ul li{display:flex; gap:8px; font-size:13px; color:var(--muted)}
.card ul li i{color:var(--accent); margin-top:2px}

.split{display:grid; grid-template-columns:1fr; gap:1px}
.panel{
  border-radius:0;
  border:1px solid var(--border);
  background:var(--panel);
  padding:32px;
  box-shadow:none;
}
.k{
  font-family:var(--font-mono); text-transform:uppercase; letter-spacing:0.14em;
  font-size:11px; color:var(--muted2);
}
.row{display:flex; flex-wrap:wrap; gap:8px}
.tag{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 13px; border-radius:0;
  border:1px solid var(--border); color:var(--muted);
  font-size:12px; text-transform:uppercase; letter-spacing:0.04em;
}
.tag i{color:var(--accent)}

.demogrid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border); border:1px solid var(--border)}

.band{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  border:1px solid var(--border);
  padding:36px 32px;
  background:var(--panel);
}
.band h3{margin:0 0 6px; font-size:24px; text-transform:uppercase}
.band p{margin:0; color:var(--muted)}
.band .cta{display:flex; gap:10px; flex-wrap:wrap}

.table{width:100%; border-collapse:collapse; background:var(--panel); border:1px solid var(--border)}
.table th{
  text-align:left; padding:16px 18px; font-size:11px; text-transform:uppercase;
  letter-spacing:0.1em; color:var(--muted2); border-bottom:1px solid var(--border);
  font-family:var(--font-mono);
}
.table td{padding:16px 18px; border-bottom:1px solid var(--border); vertical-align:top}
.table tr:last-child td{border-bottom:0}
.table .t{font-weight:700; color:var(--text)}
.table .d{color:var(--muted); font-size:13.5px}

.tabs{border:1px solid var(--border); background:var(--panel); overflow:hidden}
.tabbar{display:flex; background:var(--panel2); overflow-x:auto}
.tabbar button{
  padding:14px 18px; background:transparent; border:0; color:var(--muted);
  font-size:12.5px; text-transform:uppercase; letter-spacing:0.06em; cursor:pointer; white-space:nowrap;
}
.tabbar button.active{background:var(--bg); color:var(--text)}

.form{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.input, textarea{
  width:100%;
  padding:13px 14px;
  border-radius:0;
  border:1px solid var(--border);
  background:var(--panel2);
  color:var(--text);
  outline:none;
  font-size:14px;
}
textarea{min-height:120px; resize:vertical}
.input:focus, textarea:focus{border-color:var(--border2)}
.label{font-size:12px; color:var(--muted); margin-bottom:6px; text-transform:uppercase; letter-spacing:0.06em}

.footer{
  padding:64px 0 30px;
  border-top:1px solid var(--border);
  background: var(--bg2);
}
.fgrid{
  display:grid;
  grid-template-columns: 1.3fr repeat(4, 1fr);
  gap:16px;
}
.footbrand img{height:30px; margin-bottom:14px}
.fcol h4{margin:0 0 14px; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted2); font-family:var(--font-mono)}
.fcol a{display:block; padding:9px 0; color:var(--muted); font-size:13px}
.fcol a:hover{color:var(--text)}
.copy{
  margin-top:32px; padding-top:24px; border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; flex-wrap:wrap;
  color:var(--muted2); font-size:12px;
  text-transform:uppercase; letter-spacing:0.04em;
}
.copy .social{display:flex; gap:10px}
.copy .social a{
  width:38px; height:38px; border-radius:0;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border);
  background:transparent;
  color:var(--muted);
}
.copy .social a:hover{color:var(--text); border-color:var(--border2)}

.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease}
.reveal.show{opacity:1; transform:none}

.fabs{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:997;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.fab{
  width:46px; height:46px;
  border-radius:0;
  border:1px solid var(--border);
  background:rgba(10,10,10,0.92);
  backdrop-filter: blur(10px);
  display:flex; align-items:center; justify-content:center;
  color:var(--text);
  cursor:pointer;
}
.fab:hover{border-color:var(--border2)}
.fab.whatsapp{background:rgba(143,226,60,0.10); border-color:rgba(143,226,60,0.35); color:var(--accent)}
.fab.whatsapp:hover{background:rgba(143,226,60,0.16)}
.fab.up{display:none}
.fab.up.show{display:flex}

.phead{padding:64px 0 24px}
.phead .wrap{display:flex; flex-direction:column; gap:10px}
.phead .title{
  font-size:clamp(40px, 6vw, 68px); line-height:1; margin:0; text-transform:uppercase;
  letter-spacing:-0.02em;
}
.phead .crumb{display:flex; gap:10px; flex-wrap:wrap; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:0.04em}
.phead .crumb a{opacity:0.9}
.phead .crumb a:hover{opacity:1; color:var(--text)}

@media (max-width: 980px){
  .hero .grid{grid-template-columns:1fr; gap:16px}
  .h1{font-size:44px}
  .split{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .demogrid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .navlinks{display:none}
  .hamburger{display:block}
  .dd{display:none!important}
  .nav{top:0}
}
@media (max-width: 560px){
  .container{padding:0 16px}
  .h1{font-size:38px}
  .h2{font-size:30px}
  .form{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .tabbar button{min-width:140px}
}


.h1,.h2,.phead .title{color:var(--text); font-family:var(--font-display)}
.lede{color:var(--muted)}
.nav{box-shadow:none}
.navlinks a{color:var(--muted)}
.navlinks a:hover,.navlinks a.active{color:var(--text)}
.badge{background:transparent; color:var(--muted); border-color:var(--border)}
.btn{background:transparent; border-color:var(--border); color:var(--text)}
.btn:hover{border-color:var(--border2); background:var(--panel2)}
.btn.ghost{background:transparent}
.btn.primary{color:#050505}
.card{background:var(--bg); border-color:transparent; box-shadow:none}
.panel{background:var(--panel); border-color:var(--border); box-shadow:none}
.hero-card{background:var(--panel); border-color:var(--border)}
.bubble{background:transparent; border-color:var(--border); color:var(--text)}
.fine .chip{background:transparent; border-color:var(--border)}
.pill{background:transparent; border-color:var(--border)}
.table{background:var(--panel); border-color:var(--border)}
.table th{background:var(--panel2); color:var(--muted2)}
.tabs{background:var(--panel); border-color:var(--border)}
.tabbar{background:var(--panel2)}
.tabbar button{color:var(--muted)}
.tabbar button.active{background:var(--bg); color:var(--text)}
.input,textarea{background:var(--panel2); border-color:var(--border); color:var(--text)}
.label{color:var(--muted2)}
.footer{background:var(--bg2); border-top:1px solid var(--border)}
.fcol h4{color:var(--muted2); font-family:var(--font-mono); font-size:11px}
.fcol a{color:var(--muted)}
.fcol a:hover{color:var(--text)}
.copy{color:var(--muted2)}
.copy .social a{background:transparent; border-color:var(--border); color:var(--muted)}
.fab{background:var(--panel); border-color:var(--border); color:var(--text); box-shadow:var(--shadow2)}
.fab.whatsapp{background:rgba(143,226,60,0.10); border-color:rgba(143,226,60,0.35); color:var(--accent)}
.marquee{background:transparent}
.announce{color:var(--text); background:var(--bg); border-bottom:1px solid var(--border)}
.announce .link{color:var(--text)}
.announce .close{background:transparent; border-color:var(--border); color:var(--muted)}
.nav{background:rgba(5,5,5,0.82)}
.nav.scrolled{background:rgba(5,5,5,0.96)}
.dd{background:rgba(10,10,10,0.98); border-color:var(--border)}
.dd a .t{color:var(--text)}
.dd a .d{color:var(--muted)}
.dd a:hover{background:var(--panel2)}
.mmenu a,.mmenu details{background:transparent; border-color:var(--border)}
.mmenu summary{color:var(--text)}
.plan{background:var(--panel)}
.plan .name{color:var(--text)}
.plan .price{color:var(--text)}
.faq details{background:var(--panel)}
.faq summary{color:var(--text)}
.faq summary i{color:var(--accent)}
.kpi{background:var(--panel)}
.kpi .v{color:var(--text)}
.hamburger button{background:transparent; border-color:var(--border); color:var(--text)}

.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border)}
.plan{
  border-radius: 0;
  background: var(--panel);
  border:0;
  padding:32px 26px;
  box-shadow: none;
  position:relative;
  overflow:hidden;
}
.plan.featured{background:var(--panel2)}
.plan .top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
.plan .name{font-weight:700; font-size:16px; color:var(--text); text-transform:uppercase; letter-spacing:0.06em}
.plan .note{font-size:12.5px; color:var(--muted2)}
.plan .price{margin:20px 0 8px; font-size:44px; font-weight:700; letter-spacing:-0.02em; color:var(--text)}
.plan .price small{font-size:13px; font-weight:600; color:var(--muted2); text-transform:none}
.plan .desc{margin:0 0 12px; color:var(--muted)}
.plan .bullets{margin:18px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px}
.plan .bullets li{display:flex; gap:10px; color:var(--muted); font-size:13px}
.plan .bullets i{color:var(--accent); margin-top:2px}
.plan .ribbon{
  position:absolute; top:16px; right:-40px;
  transform:rotate(28deg);
  background:var(--text);
  color:#050505; font-weight:700; font-size:10.5px;
  text-transform:uppercase; letter-spacing:0.08em;
  padding:6px 50px;
}

.faq{display:flex; flex-direction:column; gap:1px; background:var(--border); border:1px solid var(--border)}
.faq details{
  border-radius: 0;
  border:0;
  background:var(--panel);
  box-shadow: none;
  padding:20px 22px;
}
.faq summary{
  cursor:pointer;
  font-weight:700;
  color:var(--text);
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{display:flex; align-items:center; gap:10px}
.faq summary i{color:var(--accent)}
.faq details[open] summary{margin-bottom:14px}
.faq .a{color:var(--muted); max-width:90ch}

.kpis{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border)}
.kpi{
  border-radius: 0;
  border:0;
  background:var(--panel);
  box-shadow: none;
  padding:22px 20px;
}
.kpi .v{font-size:26px; font-weight:700; color:var(--text); margin:0}
.kpi .l{margin:8px 0 0; color:var(--muted2); font-size:12.5px; text-transform:uppercase; letter-spacing:0.03em}

@media (max-width: 980px){
  .pricing-grid{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .kpis{grid-template-columns:1fr}
}

/* ============================================
   Motion & polish layer — cinematic interactions
   ============================================ */

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important}
}

/* Load curtain */
#curtain{
  position:fixed; inset:0; z-index:2000;
  background:var(--bg);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .7s ease, visibility .7s ease;
}
#curtain img{height:38px; opacity:0; animation:curtainLogo .9s ease forwards .1s}
#curtain.done{opacity:0; visibility:hidden; pointer-events:none}
@keyframes curtainLogo{
  0%{opacity:0; transform:translateY(8px) scale(.98)}
  100%{opacity:1; transform:translateY(0) scale(1)}
}

/* Scroll progress bar */
#scrollbar{
  position:fixed; top:0; left:0; height:2px; width:0%;
  background:linear-gradient(90deg, var(--accent2), var(--accent));
  z-index:1001;
  transition:width .08s linear;
}

/* Custom cursor (desktop / fine pointers only) */
@media (hover:hover) and (pointer:fine){
  body{cursor:none}
  input, textarea, select{cursor:auto}
  #cursorDot, #cursorRing{
    position:fixed; top:0; left:0; z-index:1002;
    pointer-events:none;
    transform:translate(-50%,-50%);
    will-change:transform;
  }
  #cursorDot{
    width:6px; height:6px; border-radius:999px;
    background:var(--text);
    transition:opacity .2s ease;
  }
  #cursorRing{
    width:34px; height:34px; border-radius:999px;
    border:1px solid var(--border2);
    transition:width .22s ease, height .22s ease, border-color .22s ease, opacity .2s ease, background .22s ease;
  }
  #cursorRing.big{
    width:64px; height:64px;
    background:rgba(255,255,255,0.04);
    border-color:var(--text);
  }
  #cursorDot.hidden, #cursorRing.hidden{opacity:0}
}

/* Nav link sliding underline */
.navlinks a{position:relative}
.navlinks a > span{position:relative}
.navlinks a > span::after{
  content:"";
  position:absolute; left:0; right:100%; bottom:-4px;
  height:1px; background:var(--text);
  transition:right .25s ease;
}
.navlinks a:hover > span::after,
.navlinks a.active > span::after{right:0}

/* Button sweep-fill hover */
.btn{position:relative; overflow:hidden; z-index:0; transition:color .3s ease, border-color .2s ease}
.btn::before{
  content:"";
  position:absolute; inset:0;
  background:var(--text);
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  z-index:-1;
}
.btn:hover::before{transform:scaleX(1)}
.btn:hover{color:#050505; border-color:var(--text)}
.btn.primary{background:var(--text); color:#050505}
.btn.primary::before{background:var(--bg)}
.btn.primary:hover{color:var(--text)}
.btn.primary:hover::before{transform:scaleX(1)}

/* Card / roster / plan tilt + lift */
.card, .roster-card, .plan, .hero-card{
  transition:transform .35s cubic-bezier(.2,.8,.2,1), background .25s ease;
  transform-style:preserve-3d;
  will-change:transform;
}
.card:hover, .roster-card:hover{
  transform:translateY(-4px);
}

/* Marquee pause on hover */
.marquee:hover .track{animation-play-state:paused}

/* Staggered reveal support (JS sets --stagger custom property) */
.reveal{transition-delay:var(--stagger, 0s)}

/* Section headings: subtle upward reveal for eyebrow + h2 pairing */
.section .head, .phead .wrap{overflow:hidden}

/* Split-text hero word reveal */
.split-word{
  display:inline-block;
  overflow:hidden;
  vertical-align:top;
}
.split-word > span{
  display:inline-block;
  transform:translateY(110%);
  transition:transform .7s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--wd, 0s);
}
.split-word.show > span{transform:translateY(0)}

/* KPI count-up: no layout change needed, purely JS-driven text updates */

/* Roster / grid icon micro-interaction */
.roster-card .icon, .card .icon{
  transition:transform .3s cubic-bezier(.4,0,.2,1), border-color .25s ease;
}
.roster-card:hover .icon, .card:hover .icon{
  transform:rotate(-6deg) scale(1.08);
  border-color:var(--border2);
}

/* FAQ open/close smoothness */
.faq .a{
  max-height:0; overflow:hidden;
  transition:max-height .35s ease;
}
.faq details[open] .a{max-height:600px}

/* Fab buttons entrance */
.fab{transition:transform .25s ease, border-color .2s ease, background .2s ease}
.fab:hover{transform:translateY(-3px)}

/* Announce bar icon pulse */
.announce .msg i{animation:pulseDot 2.2s ease-in-out infinite}
@keyframes pulseDot{
  0%,100%{opacity:.7}
  50%{opacity:1}
}

/* Nav dropdown entrance animation */
.dd{
  transform:translateY(-6px);
  opacity:0;
  transition:opacity .18s ease, transform .18s ease;
}
li:hover>.dd, .navlinks > li.open > .dd{
  display:block;
  animation:ddIn .2s ease forwards;
}
@keyframes ddIn{
  from{opacity:0; transform:translateY(-6px)}
  to{opacity:1; transform:translateY(0)}
}
