/* Inner pages (pricing, about, compare, guides) and the shared footer.
   Extends styles.css; tokens come from :root there. */

nav>a[aria-current=page] {
  color:var(--blue)
}

/* Page header */
.page-head {
  padding:44px 0 36px
}
.page-head>* {
  max-width:820px
}
.crumbs {
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 24px;
  padding:0;
  font-size:13px;
  color:var(--muted)
}
.crumbs li+li::before {
  content:"/";
  margin-right:6px;
  color:#9aa8bb
}
.crumbs a:hover {
  color:var(--blue);
  text-decoration:underline
}
.page-head h1 {
  font-size:clamp(2.4rem,5vw,3.9rem);
  line-height:1.06
}
.lede {
  font-size:19px;
  line-height:1.65;
  margin-top:22px;
  max-width:680px
}
.meta-line {
  font-size:12px;
  margin-top:18px
}

/* Long-form content */
.page-body {
  padding-bottom:80px
}
.prose {
  max-width:720px
}
.prose h2 {
  font-size:clamp(1.55rem,2.6vw,2rem);
  line-height:1.2;
  margin:62px 0 16px
}
.prose>h2:first-child {
  margin-top:0
}
.page-body>.prose,.page-body>.faq-inline {
  margin-top:64px
}
.page-body>.table-wrap+.note+.prose,.page-body>.callout+.prose {
  margin-top:48px
}
.prose h3 {
  margin:34px 0 10px
}
.prose p,.prose li {
  font-size:16px;
  line-height:1.75
}
.prose p+p {
  margin-top:16px
}
.prose ul,.prose ol {
  color:var(--muted);
  padding-left:22px;
  margin:16px 0
}
.prose li+li {
  margin-top:8px
}
.prose a,.callout a {
  color:var(--blue);
  text-decoration:underline
}
.prose strong {
  color:var(--ink);
  font-weight:600
}
pre {
  margin:20px 0;
  padding:18px 20px;
  background:#edf3fb;
  border:1px solid #d3e0f0;
  border-radius:10px;
  overflow-x:auto;
  font-size:13px;
  line-height:1.65;
  color:#1f3250
}
pre code {
  background:none;
  padding:0;
  font-size:inherit
}
.callout {
  background:var(--soft-blue);
  border-radius:14px;
  padding:24px 28px;
  margin:32px 0;
  max-width:720px
}
.callout p {
  color:#38506e;
  font-size:15px;
  line-height:1.7
}
.callout p+p {
  margin-top:12px
}
.callout strong {
  color:var(--ink)
}
.note {
  font-size:13px;
  line-height:1.65;
  margin-top:14px
}

/* Comparison tables */
.table-wrap {
  overflow-x:auto;
  margin:32px 0;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff
}
table {
  border-collapse:collapse;
  width:100%;
  min-width:680px;
  font-size:14px
}
th,td {
  text-align:left;
  vertical-align:top;
  padding:15px 20px;
  border-bottom:1px solid var(--line);
  line-height:1.55
}
thead th {
  background:#f0f4f9;
  font-size:13px;
  font-weight:600
}
tbody th {
  font-weight:600;
  width:19%
}
td {
  color:var(--muted)
}
td a {
  color:var(--blue);
  text-decoration:underline
}
.vs td:nth-child(2) {
  color:var(--ink);
  background:#f5f9fe
}
tr:last-child>* {
  border-bottom:0
}
td strong {
  color:var(--ink)
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap
}

/* "Choose X when" columns */
.choose {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  margin:56px 0 8px
}
.choose>div {
  border-top:2px solid var(--blue);
  padding-top:22px
}
.choose>div:last-child {
  border-top-color:#aebed3
}
.choose h2 {
  font-size:22px;
  margin:0 0 14px
}
.choose ul {
  color:var(--muted);
  padding-left:20px;
  margin:0
}
.choose li {
  font-size:15px;
  line-height:1.7
}
.choose li+li {
  margin-top:10px
}

/* Link lists (home resources, related pages) */
.link-rows {
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid var(--line)
}
.link-rows a {
  display:grid;
  grid-template-columns:1fr 1.5fr 20px;
  gap:30px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px solid var(--line)
}
.link-rows h3 {
  font-size:17px
}
.link-rows p {
  font-size:14px
}
.link-rows .icon {
  color:var(--blue)
}
.link-rows a:hover h3 {
  color:var(--blue)
}
.resources {
  padding-block:20px 100px;
  display:grid;
  gap:64px
}
.resources h2 {
  font-size:clamp(1.7rem,3vw,2.3rem);
  margin-bottom:26px
}
.resources .lead {
  margin:-8px 0 26px;
  max-width:620px
}
.faq-inline .questions {
  max-width:720px;
  margin-top:18px
}
.related {
  margin-top:70px
}
.related h2 {
  font-size:22px;
  margin-bottom:18px
}

/* Pricing */
.price-card {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:56px;
  background:var(--soft-blue);
  border-radius:18px;
  padding:48px;
  margin:12px 0 0
}
.price-card .eyebrow {
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#3c628f
}
.price-card h2 {
  font-size:clamp(1.8rem,3.2vw,2.5rem);
  margin:12px 0 14px
}
.price-card p {
  color:#38506e
}
.price-card .button {
  margin-top:26px
}
.tick-list {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px
}
.tick-list li {
  display:flex;
  gap:12px;
  align-items:start;
  font-size:15px;
  line-height:1.6;
  color:#2c4260
}
.tick-list .icon {
  width:18px;
  height:18px;
  stroke:var(--green);
  margin-top:3px
}

/* Footer */
.site-footer {
  border-top:1px solid var(--line);
  margin-top:30px;
  padding:56px 0 36px
}
.footer-grid {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:40px
}
.site-footer .brand {
  font-size:19px;
  gap:7px
}
.footer-about p {
  font-size:13px;
  margin-top:14px;
  max-width:270px
}
.footer-title {
  font-size:12px;
  font-weight:600;
  letter-spacing:.03em;
  color:var(--ink);
  margin-bottom:14px
}
.footer-links {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
  font-size:13px;
  color:var(--muted)
}
.footer-links a:hover {
  color:var(--blue);
  text-decoration:underline
}
.footer-legal {
  margin-top:44px;
  padding-top:22px;
  border-top:1px solid var(--line);
  font-size:12px;
  line-height:1.65
}

@media(max-width:850px) {
  .choose {
    gap:36px
  }
  .price-card {
    padding:36px 28px;
    gap:36px
  }
  .footer-grid {
    grid-template-columns:1fr 1fr
  }
  .footer-about {
    grid-column:1/-1
  }
}
@media(max-width:600px) {
  .page-head {
    padding-top:26px
  }
  .lede {
    font-size:17px
  }
  .prose p,.prose li {
    font-size:15px
  }
  .choose,.price-card {
    grid-template-columns:1fr
  }
  .link-rows a {
    grid-template-columns:1fr 20px;
    gap:6px 16px;
    padding:18px 0
  }
  .link-rows p {
    grid-column:1;
    grid-row:2
  }
  .link-rows .icon {
    grid-column:2;
    grid-row:1/3
  }
  .resources {
    padding-bottom:64px
  }
  .price-card {
    padding:28px 20px;
    border-radius:14px
  }
  .site-footer {
    padding-top:40px
  }
  .footer-grid {
    gap:32px 20px
  }
}

/* Yes / partly / no marks. Shape and a hidden text label carry the meaning, not color alone. */
.mk {
  display:inline-flex;
  align-items:center;
  gap:9px;
  line-height:1.4
}
.mk .icon {
  width:18px;
  height:18px;
  stroke-width:2.2
}
.mk.yes .icon {
  stroke:var(--green)
}
.mk.no .icon {
  stroke:#7b889b
}
.mk.part .icon {
  stroke:#a65b0a
}
.matrix table {
  min-width:760px
}
.matrix th,.matrix td {
  text-align:center
}
.matrix tbody th {
  text-align:left;
  width:24%
}
.matrix thead th a:hover {
  color:var(--blue);
  text-decoration:underline
}
.matrix td:nth-child(2),.matrix thead th:nth-child(2) {
  background:#eaf2fd
}
.legend {
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:8px 24px;
  margin:-12px 0 8px;
  padding:0;
  font-size:13px;
  color:var(--muted)
}
.together {
  margin-top:40px;
  font-size:16px
}
.together strong {
  color:var(--ink)
}
