.software-site { --text-muted: #665f57; }
.software-site .main-nav { position: sticky; top: 0; }
.software-site main { min-height: 60vh; }
.software-site section, .software-site header, .software-site h2 { scroll-margin-top: 6rem; }
.software-site a:focus-visible, .software-site summary:focus-visible, .software-site button:focus-visible { outline: 3px solid #238780; outline-offset: 5px; }
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 2000; padding: .7rem 1rem; background: white; }
.skip-link:focus { top: 1rem; }
.eyebrow { font: 700 .75rem/1.6 'Lato',sans-serif; letter-spacing: .13em; text-transform: uppercase; color: #286e69; margin-bottom: 1rem; }
.intro { font-size: 1.12rem; line-height: 1.75; }
.product-hero { background: #2e3830; color: #fff; padding: 4.5rem 0 0; }
.hero-grid { display: grid; grid-template-columns: 1fr 1.08fr; gap: 3.5rem; align-items: center; }
.hero-copy { min-width: 0; }
.product-hero .eyebrow { color: #9ed5ce; font-size: .7rem; letter-spacing: .1em; }
.product-hero h1 { color: #fff; font-size: clamp(2rem,3.3vw,2.85rem); line-height: 1.15; margin-bottom: 1.3rem; }
.product-hero .intro { color: #ecede8; font-size: 1.04rem; }
.cpd-line { color: #f2dbb8; font-weight: 700; line-height: 1.65; margin: 1.3rem 0 .5rem; }
.hero-price { color: #fff; font-size: .95rem; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.4rem; margin-top: 1.5rem; }
.hero-secondary { color: #fff; text-decoration: underline; text-underline-offset: .3rem; font-size: .94rem; }
.hero-secondary:hover { color: #f2dbb8; }
.hero-reassurance { margin-top: .8rem; font-size: .82rem; color: #d5dfd7; }
.hero-product { min-width: 0; }
.product-screen { display: block; border-radius: 12px; overflow: hidden; background: #e4eeeb; box-shadow: 0 15px 45px #18251e25; }
.product-screen img { width: 100%; height: auto; }
.product-screen span { display: block; padding: .55rem .85rem; text-align: right; font-size: .75rem; color: #255d59; background: #f0f5f2; }
.software-site figcaption { margin: .8rem 0 0; padding: 0 .6rem; font-size: .85rem; line-height: 1.6; color: #5c625b; }
.product-hero figcaption { color: #dbe4dc; }
.hero-trust { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .6rem 1rem; border-top: 1px solid #ffffff26; margin-top: 3rem; padding-top: 1.2rem; padding-bottom: 1.2rem; color: #dfe8e1; font-size: .8rem; }
.software-site .section { padding: 4.25rem 0; }
.software-site h2 { margin-bottom: 1.15rem; }
.software-site h3 { margin-bottom: .75rem; }
.benefit-grid, .plan-grid, .guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin: 2rem 0; }
.benefit { border-top: 2px solid #a9c6bd; padding-top: 1.4rem; }
.benefit p { font-size: .96rem; }
.step-label { display: block; margin-bottom: 1rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #39736d; }
.text-link { display: inline-block; font-weight: 700; text-decoration: underline; text-underline-offset: .3rem; }
.showcase-grid, .split-copy { display: grid; grid-template-columns: 1.15fr 1fr; gap: 3.5rem; align-items: center; }
.showcase-grid figure { min-width: 0; }
.check-list { margin: 1.5rem 0; }
.check-list li { padding: .5rem 0 .5rem 1.4rem; position: relative; }
.check-list li::before { content: '✓'; position: absolute; left: 0; color: #32766b; }
.section-intro { max-width: 660px; }
.plan { display: flex; flex-direction: column; padding: 1.6rem; border: 1px solid #c7d3c8; border-radius: 14px; background: #fff; }
.plan:nth-child(2) { border-top: 4px solid #3d8b8b; padding-top: calc(1.6rem - 3px); }
.plan h3 { font-size: 1.35rem; }
.plan-price { font-size: 2rem; font-weight: 700; color: #2a6b6b; }
.plan-price span { font-size: .85rem; font-weight: 400; white-space: nowrap; }
.plan p:not(.plan-price):not(.eyebrow), .plan li { font-size: .9rem; }
.plan ul { list-style: disc; margin: .2rem 0 1.5rem; padding-left: 1.1rem; }
.plan li + li { margin-top: .65rem; }
.plan .btn { margin-top: auto; width: 100%; justify-content: center; padding: .8rem .6rem; font-size: .9rem; }
.small { color: #5b6059; font-size: .83rem; line-height: 1.65; }
.reading { max-width: 800px; }
.software-site details { border-bottom: 1px solid #cdd6ce; padding: 1rem 0; }
.software-site summary { cursor: pointer; font-weight: 700; color: #2c534e; line-height: 1.5; padding-right: .5rem; }
.software-site details p { margin: 1rem 0 .35rem; }
.founder-grid { display: grid; grid-template-columns: .65fr 1.5fr; gap: 3.5rem; align-items: center; }
.founder-grid > img { width: 100%; max-height: 340px; object-fit: cover; border-radius: 16px; }
.care-line { padding-left: 1rem; border-left: 3px solid #3d8b8b; font-weight: 700; }
.guide-card { display: block; padding: 1.5rem; border: 1px solid #c7d3c8; border-radius: 12px; background: #fff; color: #2d2926; }
.guide-card:hover { transform: translateY(-3px); box-shadow: 0 8px 30px #18302312; }
.guide-card p { font-size: .94rem; }
.guide-card span { color: #2a6b6b; font-weight: 700; font-size: .9rem; }
.installer-grid { display: grid; gap: .75rem; margin: 1.5rem 0; }
.installer-grid .btn { justify-content: center; }
.guide-hero { padding: 3.5rem 0; background: #e6eeea; }
.guide-hero h1 { font-size: clamp(2rem,4vw,2.85rem); margin-bottom: 1.2rem; }
.guide-hero a { font-size: .9rem; font-weight: 700; }
.article { padding-top: 3rem; padding-bottom: 4rem; }
.article h2 { font-size: 1.65rem; margin-top: 2.4rem; }
.article h3 { margin-top: 1.5rem; }
.article ul, .article ol { list-style: disc; padding-left: 1.3rem; margin: 1rem 0; }
.article li + li { margin-top: .6rem; }
.article a:not(.btn) { text-decoration: underline; text-underline-offset: .18rem; }
.byline { font-size: .85rem; color: #5c665e; margin-bottom: 1.8rem; }
.callout { margin: 1.8rem 0; padding: 1.4rem; background: #e7efea; border-left: 3px solid #3d8b8b; border-radius: 0 10px 10px 0; }
.callout h2 { margin-top: 0; }
.callout p { margin-top: .7rem; }
.article-actions { margin-top: 2rem; display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.table-scroll { overflow-x: auto; margin: 1.5rem 0; }
.table-scroll table { border-collapse: collapse; width: 100%; min-width: 600px; font-size: .9rem; background: white; }
.table-scroll th, .table-scroll td { padding: 1rem; border: 1px solid #cdd6ce; vertical-align: top; text-align: left; }
.table-scroll th { color: #285e58; }
.table-scroll caption { text-align: left; font-weight: 700; margin-bottom: .8rem; }
.product-footer { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 2.5rem; padding-bottom: 2rem; }
.product-footer h2 { color: white; font-family: 'Lato',sans-serif; font-size: 1rem; }
.product-footer > div > a:not(.footer-logo) { display: block; margin: .5rem 0; color: #e2e9e2; font-size: .88rem; }
.product-footer p { color: #d3ded5; margin-top: 1rem; font-size: .9rem; }
.software-site .footer-bottom { color: #d3ded5; }
.software-site .cookie-banner { max-width: 720px; }
@media(max-width:1000px) { .software-site .nav-links { gap: 1rem; } .software-site .nav-links a { font-size: .85rem; } .hero-grid,.showcase-grid { gap: 2rem; } .plan { padding: 1.1rem; } }
@media(max-width:850px) {
 .hero-grid,.showcase-grid,.split-copy,.founder-grid { grid-template-columns: 1fr; gap: 2rem; }
 .product-hero { padding-top: 2.5rem; }
 .product-hero h1 { font-size: 2.25rem; }
 .hero-product { max-width: 680px; }
 .hero-trust { margin-top: 2rem; }
 .benefit-grid,.plan-grid,.guide-grid { grid-template-columns: 1fr; gap: 1rem; }
 .plan { padding: 1.5rem; }
 .software-site .section { padding: 3rem 0; }
 .founder-grid > img { max-width: 220px; max-height: 250px; }
 .product-footer { grid-template-columns: 1fr 1fr; }
 .product-footer > div:first-child { grid-column: 1/-1; }
}
@media(max-width:480px) {
 .product-hero .eyebrow { font-size: .63rem; }
 .product-hero h1 { font-size: 2rem; }
 .product-hero .intro { font-size: 1rem; }
 .hero-actions { gap: 1rem; }
 .hero-actions .btn { width: 100%; justify-content: center; }
 .hero-secondary { margin: 0 auto; }
 .hero-trust { flex-direction: column; }
 .hero-reassurance { text-align: center; }
 .product-footer { grid-template-columns: 1fr; }
 .product-footer > div:first-child { grid-column: auto; }
 .guide-hero { padding: 2.5rem 0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } .software-site *, .software-site *::before, .software-site *::after { transition: none !important; animation: none !important; } }

/* Supplier-authored software comparisons. */
.comparison-source { display: block; font-size: .78rem; line-height: 1.55; margin-top: .65rem; }
.software-site .table-scroll:focus-visible { outline: 3px solid #238780; outline-offset: 4px; }
.comparison-related { margin-top: 2.5rem; padding-top: .5rem; border-top: 1px solid #cdd6ce; }
