:root{
  --bg-void:#05100c;
  --bg-deep:#081712;
  --bg-card:#0c1a15;
  --glow-teal:#1f6f5c;
  --glow-teal-soft:rgba(45,212,191,0.16);
  --accent:#2dd4bf;
  --accent-light:#8ff2e2;
  --accent-dim:rgba(45,212,191,0.45);
  --text-primary:#f6f4ee;
  --text-muted:#9fb6ae;
  --text-faint:#6c847c;
  --border-soft:rgba(255,255,255,0.08);
  --border-accent:rgba(45,212,191,0.35);
  --radius-pill:999px;
  --radius-card:18px;
  --font-display:'Clash Display', 'General Sans', sans-serif;
  --font-body:'General Sans', -apple-system, sans-serif;
  --font-mono:'Space Mono', monospace;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-void);
  color:var(--text-primary);
  font-family:var(--font-body);
  line-height:1.55;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
ul{list-style:none;}

.wrap{max-width:1280px;margin:0 auto;padding:0 40px;}
.wrap-narrow{max-width:860px;margin:0 auto;padding:0 40px;}

/* ---------- Ambient glow background ---------- */
.glow-field{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;height:900px;}
.glow-field::before,.glow-field::after,.glow-blob{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:0.55;}
.glow-field::before{width:640px;height:640px;top:-220px;left:8%;background:radial-gradient(circle, var(--accent) 0%, transparent 70%);opacity:0.24;}
.glow-field::after{width:520px;height:520px;top:60px;right:-120px;background:radial-gradient(circle, #1f8a70 0%, transparent 70%);opacity:0.26;}
.glow-blob{width:700px;height:700px;bottom:-380px;left:38%;background:radial-gradient(circle, var(--glow-teal) 0%, transparent 72%);opacity:0.3;}

.noise{
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;pointer-events:none;z-index:1;
}

/* ---------- Header ---------- */
header{position:relative;z-index:5;padding:32px 0 0;}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{display:flex;align-items:center;gap:12px;}
.logo-mark{width:34px;flex:none;}
.logo-text{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:0.04em;line-height:1.2;color:var(--text-primary);}
.logo-tagline{font-family:var(--font-mono);font-size:8px;letter-spacing:0.14em;color:var(--text-faint);text-transform:uppercase;margin-top:3px;}

nav.primary{display:flex;align-items:center;gap:34px;}
nav.primary a.nav-link{font-size:14px;color:var(--text-muted);transition:color .2s ease;}
nav.primary a.nav-link:hover,nav.primary a.nav-link.active{color:var(--text-primary);}

.nav-dropdown{position:relative;}
.nav-dropdown-toggle{background:none;border:none;font-family:var(--font-body);font-size:14px;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:4px 0;transition:color .2s ease;}
.nav-dropdown-toggle:hover,.nav-dropdown-toggle.active{color:var(--text-primary);}
.nav-dropdown-toggle .caret{font-size:10px;transform:translateY(1px);transition:transform .2s ease;}
.nav-dropdown:hover .nav-dropdown-toggle .caret,.nav-dropdown:focus-within .nav-dropdown-toggle .caret{transform:translateY(1px) rotate(180deg);}
.nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);background:var(--bg-deep);border:1px solid var(--border-soft);border-radius:14px;padding:8px;min-width:250px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease, transform .18s ease;z-index:30;box-shadow:0 24px 48px -12px rgba(0,0,0,0.6);}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(2px);}
.nav-dropdown-menu a{display:block;padding:10px 14px;border-radius:9px;font-size:13.5px;color:var(--text-muted);white-space:nowrap;transition:background .15s ease, color .15s ease;}
.nav-dropdown-menu a:hover{background:var(--glow-teal-soft);color:var(--accent-light);}

.btn-outline{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border:1px solid var(--border-accent);border-radius:var(--radius-pill);font-size:14px;font-family:var(--font-body);background:transparent;color:var(--text-primary);cursor:pointer;transition:all .25s ease;white-space:nowrap;}
button.btn-outline{-webkit-appearance:none;appearance:none;}
.btn-outline:hover{border-color:var(--accent);background:var(--glow-teal-soft);}

.btn-solid{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:var(--radius-pill);background:linear-gradient(120deg,#1f8a70,var(--accent));color:#04120e;font-size:14px;font-weight:600;transition:transform .2s ease, box-shadow .2s ease;border:none;cursor:pointer;}
.btn-solid:hover{transform:translateY(-1px);box-shadow:0 10px 30px -8px rgba(45,212,191,0.55);}

/* ---------- Breadcrumb ---------- */
.breadcrumb{position:relative;z-index:4;padding:28px 0 0;font-family:var(--font-mono);font-size:11.5px;color:var(--text-faint);}
.breadcrumb a{color:var(--text-faint);}
.breadcrumb a:hover{color:var(--accent-light);}
.breadcrumb span.sep{margin:0 8px;opacity:.5;}
.breadcrumb span.current{color:var(--text-muted);}

/* ---------- Hero (generic, page-level) ---------- */
.hero{position:relative;padding:90px 0 100px;text-align:center;}
.hero.left{text-align:left;}
.eyebrow{font-family:var(--font-mono);font-size:14px;letter-spacing:0.02em;color:var(--accent-light);margin-bottom:20px;}
h1{font-family:var(--font-display);font-weight:500;font-size:clamp(36px, 5.4vw, 76px);line-height:1.06;letter-spacing:-0.01em;color:var(--text-primary);}
.hero.center h1{max-width:1000px;margin:0 auto;}
.hero-sub{max-width:600px;font-size:17px;color:var(--text-muted);margin-top:26px;}
.hero.center .hero-sub{margin-left:auto;margin-right:auto;}
.hero-cta-row{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap;}
.hero.center .hero-cta-row{justify-content:center;}

.hero-stats{display:flex;gap:64px;margin-top:88px;flex-wrap:wrap;}
.hero.center .hero-stats{justify-content:center;}
.stat{text-align:center;}
.stat-num{font-family:var(--font-display);font-size:32px;color:var(--accent-light);}
.stat-label{font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-faint);margin-top:6px;}

/* ---------- Section shell ---------- */
section{position:relative;z-index:3;padding:100px 0;border-top:1px solid var(--border-soft);}
section.tight{padding:64px 0;}
.section-head{max-width:660px;margin-bottom:56px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;}
h2{font-family:var(--font-display);font-weight:500;font-size:clamp(26px, 3.2vw, 42px);line-height:1.14;letter-spacing:-0.01em;}
h3{font-family:var(--font-display);font-weight:500;font-size:20px;letter-spacing:-0.005em;}
.section-desc{margin-top:16px;color:var(--text-muted);font-size:16px;max-width:560px;}
.section-head.center .section-desc{margin-left:auto;margin-right:auto;}
p.body-text{color:var(--text-muted);font-size:15.5px;max-width:720px;}
p.body-text + p.body-text{margin-top:14px;}

/* ---------- Services grid (home) ---------- */
.services-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1px;background:var(--border-soft);border:1px solid var(--border-soft);border-radius:var(--radius-card);overflow:hidden;}
.service-card{background:var(--bg-deep);padding:38px 32px;transition:background .25s ease;display:block;}
.service-card:hover{background:var(--bg-card);}
.service-tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-faint);}
.service-card h3{margin-top:14px;color:var(--text-primary);}
.service-card p{margin-top:10px;font-size:14px;color:var(--text-muted);}
.service-card .learn{display:inline-block;margin-top:20px;font-size:13px;color:var(--accent-light);border-bottom:1px solid transparent;}
.service-card:hover .learn{border-color:var(--accent-light);}
.new-badge{font-family:var(--font-mono);font-size:9px;letter-spacing:0.08em;color:var(--bg-void);background:var(--accent-light);padding:3px 7px;border-radius:5px;margin-left:8px;vertical-align:middle;position:relative;top:-2px;}

/* ---------- Phase / scale cards ---------- */
.phase-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;}
.phase-card{border:1px solid var(--border-soft);border-radius:var(--radius-card);padding:32px;background:var(--bg-deep);}
.phase-num{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:.1em;}
.phase-card h3{margin-top:14px;}
.phase-card p{margin-top:12px;font-size:14.5px;color:var(--text-muted);}

/* ---------- Package pricing cards ---------- */
.packages-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;align-items:start;}
.package-card{position:relative;border:1px solid var(--border-soft);border-radius:var(--radius-card);padding:36px 30px;background:var(--bg-deep);display:flex;flex-direction:column;height:100%;}
.package-card.featured{border-color:var(--border-accent);background:linear-gradient(180deg, rgba(45,212,191,0.08), var(--bg-deep) 40%);}
.package-badge{position:absolute;top:-13px;left:30px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--bg-void);padding:5px 12px;border-radius:var(--radius-pill);}
.package-name{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);}
.package-card h3{margin-top:12px;font-size:22px;}
.package-desc{margin-top:10px;font-size:14px;color:var(--text-muted);min-height:40px;}
.package-cta{margin-top:24px;}
.package-features{margin-top:28px;display:flex;flex-direction:column;gap:13px;flex:1;}
.package-features li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text-muted);}
.package-features li.included{color:var(--text-primary);}
.check{flex:none;width:16px;height:16px;margin-top:2px;color:var(--accent-light);}
.check.off{opacity:.25;}

/* ---------- Feature deep-dive ---------- */
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:36px 48px;}
.feature-item .icon-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-bottom:14px;}
.feature-item h4{font-family:var(--font-display);font-weight:500;font-size:16.5px;color:var(--text-primary);}
.feature-item p{margin-top:8px;font-size:14px;color:var(--text-muted);}

/* ---------- FAQ ---------- */
.faq-list{border-top:1px solid var(--border-soft);}
.faq-item{border-bottom:1px solid var(--border-soft);}
.faq-item summary{cursor:pointer;list-style:none;padding:24px 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-weight:500;font-size:16px;color:var(--text-primary);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{font-family:var(--font-mono);color:var(--accent-light);font-size:18px;transition:transform .2s ease;flex:none;margin-left:20px;}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item p{padding:0 0 24px;color:var(--text-muted);font-size:14.5px;max-width:680px;}

/* ---------- Vertical pills ---------- */
.verticals{display:flex;gap:14px;flex-wrap:wrap;}
.vertical-pill{font-family:var(--font-mono);font-size:12px;letter-spacing:0.04em;padding:10px 18px;border:1px solid var(--border-soft);border-radius:var(--radius-pill);color:var(--text-muted);}

/* ---------- Client / logo strip ---------- */
.client-strip{display:flex;flex-wrap:wrap;gap:14px;}
.client-chip{border:1px solid var(--border-soft);border-radius:12px;padding:20px 26px;font-family:var(--font-display);font-size:15px;color:var(--text-muted);min-width:160px;text-align:center;}

/* ---------- Partner logo marquee ---------- */
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);}
.marquee-track{display:flex;align-items:center;gap:64px;width:max-content;animation:marquee-scroll 32s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-item{display:flex;flex-direction:column;align-items:center;gap:8px;flex:none;}
.marquee-logo{height:30px;max-width:150px;object-fit:contain;opacity:0.6;transition:opacity .25s ease;}
.marquee-item:hover .marquee-logo{opacity:1;}
.marquee-wordmark{font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--text-muted);letter-spacing:-0.01em;white-space:nowrap;transition:color .25s ease;}
.marquee-item:hover .marquee-wordmark{color:var(--accent-light);}
@keyframes marquee-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.partners-detail{display:grid;grid-template-columns:repeat(4, 1fr);gap:20px;margin-top:44px;}
.partner-card{border:1px solid var(--border-soft);border-radius:var(--radius-card);padding:24px 22px;background:var(--bg-deep);transition:border-color .2s ease;}
.partner-card:hover{border-color:var(--border-accent);}
.partner-wordmark{font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--text-primary);letter-spacing:-0.01em;}
.partner-card p{margin-top:9px;font-size:13px;color:var(--text-muted);}
@media (max-width:900px){.partners-detail{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.partners-detail{grid-template-columns:1fr;}}

/* ---------- Team / founder card ---------- */
.founder-card{display:flex;gap:36px;align-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-card);padding:36px;background:var(--bg-deep);flex-wrap:wrap;}
.founder-avatar{width:148px;height:148px;border-radius:50%;background:linear-gradient(135deg,#1f8a70,var(--accent-light));flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:34px;color:var(--bg-void);overflow:hidden;}
.founder-avatar img{width:100%;height:100%;object-fit:cover;}
.founder-info h3{font-size:22px;}
.founder-role{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--accent-light);margin-top:6px;}
.founder-bio{margin-top:14px;color:var(--text-muted);font-size:14.5px;max-width:520px;}
.founder-links{margin-top:18px;}

/* ---------- Timeline ---------- */
.timeline{border-left:1px solid var(--border-soft);padding-left:32px;display:flex;flex-direction:column;gap:38px;}
.timeline-item{position:relative;}
.timeline-item::before{content:"";position:absolute;left:-37px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--accent);}
.timeline-year{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--text-faint);text-transform:uppercase;}
.timeline-item h4{font-family:var(--font-display);font-weight:500;font-size:17px;margin-top:8px;color:var(--text-primary);}
.timeline-item p{margin-top:8px;font-size:14px;color:var(--text-muted);max-width:560px;}

/* ---------- Blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.post-card{border:1px solid var(--border-soft);border-radius:var(--radius-card);overflow:hidden;background:var(--bg-deep);display:flex;flex-direction:column;transition:border-color .2s ease, transform .2s ease;}
.post-card:hover{border-color:var(--border-accent);transform:translateY(-2px);}
.post-thumb{height:150px;background:radial-gradient(circle at 30% 20%, rgba(45,212,191,0.35), transparent 60%), var(--bg-card);position:relative;}
.post-thumb .post-cat{position:absolute;left:16px;bottom:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-light);}
.post-body{padding:24px 22px 26px;flex:1;display:flex;flex-direction:column;}
.post-date{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);}
.post-body h3{margin-top:12px;font-size:17px;line-height:1.3;}
.post-body p{margin-top:10px;font-size:13.5px;color:var(--text-muted);flex:1;}
.post-read{margin-top:16px;font-size:13px;color:var(--accent-light);}

article.post-content{max-width:720px;margin:0 auto;}
article.post-content h2{margin-top:44px;margin-bottom:16px;}
article.post-content h3{margin-top:32px;margin-bottom:12px;font-size:19px;}
article.post-content p{color:var(--text-muted);font-size:16px;margin-bottom:18px;}
article.post-content ul{margin:0 0 18px 0;display:flex;flex-direction:column;gap:10px;}
article.post-content ul li{font-size:15.5px;color:var(--text-muted);padding-left:22px;position:relative;}
article.post-content ul li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--accent);}
article.post-content .callout{border:1px solid var(--border-accent);background:var(--glow-teal-soft);border-radius:14px;padding:22px 24px;margin:28px 0;font-size:14.5px;color:var(--text-primary);}
.post-meta-row{display:flex;gap:18px;align-items:center;margin-top:20px;flex-wrap:wrap;}
.author-chip{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text-muted);}
.author-dot{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#1f8a70,var(--accent-light));}

/* ---------- CTA band ---------- */
.cta-band{text-align:center;padding:110px 0;}
.cta-band h2{max-width:680px;margin:0 auto;}
.cta-band .hero-cta-row{margin-top:34px;justify-content:center;}

/* ---------- Footer ---------- */
footer{position:relative;z-index:3;border-top:1px solid var(--border-soft);padding:60px 0 40px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
.footer-col h4{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:18px;}
.footer-col a{display:block;font-size:14px;color:var(--text-muted);margin-bottom:12px;transition:color .2s ease;}
.footer-col a:hover{color:var(--accent-light);}
.footer-bottom{margin-top:56px;padding-top:26px;border-top:1px solid var(--border-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--text-faint);}

@media (max-width:900px){
  .wrap,.wrap-narrow{padding:0 22px;}
  nav.primary{display:none;}
  .services-grid,.phase-grid,.packages-grid,.feature-list,.blog-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero{padding:70px 0 60px;}
  .hero-stats{gap:36px;}
  .founder-card{flex-direction:column;text-align:center;}
  .founder-links{display:flex;justify-content:center;}
}
