/* ============================================================
   SMCairn / tekbenz — Landing Page
   Futuristic, collaboration-focused design
   ============================================================ */

/* --- Reset & base ----------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:        #0f1f24;     /* dark teal-black — derived from SMC secondary */
  --bg-card:   rgba(255,255,255,.04);
  --surface:   #17303b;     /* SMC secondary */
  --border:    rgba(255,255,255,.10);
  --text:      #e8edef;
  --text-dim:  #8fa3ab;
  --accent:    #006d77;     /* SMC primary — deep teal */
  --accent-l:  #009da8;     /* lighter teal for text/links */
  --glow:      rgba(0,109,119,.35);
  --cyan:      #00a6fb;     /* SMC info blue */
  --emerald:   #00d084;     /* SMC success green */
  --amber:     #fbbf24;
  --radius:    12px;
  --font:      'Inter', system-ui, -apple-system, sans-serif;
}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent-l);text-decoration:none;transition:color .2s}
a:hover{color:#a5b4fc}
img{max-width:100%;display:block}

/* --- Utility ---------------------------------------------- */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.text-gradient{
  background:linear-gradient(135deg,var(--emerald),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

/* --- Animated background canvas --------------------------- */
#particle-canvas{
  position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.45;
}

/* --- Navbar ----------------------------------------------- */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:100;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  background:rgba(10,14,26,.72);
  border-bottom:1px solid var(--border);
  transition:background .3s;
}
.navbar .container{
  display:flex;align-items:center;justify-content:space-between;
  height:64px;
}
.navbar-brand{
  font-weight:700;font-size:1.35rem;letter-spacing:-.02em;
  display:flex;align-items:center;gap:10px;color:#fff;
}
.navbar-brand .logo-icon{
  width:32px;height:32px;border-radius:8px;
  background:linear-gradient(135deg,var(--accent),var(--emerald));
  display:grid;place-items:center;font-size:14px;font-weight:800;color:#fff;
}
.cairn-logo{flex-shrink:0}
.smc-logo{
  max-height:40px;width:auto;opacity:.85;transition:opacity .2s;
  filter:brightness(0) invert(1);
}
.smc-brand:hover .smc-logo{opacity:1}
.nav-links{display:flex;gap:32px;align-items:center;list-style:none}
.nav-links a{font-size:.9rem;font-weight:500;color:var(--text-dim);transition:color .2s}
.nav-links a:hover{color:#fff}
.nav-cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 20px;border-radius:8px;font-weight:600;font-size:.875rem;
  background:var(--accent);color:#fff !important;
  transition:transform .15s,box-shadow .2s;
}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 20px var(--glow)}
.mobile-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}

/* --- Hero ------------------------------------------------- */
.hero{
  position:relative;z-index:1;
  min-height:100vh;display:flex;align-items:center;
  padding-top:80px;padding-bottom:80px;
  text-align:center;
}
.hero-glow{
  position:absolute;top:-120px;left:50%;transform:translateX(-50%);
  width:800px;height:800px;border-radius:50%;
  background:radial-gradient(circle,var(--glow) 0%,transparent 65%);
  opacity:.4;pointer-events:none;animation:pulseGlow 6s ease-in-out infinite;
}
@keyframes pulseGlow{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.12)}}
.hero h1{
  font-size:clamp(2.4rem,6vw,4.2rem);
  font-weight:800;line-height:1.12;letter-spacing:-.03em;
  margin-bottom:24px;
}
.hero p.subtitle{
  font-size:clamp(1.05rem,2.2vw,1.3rem);
  color:var(--text-dim);max-width:640px;margin:0 auto 40px;
}
.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 32px;border-radius:10px;font-weight:600;font-size:1rem;
  transition:transform .15s,box-shadow .2s;cursor:pointer;border:none;
}
.btn-primary{
  background:linear-gradient(135deg,var(--accent),#004e56);color:#fff;
  box-shadow:0 4px 24px var(--glow);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px var(--glow)}
.btn-ghost{
  background:var(--bg-card);color:var(--text);
  border:1px solid var(--border);
}
.btn-ghost:hover{border-color:var(--accent-l);color:#fff;transform:translateY(-2px)}

/* Floating task-tree demo */
.hero-visual{
  margin-top:64px;position:relative;
  perspective:1200px;
}
.hero-card{
  max-width:800px;margin:0 auto;
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;overflow:hidden;
  box-shadow:0 24px 80px rgba(0,0,0,.5);
  transform:rotateX(4deg);
  transition:transform .4s ease;
}
.hero-card:hover{transform:rotateX(0)}
.hero-card-bar{
  display:flex;align-items:center;gap:8px;
  padding:12px 16px;background:rgba(255,255,255,.03);
  border-bottom:1px solid var(--border);
}
.dot{width:12px;height:12px;border-radius:50%}
.dot.r{background:#ef4444}.dot.y{background:#eab308}.dot.g{background:#22c55e}
.hero-card-body{padding:24px 28px;font-family:'JetBrains Mono',monospace;font-size:.82rem;line-height:1.8;color:var(--text-dim)}
.tree-line{display:block;white-space:pre}
.tree-line .done{color:var(--emerald)}
.tree-line .prog{color:var(--amber)}
.tree-line .label{color:var(--text)}
.tree-line .pct{color:var(--cyan);font-weight:700}

/* --- Features --------------------------------------------- */
.features{position:relative;z-index:1;padding:120px 0}
.section-badge{
  display:inline-block;padding:6px 14px;border-radius:20px;
  font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  background:rgba(0,109,119,.15);color:var(--accent-l);
  margin-bottom:16px;
}
.section-heading{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:-.02em;margin-bottom:16px}
.section-sub{color:var(--text-dim);max-width:560px;margin:0 auto 56px;font-size:1.05rem}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.feature-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius);padding:32px;
  transition:border-color .25s,transform .25s;
}
.feature-card:hover{border-color:var(--accent);transform:translateY(-4px)}
.feature-icon{
  width:48px;height:48px;border-radius:12px;margin-bottom:20px;
  display:grid;place-items:center;font-size:22px;
}
.feature-icon.purple{background:rgba(0,109,119,.2);color:var(--accent-l)}
.feature-icon.cyan{background:rgba(34,211,238,.12);color:var(--cyan)}
.feature-icon.emerald{background:rgba(52,211,153,.12);color:var(--emerald)}
.feature-icon.amber{background:rgba(251,191,36,.12);color:var(--amber)}
.feature-card h3{font-size:1.15rem;font-weight:700;margin-bottom:8px}
.feature-card p{color:var(--text-dim);font-size:.95rem}

/* --- How It Works ----------------------------------------- */
.how-it-works{position:relative;z-index:1;padding:120px 0}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;margin-top:56px;counter-reset:step}
.step{position:relative;text-align:center;counter-increment:step}
.step::before{
  content:counter(step,decimal-leading-zero);
  display:block;font-size:3.2rem;font-weight:800;
  background:linear-gradient(135deg,var(--emerald),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;margin-bottom:16px;line-height:1;
}
.step h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}
.step p{color:var(--text-dim);font-size:.92rem}

/* --- Pricing / Packages ----------------------------------- */
.pricing{position:relative;z-index:1;padding:120px 0}
.pricing-toggle{
  display:flex;align-items:center;justify-content:center;gap:12px;
  margin-bottom:48px;font-size:.9rem;color:var(--text-dim);
}
.toggle-switch{
  position:relative;width:52px;height:28px;border-radius:14px;
  background:var(--border);cursor:pointer;transition:background .25s;
}
.toggle-switch.active{background:var(--accent)}
.toggle-switch::after{
  content:'';position:absolute;top:3px;left:3px;
  width:22px;height:22px;border-radius:50%;background:#fff;
  transition:transform .25s;
}
.toggle-switch.active::after{transform:translateX(24px)}
.save-badge{
  font-size:.7rem;font-weight:700;text-transform:uppercase;
  padding:3px 8px;border-radius:10px;
  background:rgba(52,211,153,.15);color:var(--emerald);
}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;align-items:start}
.pricing-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius);padding:36px 28px;
  transition:border-color .25s,transform .25s;
  position:relative;overflow:hidden;
}
.pricing-card.highlighted{
  border-color:var(--accent);
  box-shadow:0 0 40px var(--glow);
}
.pricing-card.highlighted .popular-tag{
  position:absolute;top:16px;right:-30px;
  background:var(--emerald);color:#0f1f24;font-size:.7rem;font-weight:700;
  padding:4px 36px;transform:rotate(45deg);text-transform:uppercase;letter-spacing:.05em;
}
.pricing-card h3{font-size:1.3rem;font-weight:700;margin-bottom:4px}
.pricing-card .tagline{color:var(--text-dim);font-size:.88rem;margin-bottom:20px}
.price{font-size:2.6rem;font-weight:800;line-height:1;margin-bottom:4px}
.price span{font-size:.95rem;font-weight:500;color:var(--text-dim)}
.price-period{font-size:.82rem;color:var(--text-dim);margin-bottom:24px}
.pricing-card ul{list-style:none;margin-bottom:28px}
.pricing-card li{
  padding:7px 0;font-size:.9rem;color:var(--text-dim);
  display:flex;align-items:center;gap:10px;
}
.pricing-card li::before{
  content:'✓';font-weight:700;color:var(--emerald);font-size:.85rem;
}
.pricing-card li.disabled{opacity:.38}
.pricing-card li.disabled::before{content:'—';color:var(--text-dim)}
.pricing-card .btn{width:100%;justify-content:center}
.pricing-card:hover{transform:translateY(-4px)}

/* Disabled / coming-soon cards */
.pricing-card.card-disabled{opacity:.5;pointer-events:none;filter:grayscale(.3)}
.pricing-card.card-disabled:hover{transform:none}
.coming-soon-tag{
  position:absolute;top:16px;right:16px;
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  padding:4px 12px;border-radius:8px;
  background:rgba(255,255,255,.08);color:var(--text-dim);
}
.btn-disabled{
  background:var(--border) !important;color:var(--text-dim) !important;
  cursor:not-allowed;pointer-events:none;
}
.price .tk{font-weight:400;font-size:1.6rem}

/* skeleton loader for packages */
.skeleton{border-radius:var(--radius);overflow:hidden}
.skeleton-line{
  height:16px;border-radius:8px;margin-bottom:12px;
  background:linear-gradient(90deg,var(--surface) 25%,rgba(255,255,255,.06) 50%,var(--surface) 75%);
  background-size:200% 100%;
  animation:shimmer 1.4s ease-in-out infinite;
}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* --- Collaboration CTA ------------------------------------ */
.collab-cta{position:relative;z-index:1;padding:120px 0;text-align:center}
.collab-cta-box{
  background:linear-gradient(135deg,rgba(0,109,119,.15),rgba(34,211,238,.08));
  border:1px solid var(--border);border-radius:20px;
  padding:72px 40px;max-width:800px;margin:0 auto;
}
.collab-cta-box h2{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;margin-bottom:16px}
.collab-cta-box p{color:var(--text-dim);font-size:1.05rem;max-width:520px;margin:0 auto 36px}

/* --- Footer ----------------------------------------------- */
.footer{
  position:relative;z-index:1;
  border-top:1px solid var(--border);
  padding:48px 0 32px;
}
.footer-inner{
  display:flex;flex-wrap:wrap;justify-content:space-between;
  gap:40px;
}
.footer-col h4{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:14px}
.footer-col a{display:block;font-size:.9rem;color:var(--text-dim);padding:4px 0;transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-bottom{
  margin-top:40px;padding-top:20px;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
  font-size:.82rem;color:var(--text-dim);
}

/* --- Fade-in animation ------------------------------------ */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* --- Responsive ------------------------------------------- */
@media(max-width:768px){
  .nav-links{display:none}
  .mobile-toggle{display:block}
  .nav-links.open{
    display:flex;flex-direction:column;
    position:absolute;top:64px;left:0;right:0;
    background:var(--bg);padding:24px;gap:16px;
    border-bottom:1px solid var(--border);
  }
  .hero h1{font-size:2rem}
  .hero-card{transform:none}
  .pricing-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;gap:24px}
}

/* --- Scrollbar -------------------------------------------- */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.15)}
