/* ===========================================================================
   Pricing, after orionix.framer.website's plan cards.

   Measured off the reference at 1440: the header left, 520 wide, a small white
   pill with a dot above a two-line 56px title; three cards 416 wide with a
   24px gap, 40px of padding, corners of 24 above and 48 below, white on the
   page's paper, the recommended plan in ink with white type; inside a card the
   name beside a 36px icon, a 14/20 description, a dotted rule, the benefits
   with 20px icons at 16px intervals, a dotted rule, the price with its unit,
   and a full-width 48px pill button. The content is ours: the three credit
   tiers and the notes on what a credit is.
   =========================================================================== */

.plans {
    position: relative;
    z-index: 1;
    padding: 80px var(--gutter);
    background: var(--paper);
    color: var(--c-text, #212121);
}

/* ---- header --------------------------------------------------------------- */

.plans__head {
    display: grid;
    gap: 16px;
    max-width: 560px;
    margin: 0 0 72px;
}

/* The section's own eyebrow, the one the apps band and the dial use: a small
   uppercase line, not a chip. The pill with a dot in the reference is its
   house style and appears nowhere else here. */
.plans__eyebrow {
    margin: 0;
    font-size: clamp(9px, 0.694vw, 12px);
    line-height: 1.55;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #171717;
}

.plans__title {
    margin: 0;
    font-weight: 400;
    font-size: clamp(36px, 3.9vw, 56px);
    line-height: 1.07;
    letter-spacing: -0.015em;
    color: var(--c-text, #212121);
    text-wrap: balance;
}

.plans__lede {
    margin: 0;
    max-width: 460px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--c-muted, #6B6B70);
}

/* ---- cards ---------------------------------------------------------------- */

.plans__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

.plans__card {
    --rule: rgba(20, 20, 20, .22);
    --muted: #656565;
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 40px;
    border-radius: 24px 24px 48px 48px;
    background: #fff;
    box-shadow: 0 0 0 1px var(--line-soft);
    color: var(--c-text, #212121);
}

/* the recommended tier is the one thing in ink on the page */
.plans__card--featured {
    --rule: rgba(255, 255, 255, .22);
    --muted: rgba(255, 255, 255, .64);
    background: var(--c-ink, #17171C);
    color: #fff;
    box-shadow: none;
}

.plans__name {
    display: flex;
    align-items: center;
    gap: 16px;
}

.plans__icon {
    width: 36px;
    height: 36px;
    flex: none;
    color: inherit;
    /* At 36px a 1.5 stroke on a 24 viewBox draws at 2.25 real pixels and the
       glyph reads heavier than the 24px name beside it. */
    --icn-stroke: 1;
}

.plans__name h3 {
    margin: 0;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.plans__desc {
    margin: -16px 0 0;                 /* name and description sit 16 apart, the card's 32 follows */
    font-size: 14px;
    line-height: 20px;
    color: var(--muted);
}

.plans__list {
    list-style: none;
    margin: 0;
    padding: 32px 0;
    border-top: 1px dotted var(--rule);
    border-bottom: 1px dotted var(--rule);
    display: grid;
    gap: 16px;
}

.plans__list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    line-height: 22px;
}

.plans__list svg {
    width: 20px;
    height: 20px;
    flex: none;
    color: var(--muted);
}

.plans__price {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.plans__price strong {
    font-weight: 400;
    font-size: 32px;
    line-height: 36px;
    letter-spacing: -0.01em;
}

.plans__price span {
    font-size: 14px;
    color: var(--muted);
}

.plans__meta {
    margin: -22px 0 0;
    font-size: 13px;
    color: var(--muted);
}

.plans__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    border-radius: 999px;
    background: var(--c-ink, #17171C);
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: background .2s ease, transform .25s cubic-bezier(.22, 1, .36, 1), color .2s ease;
}

.plans__cta:hover {
    background: #2E2E35;
    color: #fff;
    transform: translateY(-1px);
}

.plans__card--featured .plans__cta {
    background: #fff;
    color: var(--c-ink, #17171C);
}

.plans__card--featured .plans__cta:hover {
    background: #ECEAF3;
    color: var(--c-ink, #17171C);
}

/* ---- the notes below ------------------------------------------------------ */

.plans__notes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
    margin-top: 64px;
}

.plans__notes h4 {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 400;
}

.plans__notes p {
    margin: 0;
    font-size: 15px;
    line-height: 1.45;
    color: var(--c-muted, #6B6B70);
}

.plans__fine {
    margin: 24px 0 0;
    font-size: 13px;
    color: var(--c-muted, #6B6B70);
}

@media (max-width: 900px) {
    .plans { padding: 64px 24px; }
    .plans__head { margin-bottom: 40px; }
    .plans__grid { grid-template-columns: 1fr; gap: 16px; }
    .plans__card { padding: 32px; border-radius: 20px 20px 36px 36px; gap: 28px; }
    .plans__notes { grid-template-columns: 1fr; gap: 24px; margin-top: 48px; }
}
