:root{
  --bg:#ffffff;
  --bg-soft:#f5f7f8;
  --bg-hero:#f8fbfd;
  --bg-dark:#0f172a;
  --text:#0f172a;
  --text-soft:#475569;
  --border:#dbe4ee;
  --border-strong:#c9d5e2;
  --teal:#0f766e;
  --teal-2:#115e59;
  --indigo:#1d4ed8;
  --shadow:0 20px 50px rgba(15, 23, 42, 0.08);
  --shadow-soft:0 10px 25px rgba(15, 23, 42, 0.06);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(29,78,216,0.06), transparent 25%),
    radial-gradient(circle at top left, rgba(15,118,110,0.08), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
}

a{color:inherit}
img{max-width:100%;display:block}

.container{
  width:min(var(--max), calc(100% - 40px));
  margin-inline:auto;
}

.site-shell{
  position:relative;
  overflow:hidden;
}

.fine-grid{
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(148,163,184,0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148,163,184,0.08) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: radial-gradient(circle at 50% 10%, black 0%, transparent 76%);
  opacity:.45;
  z-index:0;
}

.navbar{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:saturate(180%) blur(14px);
  transition:all .25s ease;
  background:rgba(255,255,255,.08);
  border-bottom:1px solid transparent;
}
body.nav-solid .navbar{
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(219,228,238,.9);
  box-shadow:0 8px 30px rgba(15,23,42,.06);
}
.navbar .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:78px;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
}
.brand-mark{
  width:42px;height:42px;border-radius:14px;
  background:linear-gradient(135deg,var(--teal),var(--indigo));
  box-shadow:0 10px 20px rgba(15,118,110,.18);
  position:relative;
}
.brand-mark::before{
  content:"";
  position:absolute;
  inset:11px;
  border:1.5px solid rgba(255,255,255,.9);
  border-radius:10px;
}
.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
.brand-text span:first-child{
  font-weight:700;
  letter-spacing:-.03em;
}
.brand-text span:last-child{
  color:var(--text-soft);
  font-size:.88rem;
  margin-top:4px;
}

.nav-desktop{
  display:flex;
  align-items:center;
  gap:10px;
}
.nav-link,.nav-cta{
  text-decoration:none;
  font-size:.95rem;
  padding:12px 14px;
  border-radius:999px;
  color:#334155;
  transition:all .2s ease;
}
.nav-link:hover{
  background:rgba(15,118,110,.07);
  color:var(--teal);
}
.nav-cta{
  background:linear-gradient(135deg,var(--teal),var(--indigo));
  color:#fff;
  font-weight:600;
  box-shadow:0 14px 25px rgba(15,118,110,.18);
}
.nav-cta:hover{transform:translateY(-1px)}

.hamburger{
  display:none;
  width:46px;height:46px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
}
.hamburger span{
  width:18px;height:2px;background:#0f172a;
  position:relative;
  display:block;
  border-radius:99px;
}
.hamburger span::before,.hamburger span::after{
  content:"";
  position:absolute;left:0;
  width:18px;height:2px;background:#0f172a;border-radius:99px;
}
.hamburger span::before{top:-6px}
.hamburger span::after{top:6px}

.mobile-panel{
  display:none;
  position:sticky;
  top:78px;
  z-index:45;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--border);
  box-shadow:0 14px 34px rgba(15,23,42,.05);
}
.mobile-panel.open{display:block}
.mobile-panel .inner{
  width:min(var(--max), calc(100% - 40px));
  margin:0 auto;
  padding:14px 0 18px;
  display:grid;
  gap:8px;
}
.mobile-panel a{
  text-decoration:none;
  padding:12px 14px;
  border-radius:14px;
  color:#334155;
  background:#f8fafc;
}
.mobile-panel a.cta{
  background:linear-gradient(135deg,var(--teal),var(--indigo));
  color:#fff;
  font-weight:600;
}

.hero{
  position:relative;
  padding:88px 0 36px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:38px;
  align-items:center;
}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.88rem;
  color:var(--teal);
  background:rgba(15,118,110,.08);
  border:1px solid rgba(15,118,110,.1);
  padding:10px 14px;
  border-radius:999px;
  font-weight:600;
}
.dot{
  width:9px;height:9px;border-radius:999px;
  background:linear-gradient(135deg,var(--teal),var(--indigo));
  box-shadow:0 0 0 6px rgba(15,118,110,.08);
}
.hero h1{
  margin:20px 0 18px;
  font-size:clamp(3rem, 5vw, 5.3rem);
  line-height:.98;
  letter-spacing:-.055em;
  max-width:11ch;
}
.lead{
  font-size:1.08rem;
  line-height:1.75;
  color:var(--text-soft);
  max-width:62ch;
  margin:0 0 26px;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
  transition:all .2s ease;
  border:1px solid transparent;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--teal),var(--indigo));
  color:white;
  box-shadow:0 14px 26px rgba(15,118,110,.16);
}
.btn-secondary{
  background:#fff;
  color:#0f172a;
  border-color:var(--border);
}
.btn-link{
  padding-inline:0;
  color:var(--teal);
}
.hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.hero-meta span,.pill,.logo{
  background:#fff;
  border:1px solid var(--border);
  padding:10px 14px;
  border-radius:999px;
  color:#334155;
  box-shadow:var(--shadow-soft);
}
.hero-visual{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.orb{
  position:absolute;
  border-radius:50%;
  filter:blur(10px);
  opacity:.35;
}
.orb.one{
  width:190px;height:190px;top:60px;right:40px;
  background:radial-gradient(circle, rgba(15,118,110,.6), transparent 70%);
}
.orb.two{
  width:240px;height:240px;bottom:26px;left:10px;
  background:radial-gradient(circle, rgba(29,78,216,.55), transparent 70%);
}
.panel{
  width:min(100%, 530px);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(219,228,238,.95);
  border-radius:var(--radius-xl);
  padding:24px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.panel::before{
  content:"";
  position:absolute;
  inset:-40% -10% auto auto;
  width:280px;height:280px;
  background:radial-gradient(circle, rgba(15,118,110,.08), transparent 62%);
}
.panel-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.panel h3{
  margin:0 0 8px;
  font-size:1.35rem;
  letter-spacing:-.03em;
}
.panel p{
  margin:0;
  color:var(--text-soft);
  line-height:1.65;
}
.spark{
  font-size:2rem;
  color:var(--teal);
}
.pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0;
}
.stack{
  display:grid;
  gap:12px;
}
.stack-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.9);
  border-radius:18px;
}
.stack-card strong{display:block;margin-bottom:6px}
.stack-card span{display:block;color:var(--text-soft);line-height:1.6;font-size:.95rem}
.stack-badge{
  flex:0 0 auto;
  background:linear-gradient(135deg, rgba(15,118,110,.12), rgba(29,78,216,.12));
  border:1px solid rgba(15,118,110,.12);
  color:var(--teal-2);
  padding:8px 12px;
  border-radius:999px;
  font-weight:700;
  font-size:.82rem;
}

.section-tight{padding:8px 0 0}
.section{padding:92px 0}
.section-heading h2{
  margin:14px 0 12px;
  font-size:clamp(2rem, 3.2vw, 3.2rem);
  letter-spacing:-.04em;
  line-height:1.05;
  max-width:14ch;
}
.section-heading p{
  margin:0;
  max-width:68ch;
  color:var(--text-soft);
  line-height:1.75;
  font-size:1.03rem;
}
.strip{
  display:flex;
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid rgba(219,228,238,.96);
  background:rgba(255,255,255,.72);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}
.strip-label{
  color:#64748b;
  font-weight:600;
  white-space:nowrap;
}
/*.logo-row{
  flex:1;
  display:flex;
  gap:10px;
  overflow:hidden;
  mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  white-space:nowrap;
} */
.logo{
  flex:0 0 auto;
  font-weight:600;
  font-size:.92rem;
}

.grid-4{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  margin-top:34px;
}
.grid-3{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:34px;
}
.grid-2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.card{
  position:relative;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.9);
  border:1px solid var(--border);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover{
  transform:translateY(-4px);
  border-color:rgba(15,118,110,.3);
  box-shadow:0 16px 38px rgba(15,23,42,.09);
}
.card-inner{
  padding:24px;
}
.card .mini{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:42px;
  padding:0 10px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(15,118,110,.12), rgba(29,78,216,.12));
  color:var(--teal);
  font-weight:800;
  margin-bottom:18px;
}
.card h3{
  margin:0 0 12px;
  font-size:1.28rem;
  letter-spacing:-.03em;
}
.card p{
  margin:0;
  color:var(--text-soft);
  line-height:1.75;
}
.card .meta{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--border);
  color:var(--teal-2);
  font-weight:600;
  font-size:.94rem;
}

.split{
  display:grid;
  grid-template-columns: .95fr 1.05fr;
  gap:30px;
  align-items:flex-start;
}
.toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.timeline{
  display:grid;
  gap:14px;
}
.step{
  position:relative;
  padding:20px 22px 20px 66px;
  border-radius:22px;
  background:rgba(255,255,255,.88);
  border:1px solid var(--border);
  box-shadow:var(--shadow-soft);
}
.step::before{
  content:attr(data-step);
  position:absolute;
  left:18px;
  top:18px;
  width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  border-radius:12px;
  background:linear-gradient(135deg,var(--teal),var(--indigo));
  color:#fff;
  font-weight:800;
}
.step strong{
  display:block;
  margin-bottom:6px;
  letter-spacing:-.02em;
}
.step span{
  display:block;
  color:var(--text-soft);
  line-height:1.7;
}
.quote{
  background:linear-gradient(135deg, rgba(15,118,110,.08), rgba(29,78,216,.08));
  border:1px solid rgba(15,118,110,.14);
  padding:30px;
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-soft);
}
.quote p{
  font-size:1.05rem;
  line-height:1.85;
  margin:0 0 18px;
  color:#233041;
}
.quote strong{
  display:block;
  margin-bottom:6px;
}
.quote small{
  color:var(--text-soft);
  line-height:1.7;
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:18px;
  margin-top:30px;
}
.stat-card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--border);
  border-radius:22px;
  padding:22px 18px;
  text-align:center;
  box-shadow:var(--shadow-soft);
  transition:transform .2s ease, box-shadow .2s ease;
}
.stat-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 38px rgba(15,23,42,.09);
}
.stat-card h3{
  margin:0 0 6px;
  font-size:2rem;
  letter-spacing:-.04em;
  color:var(--teal);
}
.stat-card p{
  margin:0;
  color:var(--text-soft);
  line-height:1.6;
}

.blog-preview{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:30px;
}
.blog-card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--border);
  border-radius:22px;
  padding:24px;
  text-decoration:none;
  color:var(--text);
  box-shadow:var(--shadow-soft);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.blog-card:hover{
  transform:translateY(-4px);
  border-color:rgba(15,118,110,.3);
  box-shadow:0 16px 38px rgba(15,23,42,.09);
}
.blog-card strong{
  display:block;
  font-size:1.08rem;
  letter-spacing:-.02em;
  line-height:1.45;
}
.blog-card span{
  display:block;
  margin-top:10px;
  color:var(--text-soft);
  line-height:1.65;
  font-size:.95rem;
}

.form{
  background:rgba(255,255,255,.92);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  padding:24px;
  box-shadow:var(--shadow);
}
.field{
  display:grid;
  gap:8px;
  margin-bottom:16px;
}
.field label{
  font-weight:600;
  color:#243244;
  font-size:.95rem;
}
.field input,.field select,.field textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px 16px;
  font:inherit;
  background:#fff;
  color:var(--text);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:rgba(15,118,110,.5);
  box-shadow:0 0 0 4px rgba(15,118,110,.08);
}
.field textarea{
  min-height:140px;
  resize:vertical;
}
.form .btn-primary{
  width:100%;
  border:none;
  cursor:pointer;
}

.footer{
  padding:34px 0 44px;
}
.footer-grid{
  border-top:1px solid var(--border);
  padding-top:26px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  color:var(--text-soft);
}
.footer-grid strong{
  color:var(--text);
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.footer-links a{
  text-decoration:none;
  color:#334155;
}
.footer-links a:hover{color:var(--teal)}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.active{
  opacity:1;
  transform:translateY(0);
}

.blog-page{
  background:linear-gradient(180deg,#ffffff 0%, #f7f9fb 100%);
}
.blog-shell{
  padding:44px 0 80px;
}
.blog-header{
  margin-bottom:28px;
}
.blog-header h1{
  margin:0 0 12px;
  font-size:clamp(2.2rem, 4vw, 3.6rem);
  letter-spacing:-.05em;
}
.blog-header p{
  margin:0;
  color:var(--text-soft);
  line-height:1.7;
  max-width:62ch;
}

.blog-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.blog-tile{
  aspect-ratio:1/1;
  border-radius:22px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.95);
  box-shadow:var(--shadow-soft);
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  color:var(--text);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.blog-tile:hover{
  transform:translateY(-4px);
  border-color:rgba(15,118,110,.35);
  box-shadow:0 16px 38px rgba(15,23,42,.09);
}
.blog-tile span{
  font-weight:700;
  letter-spacing:-.03em;
  font-size:1.05rem;
  line-height:1.5;
}
.read-all{
  text-align:center;
  margin-top:34px;
}
.read-all a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  color:#fff;
  background:linear-gradient(135deg,var(--teal),var(--indigo));
  box-shadow:0 14px 26px rgba(15,118,110,.16);
}

.docs-topbar{
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter:saturate(180%) blur(12px);
  background:rgba(255,255,255,.88);
  border-bottom:1px solid var(--border);
}
.docs-topbar .inner{
  width:min(var(--max), calc(100% - 40px));
  margin:0 auto;
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.docs-topbar .brand-text span:last-child{
  display:none;
}
.docs-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.docs-actions .mini-btn{
  text-decoration:none;
  border:1px solid var(--border);
  border-radius:999px;
  padding:10px 14px;
  color:#334155;
  background:#fff;
}
.docs-actions .mini-btn.primary{
  color:#fff;
  border:none;
  background:linear-gradient(135deg,var(--teal),var(--indigo));
}

.docs-layout{
  width:min(var(--max), calc(100% - 40px));
  margin:24px auto 80px;
  display:grid;
  grid-template-columns:280px minmax(0, 1fr);
  gap:20px;
}
.docs-sidebar{
  position:sticky;
  top:100px;
  align-self:start;
  background:rgba(255,255,255,.94);
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:var(--shadow-soft);
  padding:18px;
}
.docs-sidebar h2{
  margin:0 0 14px;
  font-size:1.15rem;
}
.docs-nav{
  display:grid;
  gap:8px;
}
.docs-nav button{
  width:100%;
  text-align:left;
  border:1px solid transparent;
  border-radius:16px;
  background:#f8fafc;
  padding:12px 14px;
  cursor:pointer;
  font:inherit;
  color:#334155;
  transition:all .2s ease;
}
.docs-nav button:hover{
  background:rgba(15,118,110,.06);
  color:var(--teal);
}
.docs-nav button.active{
  background:linear-gradient(135deg, rgba(15,118,110,.10), rgba(29,78,216,.08));
  color:var(--teal);
  border-color:rgba(15,118,110,.16);
  font-weight:700;
}
.docs-main{
  background:rgba(255,255,255,.95);
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.docs-hero{
  padding:28px 28px 0;
}
.docs-hero .eyebrow{
  display:inline-flex;
  gap:10px;
  align-items:center;
  color:var(--teal);
  background:rgba(15,118,110,.08);
  border:1px solid rgba(15,118,110,.1);
  border-radius:999px;
  padding:9px 13px;
  font-weight:700;
  font-size:.88rem;
}
.docs-hero h1{
  margin:16px 0 10px;
  font-size:clamp(1.8rem, 3vw, 3rem);
  letter-spacing:-.04em;
}
.docs-hero p{
  margin:0 0 18px;
  color:var(--text-soft);
  line-height:1.8;
  max-width:70ch;
}
.docs-content{
  padding:0 28px 28px;
  line-height:1.8;
  color:#243244;
}
.docs-content h2{
  margin:28px 0 10px;
  letter-spacing:-.03em;
}
.docs-content ul{
  margin:10px 0 0 20px;
  color:#334155;
}
.docs-content li{margin-bottom:8px}
.docs-content .callout{
  margin:26px 0 0;
  border-radius:22px;
  padding:20px;
  border:1px solid rgba(15,118,110,.14);
  background:linear-gradient(135deg, rgba(15,118,110,.08), rgba(29,78,216,.06));
}
.docs-content .callout a{
  display:inline-flex;
  margin-top:10px;
  text-decoration:none;
  color:#fff;
  background:linear-gradient(135deg,var(--teal),var(--indigo));
  padding:12px 18px;
  border-radius:999px;
  font-weight:700;
}

.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 18px;
}
.article-meta span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f8fafc;
  border:1px solid var(--border);
  border-radius:999px;
  padding:8px 12px;
  font-size:.88rem;
  color:#475569;
}

@media (max-width: 1100px){
  .hero-grid,.split,.docs-layout{
    grid-template-columns:1fr;
  }
  .hero-visual{
    min-height:unset;
    padding:10px 0 0;
  }
  .docs-sidebar{
    position:relative;
    top:0;
  }
  .stats-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .grid-4,.grid-3,.blog-preview,.blog-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 820px){
  .nav-desktop{display:none}
  .hamburger{display:inline-flex}
  .hero{padding-top:56px}
  .hero h1{max-width:none}
  .section,.hero{padding-left:0;padding-right:0}
  .container{
    width:min(var(--max), calc(100% - 28px));
  }
  .grid-4,.grid-3,.blog-preview,.blog-grid,.stats-grid{
    grid-template-columns:1fr;
  }
  .blog-tile{aspect-ratio:auto;min-height:160px}
  .footer-grid{
    flex-direction:column;
  }
  .docs-topbar .inner{
    min-height:72px;
  }
  .docs-actions{display:none}
}


/* ===== Updated proof + blog layout overrides ===== */
.proof-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:18px;
  margin-top:30px;
}
.proof-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:22px;
  padding:22px 18px;
  text-align:center;
  box-shadow:var(--shadow-soft);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.proof-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 38px rgba(15,23,42,.09);
  border-color:rgba(15,118,110,.25);
}
.proof-card h3{
  margin:0 0 8px;
  font-size:2rem;
  letter-spacing:-.04em;
  color:var(--teal);
}
.proof-card p{
  margin:0;
  color:var(--text-soft);
  line-height:1.6;
}

.blog-preview-compact{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:18px;
  margin-top:28px;
}
.blog-card-compact{
  min-height:160px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.blog-card-compact strong{
  font-size:1.08rem;
}
.blog-card-compact span{
  font-size:.96rem;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.stat-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 22px 18px;
  text-align: left;
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
}

.stat-value {
  font-size: 28px;
  line-height: 1;
  font-weight: 800;
  color: #0f766e;
  margin-bottom: 10px;
}

.stat-label {
  font-size: 14px;
  color: #475569;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.blog-card {
  display: block;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 22px;
  text-decoration: none;
  color: #0f172a;
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  min-height: 160px;
}

.blog-card:hover {
  transform: translateY(-4px);
  border-color: #0f766e;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
}

.blog-card-title {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 10px;
  color: #0f172a;
}

.blog-card-copy {
  font-size: 14px;
  line-height: 1.6;
  color: #475569;
}

.blog-actions {
  margin-top: 28px;
}

@media (max-width: 1100px) {
  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .stats-grid,
  .blog-grid {
    grid-template-columns: 1fr;
  }
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.stat-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 22px 18px;
  text-align: left;
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
}

.stat-value {
  font-size: 28px;
  line-height: 1;
  font-weight: 800;
  color: #0f766e;
  margin-bottom: 10px;
}

.stat-label {
  font-size: 14px;
  color: #475569;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.blog-card {
  display: block;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 22px;
  text-decoration: none;
  color: #0f172a;
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  min-height: 160px;
}

.blog-card:hover {
  transform: translateY(-4px);
  border-color: #0f766e;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
}

.blog-card-title {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 10px;
  color: #0f172a;
}

.blog-card-copy {
  font-size: 14px;
  line-height: 1.6;
  color: #475569;
}

.blog-actions {
  margin-top: 28px;
}

@media (max-width: 1100px) {
  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .stats-grid,
  .blog-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== FIXED & ALIGNED STRIP: LABEL LEFT + SCROLLING BOX RIGHT (same line) ===== */
/* This replaces ONLY the previous strip block you received last time. */
/* No other functionality changed – animation, pause on hover, duplication, etc. all stay exactly the same. */

.strip {
  /* SINGLE UNIFIED CONTAINER (white rounded bar) – matches your image perfectly */
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(219,228,238,.95);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
  padding: 18px 24px;
  margin-bottom: 40px;

  /* ================================================================ */
  /* CONTAINER SIZE ADJUSTMENT COMMENTS – READ THIS */
  /* ================================================================ */
  /* 
     The strip is inside your global .container (which already uses --max:1180px).
     If the strip feels like it stretches too much left-to-right on wide screens or when you zoom in/out:
     
     1. Go to :root { --max:1180px; } at the very top of your CSS file
        → Change 1180px to a smaller number (e.g. 980px or 1100px) to make everything narrower.
     
     2. In .container (also at the top of your CSS):
        width: min(var(--max), calc(100% - 40px));
        → Increase the 40px to 80px or 100px to force bigger left/right gaps on every screen size.
           Example: calc(100% - 100px) will always leave 50px gap on each side.
     
     3. If you want the strip ONLY to have extra gap (without affecting the rest of the site):
        Add this line right here inside .strip { ... }:
        max-width: 1100px;   /* ← change this number to control strip width only */
        margin-left: auto;
        margin-right: auto;
     
     The strip will ALWAYS stay perfectly centered and never stretch edge-to-edge.
  */
}

.strip .container {
  /* ONE container holding BOTH label + track – text left, box right, same line */
  display: flex;
  align-items: center;
  gap: 28px;
  width: 100%;
}

/* LABEL – left side */
.strip-label {
  color: #64748b;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
  font-size: 0.95rem;
}

/* SCROLLING BOX – right side (this is the "box collapsing from right") */
.strip-track {
  flex: 1;
  overflow: hidden;
  position: relative;
  border-radius: 999px;
  background: #f8fafc;
  height: 46px;
  display: flex;
  align-items: center;
}

/* Fade edges (keeps the clean collapse/fade on the right) */
.strip-track::before,
.strip-track::after {
  content: "";
  position: absolute;
  top: 0;
  width: 60px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.strip-track::before {
  left: 0;
  background: linear-gradient(to right, #f8fafc, transparent);
}
.strip-track::after {
  right: 0;
  background: linear-gradient(to left, #f8fafc, transparent);
}

/* THE MOVING LOGOS (pills) */
.logo-row {
  display: flex;
  gap: 12px;
  width: max-content;
  animation: stripScroll 28s linear infinite;
}

/* LOGO TWINKLING ANIMATION – subtle glow pulse */
.logo {
  flex: 0 0 auto;
  padding: 8px 20px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--border);
  white-space: nowrap;
  font-size: 0.88rem;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);

  /* Twinkling effect – gentle and elegant (not distracting) */
  animation: logoTwinkle 2.8s ease-in-out infinite;
}

/* Twinkle keyframes – you can adjust speed or intensity here */
@keyframes logoTwinkle {
  0%, 100% {
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06),
                0 0 8px rgba(15, 118, 110, 0.15);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1),
                0 0 18px rgba(15, 118, 110, 0.35);
    transform: scale(1.04);
  }
}

/* Animation direction – unchanged */
@keyframes stripScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Pause on hover – still works exactly as before */
.strip:hover .logo-row {
  animation-play-state: paused;
}

/* Reveal fix */
.strip.reveal {
  opacity: 1;
  transform: none;
}

/* ===== Specialized training tracks ===== */
#advanced-tracks {
  padding-top: 34px;
}

.track-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.track-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  padding: 24px;
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  min-height: 250px;
}

.track-card:hover {
  transform: translateY(-4px);
  border-color: rgba(15, 118, 110, 0.3);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.09);
}

.track-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(15,118,110,.12), rgba(29,78,216,.12));
  color: var(--teal-2);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.track-card h3 {
  margin: 0;
  font-size: 1.22rem;
  line-height: 1.35;
  letter-spacing: -.03em;
}

.track-card p {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.7;
  font-size: .98rem;
  flex: 1;
}

.track-link {
  color: var(--teal);
  font-weight: 700;
  font-size: .95rem;
}

@media (max-width: 1100px) {
  .track-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .track-grid {
    grid-template-columns: 1fr;
  }
}
