/* Pricing: three plan cards (Starter / Plus / Premium),
 * ported from freebuiltwebs.com (pricing.css) into the nolimitwebs dark + lime palette. */
.pricing { padding-bottom: clamp(56px, 7vw, 96px); }
.pricingHead { text-align: center; max-width: 760px; margin: 0 auto clamp(32px, 4vw, 48px); }
.pricingHead h2 { text-wrap: balance; }
.pricingHead p { color: var(--muted); font-size: 17px; margin-top: 20px; }
.pkHl { color: var(--accent); }
.pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1132px; margin: 0 auto clamp(40px, 5vw, 56px); border: 1px solid var(--hairline-2); border-radius: var(--radius); overflow: hidden; }
.pillars li { padding: 18px 22px; font-size: 15px; line-height: 1.4; color: var(--text); min-width: 0; }
.pillars li + li { border-left: 1px solid var(--hairline-2); }
.pillars__k { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }
.plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; max-width: 1132px; margin: 0 auto; }
.plan { position: relative; display: flex; flex-direction: column; padding: 32px 28px 28px; border-radius: var(--radius); background: linear-gradient(135deg, #ffffff09, #ffffff02); border: 1px solid var(--hairline-2); }
.plan--featured { border: 2px solid var(--accent); box-shadow: 0 30px 60px -34px rgba(216, 250, 112, .35); }
.plan__tag { position: absolute; top: -13px; left: 28px; background: #ffffff; color: var(--void); font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: .12em; text-transform: uppercase; padding: 7px 12px; border-radius: 999px; white-space: nowrap; }
.plan__name { font-size: 26px; }
.plan__kicker { font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent-soft); font-weight: 600; margin-top: 6px; }
.plan__price { margin-top: 20px; color: var(--muted); font-size: 16px; }
.plan__price span { font-size: 56px; font-weight: 800; line-height: 1; letter-spacing: -.04em; color: var(--text); margin-right: 2px; }
.plan__pitch { margin-top: 16px; color: var(--muted); font-size: 15.5px; line-height: 1.5; min-height: 4.5em; }
.plan__list { display: grid; gap: 9px; margin-top: 20px; flex: 1; align-content: start; }
.plan__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.5; color: var(--text); }
.plan__list svg { width: 17px; height: 17px; flex: none; margin-top: 3px; color: var(--accent); }
.plan__list .hl { font-weight: 600; }
.plan__list .all { color: var(--muted); font-weight: 500; }
.plan__list .grp { display: block; font-family: var(--mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted-2); margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--hairline); }
.plan__list .grp:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.plan__list .no { color: var(--muted-2); }
.plan__list .no svg { color: var(--muted-2); opacity: .7; }
.plan__cta { width: 100%; margin-top: 26px; }
.customCta { max-width: 1132px; margin: 22px auto 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: center; padding: clamp(26px, 3.5vw, 40px); border-radius: var(--radius); border: 1px solid rgba(216, 250, 112, .45); background: linear-gradient(120deg, rgba(216, 250, 112, .10), rgba(255, 255, 255, .02) 60%); }
.customCta__copy { min-width: 0; }
.customCta__k { display: block; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); font-weight: 600; margin-bottom: 10px; }
.customCta h3 { font-size: clamp(24px, 2.6vw, 32px); text-wrap: balance; }
.customCta p { color: var(--muted); font-size: 16px; line-height: 1.55; max-width: 62ch; margin-top: 12px; }
.customCta__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.customCta__tags li { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--text); border: 1px solid var(--hairline-2); border-radius: 999px; padding: 6px 12px; }
@media (max-width: 860px) { .customCta { grid-template-columns: 1fr; gap: 22px; } .customCta__btn { width: 100%; white-space: normal; } }
.plan__terms { max-width: 720px; margin: 30px auto 0; text-align: center; font-size: 13.5px; line-height: 1.6; color: var(--muted-2); }
.plan__terms a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1080px) { .plans { grid-template-columns: minmax(0, 1fr); max-width: 460px; gap: 34px; } .plan__pitch { min-height: 0; } }
@media (max-width: 760px) { .pillars { grid-template-columns: 1fr; } .pillars li + li { border-left: 0; border-top: 1px solid var(--hairline-2); } }
@media (max-width: 640px) { .plan { padding: 30px 20px 24px; } }
