/* =====================================================================
   /pricing (2026). Loaded only on the pricing page, after home-2026.css
   (tokens, buttons, eyebrow, section heads, the .starts rows). Scoped to main.pr26.
   ===================================================================== */
.pr26 section { padding: clamp(64px,8vw,112px) 0; }

/* hero */
.pr26 .pr-hero { position: relative; overflow: hidden; padding: calc(68px + 14px + clamp(40px,5vw,72px)) 0 clamp(36px,5vw,64px); }
.pr26 .pr-hero > .wrap { position: relative; z-index: 1; }
.pr26 .pr-hero h1 { max-width: 18ch; font-size: clamp(2.4rem,5.2vw,4.25rem); line-height: 1.04; }
.pr26 .pr-hero-sub { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px 48px; align-items: end; margin-top: clamp(24px,3vw,36px); }
.pr26 .pr-hero-sub .lede { max-width: 56ch; }
.pr26 .pr-hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 1080px) { .pr26 .pr-hero { padding-top: calc(64px + 10px + clamp(32px,5vw,56px)); } }
@media (max-width: 900px) { .pr26 .pr-hero-sub { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .pr26 .pr-hero-ctas { flex-direction: column; } .pr26 .pr-hero-ctas .btn { width: 100%; justify-content: center; } }

/* services */
.pr26 .pr-services { padding-top: 0; }
.pr26 .pr-fine { margin-top: 14px; font-size: .875rem; color: var(--neutral-500); }

/* how it works */
.pr26 .pr-steps { background: var(--neutral-200); border-top: 1px solid var(--neutral-300); border-bottom: 1px solid var(--neutral-300); }
.pr26 .steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; counter-reset: none; }
.pr26 .step { padding: 24px 22px; background: var(--neutral-100); border: 1px solid var(--neutral-300); border-radius: var(--radius-card); }
.pr26 .step-n { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 18px; border-radius: 10px; background: var(--green-tint); color: var(--neutral-900); font-weight: 600; font-variant-numeric: tabular-nums; }
.pr26 .step h3 { font-size: 1.25rem; letter-spacing: -.03em; }
.pr26 .step p { margin-top: 8px; font-size: .9375rem; color: var(--neutral-700); line-height: 1.55; }
@media (max-width: 820px) { .pr26 .steps { grid-template-columns: 1fr; } }

/* FAQ */
.pr26 .faq-list { display: grid; gap: 10px; max-width: 860px; }
.pr26 .faq { border: 1px solid var(--neutral-300); border-radius: 14px; background: var(--paper); }
.pr26 .faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; list-style: none; cursor: pointer; font-weight: 600; font-size: 1.0625rem; letter-spacing: -.02em; color: var(--neutral-900); }
.pr26 .faq summary::-webkit-details-marker { display: none; }
.pr26 .faq summary svg { flex: none; width: 18px; height: 18px; transition: transform .25s; }
.pr26 .faq[open] summary svg { transform: rotate(180deg); }
.pr26 .faq-a { max-width: 70ch; padding: 0 20px 18px; font-size: .9375rem; color: var(--neutral-700); }

/* closing CTA */
.pr26 .pr-cta { padding-top: clamp(64px,8vw,112px); }
