/* ============================================================
   CENTRAL PARK RESIDENCES — UTILITY ATOMS
   utilities.css
   ------------------------------------------------------------
   Reusable, single-purpose helper classes (layout container, text
   atoms, section head, trust chips, scarcity chip, next-steps,
   form-reducer, sticky mobile CTA base). Extracted verbatim from
   assets/site.css. Responsive overrides live in responsive.css;
   the scarcity/pulse keyframe lives in animations.css.

   Depends on: variables.css
   ============================================================ */

/* ---- Layout container ---- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}

/* ---- Text atoms ---- */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted);
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime-deep);box-shadow:0 0 0 4px rgba(205,242,74,.25);}
.eyebrow.on-dark{color:var(--muted-d);}
.cp-hero .eyebrow.on-dark {
    color: #ffffff;
}
.kicker{font-size:clamp(28px,3.7vw,52px);font-weight:500;letter-spacing:-.03em;line-height:1.04;}
.lede{color:var(--muted);font-size:clamp(15px,1.15vw,17px);line-height:1.65;}
.lede.on-dark{color:var(--muted-d);}

/* ---- Section head ---- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.sec-head .kicker{max-width:16ch;}

/* ============================================================
   LEAD-GEN ATOMS: sticky mobile CTA (base), trust row, next-steps,
   scarcity. (Responsive parts live in responsive.css.)
   ============================================================ */
.mobile-cta{display:none;}

.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.trust-chip{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:8px 14px;border-radius:var(--r-pill);background:rgba(255,255,255,.06);border:1px solid var(--line-d);color:var(--muted-d);}
.trust-chip::before{content:"✓";color:var(--lime);font-weight:700;}
.trust-chip.on-light{background:var(--bg-soft);border-color:var(--line);color:var(--muted);}
.trust-chip.on-light::before{color:#2e7d18;}

.nextsteps{display:flex;flex-direction:column;gap:0;margin-top:8px;}
.nstep{display:grid;grid-template-columns:30px 1fr;gap:13px;padding:11px 0;border-top:1px solid var(--line-d);align-items:start;}
.nstep:first-child{border-top:none;}
.nstep .nn{width:30px;height:30px;border-radius:50%;background:var(--lime);color:var(--ink);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;}
.nstep .nt{font-size:14px;color:var(--muted-d);line-height:1.5;padding-top:5px;}

.form-reducer{font-size:12px;color:var(--muted-d);margin-top:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;text-align:center;}
.form-reducer span{display:inline-flex;align-items:center;gap:6px;}
.form-reducer span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--lime);}

.scarcity{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;letter-spacing:.02em;padding:8px 15px;border-radius:var(--r-pill);background:rgba(205,242,74,.14);border:1px solid rgba(205,242,74,.4);color:var(--lime);}
.scarcity .pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(205,242,74,.6);animation:scpulse 2s var(--ease) infinite;}
.scarcity.on-light{background:rgba(46,125,24,.08);border-color:rgba(46,125,24,.3);color:#2e7d18;}
.scarcity.on-light .pulse-dot{background:#2e7d18;box-shadow:0 0 0 0 rgba(46,125,24,.5);}
