/* =============================================
   Younify Connect Theme — Complete Stylesheet
   Covers: Overview, SDK, App, Press, Connect
   ============================================= */

/* WordPress admin bar offset */
.admin-bar nav { top: 32px !important; }
@media screen and (max-width: 782px) {
  .admin-bar nav { top: 46px !important; }
}

/* Remove default WP margins */
.wp-site-blocks { padding: 0 !important; }
body { margin: 0; }

/* ── TOKENS ── */

:root{
  --purple:#6B21A8; --purple-mid:#8B3ED4; --purple-light:#F3EEF9;
  --magenta:#C026D3; --magenta-l:#E879F9;
  --grad:linear-gradient(135deg,#6B21A8,#C026D3);
  /* light */
  --bg:#FAFAFA; --bg-warm:#F5F2EF; --bg-card:#FFFFFF;
  --ink:#1A1025; --ink-2:#3D2F52; --ink-3:#7A6E8A; --ink-4:#B0A8C0;
  --border-l:#EAE5F5; --border-l-hi:rgba(107,33,168,0.28);
  /* dark — for hero and select sections */
  --dk:#0D0A14; --dk-2:#130F1E; --dk-3:#1A1428; --dk-card:#1E1830;
  --dk-border:rgba(139,62,212,0.18); --dk-border-hi:rgba(139,62,212,0.40);
  --dk-text:#EDE8F5; --dk-text-2:#9B8EC0; --dk-text-3:#5A4E7A;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}

body{font-family:'IBM Plex Sans',sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6}

/* ── NAV ── */

nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:rgba(13,10,20,0.90);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--dk-border);
  padding:0 52px;height:62px;display:flex;align-items:center;justify-content:space-between;
}

.nav-logo img{height:42px;width:auto;display:block}

.nav-links{display:flex;gap:32px;list-style:none}

.nav-links a{font-size:13px;font-weight:500;color:var(--dk-text-2);text-decoration:none;letter-spacing:.02em;transition:color .2s}

.nav-links a:hover,.nav-links a.active{color:var(--dk-text)}

.nav-cta{
  background:var(--grad)!important;color:#fff!important;padding:8px 20px;
  border-radius:6px;font-weight:600!important;letter-spacing:.03em;
  box-shadow:0 0 22px rgba(192,38,211,0.38);transition:box-shadow .2s,opacity .2s!important;
  text-decoration:none!important;
}

.nav-cta:hover{box-shadow:0 0 40px rgba(192,38,211,0.60);opacity:.92}

/* ── HERO — DARK ── */

.hero{
  position:relative;background:var(--dk);overflow:hidden;
  padding:148px 52px 100px;
}

.hero::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(139,62,212,0.055) 1px,transparent 1px),linear-gradient(90deg,rgba(139,62,212,0.055) 1px,transparent 1px);
  background-size:56px 56px;pointer-events:none;
}

.hero-glow{position:absolute;top:-120px;right:-140px;width:680px;height:680px;border-radius:50%;background:radial-gradient(ellipse,rgba(192,38,211,0.16) 0%,transparent 65%);pointer-events:none}

.hero-glow2{position:absolute;bottom:-60px;left:-80px;width:380px;height:380px;border-radius:50%;background:radial-gradient(ellipse,rgba(107,33,168,0.10) 0%,transparent 65%);pointer-events:none}

.hero-inner{
  position:relative;z-index:1;max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 460px;gap:72px;align-items:center;
}

.hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--magenta-l);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px;
}

.hero-tag::before{content:'';display:block;width:24px;height:1px;background:linear-gradient(90deg,transparent,var(--magenta-l))}

h1{
  font-size:clamp(34px,4.4vw,56px);font-weight:600;line-height:1.1;
  letter-spacing:-1.5px;color:var(--dk-text);
}

h1 em{font-style:normal;background:linear-gradient(135deg,#C084FC,#E879F9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.hero-sub{font-size:17px;color:var(--dk-text-2);line-height:1.78;margin-top:20px;max-width:500px;font-weight:300}

.hero-btns{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}

.btn-primary{
  background:var(--grad);color:#fff;font-family:'IBM Plex Sans',sans-serif;
  font-size:14px;font-weight:600;padding:13px 28px;border-radius:6px;
  text-decoration:none;box-shadow:0 0 28px rgba(192,38,211,0.42);
  letter-spacing:.03em;transition:box-shadow .2s,transform .15s;display:inline-block;
}

.btn-primary:hover{box-shadow:0 0 48px rgba(192,38,211,0.65);transform:translateY(-1px)}

.btn-ghost-dk{
  background:transparent;border:1px solid var(--dk-border-hi);color:var(--dk-text-2);
  font-size:14px;font-weight:500;padding:13px 28px;border-radius:6px;
  text-decoration:none;letter-spacing:.02em;transition:border-color .2s,color .2s;
}

.btn-ghost-dk:hover{border-color:var(--magenta-l);color:var(--magenta-l)}

.hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}

.hero-chip{border:1px solid var(--dk-border);background:var(--dk-card);border-radius:4px;padding:5px 12px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--dk-text-3)}

.hero-img{
  display:block;width:100%;border-radius:12px;
  border:1px solid var(--dk-border-hi);
  box-shadow:0 0 0 1px rgba(192,38,211,0.15),0 32px 80px rgba(0,0,0,0.65);
  animation:floatY 6s ease-in-out infinite;
}

@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

.hero-caption{margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--dk-text-3);text-align:center;letter-spacing:.08em}

/* ── TICKER ── */

.ticker{overflow:hidden;border-top:1px solid var(--dk-border);border-bottom:1px solid var(--dk-border);background:var(--dk-2);padding:14px 0}

.ticker-track{display:flex;white-space:nowrap;animation:tick 30s linear infinite}

@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.ticker-item{display:inline-flex;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--dk-text-3);letter-spacing:.06em;padding:0 22px}

.ticker-sep{width:1px;height:11px;background:var(--dk-border-hi);margin-right:22px;flex-shrink:0}

/* ── SECTION SHELL ── */

.section{padding:96px 0}

.section-light{background:var(--bg-card)}

.section-warm{background:var(--bg-warm)}

.section-purple-grad{
  background:linear-gradient(135deg,#1A0F2E 0%,#2D1052 50%,#1A0F2E 100%);
  position:relative;overflow:hidden;
}

.section-purple-grad::before{content:'';position:absolute;top:-80px;right:-80px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(192,38,211,0.22) 0%,transparent 65%);pointer-events:none}

.container{max-width:1200px;margin:0 auto;padding:0 52px}

/* ── EYEBROW + H2 (light context) ── */

.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--purple-mid);margin-bottom:14px;display:flex;align-items:center;gap:10px}

.eyebrow::before{content:'//';color:var(--purple-mid);font-weight:700;opacity:.7}

h2{font-size:clamp(28px,3.5vw,44px);font-weight:600;letter-spacing:-1px;line-height:1.12;color:var(--ink)}

h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.section-lead{font-size:16px;color:var(--ink-3);line-height:1.75;margin-top:14px;max-width:560px;font-weight:300}

/* ── EYEBROW / H2 (dark context) ── */

.eyebrow-dk{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--magenta-l);margin-bottom:14px;display:flex;align-items:center;gap:10px}

.eyebrow-dk::before{content:'//';color:rgba(139,62,212,0.7);font-weight:700}

.h2-dk{font-size:clamp(28px,3.5vw,44px);font-weight:600;letter-spacing:-1px;line-height:1.12;color:var(--dk-text)}

.h2-dk em{font-style:normal;background:linear-gradient(135deg,#C084FC,#E879F9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ── USE CASES — light bg, flush grid ── */

.data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-l);border:1px solid var(--border-l);border-radius:12px;overflow:hidden;margin-top:52px}

.data-cell{background:var(--bg-card);padding:32px 28px;transition:background .2s,box-shadow .2s}

.data-cell:hover{background:var(--purple-light);box-shadow:inset 0 0 0 1px rgba(107,33,168,0.2)}

.data-cell-icon{width:54px;height:54px;object-fit:contain;margin-bottom:18px;display:block}

.data-cell h3{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:10px}

.data-cell p{font-size:13px;color:var(--ink-3);line-height:1.65}

/* ── STATS — warm bg, flush ── */

.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-l);border:1px solid var(--border-l);border-radius:12px;overflow:hidden;margin-top:52px}

.stat{background:var(--bg-card);padding:32px 28px}

.stat-val{font-size:40px;font-weight:700;letter-spacing:-2px;line-height:55px;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.stat-label{font-size:13px;color:var(--ink-3);margin-top:8px;line-height:1.5}

/* ── HOW IT WORKS — warm bg ── */

.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-l);border:1px solid var(--border-l);border-radius:12px;overflow:hidden;margin-top:52px}

.how-step{background:var(--bg-card);padding:28px;transition:background .2s}

.how-step:hover{background:var(--purple-light)}

.how-step img{width:100%;max-width:200px;border-radius:10px;border:1px solid var(--border-l);box-shadow:0 4px 16px rgba(107,33,168,0.08);display:block;margin:0 auto 16px}

.how-num{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--purple-mid);letter-spacing:.1em;margin-bottom:8px}

.how-step h4{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:6px}

.how-step p{font-size:13px;color:var(--ink-3);line-height:1.6}

/* ── CUSTOMERS — white bg, carousel ── */

.cust-carousel-wrap{position:relative;margin-top:52px}

.cust-carousel{overflow:hidden;width:100%}

.cust-track{display:flex;gap:0;background:var(--border-l);border:1px solid var(--border-l);border-radius:12px;transition:transform .35s ease}

.cust-card{
  flex:0 0 25%;min-width:0;
  background:var(--bg-card);padding:36px 28px;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  text-decoration:none;transition:background .2s;
}

.cust-card:hover{background:var(--purple-light)}

.cust-logo{
  height:52px;width:auto;max-width:180px;object-fit:contain;display:block;
  transition:opacity .2s;
}

.cust-card p{font-size:12px;color:var(--ink-3);line-height:1.6;text-align:center}

/* arrow buttons */

.carousel-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:40px;height:40px;border-radius:50%;
  background:var(--bg-card);border:1px solid var(--border-l-hi);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .2s,border-color .2s,box-shadow .2s;z-index:10;
  box-shadow:0 2px 12px rgba(107,33,168,0.12);
}

.carousel-btn:hover{background:var(--purple-light);border-color:var(--purple-mid);box-shadow:0 4px 20px rgba(107,33,168,0.22)}

.carousel-btn svg{width:16px;height:16px;stroke:var(--purple-mid);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}

.carousel-btn.prev{left:-20px}

.carousel-btn.next{right:-20px}

.carousel-dots{display:flex;gap:6px;justify-content:center;margin-top:20px}

.carousel-dot{width:6px;height:6px;border-radius:50%;background:var(--border-l-hi);cursor:pointer;transition:background .2s,transform .2s}

.carousel-dot.active{background:var(--purple-mid);transform:scale(1.3)}

/* ── RATINGS — purple gradient band ── */

.ratings-inner{display:grid;grid-template-columns:1fr auto;gap:56px;align-items:center;position:relative;z-index:1}

.ratings-lead{font-size:16px;color:rgba(255,255,255,0.62);line-height:1.75;margin-top:14px;max-width:520px;font-weight:300}

.check-list{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:12px}

.check-item{display:flex;align-items:center;gap:12px;font-size:14px;color:rgba(255,255,255,0.78)}

.check-dot{width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#8B3ED4,#E879F9);flex-shrink:0}

.ratings-img-wrap{position:relative;flex-shrink:0}

.ratings-img-wrap::before{content:'';position:absolute;inset:-28px -22px;background:radial-gradient(ellipse,rgba(192,38,211,0.4) 0%,transparent 68%);pointer-events:none;border-radius:50%}

.ratings-img-wrap img{display:block;width:132px;height:168px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 8px 24px rgba(192,38,211,0.55))}

/* ── PRESS — large logos, dark bg so white logos are visible ── */

.press-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
  background:rgba(139,62,212,0.22);border:1px solid var(--dk-border-hi);
  border-radius:12px;overflow:hidden;margin-top:48px;
}

.press-card{
  background:var(--dk-3);padding:36px 28px;
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:background .2s;
}

.press-card:hover{background:var(--dk-card)}

.press-logo{
  height:52px;width:auto;max-width:160px;
  object-fit:contain;display:block;
  filter:brightness(0) invert(1);opacity:0.55;
  transition:opacity .25s;
}

.press-card:hover .press-logo{opacity:1}

/* ── CTA FORM — warm bg ── */

.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-l);border:1px solid var(--border-l);border-radius:12px;overflow:hidden;margin-top:52px}

.cta-left{background:var(--bg-card);padding:48px}

.cta-right{background:var(--bg-warm);padding:48px}

.cta-left h3{font-size:22px;font-weight:600;color:var(--ink);margin-bottom:20px;letter-spacing:-.4px}

.trust-item{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink-2);margin-bottom:14px}

.trust-icon{width:32px;height:32px;border-radius:6px;background:var(--purple-light);border:1px solid var(--border-l);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}

.form-group label{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:500;color:var(--ink-4);letter-spacing:.1em;text-transform:uppercase}

.form-group input,.form-group select,.form-group textarea{background:var(--bg-card);border:1px solid var(--border-l);color:var(--ink);font-family:'IBM Plex Sans',sans-serif;font-size:14px;padding:10px 12px;border-radius:6px;outline:none;transition:border-color .2s}

.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--purple-mid)}

.form-group textarea{height:80px;resize:vertical}

.form-submit{width:100%;background:var(--grad);color:#fff;border:none;font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:600;padding:13px;border-radius:6px;cursor:pointer;letter-spacing:.04em;box-shadow:0 0 24px rgba(192,38,211,0.32);transition:box-shadow .2s,transform .15s}

.form-submit:hover{box-shadow:0 0 44px rgba(192,38,211,0.55);transform:translateY(-1px)}

/* ── FOOTER — dark ── */

footer{background:var(--dk-2);border-top:1px solid var(--dk-border);padding:64px 0 40px}

.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px}

.footer-brand p{font-size:13px;color:var(--dk-text-3);line-height:1.65;margin-top:14px;max-width:280px}

.footer-col-title{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--purple-mid);margin-bottom:16px}

.footer-links-list{list-style:none;display:flex;flex-direction:column;gap:10px}

.footer-links-list a{font-size:13px;color:var(--dk-text-3);text-decoration:none;transition:color .2s}

.footer-links-list a:hover{color:var(--magenta-l)}

.footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--dk-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}

.footer-copy{font-size:12px;color:var(--dk-text-3)}

.footer-social{display:flex;gap:8px}

.social-btn{width:36px;height:36px;border-radius:6px;background:var(--dk-card);border:1px solid var(--dk-border);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:border-color .2s}

.social-btn:hover{border-color:var(--dk-border-hi)}

.social-btn img{width:18px;height:18px;object-fit:contain;display:block;filter:brightness(0) invert(1);opacity:.5}

/* ── MOBILE NAV ── */

.nav-hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:36px;height:36px;background:none;border:none;cursor:pointer;
  padding:4px;border-radius:6px;transition:background .2s;flex-shrink:0;
}

.nav-hamburger:hover{background:rgba(255,255,255,0.08)}

.nav-hamburger span{
  display:block;width:22px;height:2px;
  background:var(--dk-text);border-radius:2px;
  transition:transform .25s,opacity .25s,width .25s;transform-origin:center;
}

.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}

.nav-hamburger.open span:nth-child(2){opacity:0;width:0}

.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav-mobile-menu{
  display:none;position:fixed;top:62px;left:0;right:0;z-index:199;
  background:rgba(13,10,20,0.97);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--dk-border);
  flex-direction:column;padding:16px 0 24px;
}

.nav-mobile-menu.open{display:flex}

.nav-mobile-menu a{
  font-size:16px;font-weight:500;color:var(--dk-text-2);
  text-decoration:none;padding:14px 28px;letter-spacing:.02em;
  border-bottom:1px solid rgba(139,62,212,0.08);
  transition:color .15s,background .15s;
}

.nav-mobile-menu a:last-child{border-bottom:none}

.nav-mobile-menu a:hover,.nav-mobile-menu a.active{color:var(--dk-text);background:rgba(139,62,212,0.06)}

.nav-mobile-menu a.nav-cta-mobile{
  margin:16px 28px 0;border-radius:6px;text-align:center;
  background:linear-gradient(135deg,#6B21A8,#C026D3);
  color:#fff!important;font-weight:600;letter-spacing:.03em;
  border:none;box-shadow:0 0 22px rgba(192,38,211,0.38);
}

.nav-mobile-menu a.nav-cta-mobile:hover{opacity:.9;background:linear-gradient(135deg,#6B21A8,#C026D3)}

/* ── RESPONSIVE ── */

@media(max-width:900px){
  .nav-links{display:none}
  #nav-cta-btn{display:none!important}
  .nav-hamburger{display:flex}
  nav{padding:0 20px}
  .hero{padding:110px 20px 72px}
  .hero-inner{grid-template-columns:1fr}
  .hero-img{display:none}
  .container{padding:0 20px}
  .data-grid,.how-grid{grid-template-columns:1fr 1fr}
  .stats-row{grid-template-columns:1fr 1fr}
  .cust-track{flex-wrap:nowrap}
  .cust-card{flex:0 0 calc(50% - 0.5px)}
  .press-grid{grid-template-columns:1fr 1fr 1fr}
  .ratings-inner{grid-template-columns:1fr}
  .cta-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .carousel-btn.prev{left:-12px}
  .carousel-btn.next{right:-12px}
}

.services-section{
  background:var(--bg-warm);
  border-top:1px solid var(--border-l);
  border-bottom:1px solid var(--border-l);
  padding:88px 0;
}

.services-headline{
  margin-bottom:56px;
  padding-bottom:48px;
  border-bottom:1px solid var(--border-l);
}

.services-headline h2{
  margin-top:14px;
}

.services-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;
}

.services-body{
  font-size:16px;color:var(--ink-2);line-height:1.78;
  margin-top:0;font-weight:300;
}

.services-data-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}

.dtag{
  font-family:'IBM Plex Mono',monospace;font-size:11px;
  padding:5px 13px;border-radius:4px;letter-spacing:.06em;
  border:1px solid var(--border-l-hi);
  background:var(--purple-light);
  color:var(--purple-mid);
}

/* services grid */

.services-grid-wrap{position:relative}

.services-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}

.svc-pill{
  display:flex;align-items:center;gap:11px;
  padding:13px 18px;border-radius:8px;
  background:#FFFFFF;
  border:1px solid var(--border-l-hi);
  font-size:15px;font-weight:600;color:var(--ink);
  letter-spacing:-.01em;
  transition:background .2s,border-color .2s,box-shadow .2s;
  cursor:default;
}

.svc-pill:hover{
  background:var(--purple-light);
  border-color:var(--purple-mid);
  box-shadow:0 2px 16px rgba(107,33,168,0.12);
}

.svc-pill-more{
  color:var(--ink-4);font-weight:400;font-size:13px;font-style:italic;
  border-style:dashed;background:transparent;
}

.svc-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,#8B3ED4,#E879F9);
  box-shadow:0 0 5px rgba(192,38,211,0.45);
}

.svc-dot-more{background:var(--ink-4);box-shadow:none}

@media(max-width:900px){
  .services-inner{grid-template-columns:1fr;gap:40px}
}

/* ── SAMPLE DATA BLOCK ── */

.sample-data-block{
  margin-top:64px;
  border:1px solid rgba(139,62,212,0.35);
  border-radius:14px;
  overflow:hidden;
  background:rgba(13,10,20,0.6);
  backdrop-filter:blur(12px);
}

.sample-data-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  padding:32px 36px 24px;
  border-bottom:1px solid rgba(139,62,212,0.22);
  flex-wrap:wrap;
}

.sample-data-desc{
  font-size:14px;color:rgba(255,255,255,0.55);line-height:1.65;max-width:540px;font-weight:300;margin-top:4px;
}

.btn-download{
  display:inline-flex;align-items:center;gap:9px;flex-shrink:0;
  background:transparent;border:1px solid rgba(139,62,212,0.5);
  color:var(--magenta-l);font-size:13px;font-weight:600;font-family:'IBM Plex Sans',sans-serif;
  padding:10px 20px;border-radius:7px;text-decoration:none;letter-spacing:.03em;
  transition:background .2s,border-color .2s,box-shadow .2s;
}

.btn-download:hover{
  background:rgba(139,62,212,0.18);border-color:var(--magenta-l);
  box-shadow:0 0 22px rgba(192,38,211,0.28);
}

.btn-download svg{width:15px;height:15px;flex-shrink:0}

/* scrollable table container */

.data-table-wrap{position:relative;overflow:hidden}

.data-table-glow{
  position:absolute;top:-40px;left:50%;transform:translateX(-50%);
  width:500px;height:160px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(139,62,212,0.18) 0%,transparent 70%);
  pointer-events:none;z-index:0;
}

.data-table-scroll{overflow-x:auto;padding:0;scrollbar-width:thin;scrollbar-color:rgba(139,62,212,0.3) transparent}

.data-table-scroll::-webkit-scrollbar{height:4px}

.data-table-scroll::-webkit-scrollbar-track{background:transparent}

.data-table-scroll::-webkit-scrollbar-thumb{background:rgba(139,62,212,0.3);border-radius:2px}

.data-table-fade-right{
  position:absolute;top:0;right:0;bottom:0;width:80px;
  background:linear-gradient(90deg,transparent,rgba(13,10,20,0.85));
  pointer-events:none;
}

.data-table{
  width:100%;min-width:900px;border-collapse:collapse;
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;
  position:relative;z-index:1;
}

.data-table thead tr{background:rgba(107,33,168,0.18)}

.data-table th{
  padding:12px 16px;text-align:left;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--magenta-l);font-weight:500;white-space:nowrap;
  border-bottom:1px solid rgba(139,62,212,0.28);
}

.data-table tbody tr{
  border-bottom:1px solid rgba(139,62,212,0.1);
  background:transparent;
  transition:background .2s;
}

.data-table tbody tr:hover{background:rgba(139,62,212,0.10)}

.data-table td{
  padding:11px 16px;color:var(--dk-text-2);white-space:nowrap;vertical-align:middle;
}

.data-table td.col-service{
  color:#E879F9;font-weight:500;
}

.data-table td.col-profile{color:rgba(255,255,255,0.7)}

.data-table td.col-date{color:rgba(255,255,255,0.45);font-size:11px}

.data-table td.col-type span{
  display:inline-block;padding:2px 8px;border-radius:3px;font-size:10px;letter-spacing:.06em;
}

.data-table td.col-type .badge-movie{background:rgba(192,38,211,0.18);color:#E879F9;border:1px solid rgba(192,38,211,0.3)}

.data-table td.col-type .badge-episode{background:rgba(107,33,168,0.22);color:#C084FC;border:1px solid rgba(107,33,168,0.35)}

.data-table td.col-title{color:rgba(255,255,255,0.85);font-weight:500}

.data-table td.col-series{color:rgba(255,255,255,0.45);font-size:11px}

.data-table td.col-num{color:rgba(255,255,255,0.35);text-align:center}

.data-table td.col-rating{text-align:center}

.data-table td.col-rating .stars{color:#F59E0B;letter-spacing:1px;font-size:12px}

.data-table td.col-rating .no-rating{color:rgba(255,255,255,0.2)}

.sample-data-note{
  padding:14px 36px;font-family:'IBM Plex Mono',monospace;font-size:10px;
  color:rgba(255,255,255,0.25);letter-spacing:.08em;
  border-top:1px solid rgba(139,62,212,0.15);
}

@media(max-width:900px){
  .sample-data-header{flex-direction:column}
  .sample-data-block{margin-top:40px}
  .sample-data-header{padding:24px 20px 18px}
  .sample-data-note{padding:12px 20px}
}

/* ── TOKENS (identical to overview) ── */

/* ── NAV ── */

/* ── SHARED SECTION STYLES ── */

.section-dark{background:var(--dk);}

.section-white{background:#fff;}

.eyebrow::before,.eyebrow-dk::before{
  content:'';display:block;width:20px;height:1px;
  background:linear-gradient(90deg,transparent,currentColor);
}

.section-sub{font-size:17px;color:var(--ink-3);line-height:1.75;max-width:640px;margin-top:14px;font-weight:300}

.section-sub-dk{font-size:17px;color:var(--dk-text-2);line-height:1.75;max-width:640px;margin-top:14px;font-weight:300}

.btn-ghost{
  background:transparent;border:1px solid var(--border-l-hi);color:var(--ink-2);
  font-size:14px;font-weight:500;padding:12px 24px;border-radius:6px;
  text-decoration:none;letter-spacing:.02em;transition:border-color .2s,color .2s;display:inline-block;
}

.btn-ghost:hover{border-color:var(--purple-mid);color:var(--purple)}

/* ── HERO (SDK-specific) ── */

.hero-sdk{
  position:relative;
  background:linear-gradient(180deg,#07050F 0%,#0D0A14 60%,#100C1A 100%);
  overflow:hidden;
  padding:142px 52px 72px;
  border-bottom:1px solid rgba(139,62,212,0.20);
}

.hero-sdk::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(139,62,212,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(139,62,212,0.04) 1px,transparent 1px);
  background-size:40px 40px;pointer-events:none;
}

.hero-sdk::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(139,62,212,0.4) 30%,rgba(192,38,211,0.5) 50%,rgba(139,62,212,0.4) 70%,transparent);
}

.hero-inner-sdk{position:relative;z-index:1;max-width:1160px;margin:0 auto;}

/* ── PLATFORM CARDS ── */

.platform-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--dk-border);border:1px solid var(--dk-border-hi);border-radius:12px;overflow:hidden;margin-top:48px}

.platform-card{
  background:var(--dk-card);padding:36px 32px;
  display:flex;flex-direction:column;gap:16px;
}

.platform-card:hover{background:rgba(139,62,212,0.08)}

.platform-icon{width:44px;height:44px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center;flex-shrink:0}

.platform-icon svg{width:22px;height:22px;fill:#fff}

.platform-name{font-size:18px;font-weight:600;color:var(--dk-text);letter-spacing:-.3px}

.platform-version{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--dk-text-3);letter-spacing:.06em}

.platform-links{display:flex;flex-direction:column;gap:8px;margin-top:4px}

.platform-link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:500;color:var(--magenta-l);text-decoration:none;
  letter-spacing:.01em;transition:color .15s;
}

.platform-link:hover{color:#fff}

.platform-link::before{
  content:'';display:block;width:6px;height:6px;border-radius:50%;
  background:var(--grad);flex-shrink:0;
}

.platform-dl{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:500;color:var(--ink-3);text-decoration:none;
  font-family:'IBM Plex Mono',monospace;letter-spacing:.04em;
  padding:8px 14px;background:var(--purple-light);border-radius:6px;
  transition:background .15s,color .15s;margin-top:2px;
}

.platform-dl:hover{background:var(--border-l-hi);color:var(--purple)}

/* ── HOW IT WORKS (numbered steps) ── */

.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:56px;position:relative}

.steps-grid::before{
  content:'';position:absolute;top:28px;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,var(--border-l-hi) 20%,var(--border-l-hi) 80%,transparent);
  z-index:0;
}

.step-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:0 16px;position:relative;z-index:1;
}

.step-num{
  width:56px;height:56px;border-radius:50%;
  background:#fff;border:2px solid var(--border-l-hi);
  display:flex;align-items:center;justify-content:center;
  font-family:'IBM Plex Mono',monospace;font-size:18px;font-weight:600;
  color:var(--purple-mid);margin-bottom:20px;flex-shrink:0;
  box-shadow:0 0 0 6px var(--bg-warm);
}

.step-title{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:8px;letter-spacing:-.1px}

.step-body{font-size:13px;color:var(--ink-3);line-height:1.6}

.step-mono{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--purple-mid);margin-top:8px;letter-spacing:.04em}

/* ── DATA OBJECTS ── */

.objects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-l);border:1px solid var(--border-l);border-radius:12px;overflow:hidden;margin-top:48px}

.object-card{background:#fff;padding:28px 24px}

.object-card:hover{background:var(--purple-light)}

.object-label{
  font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--purple-mid);margin-bottom:12px;
}

.object-title{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px;letter-spacing:-.2px}

.object-body{font-size:13px;color:var(--ink-3);line-height:1.65}

.object-fields{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}

.field-pill{
  font-family:'IBM Plex Mono',monospace;font-size:10px;
  background:var(--purple-light);color:var(--purple-mid);
  padding:3px 8px;border-radius:4px;letter-spacing:.04em;
}

/* ── PARTNER DIVIDER ── */

.partner-divider{
  background:linear-gradient(135deg,#1A0D2E 0%,#0D0A14 100%);
  padding:56px 52px;border-top:1px solid var(--dk-border-hi);border-bottom:1px solid var(--dk-border-hi);
}

.partner-divider-inner{
  max-width:1160px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:40px;
  flex-wrap:wrap;
}

.partner-divider-left h2{color:var(--dk-text);font-size:28px}

.partner-divider-left p{color:var(--dk-text-2);font-size:15px;margin-top:10px;max-width:480px;line-height:1.7}

.partner-divider-btns{display:flex;gap:12px;flex-wrap:wrap}

/* ── RESOURCE CARDS (partner portal section) ── */

.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}

.resource-card{
  background:var(--dk-card);border:1px solid var(--dk-border);border-radius:12px;
  padding:32px 28px;display:flex;flex-direction:column;gap:12px;
  transition:border-color .2s,box-shadow .2s;text-decoration:none;
}

.resource-card:hover{border-color:var(--dk-border-hi);box-shadow:0 0 32px rgba(139,62,212,0.12)}

.resource-icon{
  width:42px;height:42px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:rgba(139,62,212,0.15);border:1px solid var(--dk-border-hi);
}

.resource-icon svg{width:20px;height:20px;stroke:var(--magenta-l);fill:none;stroke-width:1.8}

.resource-title{font-size:16px;font-weight:600;color:var(--dk-text);letter-spacing:-.2px}

.resource-body{font-size:13px;color:var(--dk-text-2);line-height:1.65;flex:1}

.resource-cta{
  font-family:'IBM Plex Mono',monospace;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--magenta-l);margin-top:4px;display:inline-flex;align-items:center;gap:6px;
}

.resource-cta::after{content:'→'}

.resource-card.gated{
  background:linear-gradient(135deg,rgba(107,33,168,0.12),rgba(192,38,211,0.06));
  border-color:rgba(139,62,212,0.35);
}

.resource-card.gated .resource-icon{background:rgba(192,38,211,0.18);border-color:rgba(192,38,211,0.4)}

/* ── FAQ ── */

.faq-list{margin-top:48px;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border-l)}

.faq-item{border-bottom:1px solid var(--border-l);}

.faq-q{
  width:100%;background:none;border:none;text-align:left;cursor:pointer;
  padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-family:'IBM Plex Sans',sans-serif;font-size:16px;font-weight:500;
  color:var(--ink);letter-spacing:-.1px;
}

.faq-q .faq-arrow{
  width:24px;height:24px;border-radius:50%;
  border:1px solid var(--border-l-hi);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:transform .25s,background .2s;font-size:14px;color:var(--purple-mid);
}

.faq-item.open .faq-arrow{transform:rotate(45deg);background:var(--purple-light)}

.faq-a{display:none;padding-bottom:22px;font-size:14px;color:var(--ink-3);line-height:1.75;max-width:780px}

.faq-item.open .faq-a{display:block}

.faq-a code{
  font-family:'IBM Plex Mono',monospace;font-size:12px;
  background:var(--purple-light);color:var(--purple-mid);
  padding:1px 6px;border-radius:4px;
}

/* ── HERO PLATFORM ROWS ── */

.plat-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(13,10,20,0.5);border:1px solid var(--dk-border);border-radius:8px;transition:border-color .2s,background .2s}

a.plat-row:hover{border-color:var(--dk-border-hi);background:rgba(139,62,212,0.1)}

.plat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}

.plat-name{font-size:14px;font-weight:500;color:var(--dk-text);flex:1;letter-spacing:-.1px}

.plat-ver{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--dk-text-3);letter-spacing:.04em}

/* ── FOOTER — dark ── */

/* ── MOBILE NAV ── */

/* ── RESPONSIVE ── */

@media(max-width:900px){
  .nav-links{display:none}
  #nav-cta-btn{display:none!important}
  .nav-hamburger{display:flex}
  nav{padding:0 24px}
  .hero-sdk{padding:130px 24px 70px}
  .hero-inner-sdk{grid-template-columns:1fr!important}
  .section{padding:64px 24px}
  .platform-grid{grid-template-columns:1fr}
  #how-it-works-a .container > div[style*="grid-template-columns:1fr 420px"]{grid-template-columns:1fr!important}
  .objects-grid{grid-template-columns:repeat(2,1fr)}
  .resource-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr;}
  .steps-grid::before{display:none}
  .two-pane-selector{grid-template-columns:1fr}
  .page-mockup-grid{grid-template-columns:1fr}
  .partner-divider-inner{flex-direction:column}
}

/* ── TOKENS ── */

/* ── NAV ── */

/* ── TOKENS EXTEND ── */

/* ── NAV ── */

/* ── SHARED ── */

/* ── HERO ── */

.hero::after{content:'';position:absolute;top:-120px;right:-100px;width:600px;height:600px;border-radius:50%;background:radial-gradient(ellipse,rgba(192,38,211,0.14) 0%,transparent 65%);pointer-events:none}

/* ── APP STORE BUTTONS ── */

.store-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 20px;border-radius:8px;text-decoration:none;
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);
  transition:background .2s,border-color .2s;
}

.store-btn:hover{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.3)}

.store-btn-icon{width:22px;height:22px;flex-shrink:0;fill:#fff}

.store-btn-text{display:flex;flex-direction:column}

.store-btn-sub{font-size:10px;color:rgba(255,255,255,0.55);letter-spacing:.04em;line-height:1}

.store-btn-name{font-size:15px;font-weight:600;color:#fff;line-height:1.3}

/* ── HERO PHONE MOCKUP ── */

.hero-phone{
  position:relative;align-self:end;
  display:flex;justify-content:center;
}

.phone-frame{
  width:260px;height:520px;border-radius:36px;
  background:var(--dk-card);
  border:2px solid rgba(139,62,212,0.35);
  box-shadow:0 0 80px rgba(139,62,212,0.2),0 40px 80px rgba(0,0,0,0.5);
  overflow:hidden;position:relative;
  display:flex;flex-direction:column;
}

.phone-notch{
  width:80px;height:6px;background:rgba(255,255,255,0.1);
  border-radius:0 0 8px 8px;margin:10px auto 0;flex-shrink:0;
}

.phone-screen{
  flex:1;margin:8px;border-radius:28px;overflow:hidden;
  background:linear-gradient(160deg,#1A0D2E 0%,#0D0A14 100%);
  display:flex;flex-direction:column;gap:0;
}

.phone-header{padding:16px 16px 10px;display:flex;align-items:center;justify-content:space-between}

.phone-greeting{font-size:12px;font-weight:600;color:var(--dk-text);letter-spacing:-.2px}

.phone-avatar{width:28px;height:28px;border-radius:50%;background:var(--grad)}

.phone-section-label{font-size:9px;font-weight:600;color:var(--dk-text-3);letter-spacing:.1em;text-transform:uppercase;padding:0 16px;margin-bottom:8px}

.phone-row{display:flex;gap:8px;padding:0 16px;margin-bottom:12px;overflow:hidden}

.phone-card{border-radius:10px;flex-shrink:0;background:var(--dk-3);border:1px solid var(--dk-border)}

.phone-card-lg{width:120px;height:72px}

.phone-card-sm{width:80px;height:72px}

.phone-card-inner{padding:8px;height:100%;display:flex;flex-direction:column;justify-content:flex-end}

.phone-card-tag{font-size:8px;font-weight:600;color:var(--magenta-l);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}

.phone-card-title{font-size:9px;font-weight:500;color:var(--dk-text);line-height:1.3}

.phone-service-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}

.phone-continue-row{display:flex;gap:6px;padding:0 16px;margin-bottom:10px}

.phone-continue-card{width:96px;height:58px;border-radius:8px;background:var(--dk-3);border:1px solid var(--dk-border);flex-shrink:0;display:flex;align-items:flex-end;padding:6px}

.phone-continue-card span{font-size:8px;color:var(--dk-text-2)}

.phone-progress{height:2px;border-radius:1px;background:var(--dk-border);margin:4px 0 0;width:100%;overflow:hidden}

.phone-progress-bar{height:100%;background:var(--grad);border-radius:1px}

/* ── FEATURES ── */

.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-l);border:1px solid var(--border-l);border-radius:12px;overflow:hidden;margin-top:52px}

.feature-card{background:#fff;padding:36px 32px;display:flex;flex-direction:column;gap:14px;transition:background .15s}

.feature-card:hover{background:var(--purple-light)}

.feature-icon{width:44px;height:44px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center}

.feature-icon svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.feature-title{font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.3px}

.feature-body{font-size:14px;color:var(--ink-3);line-height:1.7}

/* ── SCREENSHOT PLACEHOLDERS ── */

.screenshot-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:0}

.screenshot-row.flip{direction:rtl}

.screenshot-row.flip > *{direction:ltr}

.screenshot-text{display:flex;flex-direction:column;gap:16px}

.screenshot-text h3{font-size:clamp(22px,2.5vw,32px);font-weight:600;line-height:1.15;letter-spacing:-.5px;color:var(--ink)}

.screenshot-text h3 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.screenshot-text p{font-size:15px;color:var(--ink-3);line-height:1.75}

.screenshot-frame{
  border-radius:16px;overflow:hidden;
  background:transparent;
  display:block;
}

.screenshot-placeholder-icon{width:48px;height:48px;border-radius:12px;background:var(--grad);display:flex;align-items:center;justify-content:center}

.screenshot-placeholder-icon svg{width:24px;height:24px;fill:#fff}

.screenshot-placeholder-label{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-4);letter-spacing:.08em}

/* ── REVIEWS ── */

.reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}

.review-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s}

.review-card:hover{border-color:var(--dk-border-hi)}

.review-stars{display:flex;gap:3px}

.review-star{color:#F59E0B;font-size:14px}

.review-body{font-size:14px;color:var(--dk-text-2);line-height:1.7;flex:1;font-style:italic}

.review-author{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--dk-text-3);letter-spacing:.06em}

.review-source{font-size:11px;color:var(--dk-text-3);margin-top:2px}

/* ── DEVELOPER CALLOUT ── */

.dev-callout{
  background:linear-gradient(135deg,rgba(107,33,168,0.08),rgba(192,38,211,0.04));
  border:1px solid rgba(139,62,212,0.2);border-radius:16px;
  padding:48px;margin-top:0;
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
}

.dev-callout h3{font-size:clamp(22px,2.5vw,32px);font-weight:600;line-height:1.15;letter-spacing:-.5px;color:var(--ink)}

.dev-callout h3 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.dev-callout p{font-size:15px;color:var(--ink-3);line-height:1.75;margin-top:12px}

.dev-callout-btns{display:flex;flex-direction:column;gap:12px;justify-content:center}

/* ── SERVICES ROW ── */

.services-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

.service-pill{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;color:var(--ink-3);background:#fff;border:1px solid var(--border-l);border-radius:20px;padding:6px 14px;letter-spacing:.04em}

/* ── FOOTER — dark ── */

/* ── MOBILE NAV ── */

/* ── RESPONSIVE ── */

@media(max-width:960px){
  .nav-links{display:none}
  #nav-cta-btn{display:none!important}
  .nav-hamburger{display:flex}
  nav{padding:0 24px}
  .hero{padding:120px 24px 0}
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .hero-phone{justify-content:flex-start}
  .section{padding:64px 24px}
  .features-grid{grid-template-columns:1fr 1fr}
  .screenshot-row,.screenshot-row.flip{grid-template-columns:1fr;direction:ltr}
  .reviews-grid{grid-template-columns:1fr 1fr}
  .dev-callout{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}

.rcard{
  background:var(--dk-card);border:1px solid var(--dk-border);border-radius:14px;
  padding:28px 24px;display:flex;flex-direction:column;gap:12px;
  opacity:0;transform:translateY(12px);
  transition:opacity .4s ease,transform .4s ease;
}

.rcard.visible{opacity:1;transform:translateY(0)}

.rcard img{height:20px;width:auto;display:block;object-fit:contain;object-position:left}

.rcard-quote{font-size:14px;color:var(--dk-text-2);line-height:1.75;font-style:italic;flex:1}

.rcard-author{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--dk-text-3);letter-spacing:.04em}

.rcard-source{opacity:.6}

.rdot{width:8px;height:8px;border-radius:50%;background:var(--dk-border-hi);border:none;padding:0;cursor:pointer;transition:background .2s,transform .2s}

.rdot.active{background:var(--magenta-l);transform:scale(1.3)}

@media(max-width:960px){
  #review-track{grid-template-columns:1fr!important}
}

/* ── TOKENS ── */

/* ── NAV ── */

/* ── NAV ── */

/* ── SHARED ── */

/* ── HERO ── */

/* ── STAT PILLS ── */

.stat-row{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap}

.stat-pill{
  display:flex;flex-direction:column;
  padding:16px 20px;border-radius:10px;
  background:rgba(139,62,212,0.08);border:1px solid var(--dk-border-hi);
  min-width:100px;
}

.stat-val em{font-style:normal;background:linear-gradient(135deg,#C084FC,#E879F9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.stat-lbl{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--dk-text-3);letter-spacing:.08em;margin-top:5px}

/* ── CONTACT CARD ── */

.contact-card{
  background:var(--dk-card);border:1px solid var(--dk-border-hi);border-radius:16px;
  padding:36px;display:flex;flex-direction:column;gap:20px;
}

.contact-card h3{font-size:20px;font-weight:600;color:var(--dk-text);letter-spacing:-.3px}

.contact-card p{font-size:14px;color:var(--dk-text-2);line-height:1.7}

.contact-email{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:500;
  color:var(--magenta-l);text-decoration:none;letter-spacing:.04em;
  padding:12px 18px;background:rgba(192,38,211,0.08);
  border:1px solid rgba(192,38,211,0.25);border-radius:8px;
  transition:background .2s,border-color .2s;
}

.contact-email:hover{background:rgba(192,38,211,0.15);border-color:rgba(192,38,211,0.5)}

/* ── PRESS COVERAGE LIST ── */

.press-layout{max-width:1160px;margin:0 auto;padding:80px 52px;display:grid;grid-template-columns:1fr 320px;gap:64px;align-items:start}

.press-main{}

.press-year-group{margin-bottom:52px}

.press-year-label{
  font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--purple-mid);
  margin-bottom:16px;padding-bottom:10px;
  border-bottom:1px solid var(--border-l);
}

.press-items{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border-l)}

.press-item{
  display:grid;grid-template-columns:200px 1fr 24px;
  align-items:center;gap:20px;
  padding:18px 0;border-bottom:1px solid var(--border-l);
  text-decoration:none;transition:background .15s;
  border-radius:0;margin:0 -12px;padding-left:12px;padding-right:12px;
}

.press-item:hover{background:var(--purple-light);border-radius:8px}

.press-item:hover .press-arrow{color:var(--purple-mid)}

.press-meta{display:flex;flex-direction:column;gap:3px}

.press-date{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-4);letter-spacing:.04em}

.press-outlet{font-size:13px;font-weight:600;color:var(--purple-mid)}

.press-headline{font-size:14px;color:var(--ink-2);line-height:1.5;font-weight:400}

.press-arrow{font-size:16px;color:var(--ink-4);text-align:right;flex-shrink:0;transition:color .15s}

/* ── SIDEBAR ── */

.press-sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:20px}

.sidebar-card{
  background:#fff;border:1px solid var(--border-l);border-radius:12px;
  padding:28px;display:flex;flex-direction:column;gap:14px;
}

.sidebar-card-title{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.2px}

.sidebar-card p{font-size:13px;color:var(--ink-3);line-height:1.65}

.sidebar-card a.btn-primary{font-size:13px;padding:10px 20px}

/* ── BOILERPLATE ── */

.boilerplate{background:var(--bg-warm);padding:80px 52px;border-top:1px solid var(--border-l)}

.boilerplate-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px}

.boilerplate h3{font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.4px;margin-bottom:16px}

.boilerplate p{font-size:14px;color:var(--ink-3);line-height:1.8;margin-bottom:12px}

.boilerplate p:last-child{margin-bottom:0}

/* ── FOOTER — dark ── */

/* ── MOBILE NAV ── */

/* ── RESPONSIVE ── */

@media(max-width:960px){
  .nav-links{display:none}
  #nav-cta-btn{display:none!important}
  .nav-hamburger{display:flex}
  nav{padding:0 24px}
  .hero{padding:120px 24px 72px}
  .hero-inner{grid-template-columns:1fr}
  .press-layout{grid-template-columns:1fr;padding:56px 24px}
  .press-sidebar{position:static}
  .press-item{grid-template-columns:1fr 24px;gap:12px}
  .press-meta{flex-direction:row;gap:12px;align-items:center}
  .boilerplate{padding:56px 24px}
  .boilerplate-inner{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .container{padding:0 24px}
}

/* ── TOKENS ── */

/* ── NAV ── */

/* ── NAV ── */

/* ── CONNECT PAGE HERO ── */

.connect-hero{
  background:var(--dk);padding:130px 52px 80px;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--dk-border);
}

.connect-hero::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(139,62,212,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(139,62,212,0.04) 1px,transparent 1px);
  background-size:40px 40px;pointer-events:none;
}

.connect-hero-inner{position:relative;z-index:1;max-width:1160px;margin:0 auto;text-align:center}

.hero-tag::after{content:'';display:block;width:24px;height:1px;background:linear-gradient(90deg,var(--magenta-l),transparent)}

/* ── CTA FORM — warm bg ── */

.form-helper{font-size:12px;color:var(--ink-3);margin-top:5px;line-height:1.5}

/* ── FOOTER — dark ── */

/* ── MOBILE NAV ── */

/* ── RESPONSIVE ── */

@media(max-width:900px){
  .nav-links{display:none}
  #nav-cta-btn{display:none!important}
  .nav-hamburger{display:flex}
  nav{padding:0 24px}
  .connect-hero{padding:110px 24px 60px}
  .cta-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}