/* PlanMan visual system. Shared components and responsive rules live here. */
:root {
  --paper: #f6f5f0;
  --surface: #fffefa;
  --ink: #202b27;
  --muted: #59635b;
  --green: #285e43;
  --green-hover: #18492f;
  --brand: #558f3b;
  --tint: #e9ede3;
  --rule: #d8dcd2;
  --soft: #eeeee7;
  --forest: #193c2c;
  --font: "Helvetica Neue", Arial, sans-serif;
  --body: "Helvetica Neue", Arial, sans-serif;
  --shadow: 0 16px 48px -24px #132c3340;
  --screenshot-filter: none;
  --screenshot-surround: #e9eee5;
  --screenshot-border: #c8d2c6;
}
html[data-theme="dark"] {
  --paper: #17241e;
  --surface: #1e3026;
  --ink: #f1f2e9;
  --muted: #b8c3b8;
  --green: #b8d89d;
  --green-hover: #d3e9be;
  --tint: #25392c;
  --rule: #3c5042;
  --soft: #203127;
  --forest: #10271d;
  --screenshot-filter: brightness(.88);
  --screenshot-surround: #24382c;
  --screenshot-border: #425849;
}
/* Opt in product captures only; keep their original colours and readable detail. */
.product-screenshot { filter: var(--screenshot-filter); }
html[data-theme="dark"] .screenshot-frame { background: var(--screenshot-surround); border-color: var(--screenshot-border); }
html[data-theme="dark"] .screenshot-frame .product-screenshot { border-color: var(--screenshot-border); }
html[data-theme="dark"] :is(.page-prose, #article-body) > .screenshot-frame { padding: clamp(12px, 2vw, 20px); border: 1px solid var(--screenshot-border); border-radius: 12px; }
html[data-theme="dark"] :is(.page-prose, #article-body) > .screenshot-frame img { border-radius: 6px; }
@media print {
  html[data-theme] .product-screenshot { filter: none; }
  html[data-theme="dark"] :is(.page-prose, #article-body) > .screenshot-frame { background: transparent; border: 0; padding: 0; }
}
body { font-size: 17px; line-height: 1.65; }
h1,h2,h3 { font-weight: 500; text-wrap: balance; }
h1 { letter-spacing: -.055em; }
h2 { font-size: clamp(32px, 3.6vw, 48px); letter-spacing: -.045em; line-height: 1.12; }
h3 { letter-spacing: -.025em; }
p { text-wrap: pretty; }
.shell { width: min(1280px, calc(100% - 96px)); }
.section-space { padding-block: 100px; }
.eyebrow { font-size: 11px; line-height: 1.6; letter-spacing: .13em; font-weight: 600; }
.button { border-radius: 6px; min-height: 52px; padding: 15px 21px; font-size: 14px; font-weight: 600; gap: 10px; }
.button > svg, .menu-toggle > svg { flex-shrink: 0; }
.button-small { min-height: 44px; }
.text-link { font-size: 14px; font-weight: 500; }
.section-intro { gap: 48px; margin-bottom: 42px; }
.section-intro h2 { margin-top: 16px; }
.section-intro > p { width: 330px; font-size: 17px; line-height: 1.7; }
/* One header breakpoint, matching site.js. */
.site-header { background: var(--paper); border-bottom: 1px solid var(--rule); }
.header-inner { height: 88px; display: flex; align-items: center; gap: 40px; }
.brand { font-size: 28px; font-weight: 700; letter-spacing: -1.2px; gap: 9px; flex: none; }
.brand img { width: 34px; height: 34px; }
.brand-dot { color: var(--brand); }
.main-navigation { position: static; display: flex; flex: 1; flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; padding: 0; background: transparent; box-shadow: none; border: 0; overflow: visible; }
.nav-links,.nav-actions { display: flex; align-items: center; flex-direction: row; gap: 22px; }
.nav-links > a,.nav-item > a { font-size: 16px; font-weight: 500; min-height: 44px; padding-block: 10px; }
.nav-item { display: flex; position: relative; gap: 0; }
.submenu-toggle { width: 30px; min-height: 44px; border: 0; }
.dropdown-menu { border-radius: 8px; padding: 8px; min-width: 260px; left: -16px; top: 100%; box-shadow: var(--shadow); }
.dropdown-menu > a { font-size: 15px; min-height: 44px; padding: 10px 12px; border-radius: 4px; }
.nav-links > a[aria-current], .nav-item > a[aria-current] { color: var(--green); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 7px; }
.nav-item > a[aria-current] + .submenu-toggle { color: var(--green); }
.dropdown-menu > a[aria-current] { color: var(--green); background: var(--tint); box-shadow: inset 3px 0 currentColor; }
.nav-item:last-of-type .dropdown-menu { left: -16px; right: auto; }
.nav-actions { gap: 22px; border: 0; padding: 0; }
.nav-actions > .button { min-height: 44px; font-size: 15px; padding: 11px 17px; gap: 14px; white-space: nowrap; }
.header-search { --header-search-gutter: 64px; position: relative; flex: none; width: 44px; height: 44px; margin: 0; z-index: 1; }
.header-search.is-open { z-index: 60; }
.header-search-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid transparent; border-radius: 8px; background: var(--paper); color: var(--ink); }
.header-search-toggle:hover, .header-search.is-current .header-search-toggle { color: var(--green); }
.header-search.is-open .header-search-toggle { border-color: var(--rule); background: var(--surface); }
.header-search-field { position: absolute; right: 48px; top: 0; width: 0; height: 44px; overflow: hidden; opacity: 0; visibility: hidden; border-radius: 8px; background: var(--surface); box-shadow: 0 0 0 6px var(--paper); transition: width .22s ease, opacity .18s ease, visibility 0s .22s; }
.header-search.is-open .header-search-field { width: 280px; opacity: 1; visibility: visible; transition-delay: 0s; }
.header-search-field input { display: block; width: 100%; min-width: 0; height: 44px; padding: 10px 12px; border: 1px solid var(--rule); border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 16px; }
.header-search-field input::placeholder { color: var(--muted); opacity: 1; }
.header-search-field:focus-within { outline: 2px solid var(--green); outline-offset: 1px; }
.header-search-field input:focus-visible { outline: 0; }
@media (prefers-reduced-motion: reduce) { .header-search-field { transition: none; } }
.theme-toggle { order: 3; margin: 0 0 0 -22px; width: 38px; height: 38px; min-width: 38px; flex: none; }
.menu-toggle { display: none; }
.menu-toggle path { transition: transform .2s ease; }
.menu-line-top { transform-origin: 12px 8px; }
.menu-line-bottom { transform-origin: 12px 16px; }
.menu-toggle[aria-expanded="true"] .menu-line-top { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-line-bottom { transform: translateY(-4px) rotate(-45deg); }
@media (prefers-reduced-motion: reduce) { .menu-toggle path { transition: none; } }
.accounting-strip { display: flex; align-items: center; gap: 40px; padding-block: 38px; border-bottom: 1px solid var(--rule); }
.accounting-strip > p { flex: none; font-size: 13px; line-height: 1.5; }
.accounting-strip > .text-link { flex: none; font-size: 13px; }
.accounting-logos { display: flex; justify-content: space-evenly; align-items: center; gap: 32px; flex: 1; }
.accounting-logos a { display: flex; align-items: center; justify-content: center; min-height: 44px; }
.accounting-logos img { width: auto; max-width: 112px; max-height: 34px; object-fit: contain; }
.accounting-logos a:first-child img { width: 45px; max-height: 45px; }
.accounting-logos a:last-child img { max-width: 110px; }
.workflow-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.workflow-card { display: flex; flex-direction: column; align-items: flex-start; padding: 30px 25px 28px; border-right: 1px solid var(--rule); transition: background .18s; }
.workflow-card:first-child { padding-left: 0; }
.workflow-card:last-child { padding-right: 0; border: 0; }
.workflow-number { color: var(--green); font-size: 11px; font-weight: 600; letter-spacing: .09em; }
.workflow-card h3 { margin: 32px 0 17px; font-size: 27px; line-height: 1.15; }
.workflow-card p { font-size: 15px; line-height: 1.7; margin-bottom: 24px; }
.workflow-card-link { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; min-height: 44px; font-size: 13px; font-weight: 600; color: var(--green); }
.workflow-card:hover { background: var(--tint); }
.practice-product { background: var(--forest); color: #f5f4ec; }
.practice-product .eyebrow { color: #bed99c; }
.practice-product .section-intro > .text-link { color: #f5f4ec; }
.practice-product .product-tab-list { gap: 0; border-color: #607660; }
.practice-product .product-tab { justify-content: center; color: #c1cdbd; font-size: 16px; min-height: 65px; padding: 19px 12px; font-weight: 500; }
.practice-product .product-tab[aria-selected="true"] { color: #f7f7ee; background: #ffffff08; }
.practice-product .product-tab[aria-selected="true"]::after { background: #bed99c; }
.practice-product .feature-panel { grid-template-columns: 1fr 2fr; gap: 60px; padding-top: 40px; }
.practice-product .feature-copy h3 { font-size: 34px; font-weight: 500; letter-spacing: -.04em; line-height: 1.15; }
.practice-product .feature-copy > p:not(.eyebrow) { color: #c4d0bf; font-size: 17px; max-width: 330px; }
.practice-product .feature-copy > .text-link { color: #d6e7bf; font-size: 14px; }
.practice-product .feature-image { border: 1px solid #607660; background: #31513c; padding: 18px 18px 0; border-radius: 8px; }
.practice-product .feature-image img { height: auto; max-height: none; aspect-ratio: auto; border: 1px solid #bac8b6; border-radius: 3px; object-fit: contain; }
.practice-product .feature-image figcaption { color: #d0dac7; font-size: 12px; padding-block: 10px; }
.product-access-note { color: #c4d0bf; margin-top: 32px; font-size: 14px; }
.product-access-note a { color: #e0edce; text-decoration: underline; text-underline-offset: 4px; }
.product-access-note svg { width: 16px; height: 16px; }
.practice-audiences { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.practice-audiences h2 { margin: 16px 0 24px; }
.practice-audiences > div > p:not(.eyebrow) { max-width: 425px; font-size: 17px; }
.audience-links { border-top: 1px solid var(--rule); }
.audience-links > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--rule); }
.audience-links > a > span { display: grid; gap: 7px; }
.audience-links small { color: var(--green); font-size: 11px; font-weight: 600; letter-spacing: .1em; }
.audience-links strong { font-size: 24px; line-height: 1.3; font-weight: 500; letter-spacing: -.03em; }
.audience-links span span { color: var(--muted); font-size: 15px; }
.audience-links a:hover strong { text-decoration: underline; text-underline-offset: 5px; }
.testimonial-section { background: var(--tint); }
.testimonial-inner { padding-block: 72px; gap: 85px; }
.testimonial-inner blockquote { font-size: 26px; font-weight: 400; line-height: 1.5; letter-spacing: -.025em; }
.testimonial-label > img { width: 190px; }
.testimonial-label .eyebrow { font-size: 11px; }
.quote-attribution p,.quote-attribution .text-link { font-size: 14px; }
.practice-journal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.practice-journal-grid article { min-width: 0; }
.practice-journal-grid .journal-image-link { border: 1px solid var(--rule); border-radius: 6px; overflow: hidden; }
.practice-journal-grid img { aspect-ratio: 16/10; width: 100%; object-fit: cover; }
.practice-journal-grid .article-meta { margin: 19px 0 12px; font-size: 12px; display: flex; gap: 14px; }
.practice-journal-grid h3 { font-size: 24px; line-height: 1.35; }
.practice-journal-grid h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.practice-journal-grid .text-link { margin-top: 15px; }
/* Interior pages */
.breadcrumbs { font-size: 13px; padding-block: 24px 30px; }
.breadcrumbs > span[aria-current] { opacity: 1; }
.page-prose { font-size: 18px; line-height: 1.8; }
.feature-directory { column-gap: 35px; }
.feature-directory h2 { font-size: 24px; font-weight: 500; }
.feature-directory p { font-size: 16px; line-height: 1.7; }
.feature-directory > a { padding-block: 32px; }
.integration-directory-item p { font-size: 16px; }
.pricing-grid { gap: 14px; border: 0; align-items: stretch; }
.pricing-plan,.pricing-plan:first-child,.pricing-plan:last-child { padding: 28px 22px; background: var(--surface); border: 1px solid var(--rule); border-radius: 8px; }
.pricing-plan > .eyebrow { font-size: 14px; letter-spacing: 0; }
.plan-price { font-size: 49px; font-weight: 500; letter-spacing: -.05em; }
.plan-period { font-size: 13px; }
.plan-annual { font-size: 13px; }
.pricing-plan ul { font-size: 14px; line-height: 1.6; padding-top: 22px; margin-top: 22px; }
.pricing-plan > .button { width: 100%; font-size: 14px; padding-inline: 12px; gap: 12px; }
.plan-reassurance { font-size: 12px; }
.pricing-bespoke { font-size: 16px; }
.page-faq-section h2 { font-size: 36px; }
.page-faq-list summary,.source-faq summary > h3 { font-size: 17px; font-weight: 500; }
.page-faq-list .prose,.page-faq-list .prose p:first-child { font-size: 16px; }
.article-contents summary,.article-contents li,.rail-bottom-link { font-size: 14px; }
.article-layout > * { min-width: 0; }
.article-contents li a { padding-block: 8px; }
.article-product-prompt { border-radius: 16px; }
.article-product-prompt h2 { font-size: 32px; }
.article-product-prompt > p:not(.eyebrow) { font-size: 16px; }
.prompt-note,.related-grid .text-link { font-size: 13px; }
.related-grid h3 { font-size: 24px; font-weight: 500; }
.archive-card h2 { font-weight: 500; line-height: 1.3; }
.archive-card-meta,.archive-card-meta > a { font-size: 12px; }
.journal-search-status,.archive-categories > a > span { font-size: 13px; }
.archive-card p { font-size: 16px; }
.contact-form { border-radius: 8px; background: var(--surface); }
.contact-form label { font-size: 14px; }
.contact-form input,.contact-form textarea { border-radius: 4px; font-size: 16px; }
.closing-cta { isolation: isolate; overflow: clip; background-image: radial-gradient(ellipse at 85% 20%, #d6edb612, transparent 60%); }
.closing-cta::before, .closing-cta::after { content: ""; display: block; position: absolute; z-index: 0; pointer-events: none; }
.closing-cta::before { width: 560px; height: 560px; top: -270px; left: -150px; border: 1px solid #d6edb624; border-radius: 50%; outline: 1px solid #d6edb614; outline-offset: 46px; background: linear-gradient(145deg, #d6edb606, transparent); }
.closing-cta::after { width: 360px; height: 360px; right: 25%; bottom: -230px; border: 1px solid #d6edb624; border-radius: 32px; background: linear-gradient(135deg, #d6edb60a, transparent); transform: rotate(-25deg); }
.closing-cta h2 { font-size: clamp(32px,3.6vw,48px); font-weight: 500; letter-spacing: -.045em; }
.closing-cta .eyebrow { font-size: 11px; }
.cta-inner { padding-block: 70px; }
.cta-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; flex-shrink: 0; }
.closing-cta .button-outline { color: #f1f4e8; border-color: #a3b79b; background: transparent; }
.closing-cta .button-outline:hover { background: #ffffff0d; border-color: #eff3e5; }
.footer-intro > p,.footer-phone { font-size: 16px; }
.footer-main h2 { font-size: 13px; font-weight: 600; letter-spacing: 0; }
.footer-main > div:not(:first-child) > a { font-size: 14px; min-height: 44px; }
.footer-main address { font-size: 14px; line-height: 1.8; }
.footer-bottom { font-size: 12px; }
.footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
html[data-theme="dark"] .testimonial-label img { mix-blend-mode: normal; background: #fff; border-radius: 4px; padding: 8px; }
@media (min-width:961px) {
  .js .main-navigation:not(.is-open) { display: flex; }
  /* Share the available width evenly across links and actions. */
  .nav-links,.nav-actions { display: contents; }
  .main-navigation > :is(.nav-links,.nav-actions) > * { flex-shrink: 0; }
  .header-inner:has(.header-search.is-open) .nav-links { visibility: hidden; }
}
@media (min-width:961px) and (max-width:1280px) {
  .shell.header-inner { width: calc(100% - 48px); gap: 18px; }
  .main-navigation { min-width: 0; gap: 6px; }
  .nav-actions > .button { padding-inline: 14px; gap: 10px; white-space: nowrap; }
  .theme-toggle { margin-left: -12px; }
}
@media (min-width:961px) and (max-width:1100px) {
  .shell.header-inner { gap: 8px; }
  .brand { font-size: 24px; gap: 7px; }
  .brand img { width: 30px; height: 30px; }
  .main-navigation { gap: 6px; }
  .nav-links > a,.nav-item > a { font-size: 14px; }
  .submenu-toggle { width: 22px; }
  .nav-actions > .button { font-size: 14px; padding-inline: 12px; gap: 8px; }
  .nav-actions > .login-link { padding-inline: 8px; gap: 6px; }
  .theme-toggle { width: 34px; height: 34px; min-width: 34px; margin-left: 0; }
}
@media (max-width:960px) {
  .header-inner { height: 80px; gap: 18px; }
  .theme-toggle { order: 0; margin-left: auto; margin-right: 0; }
  .menu-toggle { display: flex; align-items: center; justify-content: center; flex: none; padding: 10px; min-height: 44px; width: 44px; border-radius: 10px; }
  .menu-toggle:hover,.menu-toggle[aria-expanded="true"] { background: var(--tint); }
  .main-navigation { position: absolute; inset: 80px 0 auto; padding: 16px 32px 24px; background: var(--paper); border-bottom: 1px solid var(--rule); display: flex; flex-direction: column; align-items: stretch; gap: 16px; overflow-y: auto; max-height: calc(100dvh - 80px); box-shadow: var(--shadow); }
  .js .main-navigation:not(.is-open) { display: none; }
  .nav-links,.nav-actions { flex-direction: column; align-items: stretch; gap: 0; }
  .nav-item { display: grid; grid-template-columns: 1fr 44px; }
  .nav-links > a,.nav-item > a { font-size: 17px; padding-block: 12px; }
  .submenu-toggle { min-width: 44px; width: 44px; }
  .dropdown-menu { position: static; grid-column: 1/-1; margin: 0 0 12px 8px; border: 0; border-left: 1px solid var(--rule); border-radius: 0; padding: 0 0 0 10px; box-shadow: none; background: transparent; }
  .dropdown-menu > a { font-size: 15px; }
  .nav-actions { display: grid; grid-template-columns: 44px 1fr; padding-top: 14px; border-top: 1px solid var(--rule); gap: 10px 16px; }
  .header-search { grid-column: 1; grid-row: 1; }
  .header-search-field { right: auto; left: 48px; }
  .header-search.is-open .header-search-field { width: min(360px, calc(100vw - var(--header-search-gutter) - 48px)); }
  .nav-actions > .button { grid-column: 1 / -1; font-size: 15px; min-height: 48px; }
  .nav-actions > .login-link { grid-column: 2; grid-row: 1; }
}
@media (max-width:1100px) {
  .shell { width: calc(100% - 64px); }
  .accounting-strip { flex-wrap: wrap; gap: 22px; }
  .accounting-logos { gap: 22px; }
  .accounting-strip > .text-link { display: none; }
  .workflow-card { padding-inline: 18px; }
  .workflow-card h3 { font-size: 24px; }
  .workflow-card-link { font-size: 12px; gap: 6px; }
  .practice-product .feature-panel { grid-template-columns: 1fr 1.6fr; gap: 32px; }
  .practice-audiences { gap: 45px; }
  .pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pricing-plan ul { font-size: 15px; }
}
@media (max-width:760px) {
  .closing-cta::before { width: 360px; height: 360px; top: -160px; left: -210px; }
  .closing-cta::after { width: 320px; height: 320px; right: -160px; bottom: -150px; }
  .shell { width: calc(100% - 40px); }
  .section-space { padding-block: 64px; }
  .eyebrow { font-size: 11px; }
  h2,.section-intro h2 { font-size: 36px; letter-spacing: -.045em; }
  .section-intro { display: block; margin-bottom: 30px; }
  .section-intro > p { width: auto; max-width: 450px; font-size: 16px; margin-top: 22px; }
  .section-intro > .text-link { font-size: 14px; margin-top: 18px; }
  .header-inner { height: 74px; gap: 14px; }
  .brand { font-size: 26px; }
  .brand img { width: 32px; height: 32px; }
  .theme-toggle { width: 36px; height: 36px; min-width: 36px; }
  .main-navigation { top: 74px; max-height: calc(100dvh - 74px); padding-inline: 20px; }
  .header-search { --header-search-gutter: 40px; }
  .accounting-strip { padding-block: 26px; gap: 20px; }
  .accounting-strip > p { width: 100%; font-size: 14px; }
  .accounting-strip > p br { display: none; }
  .accounting-logos { gap: 16px; flex-wrap: wrap; flex: 1 1 100%; justify-content: space-between; }
  .accounting-logos img { max-width: 88px; max-height: 28px; }
  .accounting-logos a:first-child img { width: 38px; max-height: 38px; }
  .accounting-logos a:last-child img { max-width: 100px; }
  .workflow-cards { grid-template-columns: 1fr 1fr; }
  .workflow-card,.workflow-card:first-child,.workflow-card:last-child { padding: 25px 20px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
  .workflow-card:nth-child(2n) { border-right: 0; }
  .workflow-card:nth-last-child(-n+2) { border-bottom: 0; }
  .workflow-card h3 { font-size: 25px; margin-top: 23px; }
  .workflow-card p { font-size: 15px; }
  .workflow-card-link { font-size: 13px; }
  .practice-product .product-tab-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; overflow: visible; }
  .practice-product .product-tab { font-size: 13px; padding-inline: 4px; min-height: 58px; }
  .practice-product .feature-panel { grid-template-columns: 1fr; gap: 28px; padding-top: 30px; }
  .practice-product .feature-copy h3 { font-size: 31px; }
  .practice-product .feature-copy h3 br { display: none; }
  .practice-product .feature-copy > p:not(.eyebrow) { max-width: 520px; font-size: 17px; }
  .practice-product .feature-copy > .text-link { margin-top: 14px; }
  .practice-product .feature-image { padding: 12px 12px 0; }
  .product-access-note { line-height: 1.8; font-size: 14px; }
  .practice-audiences { grid-template-columns: 1fr; gap: 30px; }
  .practice-audiences > div > p:not(.eyebrow) { font-size: 16px; }
  .audience-links strong { font-size: 25px; }
  .audience-links span span { font-size: 15px; }
  .testimonial-inner { grid-template-columns: 1fr; padding-block: 50px; gap: 30px; }
  .testimonial-label { flex-direction: row; align-items: center; gap: 25px; }
  .testimonial-label > img { width: 145px; }
  .testimonial-label .eyebrow { font-size: 10px; }
  .testimonial-inner blockquote { font-size: 23px; line-height: 1.55; }
  .quote-attribution { display: block; }
  .quote-attribution .text-link { margin-top: 10px; font-size: 14px; }
  .practice-journal-grid { grid-template-columns: 1fr; gap: 35px; }
  .practice-journal-grid img { aspect-ratio: 16/9; }
  .practice-journal-grid h3 { font-size: 25px; }
  .practice-journal-grid .text-link { margin-top: 10px; }
  .page-prose { font-size: 17px; }
  .feature-directory { grid-template-columns: 1fr; }
  .feature-directory h2 { font-size: 24px; }
  .feature-directory p { font-size: 16px; max-width: none; }
  .pricing-grid { grid-template-columns: 1fr; gap: 18px; }
  .pricing-plan,.pricing-plan:first-child,.pricing-plan:last-child,.pricing-plan:nth-child(2),.pricing-plan:nth-child(3) { padding: 28px; border: 1px solid var(--rule); }
  .pricing-plan > .eyebrow { font-size: 16px; }
  .plan-price { font-size: 54px; }
  .plan-period,.plan-annual { font-size: 14px; }
  .pricing-plan ul { font-size: 16px; line-height: 1.7; }
  .pricing-plan li { padding-left: 23px; margin-bottom: 9px; }
  .pricing-plan li::before { font-size: 14px; }
  .pricing-plan > .button { font-size: 16px; min-height: 50px; }
  .plan-reassurance { font-size: 13px; }
  .pricing-bespoke { font-size: 16px; line-height: 1.8; }
  .page-faq-section h2 { font-size: 32px; }
  .article-contents summary,.article-contents li { font-size: 14px; }
  .cta-inner { padding-block: 50px; }
  .closing-cta h2 { font-size: 36px; }
  .cta-actions > .button { font-size: 15px; min-width: 0; }
  .footer-main { gap: 30px; }
  .footer-main h2 { font-size: 13px; }
  .footer-main > div:not(:first-child) > a { min-height: 44px; font-size: 14px; }
  .footer-main address { font-size: 14px; }
  .footer-bottom { font-size: 12px; }
  .breadcrumbs { font-size: 12px; padding-block: 20px 26px; flex-wrap: wrap; }
}
@media (max-width:400px) {
  .shell { width: calc(100% - 32px); }
  .workflow-cards { grid-template-columns: 1fr; }
  .workflow-card,.workflow-card:first-child,.workflow-card:last-child { padding: 24px 0; border: 0; border-bottom: 1px solid var(--rule); }
  .workflow-card:last-child { border: 0; }
  .workflow-card h3 { margin-top: 18px; }
  .workflow-card h3 br { display: none; }
  .workflow-card p { max-width: 300px; margin-bottom: 12px; }
  .practice-product .product-tab { font-size: 12px; }
  .testimonial-label { align-items: flex-start; flex-direction: column; gap: 18px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { transition: none !important; animation: none !important; }
}
@media print {.accounting-strip,.practice-product,.theme-toggle,.menu-toggle { display: none !important; }
  .practice-product,.testimonial-section { color: #000; background: #fff; }
  .pricing-grid { grid-template-columns: repeat(2,1fr); }
  .pricing-plan { break-inside: avoid; }
}
/* Keep navigation usable before scripts load or when JavaScript is disabled. */
html:not(.js) .header-inner { height: auto; min-height: 88px; flex-wrap: wrap; padding-block: 20px; }
html:not(.js) .menu-toggle { display: none; }
html:not(.js) .main-navigation { position: static; max-height: none; overflow: visible; flex-wrap: wrap; box-shadow: none; border: 0; }
@media (max-width:960px) {
  html:not(.js) .main-navigation { flex-basis: 100%; padding: 12px 0 0; }
  html:not(.js) .nav-links { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px 24px; }
  html:not(.js) .nav-item { display: flex; }
  html:not(.js) .nav-actions { flex-direction: row; justify-content: space-between; }
}
