/* Depth + continuous texture layer. Load after page styles. */
:root{
  --shadow-sm:0 1px 2px rgba(17,17,17,.05),0 4px 14px -4px rgba(17,17,17,.08);
  --shadow-md:0 1px 2px rgba(17,17,17,.04),0 10px 30px -10px rgba(17,17,17,.16),0 2px 6px -2px rgba(17,17,17,.05);
  --shadow-lg:0 2px 4px rgba(17,17,17,.04),0 28px 56px -18px rgba(var(--accent-rgb,124,58,237),.30),0 10px 24px -12px rgba(17,17,17,.14);
}

/* ---------- one continuous grid from top to bottom ---------- */
body{
  background-color:var(--bg);
  background-image:
    linear-gradient(var(--grid-major) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-major) 1px,transparent 1px),
    linear-gradient(var(--grid-minor) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-minor) 1px,transparent 1px);
  background-size:112px 112px,112px 112px,28px 28px,28px 28px;
  background-position:center top;
}
.gridbg,.dots,.section.dots{background:transparent !important}
.hero::after{display:none}
.stats{background:transparent}
.partners{background:transparent}

/* nav and footer are the only different surfaces */
.nav{background:rgba(255,255,255,.86)}
footer{background:var(--surface);border-top:1px solid var(--border);position:relative;z-index:2}

/* ---------- lifted cards ---------- */
.card,.pillar,.step,.fit-col,.compare,.plan,.offer,.test,.inside-item,.window,.cc-class,
.chip,.portrait,.badge,.pill,.cta,.community-card,.mini-stats,.week,.foot-sub,
.case .float,.ev .chip,.proof,.no-upsell span,.cc-on,.cc-stats,.metrics{
  box-shadow:var(--shadow-md);
}
.badge,.pill,.no-upsell span,.cc-on{box-shadow:var(--shadow-sm)}
.test{background:var(--bg)}
.mini-stats,.cc-stats{background:var(--bg)}
.foot-sub{background-color:var(--bg)}

.card,.pillar,.step,.fit-col,.plan,.offer,.test,.inside-item,.pill,.community-card{
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,border-color .25s;
}
.card:hover,.pillar:hover,.step:hover,.plan:hover,.offer:hover,.test:hover,.inside-item:hover,.community-card:hover{
  transform:translateY(-4px);box-shadow:var(--shadow-lg);
}
.pill:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.plan.featured,.offer.featured,.fit-col.yes{box-shadow:var(--shadow-lg)}

/* primary buttons get a soft glow */
.btn-primary{box-shadow:0 1px 2px rgba(17,17,17,.08),0 8px 20px -6px rgba(var(--accent-rgb,124,58,237),.55)}
.btn-primary:hover{box-shadow:0 1px 2px rgba(17,17,17,.08),0 12px 28px -8px rgba(var(--accent-rgb,124,58,237),.65)}
.btn-ghost{box-shadow:var(--shadow-sm)}

/* reveal animation must not fight hover transforms */
.reveal.in:hover{transition-delay:0s !important}

@media (prefers-reduced-motion:reduce){
  .card:hover,.pillar:hover,.step:hover,.plan:hover,.offer:hover,.test:hover,.inside-item:hover,.community-card:hover,.pill:hover{transform:none}
}
