:root {
  --ink: #111714;
  --ink-soft: #4d5852;
  --paper: #f7f7f2;
  --paper-deep: #efefe7;
  --white: #ffffff;
  --line: #d8dcd4;
  --accent: #146b4a;
  --accent-dark: #0b4d34;
  --accent-pale: #dceee5;
  --signal: #ef7e48;
  --shadow-sm: 0 10px 30px rgba(17, 23, 20, .07);
  --shadow-lg: 0 28px 80px rgba(17, 23, 20, .12);
  --radius-sm: .8rem;
  --radius-md: 1.25rem;
  --radius-lg: 2rem;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
button, input { font: inherit; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; transform: translateY(-150%); background: var(--ink); color: white; padding: .75rem 1rem; border-radius: .5rem; }
.skip-link:focus { transform: none; }

.site-header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--paper) 91%, transparent); backdrop-filter: blur(18px); border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s; }
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 6px 30px rgba(17, 23, 20, .05); }
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; font-size: 1.3rem; font-weight: 850; letter-spacing: -.045em; }
.brand > span > span { color: var(--accent); }
.primary-nav { display: flex; align-items: center; gap: 1.6rem; }
.primary-nav a { text-decoration: none; color: var(--ink-soft); font-size: .91rem; font-weight: 650; }
.primary-nav a:hover { color: var(--ink); }
.primary-nav .nav-cta { padding: .7rem 1rem; border: 1px solid var(--ink); color: var(--ink); border-radius: 999px; }
.menu-toggle { display: none; border: 0; background: transparent; padding: .5rem; cursor: pointer; }
.menu-toggle span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px 0; background: var(--ink); }

.hero { padding: clamp(4.5rem, 9vw, 8.8rem) 0 clamp(4rem, 8vw, 7rem); overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.eyebrow { margin: 0 0 1rem; color: var(--accent); font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; line-height: 1.08; letter-spacing: -.045em; }
h1 { max-width: 850px; margin-bottom: 1.5rem; font-size: clamp(3.1rem, 7vw, 6.5rem); font-weight: 790; }
h2 { font-size: clamp(2.1rem, 4.2vw, 4rem); font-weight: 760; }
h3 { font-size: 1.7rem; }
.hero-lede { max-width: 680px; margin: 0; color: var(--ink-soft); font-size: clamp(1.08rem, 2vw, 1.32rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin: 2.1rem 0 1.7rem; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: .75rem 1.25rem; border: 1px solid transparent; border-radius: 999px; text-decoration: none; font-weight: 760; cursor: pointer; transition: transform .16s, box-shadow .16s, background .16s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--accent); color: white; box-shadow: 0 10px 30px rgba(20, 107, 74, .2); }
.button-primary:hover { background: var(--accent-dark); box-shadow: 0 15px 35px rgba(20, 107, 74, .25); }
.button-secondary { border-color: var(--line); background: rgba(255,255,255,.5); }
.button-dark { background: var(--ink); color: white; }
.trust-list { display: flex; flex-wrap: wrap; gap: 1.1rem 1.7rem; padding: 0; margin: 0; list-style: none; color: var(--ink-soft); font-size: .88rem; }
.trust-list li::before { content: "✓"; margin-right: .45rem; color: var(--accent); font-weight: 900; }

.hero-panel { position: relative; padding: 1.6rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-lg); transform: rotate(1.2deg); }
.hero-panel::before { content: ""; position: absolute; z-index: -1; inset: 16px -20px -20px 22px; border-radius: inherit; background: var(--accent-pale); transform: rotate(-3deg); }
.panel-topline { display: flex; align-items: center; gap: .55rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: .75rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 4px rgba(239, 126, 72, .15); }
.panel-step { margin-left: auto; }
.match-preview { display: flex; align-items: center; gap: 1rem; padding: 1.6rem 0 1.35rem; }
.match-icon, .tool-monogram { display: grid; place-items: center; flex: 0 0 auto; border-radius: 1rem; font-weight: 850; }
.match-icon { width: 66px; height: 66px; background: #f0f6ff; color: #2867c8; font-size: 1.25rem; }
.micro-label { margin: 0 0 .25rem; color: var(--ink-soft); font-size: .78rem; }
.match-preview h2 { margin: 0; font-size: 2rem; }
.fit-meter { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .75rem; padding: .85rem 0 1.1rem; font-size: .78rem; }
.fit-meter > div { height: 7px; overflow: hidden; border-radius: 999px; background: var(--paper-deep); }
.fit-meter i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.fit-meter strong { color: var(--accent); }
.preview-points { padding: 1rem 0 1rem 1.2rem; margin: 0; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .92rem; }
.preview-points li + li { margin-top: .5rem; }
.text-link { display: inline-flex; align-items: center; gap: .5rem; color: var(--accent-dark); text-decoration: none; font-weight: 780; }
.text-link:hover { text-decoration: underline; }

.audience-strip { border-block: 1px solid var(--line); background: rgba(255,255,255,.45); }
.audience-grid { display: grid; grid-template-columns: .55fr repeat(3, 1fr); align-items: stretch; }
.audience-grid > * { padding: 1.35rem 1.4rem; }
.audience-grid > span { display: flex; align-items: center; color: var(--ink-soft); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.audience-grid > div { border-left: 1px solid var(--line); }
.audience-grid strong, .audience-grid small { display: block; }
.audience-grid small { margin-top: .12rem; color: var(--ink-soft); font-size: .8rem; }

.finder-section, .shortlist-section, .method-section, .next-section { padding: clamp(5rem, 10vw, 9rem) 0; }
.finder-section { background: var(--ink); color: white; }
.finder-section .eyebrow { color: #8ed6b8; }
.section-heading { margin-bottom: 3rem; }
.section-heading-centered { max-width: 760px; margin-inline: auto; text-align: center; }
.section-heading p:not(.eyebrow), .split-heading > p { color: #aeb8b2; }
.finder { max-width: 1020px; margin: 0 auto; }
.finder-step { padding: 0; margin: 0 0 2.2rem; border: 0; }
.finder-step legend { margin-bottom: 1rem; font-size: 1.05rem; font-weight: 780; }
.finder-step legend span { display: inline-grid; width: 29px; height: 29px; place-items: center; margin-right: .45rem; border: 1px solid #52605a; border-radius: 50%; color: #8ed6b8; font-size: .75rem; }
.choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .85rem; }
.choice-card { position: relative; display: block; min-height: 175px; padding: 1.2rem; border: 1px solid #364039; border-radius: var(--radius-md); background: #18201c; cursor: pointer; transition: border-color .16s, transform .16s, background .16s; }
.choice-card:hover { transform: translateY(-2px); border-color: #718177; }
.choice-card input, .priority-pill input { position: absolute; opacity: 0; pointer-events: none; }
.choice-card:has(input:checked) { border-color: #8ed6b8; background: #1c2b24; box-shadow: inset 0 0 0 1px #8ed6b8; }
.choice-mark { display: block; width: 18px; height: 18px; margin-bottom: 1.8rem; border: 1px solid #6f7a74; border-radius: 50%; }
.choice-card:has(input:checked) .choice-mark { border: 5px solid #8ed6b8; }
.choice-card strong, .choice-card small { display: block; }
.choice-card small { margin-top: .45rem; color: #aeb8b2; line-height: 1.45; }
.priority-grid { display: flex; flex-wrap: wrap; gap: .7rem; }
.priority-pill { position: relative; cursor: pointer; }
.priority-pill span { display: block; padding: .7rem 1rem; border: 1px solid #425048; border-radius: 999px; color: #c8d0cb; }
.priority-pill:has(input:checked) span { border-color: #8ed6b8; background: #264234; color: white; }
.finder-submit { min-width: 220px; margin-top: .5rem; border: 0; }
.finder-result { max-width: 1020px; margin: 2rem auto 0; padding: 1.4rem; border: 1px solid #5c6b62; border-radius: var(--radius-md); background: white; color: var(--ink); }
.result-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1.5rem; align-items: center; }
.result-kicker { margin: 0 0 .35rem; color: var(--accent); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.result-grid h3 { margin-bottom: .6rem; }
.result-grid p { color: var(--ink-soft); }
.result-actions { display: flex; justify-content: flex-end; gap: .65rem; flex-wrap: wrap; }
.result-secondary { padding: .65rem .9rem; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; font-size: .9rem; font-weight: 700; }

.shortlist-section { background: var(--paper); }
.split-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; align-items: end; }
.split-heading h2 { margin-bottom: 0; }
.split-heading > p { margin: 0 0 .5rem; color: var(--ink-soft); }
.tool-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.tool-card { padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); transition: transform .18s, box-shadow .18s; }
.tool-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.tool-card-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.tool-monogram { width: 48px; height: 48px; }
.monogram-mailerlite { background: #e8f1ff; color: #2867c8; }
.monogram-brevo { background: #e3f6ef; color: #087f5b; }
.monogram-kit { background: #f1ecff; color: #6c45be; }
.monogram-beehiiv { background: #fff2d8; color: #b36e00; }
.monogram-omnisend { background: #e7f4f1; color: #146b4a; }
.monogram-klaviyo { background: #efe8ff; color: #5a2db3; }
.monogram-mailchimp { background: #fff0bd; color: #5f4400; }
.fit-label { padding: .35rem .65rem; border-radius: 999px; background: var(--paper-deep); color: var(--ink-soft); font-size: .72rem; font-weight: 750; }
.tool-card h3 { margin-bottom: .45rem; }
.tool-position { min-height: 3.2rem; margin-bottom: 1.4rem; color: var(--ink-soft); }
.tool-facts { margin: 0; border-top: 1px solid var(--line); }
.tool-facts div { display: grid; grid-template-columns: 92px 1fr; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); font-size: .88rem; }
.tool-facts dt { color: var(--ink-soft); }
.tool-facts dd { margin: 0; font-weight: 680; }
.tool-link { display: inline-flex; gap: .4rem; margin-top: 1.2rem; color: var(--accent-dark); text-decoration: none; font-weight: 780; }
.tool-link:hover { text-decoration: underline; }
.source-note { max-width: 790px; margin: 1.5rem 0 0; color: var(--ink-soft); font-size: .78rem; }

.method-section { background: var(--accent-pale); }
.method-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.method-copy { position: sticky; top: 120px; }
.method-copy p:not(.eyebrow) { color: var(--ink-soft); }
.method-list { padding: 0; margin: 0; list-style: none; }
.method-list li { display: grid; grid-template-columns: 70px 1fr; gap: 1rem; padding: 1.4rem 0; border-top: 1px solid rgba(17,23,20,.18); }
.method-list li:last-child { border-bottom: 1px solid rgba(17,23,20,.18); }
.method-list > li > span { color: var(--accent); font-weight: 850; }
.method-list strong { font-size: 1.1rem; }
.method-list p { margin: .25rem 0 0; color: var(--ink-soft); }

.next-section { background: var(--paper-deep); }
.next-card { display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding: clamp(2rem, 5vw, 4rem); border-radius: var(--radius-lg); background: var(--signal); color: #2a160d; }
.next-card h2 { max-width: 760px; margin-bottom: .8rem; }
.next-card p:not(.eyebrow) { max-width: 750px; margin-bottom: 0; }
.next-card .eyebrow { color: #6c2f15; }
.next-card .button { white-space: nowrap; }

.site-footer { padding: 4.5rem 0 1.5rem; background: var(--ink); color: white; }
.footer-grid { display: grid; grid-template-columns: 1.1fr .6fr 1.1fr; gap: 4rem; }
.footer-brand { margin-bottom: 1rem; color: white; }
.footer-grid p { color: #aeb8b2; font-size: .88rem; }
.footer-grid strong { display: block; margin-bottom: .8rem; }
.footer-grid a:not(.brand) { display: block; width: fit-content; margin: .4rem 0; color: #cfd7d2; text-decoration: none; font-size: .9rem; }
.footer-grid a:hover { color: white; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3.5rem; padding-top: 1.4rem; border-top: 1px solid #343d38; color: #818d86; font-size: .75rem; }

:focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }

@media (max-width: 900px) {
  .hero-grid, .method-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; }
  .hero-panel { max-width: 620px; transform: none; }
  .choice-grid { grid-template-columns: repeat(2, 1fr); }
  .audience-grid { grid-template-columns: 1fr 1fr; }
  .audience-grid > span { grid-column: 1 / -1; padding-bottom: .5rem; }
  .audience-grid > div:nth-of-type(1), .audience-grid > div:nth-of-type(3) { border-left: 0; }
  .split-heading { grid-template-columns: 1fr; gap: 1rem; }
  .method-copy { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .header-inner { min-height: 68px; }
  .menu-toggle { display: block; }
  .primary-nav { position: absolute; inset: 68px 1rem auto; display: none; flex-direction: column; align-items: stretch; padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); box-shadow: var(--shadow-lg); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: .65rem; }
  .primary-nav .nav-cta { text-align: center; }
  .hero { padding-top: 3.8rem; }
  h1 { font-size: clamp(2.8rem, 13vw, 4.4rem); }
  .hero-actions .button { width: 100%; }
  .trust-list { display: grid; gap: .45rem; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-grid > div { border-left: 0; border-top: 1px solid var(--line); }
  .choice-grid, .tool-grid { grid-template-columns: 1fr; }
  .choice-card { min-height: 145px; }
  .result-grid { grid-template-columns: 1fr; }
  .result-actions { justify-content: flex-start; }
  .next-card { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; gap: 2.2rem; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}


/* Review pages */
.review-page { background: var(--paper); }
.review-hero { padding: clamp(3.5rem, 7vw, 6.5rem) 0 4.5rem; border-bottom: 1px solid var(--line); background: linear-gradient(145deg, #f7f7f2 0%, #edf4ef 100%); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 2.2rem; color: var(--ink-soft); font-size: .82rem; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }
.review-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.review-hero h1 { max-width: 900px; font-size: clamp(3rem, 6vw, 5.7rem); }
.review-deck { max-width: 760px; color: var(--ink-soft); font-size: clamp(1.1rem, 2vw, 1.3rem); }
.review-meta { display: flex; flex-wrap: wrap; gap: .7rem 1.3rem; margin-top: 1.5rem; color: var(--ink-soft); font-size: .82rem; }
.review-meta span::before { content: "•"; margin-right: .5rem; color: var(--accent); }
.affiliate-inline { max-width: 680px; color: var(--ink-soft); font-size: .76rem; }
.review-scorecard { padding: 1.7rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-lg); }
.review-logo { display: grid; width: 62px; height: 62px; place-items: center; margin-bottom: 1.25rem; border-radius: 1rem; background: #e8f1ff; color: #2867c8; font-size: 1.3rem; font-weight: 850; }
.scorecard-label { margin: 0 0 .4rem; color: var(--accent); font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.review-scorecard h2 { margin-bottom: .75rem; font-size: 2.1rem; }
.review-scorecard > p:not(.scorecard-label) { color: var(--ink-soft); }
.review-scorecard dl { margin: 1.3rem 0 0; border-top: 1px solid var(--line); }
.review-scorecard dl div { display: grid; grid-template-columns: 95px 1fr; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: .82rem; }
.review-scorecard dt { color: var(--ink-soft); }
.review-scorecard dd { margin: 0; font-weight: 680; }
.review-layout { display: grid; grid-template-columns: 220px minmax(0, 820px); gap: clamp(3rem, 7vw, 7rem); align-items: start; padding-top: 4.5rem; padding-bottom: 7rem; }
.review-toc { position: sticky; top: 110px; display: grid; gap: .45rem; padding: 1.1rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,255,255,.65); }
.review-toc strong { margin-bottom: .35rem; }
.review-toc a { color: var(--ink-soft); text-decoration: none; font-size: .86rem; }
.review-toc a:hover { color: var(--accent); }
.review-content { min-width: 0; }
.review-section { scroll-margin-top: 110px; padding: 0 0 4.7rem; margin-bottom: 4.7rem; border-bottom: 1px solid var(--line); }
.review-section h2 { max-width: 760px; font-size: clamp(2.1rem, 4vw, 3.5rem); }
.review-section > p:not(.eyebrow) { color: var(--ink-soft); font-size: 1.03rem; }
.fit-split, .pros-cons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2rem; }
.fit-split > div, .pros-card, .cons-card { padding: 1.4rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.fit-split h3, .pros-card h3, .cons-card h3 { font-size: 1.2rem; }
.fit-split ul, .pros-cons-grid ul { padding-left: 1.2rem; margin-bottom: 0; color: var(--ink-soft); }
.fit-split li + li, .pros-cons-grid li + li { margin-top: .55rem; }
.fit-split > div:first-child { border-top: 4px solid var(--accent); }
.fit-split > div:last-child { border-top: 4px solid var(--signal); }
.evidence-box, .warning-box { margin-top: 1.5rem; padding: 1.35rem; border-radius: var(--radius-md); }
.evidence-box { background: var(--accent-pale); }
.warning-box { border: 1px solid #e4b596; background: #fff3eb; }
.evidence-box p, .warning-box p { margin-bottom: 0; color: var(--ink-soft); }
.plan-stack { display: grid; gap: .9rem; margin-top: 2rem; }
.plan-card { display: grid; grid-template-columns: 120px 130px 1fr; gap: 1.2rem; padding: 1.35rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.plan-card h3 { margin: 0; font-size: 1.25rem; }
.plan-price { color: var(--accent); font-weight: 850; }
.plan-details { display: grid; gap: .55rem; }
.plan-details p { margin: 0; color: var(--ink-soft); font-size: .9rem; }
.plan-details strong { color: var(--ink); }
.assessment-list { display: grid; gap: .8rem; margin-top: 2rem; }
.assessment-row { display: grid; grid-template-columns: 180px 70px 1fr; gap: 1.2rem; align-items: start; padding: 1.25rem 0; border-top: 1px solid var(--line); }
.assessment-row:last-child { border-bottom: 1px solid var(--line); }
.assessment-row h3 { margin: 0; font-size: 1.1rem; }
.assessment-score { color: var(--accent); font-weight: 850; }
.assessment-row p { margin: 0; color: var(--ink-soft); }
.pros-card { border-top: 4px solid var(--accent); }
.cons-card { border-top: 4px solid var(--signal); }
.alternative-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; margin-top: 2rem; }
.alternative-card { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.alternative-card h3 { margin-bottom: .55rem; font-size: 1.25rem; }
.alternative-card p { margin: .35rem 0 0; color: var(--ink-soft); font-size: .9rem; }
.method-steps { padding-left: 1.4rem; color: var(--ink-soft); }
.method-steps li + li { margin-top: .9rem; }
.method-steps strong { color: var(--ink); }
.faq-item { padding: 1.25rem 0; border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item h3 { margin-bottom: .45rem; font-size: 1.12rem; }
.faq-item p { margin: 0; color: var(--ink-soft); }
.sources-section ul { padding: 0; margin-top: 1.5rem; list-style: none; }
.sources-section li { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.sources-section li:last-child { border-bottom: 1px solid var(--line); }
.sources-section a { color: var(--accent-dark); font-weight: 720; }
.sources-section span { color: var(--ink-soft); font-size: .82rem; white-space: nowrap; }
.review-cta { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: clamp(2rem, 5vw, 3.5rem); border-radius: var(--radius-lg); background: var(--signal); color: #2a160d; }
.review-cta h2 { margin-bottom: .7rem; font-size: clamp(2rem, 4vw, 3.3rem); }
.review-cta p:not(.eyebrow) { margin: 0; }
.review-cta .eyebrow { color: #6c2f15; }
@media (max-width: 960px) {
  .review-hero-grid { grid-template-columns: 1fr; }
  .review-scorecard { max-width: 680px; }
  .review-layout { grid-template-columns: 1fr; }
  .review-toc { position: static; grid-template-columns: repeat(4, auto); justify-content: start; }
  .review-toc strong { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .fit-split, .pros-cons-grid, .alternative-grid { grid-template-columns: 1fr; }
  .plan-card, .assessment-row { grid-template-columns: 1fr; gap: .45rem; }
  .review-toc { grid-template-columns: 1fr 1fr; }
  .review-cta { align-items: flex-start; flex-direction: column; }
  .sources-section li { flex-direction: column; gap: .2rem; }
}

/* Review directory */
.reviews-page { background: var(--paper); }
.directory-hero { padding: clamp(3.8rem, 8vw, 7.2rem) 0 5rem; border-bottom: 1px solid var(--line); background: linear-gradient(145deg, #f7f7f2 0%, #edf4ef 100%); }
.directory-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: clamp(3rem, 8vw, 7.5rem); align-items: center; }
.directory-hero h1 { max-width: 890px; font-size: clamp(3.2rem, 6.7vw, 6.4rem); }
.directory-lede { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: clamp(1.08rem, 2vw, 1.3rem); }
.directory-summary { padding: 1.7rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-lg); }
.directory-count { display: block; margin: .25rem 0 -.2rem; color: var(--accent); font-size: 5.5rem; line-height: 1; letter-spacing: -.08em; }
.directory-summary > span { color: var(--ink-soft); font-weight: 680; }
.directory-summary dl { margin: 1.5rem 0 0; border-top: 1px solid var(--line); }
.directory-summary dl div { display: grid; grid-template-columns: 105px 1fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--line); font-size: .83rem; }
.directory-summary dt { color: var(--ink-soft); }
.directory-summary dd { margin: 0; font-weight: 680; }
.decision-strip { border-bottom: 1px solid var(--line); background: rgba(255,255,255,.55); }
.decision-strip-grid { display: grid; grid-template-columns: .65fr repeat(5, 1fr); }
.decision-strip-grid > * { padding: 1.35rem 1.15rem; }
.decision-strip-grid > span { display: flex; align-items: center; color: var(--ink-soft); font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.decision-strip-grid a { border-left: 1px solid var(--line); text-decoration: none; transition: background .16s; }
.decision-strip-grid a:hover { background: white; }
.decision-strip-grid strong, .decision-strip-grid small { display: block; }
.decision-strip-grid small { margin-top: .12rem; color: var(--accent); font-weight: 760; }
.directory-section, .matrix-section, .review-principles-section { padding: clamp(5rem, 10vw, 9rem) 0; }
.directory-heading > p { color: var(--ink-soft); }
.directory-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.directory-card { display: flex; min-height: 100%; flex-direction: column; padding: 1.55rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; transition: transform .18s, box-shadow .18s; }
.directory-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.directory-card-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.3rem; }
.directory-category { margin: 0 0 .35rem; color: var(--accent); font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.directory-card h3 { margin-bottom: .55rem; font-size: 2rem; }
.directory-position { min-height: 4.8rem; margin: 0 0 1.25rem; color: var(--ink-soft); }
.directory-facts { margin: 0; border-top: 1px solid var(--line); }
.directory-facts div { display: grid; grid-template-columns: 88px 1fr; gap: 1rem; padding: .78rem 0; border-bottom: 1px solid var(--line); font-size: .86rem; }
.directory-facts dt { color: var(--ink-soft); }
.directory-facts dd { margin: 0; font-weight: 680; }
.directory-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: auto; padding-top: 1.15rem; }
.directory-card-footer > span { color: var(--ink-soft); font-size: .75rem; }
.directory-card-footer .tool-link { margin-top: 0; white-space: nowrap; }
.matrix-section { background: var(--paper-deep); }
.matrix-section .section-heading { max-width: 820px; }
.matrix-intro { max-width: 760px; color: var(--ink-soft); }
.matrix-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; box-shadow: var(--shadow-sm); }
.decision-matrix { width: 100%; min-width: 920px; border-collapse: collapse; text-align: left; }
.decision-matrix th, .decision-matrix td { padding: 1.15rem; border-bottom: 1px solid var(--line); vertical-align: middle; }
.decision-matrix thead th { background: #eef2ed; color: var(--ink-soft); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.decision-matrix tbody tr:last-child th, .decision-matrix tbody tr:last-child td { border-bottom: 0; }
.decision-matrix tbody tr:hover { background: #fafbf8; }
.decision-matrix tbody th { font-size: .95rem; }
.decision-matrix td { color: var(--ink-soft); font-size: .88rem; }
.decision-matrix td:last-child { text-align: right; }
.decision-matrix td a { color: var(--accent-dark); font-weight: 800; text-decoration: none; white-space: nowrap; }
.decision-matrix td a:hover { text-decoration: underline; }
.matrix-brand { display: inline-flex; align-items: center; gap: .7rem; }
.matrix-monogram { display: inline-grid; width: 36px; height: 36px; place-items: center; border-radius: .75rem; font-size: .75rem; font-weight: 850; }
.review-principles-section { background: var(--accent-pale); }
@media (max-width: 980px) {
  .directory-hero-grid { grid-template-columns: 1fr; }
  .directory-summary { max-width: 680px; }
  .decision-strip-grid { grid-template-columns: 1fr 1fr; }
  .decision-strip-grid > span { grid-column: 1 / -1; padding-bottom: .55rem; }
  .decision-strip-grid a:nth-of-type(odd) { border-left: 0; }
}
@media (max-width: 720px) {
  .directory-grid { grid-template-columns: 1fr; }
  .directory-position { min-height: auto; }
  .directory-card-footer { align-items: flex-start; flex-direction: column; }
  .decision-strip-grid { grid-template-columns: 1fr; }
  .decision-strip-grid a { border-left: 0; border-top: 1px solid var(--line); }
  .decision-strip-grid a:nth-of-type(odd) { border-left: 0; }
}

/* Curated comparison pages */
.featured-comparison-section { padding: clamp(4rem, 8vw, 7rem) 0; background: var(--paper-deep); }
.featured-comparison-card, .directory-comparison-card { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.8rem, 4vw, 3rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-sm); }
.featured-comparison-card h2, .directory-comparison-card h2 { margin-bottom: .7rem; font-size: clamp(2rem, 4vw, 3.5rem); }
.featured-comparison-card p:not(.eyebrow), .directory-comparison-card p:not(.eyebrow) { max-width: 730px; margin: 0; color: var(--ink-soft); }
.featured-comparison-tools { display: flex; align-items: center; gap: .75rem; }
.featured-comparison-tools strong { color: var(--signal); font-size: .8rem; letter-spacing: .1em; }
.directory-comparison-section { padding: 0 0 clamp(5rem, 10vw, 9rem); background: var(--paper-deep); }
.alternative-link { display: inline-flex; gap: .35rem; margin-top: .9rem; color: var(--accent-dark); font-size: .87rem; font-weight: 800; text-decoration: none; }
.alternative-link:hover { text-decoration: underline; }

.comparison-page { background: var(--paper); }
.comparison-hero { padding: clamp(3.5rem, 8vw, 7rem) 0 5rem; border-bottom: 1px solid var(--line); background: linear-gradient(145deg, #f7f7f2 0%, #edf4ef 58%, #f6ebe5 100%); }
.comparison-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: clamp(3rem, 7vw, 6.5rem); align-items: center; }
.comparison-hero h1 { max-width: 920px; font-size: clamp(3rem, 6.3vw, 6rem); }
.comparison-deck { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: clamp(1.08rem, 2vw, 1.3rem); }
.versus-card { padding: 1.55rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-lg); }
.versus-tools { display: grid; grid-template-columns: 1fr auto 1fr; gap: .75rem; align-items: center; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); }
.versus-tool { display: grid; justify-items: center; text-align: center; }
.versus-tool .tool-monogram { width: 66px; height: 66px; margin-bottom: .7rem; font-size: 1.05rem; }
.versus-tool strong { font-size: 1.1rem; }
.versus-tool small { margin-top: .15rem; color: var(--ink-soft); font-size: .74rem; }
.versus-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--signal); color: #2a160d; font-size: .72rem; font-weight: 900; }
.split-verdict { padding: 1.35rem 0; }
.split-verdict span { display: block; margin-bottom: .35rem; color: var(--accent); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.split-verdict strong { display: block; font-size: 1.22rem; line-height: 1.35; }
.versus-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.versus-actions a { padding: .75rem; border: 1px solid var(--line); border-radius: .85rem; color: var(--accent-dark); font-size: .79rem; font-weight: 800; text-align: center; text-decoration: none; }
.versus-actions a:hover { background: var(--paper); }
.comparison-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(4rem, 8vw, 7rem); }
.comparison-content { min-width: 0; }
.comparison-section { padding: 0 0 clamp(4rem, 8vw, 6.5rem); }
.comparison-section + .comparison-section { padding-top: clamp(1rem, 3vw, 2.5rem); border-top: 1px solid var(--line); }
.comparison-section > p:not(.eyebrow), .longform-copy p { color: var(--ink-soft); }
.comparison-section h2 { max-width: 900px; }
.choice-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0 1rem; }
.choice-column, .neither-box { padding: 1.35rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.choice-left { border-top: 4px solid #2867c8; }
.choice-right { border-top: 4px solid #6c45be; }
.choice-column h3, .neither-box h3 { margin-bottom: .8rem; font-size: 1.3rem; }
.choice-column ul, .neither-box ul { padding-left: 1.15rem; margin: 0; color: var(--ink-soft); }
.choice-column li + li, .neither-box li + li { margin-top: .55rem; }
.neither-box { margin-top: 1rem; border-top: 4px solid var(--signal); }
.comparison-table-wrap { overflow-x: auto; margin-top: 1.6rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; box-shadow: var(--shadow-sm); }
.comparison-table, .pricing-comparison-table, .scenario-table { width: 100%; min-width: 760px; border-collapse: collapse; text-align: left; }
.comparison-table th, .comparison-table td, .pricing-comparison-table th, .pricing-comparison-table td, .scenario-table th, .scenario-table td { padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.comparison-table thead th, .pricing-comparison-table thead th, .scenario-table thead th { background: #eef2ed; color: var(--ink-soft); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.comparison-table tbody tr:last-child th, .comparison-table tbody tr:last-child td, .pricing-comparison-table tbody tr:last-child th, .pricing-comparison-table tbody tr:last-child td, .scenario-table tbody tr:last-child th, .scenario-table tbody tr:last-child td { border-bottom: 0; }
.comparison-table tbody th { width: 25%; }
.comparison-table td:last-child, .pricing-comparison-table td, .scenario-table td { color: var(--ink-soft); font-size: .88rem; }
.pricing-comparison-table { min-width: 1000px; }
.pricing-comparison-table tbody th { width: 110px; }
.scenario-table tbody th { width: 38%; }
.winner-pill { display: inline-flex; padding: .35rem .62rem; border-radius: 999px; font-size: .72rem; font-weight: 850; white-space: nowrap; }
.winner-left { background: #e8f1ff; color: #2867c8; }
.winner-right { background: #f1ecff; color: #6c45be; }
.winner-tie { background: var(--accent-pale); color: var(--accent-dark); }
.winner-neutral { background: #f6e8e1; color: #8a3f20; }
.longform-copy { margin-top: 2rem; }
.longform-copy p + p { margin-top: 1rem; }
.battle-stack { display: grid; gap: .9rem; margin-top: 2rem; }
.battle-card { padding: 1.35rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.battle-card-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: start; margin-bottom: .8rem; }
.battle-card h3 { margin: 0; font-size: 1.4rem; }
.battle-card p { margin: .6rem 0 0; color: var(--ink-soft); }
.dual-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.dual-cta > div { padding: clamp(1.5rem, 4vw, 2.4rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; }
.dual-cta > div:first-child { border-top: 5px solid #2867c8; }
.dual-cta > div:last-child { border-top: 5px solid #6c45be; }
.dual-cta h2 { margin-bottom: .65rem; font-size: clamp(2rem, 4vw, 3.1rem); }
.dual-cta p:not(.eyebrow) { color: var(--ink-soft); }
.dual-cta-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.3rem; }

@media (max-width: 980px) {
  .comparison-hero-grid, .comparison-layout { grid-template-columns: 1fr; }
  .versus-card { max-width: 680px; }
  .comparison-layout .review-toc { position: static; grid-template-columns: repeat(4, auto); justify-content: start; }
  .comparison-layout .review-toc strong { grid-column: 1 / -1; }
  .featured-comparison-card, .directory-comparison-card { grid-template-columns: 1fr auto; }
  .featured-comparison-card > .button, .directory-comparison-card > .button { grid-column: 1 / -1; width: fit-content; }
}
@media (max-width: 720px) {
  .choice-columns, .dual-cta { grid-template-columns: 1fr; }
  .comparison-layout .review-toc { grid-template-columns: 1fr 1fr; }
  .versus-actions { grid-template-columns: 1fr; }
  .featured-comparison-card, .directory-comparison-card { grid-template-columns: 1fr; }
  .featured-comparison-tools { order: -1; }
  .battle-card-heading { flex-direction: column; }
}

/* Phase 8: comparison library */
.featured-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.featured-comparison-grid .featured-comparison-card,
.featured-comparison-grid .directory-comparison-card { grid-template-columns: 1fr; align-content: start; }
.featured-comparison-grid .featured-comparison-tools { order: -1; }
.featured-comparison-grid .button { width: fit-content; margin-top: auto; }
.comparison-library-link { margin: 1.5rem 0 0; text-align: right; }
.comparison-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.comparison-directory-card { display: flex; flex-direction: column; gap: 1rem; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-sm); }
.comparison-directory-card h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.5rem); }
.comparison-directory-card > p:not(.directory-category) { margin: 0; color: var(--ink-soft); }
.comparison-card-verdict { padding: 1rem; border-radius: var(--radius-md); background: var(--paper-deep); }
.comparison-card-verdict span { display: block; margin-bottom: .35rem; color: var(--signal); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.comparison-card-verdict strong { display: block; line-height: 1.45; }
@media (max-width: 860px) { .featured-comparison-grid, .comparison-directory-grid { grid-template-columns: 1fr; } .comparison-library-link { text-align: left; } }

/* Phase 11: best email marketing software cornerstone */
.home-cornerstone-section { padding: clamp(2.5rem, 6vw, 5rem) 0; background: var(--paper); }
.home-cornerstone-card { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.8rem, 4vw, 3rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(135deg, white 0%, #eef5f0 100%); box-shadow: var(--shadow-sm); }
.home-cornerstone-card h2 { margin-bottom: .65rem; font-size: clamp(2rem, 4vw, 3.5rem); }
.home-cornerstone-card p:not(.eyebrow) { max-width: 720px; margin: 0; color: var(--ink-soft); }
.home-cornerstone-picks { display: flex; align-items: center; }
.home-cornerstone-picks .tool-monogram { margin-left: -.45rem; border: 3px solid white; box-shadow: 0 4px 12px rgba(17,23,20,.08); }
.home-cornerstone-picks .tool-monogram:first-child { margin-left: 0; }

.best-software-page { background: var(--paper); }
.best-hero { padding: clamp(3.5rem, 8vw, 7rem) 0 5rem; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 90% 10%, rgba(220,238,229,.85), transparent 34%), linear-gradient(145deg, #f7f7f2 0%, #f2eee7 100%); }
.best-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.best-hero h1 { max-width: 980px; font-size: clamp(3.2rem, 6.4vw, 6.2rem); }
.best-hero-deck { max-width: 820px; color: var(--ink-soft); font-size: clamp(1.1rem, 2vw, 1.35rem); }
.best-hero-summary { padding: clamp(1.5rem, 4vw, 2.2rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-lg); }
.best-hero-summary > span { display: block; color: var(--ink-soft); }
.best-hero-summary > dl { margin: 1.4rem 0; border-top: 1px solid var(--line); }
.best-hero-summary dl div { display: grid; grid-template-columns: 95px 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.best-hero-summary dt { color: var(--ink-soft); font-size: .8rem; }
.best-hero-summary dd { margin: 0; font-weight: 700; }
.best-hero-summary > p:last-child { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.best-jump { position: sticky; z-index: 15; top: 76px; border-bottom: 1px solid var(--line); background: rgba(247,247,242,.96); backdrop-filter: blur(12px); }
.best-jump .container { display: flex; gap: 1.2rem; align-items: center; overflow-x: auto; padding-block: .8rem; white-space: nowrap; }
.best-jump strong { color: var(--accent); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.best-jump a { color: var(--ink-soft); font-size: .82rem; font-weight: 700; text-decoration: none; }
.best-jump a:hover { color: var(--ink); }
.best-section { padding: clamp(4.5rem, 9vw, 8rem) 0; }
.best-pick-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; }
.best-pick-card { display: flex; flex-direction: column; grid-column: span 2; padding: clamp(1.35rem, 3vw, 1.9rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-sm); }
.best-pick-card:nth-child(4), .best-pick-card:nth-child(5) { grid-column: span 3; }
.best-pick-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.4rem; }
.best-rank { color: var(--line); font-size: 2rem; font-weight: 900; line-height: 1; }
.best-pick-card h3 { margin-bottom: .45rem; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.best-pick-card > p:not(.directory-category):not(.best-pick-fit) { color: var(--ink-soft); }
.best-pick-fit { margin: 0 0 .8rem; }
.best-pick-facts { margin: auto 0 0; padding-top: 1rem; border-top: 1px solid var(--line); }
.best-pick-facts div { padding: .65rem 0; border-bottom: 1px solid var(--line); }
.best-pick-facts dt { color: var(--ink-soft); font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.best-pick-facts dd { margin: .22rem 0 0; font-size: .84rem; }
.best-pick-actions { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: center; margin-top: 1rem; }
.best-pick-actions > a:last-child { color: var(--ink-soft); font-size: .82rem; font-weight: 700; text-decoration: none; }
.best-pick-actions > a:last-child:hover { color: var(--ink); text-decoration: underline; }
.best-table-section { background: var(--paper-deep); }
.best-decision-table { width: 100%; min-width: 1160px; border-collapse: collapse; text-align: left; }
.best-decision-table th, .best-decision-table td { padding: 1rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.best-decision-table thead th { background: #e7ece7; color: var(--ink-soft); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.best-decision-table tbody tr:last-child th, .best-decision-table tbody tr:last-child td { border-bottom: 0; }
.best-decision-table td { color: var(--ink-soft); font-size: .84rem; }
.best-decision-table td:last-child a { color: var(--accent-dark); font-weight: 800; text-decoration: none; white-space: nowrap; }
.best-philosophy { padding: clamp(4rem, 8vw, 7rem) 0; background: var(--ink); color: white; }
.best-philosophy-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); }
.best-philosophy h2 { max-width: 620px; }
.best-philosophy p:not(.eyebrow) { color: #bac4be; font-size: 1.05rem; }
.best-detail-stack { display: grid; gap: 1.5rem; }
.best-detail { padding: clamp(1.7rem, 4vw, 3rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-sm); scroll-margin-top: 150px; }
.best-detail-header { display: grid; grid-template-columns: auto auto 1fr; gap: 1rem; align-items: center; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); }
.best-detail-number { color: #c8cdc6; font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; }
.best-detail h3 { margin: 0; font-size: clamp(2rem, 4vw, 3.3rem); }
.best-detail-verdict { max-width: 930px; margin: 1.5rem 0; font-size: clamp(1.15rem, 2vw, 1.45rem); font-weight: 750; line-height: 1.45; }
.best-detail-copy { columns: 2; column-gap: clamp(2rem, 5vw, 4rem); color: var(--ink-soft); }
.best-detail-copy p { break-inside: avoid; }
.best-fit-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.7rem; }
.best-fit-columns > div { padding: 1.25rem; border-radius: var(--radius-md); background: var(--paper); }
.best-fit-columns > div:first-child { border-top: 4px solid var(--accent); }
.best-fit-columns > div:last-child { border-top: 4px solid var(--signal); }
.best-fit-columns h4 { margin: 0 0 .7rem; font-size: 1rem; }
.best-fit-columns ul { padding-left: 1.1rem; margin: 0; color: var(--ink-soft); font-size: .88rem; }
.best-fit-columns li + li { margin-top: .45rem; }
.best-detail-footer { display: flex; justify-content: space-between; gap: 2rem; align-items: center; margin-top: 1.5rem; padding-top: 1.4rem; border-top: 1px solid var(--line); }
.best-detail-footer > p { max-width: 520px; margin: 0; color: var(--ink-soft); font-size: .82rem; }
.best-detail-footer > div { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; justify-content: flex-end; }
.best-official-link { padding: .65rem .3rem; color: var(--ink-soft); font-size: .82rem; font-weight: 750; text-decoration: none; }
.best-official-link:hover { color: var(--ink); text-decoration: underline; }
.best-choice-section { background: var(--accent-pale); }
.choice-factor-list { padding: 0; margin: 2rem 0 0; list-style: none; }
.choice-factor-list li { display: grid; grid-template-columns: 80px 1fr; gap: 1.4rem; padding: 1.5rem 0; border-top: 1px solid rgba(17,23,20,.18); }
.choice-factor-list li:last-child { border-bottom: 1px solid rgba(17,23,20,.18); }
.choice-factor-list > li > span { color: var(--accent); font-size: 1.25rem; font-weight: 900; }
.choice-factor-list h3 { margin-bottom: .3rem; font-size: 1.3rem; }
.choice-factor-list p { max-width: 850px; margin: 0; color: var(--ink-soft); }
.best-traps-section { background: var(--paper-deep); }
.pricing-trap-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.pricing-trap-grid article { padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.pricing-trap-grid h3 { font-size: 1.25rem; }
.pricing-trap-grid p { margin-bottom: 0; color: var(--ink-soft); }
.best-method-section { background: #edf3ef; }
.best-method-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); }
.best-method-grid > div:first-child > p:not(.eyebrow) { color: var(--ink-soft); }
.best-method-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.best-method-list article { padding: 1.3rem; border: 1px solid rgba(17,23,20,.14); border-radius: var(--radius-md); background: rgba(255,255,255,.55); }
.best-method-list h3 { font-size: 1.15rem; }
.best-method-list p { margin-bottom: 0; color: var(--ink-soft); font-size: .88rem; }
.best-final-cta { padding: clamp(3rem, 7vw, 6rem) 0; background: var(--paper); }
.best-final-actions { display: flex; flex-direction: column; gap: .7rem; min-width: 215px; }

@media (max-width: 980px) {
  .home-cornerstone-card { grid-template-columns: 1fr auto; }
  .home-cornerstone-card > .button { grid-column: 1 / -1; width: fit-content; }
  .best-hero-grid, .best-philosophy-grid, .best-method-grid { grid-template-columns: 1fr; }
  .best-pick-card { grid-column: span 3; }
  .best-pick-card:last-child { grid-column: 2 / span 4; }
  .best-detail-copy { columns: 1; }
  .best-detail-footer { align-items: flex-start; flex-direction: column; }
  .best-detail-footer > div { justify-content: flex-start; }
}
@media (max-width: 720px) {
  .home-cornerstone-card { grid-template-columns: 1fr; }
  .home-cornerstone-picks { order: -1; }
  .best-jump { top: 68px; }
  .best-pick-grid { grid-template-columns: 1fr; }
  .best-pick-card, .best-pick-card:nth-child(4), .best-pick-card:nth-child(5), .best-pick-card:last-child { grid-column: auto; }
  .best-detail-header { grid-template-columns: auto 1fr; }
  .best-detail-header > div:last-child { grid-column: 1 / -1; }
  .best-fit-columns, .pricing-trap-grid, .best-method-list { grid-template-columns: 1fr; }
  .choice-factor-list li { grid-template-columns: 48px 1fr; }
  .best-final-actions { width: 100%; }
  .best-final-actions .button { width: 100%; }
}

/* Mailchimp alternatives guide */
.alternatives-hero { background: radial-gradient(circle at 88% 12%, rgba(244,220,205,.92), transparent 34%), linear-gradient(145deg, #f7f7f2 0%, #edf4ef 100%); }
.alternative-reasons-section { background: var(--paper-deep); }
.switch-reason-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .8rem; margin-top: 2rem; }
.switch-reason-grid article { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.switch-reason-grid span { display: inline-flex; margin-bottom: 1rem; color: var(--signal); font-size: .78rem; font-weight: 900; letter-spacing: .08em; }
.switch-reason-grid h3 { margin-bottom: .6rem; font-size: 1.1rem; }
.switch-reason-grid p { margin: 0; color: var(--ink-soft); font-size: .86rem; }
.alternatives-table { min-width: 1260px; }
.dark-fact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin-top: 1.5rem; }
.dark-fact-grid > div { padding: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-md); background: rgba(255,255,255,.06); }
.dark-fact-grid span { display: block; margin-bottom: .35rem; color: #9eb0a6; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dark-fact-grid strong { display: block; color: white; font-size: .9rem; line-height: 1.45; }
.alternative-tradeoff { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 1.5rem 0; }
.alternative-tradeoff > div { padding: 1rem 1.1rem; border-radius: var(--radius-md); background: var(--paper); }
.alternative-tradeoff > div:first-child { border-left: 4px solid var(--accent); }
.alternative-tradeoff > div:last-child { border-left: 4px solid var(--signal); }
.alternative-tradeoff span { display: block; margin-bottom: .3rem; color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.alternative-tradeoff strong { display: block; font-size: .9rem; line-height: 1.45; }
.keep-mailchimp-section { background: #f3eee7; }
.keep-mailchimp-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); }
.keep-mailchimp-grid > div:first-child > p:not(.eyebrow) { color: var(--ink-soft); }
.keep-mailchimp-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.keep-mailchimp-list article { padding: 1.35rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,255,255,.72); }
.keep-mailchimp-list h3 { font-size: 1.15rem; }
.keep-mailchimp-list p { margin-bottom: 0; color: var(--ink-soft); font-size: .88rem; }
.home-alternatives-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; margin-top: 1rem; padding: clamp(1.5rem, 4vw, 2.4rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(135deg, #fff 0%, #f3eee7 100%); box-shadow: var(--shadow-sm); }
.home-alternatives-card h2 { margin-bottom: .55rem; font-size: clamp(1.8rem, 3.5vw, 3rem); }
.home-alternatives-card p:not(.eyebrow) { max-width: 760px; margin: 0; color: var(--ink-soft); }
@media (max-width: 1080px) { .switch-reason-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 980px) { .keep-mailchimp-grid { grid-template-columns: 1fr; } .home-alternatives-card { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .switch-reason-grid, .dark-fact-grid, .alternative-tradeoff, .keep-mailchimp-list { grid-template-columns: 1fr; } }


/* Best free email marketing software guide */
.free-guide .best-pick-card:nth-child(4), .free-guide .best-pick-card:nth-child(5) { grid-column: span 2; }
.home-free-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; margin-top: 1rem; padding: clamp(1.5rem, 4vw, 2.4rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(135deg, #ffffff 0%, #edf4ef 100%); box-shadow: var(--shadow-sm); }
.home-free-card h2 { margin-bottom: .55rem; font-size: clamp(1.8rem, 3.5vw, 3rem); }
.home-free-card p:not(.eyebrow) { max-width: 760px; margin: 0; color: var(--ink-soft); }
@media (max-width: 980px) { .free-guide .best-pick-card:last-child { grid-column: span 3; } .home-free-card { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .free-guide .best-pick-card:last-child { grid-column: auto; } }


/* Phase 16: methodology page */
.methodology-page { background: var(--paper); }
.method-hero { padding: clamp(3.5rem, 8vw, 7rem) 0 5rem; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 88% 12%, rgba(220,238,229,.9), transparent 34%), linear-gradient(145deg,#f7f7f2 0%,#efeae1 100%); }
.method-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.method-hero h1 { max-width:980px; font-size:clamp(3rem,6.1vw,5.9rem); }
.method-hero-deck { max-width:820px; color:var(--ink-soft); font-size:clamp(1.08rem,2vw,1.32rem); }
.method-summary { padding:clamp(1.5rem,4vw,2.2rem); border:1px solid var(--line); border-radius:var(--radius-lg); background:white; box-shadow:var(--shadow-lg); }
.method-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin:1rem 0 1.3rem; }
.method-stat-grid div { padding:1rem; border-radius:var(--radius-md); background:var(--paper); }
.method-stat-grid strong { display:block; font-size:2.3rem; }
.method-stat-grid span { color:var(--ink-soft); font-size:.78rem; }
.method-summary dl { margin:0; border-top:1px solid var(--line); }
.method-summary dl div { display:grid; grid-template-columns:110px 1fr; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--line); }
.method-summary dt { color:var(--ink-soft); font-size:.78rem; }
.method-summary dd { margin:0; font-weight:750; }
.method-summary > p:last-child { margin-bottom:0; color:var(--ink-soft); font-size:.82rem; }
.method-promise { padding:clamp(4.5rem,9vw,8rem) 0; background:var(--ink); color:white; }
.method-promise-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,8rem); }
.method-promise p:not(.eyebrow) { color:#c1cbc5; font-size:1.04rem; }
.method-evidence-section { background:var(--paper); }
.evidence-level-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.evidence-level-grid article { padding:clamp(1.4rem,3vw,2rem); border:1px solid var(--line); border-radius:var(--radius-lg); background:white; }
.evidence-level-grid article > span { color:var(--accent); font-size:.75rem; font-weight:900; letter-spacing:.08em; }
.evidence-level-grid h3 { margin-top:.7rem; font-size:clamp(1.45rem,2.6vw,2rem); }
.evidence-level-grid p,.evidence-level-grid li { color:var(--ink-soft); }
.evidence-level-grid strong { display:block; margin-top:1rem; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.evidence-level-grid ul { padding-left:1.1rem; font-size:.86rem; }
.method-callout { display:grid; grid-template-columns:180px 1fr; gap:1.5rem; margin-top:1.5rem; padding:1.4rem; border-left:5px solid var(--accent); border-radius:0 var(--radius-md) var(--radius-md) 0; background:var(--accent-pale); }
.method-callout p { margin:0; color:var(--ink-soft); }
.method-process-section { background:var(--paper-deep); }
.method-process-list { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; padding:0; list-style:none; counter-reset:method; }
.method-process-list li { display:grid; grid-template-columns:auto 1fr; gap:1rem; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-lg); background:white; }
.method-process-list li > span { color:#c1c8c2; font-size:1.8rem; font-weight:900; }
.method-process-list h3 { margin:.1rem 0 .5rem; }
.method-process-list p { margin:0; color:var(--ink-soft); }
.method-rating-section { background:#edf3ef; }
.rating-scale { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.rating-scale > div { padding:1.35rem; border:1px solid rgba(17,23,20,.14); border-radius:var(--radius-md); background:rgba(255,255,255,.65); }
.rating-scale strong { display:block; color:var(--accent-dark); font-size:2rem; }
.rating-scale span { display:block; margin:.35rem 0 .6rem; font-weight:800; }
.rating-scale p { margin:0; color:var(--ink-soft); font-size:.84rem; }
.method-rating-notes { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.2rem; }
.method-rating-notes article { padding:1.25rem; border-radius:var(--radius-md); background:white; }
.method-rating-notes p { margin-bottom:0; color:var(--ink-soft); font-size:.87rem; }
.method-ranking-section { background:var(--paper); }
.method-two-column { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,5rem); }
.method-two-column > div { min-width:0; }
.method-two-column ul,.limits-list { padding-left:1.2rem; color:var(--ink-soft); }
.method-two-column li+li,.limits-list li+li { margin-top:.8rem; }
.affiliate-policy-section { background:var(--paper-deep); }
.affiliate-rule-grid,.update-policy-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.affiliate-rule-grid article,.update-policy-grid article { padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-lg); background:white; }
.affiliate-rule-grid span { color:var(--signal); font-weight:900; }
.affiliate-rule-grid p,.update-policy-grid p { margin-bottom:0; color:var(--ink-soft); }
.method-update-section { background:var(--accent-pale); }
.method-limits-section { background:var(--ink); color:white; }
.method-limits-section p,.method-limits-section li { color:#c1cbc5; }
.method-limits-section strong { color:white; }
@media (max-width:980px){.method-hero-grid,.method-promise-grid,.method-two-column{grid-template-columns:1fr}.rating-scale{grid-template-columns:repeat(2,1fr)}.method-rating-notes{grid-template-columns:1fr}.evidence-level-grid,.method-process-list,.affiliate-rule-grid,.update-policy-grid{grid-template-columns:1fr}}
@media (max-width:620px){.rating-scale{grid-template-columns:1fr}.method-callout{grid-template-columns:1fr}.method-stat-grid{grid-template-columns:1fr}}
/* Keep the expanded global navigation contained on tablet and small-laptop widths. */
@media (max-width: 1080px) {
  .header-inner { min-height: 68px; }
  .menu-toggle { display: block; }
  .primary-nav { position: absolute; inset: 68px 1rem auto; display: none; flex-direction: column; align-items: stretch; padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); box-shadow: var(--shadow-lg); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: .65rem; }
  .primary-nav .nav-cta { text-align: center; }
}

/* Phase 17 trust pages */
.footer-grid{grid-template-columns:1.1fr .7fr .65fr 1fr;gap:clamp(2rem,5vw,4rem)}
.trust-hero{padding:clamp(3.5rem,8vw,7rem) 0 5rem;border-bottom:1px solid var(--line);background:radial-gradient(circle at 88% 12%,rgba(220,238,229,.9),transparent 34%),linear-gradient(145deg,#f7f7f2 0%,#efeae1 100%)}
.trust-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:clamp(3rem,7vw,7rem);align-items:center}.trust-hero h1{max-width:980px;font-size:clamp(3rem,6vw,5.7rem)}.trust-hero-deck{max-width:820px;color:var(--ink-soft);font-size:clamp(1.08rem,2vw,1.3rem)}
.trust-profile,.trust-summary{padding:clamp(1.5rem,4vw,2.2rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:white;box-shadow:var(--shadow-lg)}.trust-profile h2,.trust-summary h2{margin:.35rem 0 .8rem;font-size:clamp(1.55rem,3vw,2.35rem);overflow-wrap:anywhere}.trust-profile>p:not(.scorecard-label),.trust-summary>p,.trust-summary li{color:var(--ink-soft)}.trust-profile dl,.trust-summary dl{margin:1.25rem 0 0;border-top:1px solid var(--line)}.trust-profile dl div,.trust-summary dl div{display:grid;grid-template-columns:130px 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.trust-profile dt,.trust-summary dt{color:var(--ink-soft);font-size:.78rem}.trust-profile dd,.trust-summary dd{margin:0;font-weight:750}.trust-avatar{display:grid;place-items:center;width:82px;height:82px;margin-bottom:1.2rem;border-radius:50%;background:var(--accent);color:white;font-size:1.65rem;font-weight:900;letter-spacing:.06em}.trust-summary ul{margin:1rem 0 1.2rem;padding-left:1.15rem}.trust-summary li+li{margin-top:.65rem}
.trust-section{padding:clamp(4.5rem,9vw,8rem) 0}.trust-section.trust-soft{background:var(--accent-pale)}.trust-section.trust-dark{background:var(--ink);color:white}.trust-section.trust-dark p,.trust-section.trust-dark li{color:#c1cbc5}.trust-section.trust-dark strong,.trust-section.trust-dark h2,.trust-section.trust-dark h3{color:white}.trust-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem);align-items:start}.trust-split p:not(.eyebrow){color:var(--ink-soft);font-size:1.02rem}.trust-dark .trust-split p:not(.eyebrow){color:#c1cbc5}.trust-card-grid,.contact-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.trust-card-grid article,.contact-card-grid article{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:white}.trust-card-grid article>span,.contact-card-grid article>span{display:block;margin-bottom:1rem;color:var(--accent);font-weight:900}.trust-card-grid p,.contact-card-grid p{color:var(--ink-soft)}.trust-checklist,.contact-checklist{padding-left:1.2rem}.trust-checklist li+li,.contact-checklist li+li{margin-top:.9rem}.text-link-light{color:white}.roadmap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.roadmap-grid article{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper)}.roadmap-grid article>strong{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.roadmap-grid p{color:var(--ink-soft)}.disclosure-boundaries{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.disclosure-boundaries article{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:white}.disclosure-boundaries ul{padding-left:1.2rem;color:var(--ink-soft)}.disclosure-boundaries li+li{margin-top:.65rem}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}}@media(max-width:900px){.trust-hero-grid,.trust-split{grid-template-columns:1fr}.roadmap-grid{grid-template-columns:1fr}.trust-profile,.trust-summary{max-width:680px}}@media(max-width:680px){.trust-card-grid,.contact-card-grid,.disclosure-boundaries{grid-template-columns:1fr}.trust-profile dl div,.trust-summary dl div{grid-template-columns:1fr;gap:.25rem}.footer-grid{grid-template-columns:1fr}}

/* Phase 18 privacy, cookie and production-readiness pages */
.privacy-purpose-list{display:grid;gap:1rem}.privacy-purpose-list article{padding:1.25rem 1.35rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white)}.privacy-purpose-list h3{margin:0 0 .45rem}.privacy-purpose-list p{margin:0}.privacy-contact-note{margin-top:1.5rem;padding:1rem 1.2rem;border-left:4px solid var(--accent);background:var(--white)}
.cookie-requirements{display:grid;gap:1rem;padding:0;counter-reset:cookie;list-style:none}.cookie-requirements li{position:relative;padding:1.15rem 1.25rem 1.15rem 3.6rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);color:var(--ink-soft)}.cookie-requirements li::before{counter-increment:cookie;content:counter(cookie);position:absolute;left:1rem;top:1rem;display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--ink);color:var(--white);font-size:.78rem;font-weight:900}.cookie-requirements strong{color:var(--ink)}.cookie-page code{padding:.12rem .35rem;border-radius:.35rem;background:rgba(17,23,20,.08);font-size:.9em}

/* Phase 19 interactive pricing calculator */
.home-pricing-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;margin-top:1rem;padding:clamp(1.5rem,4vw,2.4rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff 0%,#f7ecca 100%);box-shadow:var(--shadow-sm)}
.home-pricing-card h2{margin-bottom:.55rem;font-size:clamp(1.8rem,3.5vw,3rem)}.home-pricing-card p:not(.eyebrow){max-width:760px;margin:0;color:var(--ink-soft)}
.pricing-hero{padding:clamp(3.5rem,8vw,7rem) 0 5rem;border-bottom:1px solid var(--line);background:radial-gradient(circle at 88% 14%,rgba(242,198,109,.55),transparent 31%),radial-gradient(circle at 78% 25%,rgba(220,238,229,.9),transparent 38%),linear-gradient(145deg,#f7f7f2 0%,#efeae1 100%)}
.pricing-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(3rem,7vw,7rem);align-items:center}.pricing-hero h1{max-width:980px;font-size:clamp(3.1rem,6.2vw,5.9rem)}.pricing-hero-deck{max-width:820px;color:var(--ink-soft);font-size:clamp(1.08rem,2vw,1.32rem)}
.pricing-hero-summary{padding:clamp(1.5rem,4vw,2.2rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:white;box-shadow:var(--shadow-lg)}.pricing-hero-summary>span{display:block;color:var(--ink-soft)}.pricing-hero-summary dl{margin:1.4rem 0;border-top:1px solid var(--line)}.pricing-hero-summary dl div{display:grid;grid-template-columns:95px 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.pricing-hero-summary dt{color:var(--ink-soft);font-size:.8rem}.pricing-hero-summary dd{margin:0;font-weight:700}.pricing-hero-summary>p:last-child{margin:0;color:var(--ink-soft);font-size:.82rem}
.pricing-calculator-section{padding:clamp(4.5rem,9vw,8rem) 0;background:var(--paper)}.pricing-calculator-shell{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:1rem;align-items:start}.pricing-input-panel,.pricing-results-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:white;box-shadow:var(--shadow-sm)}.pricing-input-panel{position:sticky;top:96px;padding:clamp(1.25rem,3vw,2rem)}.pricing-results-panel{padding:clamp(1.25rem,3vw,2rem)}
.pricing-field{display:grid;gap:.55rem;margin-bottom:1.15rem}.pricing-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pricing-field label{font-size:.82rem;font-weight:800}.pricing-field input,.pricing-field select{width:100%;padding:.85rem 1rem;border:1px solid var(--line-strong);border-radius:.75rem;background:#fff;color:var(--ink);font:inherit}.pricing-field input:focus,.pricing-field select:focus{outline:3px solid rgba(47,125,90,.16);border-color:var(--accent)}
.pricing-presets{display:flex;flex-wrap:wrap;gap:.4rem}.pricing-presets button{padding:.35rem .55rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-soft);font-size:.75rem;font-weight:800;cursor:pointer}.pricing-presets button:hover{border-color:var(--accent);color:var(--accent-dark)}
.pricing-check{display:flex;gap:.8rem;align-items:flex-start;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}.pricing-check input{margin-top:.22rem;accent-color:var(--accent)}.pricing-check span{display:grid;gap:.2rem}.pricing-check small{color:var(--ink-soft)}.pricing-submit{width:100%;margin-top:.4rem}
.pricing-volume-summary{padding:1.2rem 1.3rem;border-radius:var(--radius-md);background:var(--ink);color:white}.pricing-volume-summary p{margin:0;color:#bfcac4}.pricing-volume-summary strong{display:block;margin:.25rem 0;font-size:clamp(2rem,4vw,3.3rem)}.pricing-volume-summary span{color:#c9d2cd;font-size:.86rem}
.pricing-best-match{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;margin:1rem 0;padding:1.2rem 1.3rem;border:1px solid rgba(47,125,90,.25);border-radius:var(--radius-md);background:var(--accent-pale)}.pricing-best-match h2{margin:.2rem 0;font-size:clamp(1.6rem,3vw,2.5rem)}.pricing-best-match p{margin:0;color:var(--ink-soft)}.pricing-best-score{display:grid;place-items:center;min-width:84px;height:84px;border-radius:50%;background:var(--accent);color:white}.pricing-best-score strong{font-size:1.7rem}.pricing-best-score span{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
.pricing-result-list{display:grid;gap:.75rem}.pricing-result-card{display:grid;grid-template-columns:38px 48px minmax(0,1fr);gap:1rem;padding:1.15rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.pricing-result-card.is-top{border-color:rgba(47,125,90,.48);box-shadow:0 8px 28px rgba(28,70,52,.08)}.pricing-result-rank{color:#aab3ad;font-size:.78rem;font-weight:900}.pricing-result-main{min-width:0}.pricing-result-title{display:flex;justify-content:space-between;gap:1rem}.pricing-result-title p{margin:0;color:var(--accent);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.pricing-result-title h3{margin:.18rem 0 .5rem;font-size:1.45rem}.pricing-result-title>strong{font-size:1rem}.pricing-plan-line{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.8rem}.pricing-plan-line span,.pricing-plan-line strong,.pricing-plan-line em{padding:.28rem .5rem;border-radius:.45rem;background:var(--paper-deep);font-size:.74rem;font-style:normal}.pricing-plan-line strong{background:var(--accent-pale);color:var(--accent-dark)}.pricing-plan-line em{color:var(--ink-soft)}.pricing-result-main>p{color:var(--ink-soft)}.pricing-result-main dl{display:grid;gap:.55rem;margin:1rem 0}.pricing-result-main dl div{display:grid;grid-template-columns:105px 1fr;gap:.8rem;padding-top:.55rem;border-top:1px solid var(--line)}.pricing-result-main dt{color:var(--ink-soft);font-size:.73rem}.pricing-result-main dd{margin:0;font-size:.82rem}.pricing-result-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.pricing-result-actions>a:not(.button){font-size:.82rem;font-weight:800}.button-small{padding:.65rem .85rem;font-size:.78rem}.pricing-live-note,.pricing-noscript{margin:1rem 0 0;color:var(--ink-soft);font-size:.78rem}
.pricing-explainer{padding:clamp(4rem,8vw,7rem) 0;background:var(--ink);color:white}.pricing-explainer-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem)}.pricing-explainer p:not(.eyebrow){color:#c1cbc5;font-size:1.03rem}.billing-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.billing-model-grid article{padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:white}.billing-model-grid h3{margin:0 0 .45rem}.billing-model-grid p{color:var(--ink-soft)}.billing-model-grid .billing-unit{color:var(--accent-dark);font-weight:800}.pricing-limitations{padding:clamp(4.5rem,9vw,8rem) 0;background:var(--paper-deep)}.pricing-limitations-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem)}.pricing-limitations ul{margin:0;padding-left:1.2rem;color:var(--ink-soft)}.pricing-limitations li+li{margin-top:1rem}.pricing-limitations strong{color:var(--ink)}
@media(max-width:1100px){.pricing-hero-grid,.pricing-calculator-shell,.pricing-explainer-grid,.pricing-limitations-grid{grid-template-columns:1fr}.pricing-input-panel{position:static}.billing-model-grid{grid-template-columns:repeat(2,1fr)}.home-pricing-card{grid-template-columns:1fr}}
@media(max-width:680px){.pricing-field-grid,.billing-model-grid{grid-template-columns:1fr}.pricing-result-card{grid-template-columns:32px 42px minmax(0,1fr);padding:1rem}.pricing-result-title{flex-direction:column;gap:.2rem}.pricing-result-main dl div{grid-template-columns:1fr;gap:.2rem}.pricing-best-match{align-items:flex-start}.pricing-best-score{min-width:70px;height:70px}.pricing-presets button{flex:1}.pricing-result-actions{align-items:flex-start;flex-direction:column}}


/* Phase 20 small-business cornerstone */
.home-small-business-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;margin-top:1rem;padding:clamp(1.5rem,4vw,2.4rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff 0%,#f6eadf 100%);box-shadow:var(--shadow-sm)}
.home-small-business-card h2{margin-bottom:.55rem;font-size:clamp(1.8rem,3.5vw,3rem)}.home-small-business-card p:not(.eyebrow){max-width:780px;margin:0;color:var(--ink-soft)}
.small-business-guide .best-pick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.small-business-guide .best-pick-card:last-child{grid-column:auto}
@media(max-width:1100px){.small-business-guide .best-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.home-small-business-card{grid-template-columns:1fr}}
@media(max-width:680px){.small-business-guide .best-pick-grid{grid-template-columns:1fr}}


/* Phase 21 ecommerce cornerstone */
.home-ecommerce-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;margin-top:1rem;padding:clamp(1.5rem,4vw,2.4rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff 0%,#e8f1ff 100%);box-shadow:var(--shadow-sm)}
.home-ecommerce-card h2{margin-bottom:.55rem;font-size:clamp(1.8rem,3.5vw,3rem)}.home-ecommerce-card p:not(.eyebrow){max-width:790px;margin:0;color:var(--ink-soft)}
.ecommerce-guide .best-pick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ecommerce-guide .best-pick-card:last-child{grid-column:auto}
@media(max-width:1220px){.header-inner{min-height:68px}.menu-toggle{display:block}.primary-nav{position:absolute;inset:68px 1rem auto;display:none;flex-direction:column;align-items:stretch;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--white);box-shadow:var(--shadow-lg)}.primary-nav.is-open{display:flex}.primary-nav a{padding:.65rem}.primary-nav .nav-cta{text-align:center}}
@media(max-width:1100px){.ecommerce-guide .best-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.home-ecommerce-card{grid-template-columns:1fr}}
@media(max-width:680px){.ecommerce-guide .best-pick-grid{grid-template-columns:1fr}}
