/* Basecamp-inspired editorial direction: a light canvas, direct typography,
   compact product choices, and restrained hand-drawn emphasis. */
:root{--ink:#292d30;--muted:#595d63;--blue:#146fc4;--line:#dedde2;--paper:#fbf8fc;--wash:#f4f1f6;--radius:8px}
:root{--font-body:Arial,Helvetica,sans-serif;--font-code:Consolas,"Liberation Mono",monospace;--text-body:16px;--text-small:14px;--text-table:15px;--heading-1:clamp(2rem,3.5vw,3rem);--heading-2:clamp(1.65rem,2.5vw,2rem);--heading-3:1.375rem;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--content-width:1080px;--page-gutter:32px}
.hero .hero-platform{font-size:18px;margin:18px auto 0;color:var(--ink)}
.developer-band.developer-summary{grid-template-columns:1fr}.developer-summary>div{max-width:800px}

body{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;background:var(--paper)}
h1,h2,h3,h4{font-weight:750;letter-spacing:-.035em}h1{font-size:clamp(2rem,3.8vw,3.3rem)}h2{font-size:clamp(1.7rem,2.8vw,2.4rem)}
.wrap{width:min(1080px,calc(100% - 64px))}.site-header{position:relative;background:var(--paper);border:0;color:var(--ink)}.nav-wrap{min-height:90px}.brand img,.footer-brand img{filter:brightness(0);opacity:.85}.site-nav>a,.site-nav summary{color:var(--ink);font-size:14px}.site-nav>a:not(.nav-cta){text-decoration:underline;text-underline-offset:3px}.site-nav .nav-cta{background:var(--blue);border-color:var(--blue);border-radius:5px}.nav-drop{z-index:10;box-shadow:0 3px 10px #2520300d}.menu-toggle{border-color:#a4a1a9;color:var(--ink)}
.hero,.page-hero{background:transparent;border:0;padding:38px 0 20px}.hero-grid{display:flex;flex-direction:column;gap:35px;text-align:center}.hero-grid>div{width:100%;max-width:920px}.hero h1,.page-hero h1{max-width:950px;margin:0 auto 20px;font-size:clamp(2rem,3.5vw,3.15rem)}.hero h1 em{font-style:normal;color:var(--ink)}.hero .lead,.page-hero p{font-size:21px;line-height:1.45;max-width:800px;margin:0 auto 22px;color:var(--ink)}.hero .actions,.page-hero .actions{justify-content:center;flex-direction:row;align-items:center;margin:22px 0 12px}.hero .small,.page-hero .small{font-size:14px;color:var(--muted)}.hero .text-link{font-size:16px}.page-hero{text-align:center}.eyebrow{font:600 13px/1.4 Arial,sans-serif;letter-spacing:.04em;color:var(--muted);margin-bottom:15px}.button,.button:link,.button:visited,.pure-button{border-radius:5px;font-family:Arial,sans-serif;font-size:16px;padding:10px 18px;min-height:44px}.button.secondary{background:white;border-color:#b5c4d2;color:#175f9f}.text-link{font-weight:600}.product-shot{width:100%;max-width:760px;border-radius:6px;box-shadow:0 3px 15px #2923300a}.shot-bar{background:#f1f0f2;color:#595d63;font-family:Arial,sans-serif}.product-shot figcaption{font-size:13px}.hero-grid>.product-shot{max-width:680px}.capabilities{border:0;padding:20px 0;gap:12px 28px;font-size:14px}.capabilities span:before{content:'✓';color:var(--blue)}
.section{padding:44px 0}.section.tinted{background:transparent;border:0}.section-intro{display:block;text-align:center;margin:0 auto 30px;max-width:800px}.section-intro p{max-width:650px;margin:18px auto 0}.section-intro .eyebrow{margin:0 0 12px}.product-card{border:1px solid var(--line);border-radius:8px;padding:28px;background:white;box-shadow:0 2px 8px #28203006}.product-card.desktop{border-top-color:var(--line)}.product-card h3{font-size:1.75rem}.product-icon{display:none}.product-card .intro{min-height:0}.product-card ul{margin:6px 0 22px}.product-card li{font-size:17px}.product-card .actions{margin-top:auto}.feature{border-top:0;padding:0}.feature .number{font:600 13px Arial,sans-serif;letter-spacing:0;color:var(--muted)}.feature p{font-size:17px;color:var(--ink)}.three-up{gap:34px}.split{gap:40px}.split p{font-size:18px}.developer-band{background:white;color:var(--ink);border:1px solid var(--line);padding:32px;box-shadow:0 2px 8px #28203006}.developer-band h2{color:var(--ink);font-size:2rem}.developer-band .eyebrow{color:var(--muted)}.developer-band a{color:var(--blue)}.developer-band .button{color:white}.code{background:#f2f5f8;color:#224564;border:1px solid #dce3e9}.code-group .copy-code{background:transparent}.final-cta{padding:26px 0;border-top:1px solid var(--line)}.site-footer{background:transparent;color:var(--ink);border-top:1px solid var(--line);margin-top:30px}.site-footer a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.footer-grid h2{color:var(--ink);font-size:16px}.footer-brand p{font-size:15px;max-width:250px}.footer-bottom{border-color:var(--line);font-size:13px;color:var(--muted)}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr)}
.marked{position:relative;display:inline-block;isolation:isolate;white-space:nowrap}.marked:after{content:'';position:absolute;z-index:-1;inset:-5px -12px;border:3px solid #f2c84b;border-radius:49% 46% 50% 44%;transform:rotate(-3deg);pointer-events:none}.marked:before{content:'';position:absolute;z-index:-1;inset:-1px -15px;border:2px solid #f2c84b;border-radius:45% 50% 46% 49%;transform:rotate(2deg);pointer-events:none}
.product-chooser{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:820px;margin:25px auto 0;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 3px 14px #29233008;overflow:hidden}.chooser-options{border:0;padding:25px 18px;margin:0;min-width:0}.chooser-options legend{float:left;width:100%;font-size:13px;color:var(--muted);margin-bottom:15px;padding:0 12px}.chooser-options label{display:grid;grid-template-columns:21px 1fr;column-gap:7px;padding:14px 10px;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:18px;font-weight:bold;clear:both}.chooser-options label:has(input:checked){background:#eaf2fb;border-color:#d5e3f1}.chooser-options input{margin:3px 0 0;accent-color:var(--blue);width:18px;height:18px}.chooser-options small{grid-column:2;font-size:14px;font-weight:400;color:var(--muted);margin-top:3px}.chooser-panel{padding:30px 32px;background:#f8fbfe;border-left:1px solid var(--line)}.chooser-panel[hidden]{display:none}.chooser-panel h3{font-size:26px;margin:0 0 5px}.chooser-panel .chooser-subtitle{color:var(--muted);font-size:17px;margin-bottom:18px}.chooser-panel ul{padding:0;list-style:none;margin:20px 0}.chooser-panel li{font-size:17px;position:relative;padding-left:24px;margin-bottom:9px}.chooser-panel li:before{content:'✓';position:absolute;left:0;top:3px;background:var(--blue);color:white;width:16px;height:16px;border-radius:50%;font:bold 12px/16px Arial;text-align:center}.chooser-panel .actions{margin:16px 0}.chooser-panel .small{font-size:14px}.chooser-panel .text-link{font-size:15px}.chooser-footer{grid-column:1/-1;padding:14px 20px;border-top:1px solid var(--line);text-align:center;font-size:15px}.home-screenshot{padding-top:28px;text-align:center}.home-screenshot .product-shot{margin:25px auto 0}.home-screenshot h2{font-size:2rem}.home-screenshot>p{max-width:670px;margin:auto}.pricing-question{max-width:780px;margin:auto}.pricing-question h2{text-align:center}.pricing-question summary{font-size:19px}
.ContentMat{background:transparent}.Copy{font-family:Arial,Helvetica,sans-serif;font-size:16px}.PageHeader{text-align:center;font-family:Arial,sans-serif;font-size:clamp(2rem,3vw,2.9rem);font-weight:750}.PlanTableWrap{box-shadow:0 3px 14px #29233008}.PlanTable{font-family:Arial,sans-serif}.PlanTable thead th:last-child,.PlanHeader.Plus{background:#eef5fc}.PlanTable .FeatureSection th{background:#f4f1f6}.PlanTable th,.PlanTable td{border-color:#e2e0e6}.doc-nav{background:white}.comparison thead{background:white}.note{background:white}.Copy .pure-button{font-size:15px}
@media(min-width:1600px){.hero{padding:45px 0 20px}.wrap{width:min(1120px,calc(100% - 80px))}}
@media(max-width:1050px){.hero .actions{flex-direction:row;align-items:center}.hero h1{font-size:2.8rem}.site-nav{gap:13px}.brand img{width:165px}}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.nav-wrap{min-height:75px}.site-nav{gap:0}.hero .lead,.page-hero p{font-size:19px}.hero h1{font-size:2.5rem}.hero-grid{gap:25px}.section-intro{display:block}.footer-grid{grid-template-columns:repeat(2,1fr)}.product-chooser{grid-template-columns:220px minmax(0,1fr)}.chooser-panel{padding:25px}.section{padding:32px 0}.site-nav .nav-cta{color:white}.page-hero{padding-top:26px}}
@media(max-width:560px){body{font-size:16px}.hero h1,.page-hero h1{font-size:2rem;line-height:1.16}.hero{padding:26px 0 10px}.hero .actions,.page-hero .actions{flex-direction:column;align-items:stretch}.hero .lead,.page-hero p{font-size:18px}.hero h1 br{display:none}.hero h1 em{display:block;margin-top:9px}.marked:after{inset:-2px -6px}.marked:before{inset:0 -8px}.product-chooser{grid-template-columns:1fr}.chooser-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:15px 12px}.chooser-options legend{float:none;grid-column:1/-1;margin-bottom:7px;padding:0 8px}.chooser-options label{padding:10px 7px;font-size:16px;grid-template-columns:19px 1fr;column-gap:5px}.chooser-options small{font-size:12px}.chooser-panel{border-left:0;border-top:1px solid var(--line);padding:24px}.chooser-panel h3{font-size:24px}.chooser-footer{font-size:14px}.three-up{gap:26px}.footer-grid{grid-template-columns:1fr 1fr}.developer-band{padding:24px}.capabilities{font-size:13px;justify-content:center}.hero .small{font-size:13px}.product-card{padding:24px}.comparison th,.comparison td{font-size:13px}}
/* Shared presentation contract. Applies equally to new and retained ASP pages.
   !important is reserved for legacy inline presentation, never business behavior. */
html { scrollbar-gutter: stable; }
body, .Copy { font-family: var(--font-body); font-size: var(--text-body); line-height: 1.5; color: var(--ink); }
button, input, select, textarea { font-family: var(--font-body); }
.wrap, .Content { width: min(var(--content-width), calc(100% - var(--page-gutter) * 2)); margin-inline: auto; }
main { min-height: 48vh; }
h1, h2, h3, h4, .PageHeader, .PageSubHeader, .PageSubHeaderBold { font-family: var(--font-body); font-weight: 700; color: var(--ink); letter-spacing: -.03em; }
.hero h1, .page-hero h1, .PageHeader { font-size: var(--heading-1); line-height: 1.2; margin: 0 auto var(--space-3); padding: 0; max-width: 960px; text-align: center; }
h1 strong { font-weight: inherit; }


h2, .Copy h2, .PageSubHeader, .PageSubHeaderBold, .home-screenshot h2, .developer-band h2, .final-cta h2 { font-size: var(--heading-2); line-height: 1.25; margin: 0 0 var(--space-2); padding: 0; }
h3, .Copy h3, .product-card h3, .chooser-panel h3 { font-size: var(--heading-3); line-height: 1.3; margin: 0 0 var(--space-2); }
p { margin: 0 0 var(--space-3); }
p:last-child { margin-bottom: 0; }
.hero, .page-hero { padding: var(--space-5) 0 var(--space-3); }
.hero-grid { gap: var(--space-4); }
.hero-grid > div { max-width: 960px; }
.hero .eyebrow, .page-hero .eyebrow, .eyebrow { font: 600 var(--text-small)/1.4 var(--font-body); letter-spacing: .04em; margin: 0 0 var(--space-2); color: var(--muted); }
.hero .lead, .hero .hero-platform, .page-hero p:not(.eyebrow):not(.small) { max-width: 800px; font-size: 20px; line-height: 1.5; margin: 0 auto var(--space-3); }
.hero .hero-platform { margin: var(--space-3) auto 0; }
.hero .small, .page-hero .small, .small { font-size: var(--text-small); line-height: 1.5; color: var(--muted); }
.section { padding: var(--space-5) 0; }
.section-intro { margin-bottom: var(--space-4); }
.section-intro h2 { margin-bottom: var(--space-2); }
.section-intro p { margin: 0 auto; }
.section-intro .eyebrow { margin-bottom: var(--space-2); }
.feature p, .split p, .product-card p, .product-card li, .chooser-panel li, .chooser-panel .chooser-subtitle { font-size: var(--text-body); line-height: 1.5; }
.feature .number { font: 600 var(--text-small)/1.4 var(--font-body); margin-bottom: var(--space-2); }
.two-up, .three-up { gap: var(--space-3); }
.split { gap: var(--space-5); }
.product-card, .developer-band, .chooser-panel { padding: var(--space-4); border-radius: var(--radius); }
.chooser-panel { border-radius: 0; }
.product-card h2 { font-size: var(--heading-3); }
.product-card .intro { margin-bottom: var(--space-3); }
.actions, .hero .actions, .page-hero .actions { gap: 12px; margin: var(--space-3) 0 var(--space-2); }
.hero-action { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.page-hero .actions.web-hero-actions,
.hero .actions.desktop-hero-actions { flex-direction: row; align-items: flex-start; flex-wrap: wrap; }
.hero-action-caption { color: var(--muted); font-size: var(--text-small); line-height: 1.5; text-align: center; }
.hero-compare-link { display: inline-block; margin-top: 40px; }
.button, a.button:link, a.button:visited, .pure-button, a.pure-button:link, a.pure-button:visited,
.Copy .pure-button, .PlanHeader .pure-button, .PlanFooterAction .pure-button {
  display: inline-flex; justify-content: center; align-items: center; box-sizing: border-box;
  width: auto; height: auto; min-height: 46px; max-width: 100%;
  padding: 10px 18px; border: 1px solid var(--blue); border-radius: 5px;
  font: 600 16px/24px var(--font-body); color: #fff; background: var(--blue);
  text-decoration: none; white-space: normal; text-align: center; box-shadow: none;
}
a.button:hover, a.pure-button:hover, button.pure-button:hover { color: white; background: #10599d; text-decoration: none; }
.button.secondary, a.button.secondary:link, a.button.secondary:visited { background: white; color: #175f9f; border-color: #b5c4d2; }
a.button.secondary:hover { background: #edf4fa; color: #175f9f; }
.text-link, .hero .text-link, .product-card .text-link, .chooser-panel .text-link { font: 600 16px/1.5 var(--font-body); }
:is(.hero, .page-hero) .hero-compare-link { font-size: 20px; }
a.hero-compare-link.arrow-link, a.hero-compare-link.arrow-link:hover, a.hero-compare-link.arrow-link:focus-visible { text-decoration: none; }
.hero-compare-link .arrow-link-label { text-decoration: underline; text-underline-offset: 3px; }
.site-nav .nav-cta { font: 600 14px/22px var(--font-body); padding: 10px 16px; min-height: 44px; }
.site-footer { padding: var(--space-2) 0 var(--space-3); margin-top: var(--space-5); }
.footer-grid { gap: var(--space-4); }
.footer-grid h2 { font: 700 16px/1.4 var(--font-body); letter-spacing: 0; margin-bottom: var(--space-2); }
.footer-grid li { margin-bottom: var(--space-1); }
.footer-brand p, .site-footer a { font-size: var(--text-small); line-height: 1.5; }
.footer-bottom { margin-top: var(--space-4); padding-top: var(--space-3); font-family: var(--font-body); font-size: var(--text-small); line-height: 1.5; }
.product-shot { border-radius: var(--radius); }
.shot-bar, .product-shot figcaption { padding: 12px 16px; font-family: var(--font-body); font-size: 13px; line-height: 1.5; }
.home-screenshot { padding-top: 0; }
.home-screenshot .product-shot { margin-top: var(--space-4); }
.desktop-requirements { max-width: 760px; margin: var(--space-4) auto 0; padding: var(--space-3) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; }
.desktop-requirements h2 { font-size: 19px; line-height: 1.4; margin-bottom: var(--space-2); }
.desktop-requirements p { max-width: 760px; margin: 0 auto var(--space-2); font-size: var(--text-body); line-height: 1.5; }
.desktop-requirements p:last-child { margin-bottom: 0; }
.home-why-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--space-5); }
body:is(.page-web, .page-desktop) > main { --product-gutter: 90px; --product-spacing: 80px; padding-bottom: 0; }
body:is(.page-web, .page-desktop) > main > section {
  margin-inline: calc(-1 * var(--product-gutter));
  padding: var(--product-spacing) var(--product-gutter);
}
body:is(.page-web, .page-desktop) > main > .section:last-child { padding-bottom: var(--product-spacing); }
body:is(.page-web, .page-desktop) .product-final-section { border-top: 1px solid var(--line); }
body:is(.page-web, .page-desktop) .final-cta { padding: 0; border-top: 0; }
body:is(.page-web, .page-desktop) .final-cta .actions { align-items: flex-start; }
:is(.page-home .home-final-section, .page-web .product-final-section, .page-desktop .product-final-section) .final-cta { align-items: flex-start; column-gap: 48px; }
:is(.page-home .home-final-section, .page-web .product-final-section, .page-desktop .product-final-section) .final-cta > div:first-child { min-width: 0; }
:is(.page-home .home-final-section, .page-web .product-final-section, .page-desktop .product-final-section) .actions { align-items: flex-start; flex-shrink: 0; width: max-content; max-width: 100%; margin-block: 0; }
:is(.page-home .home-final-section, .page-web .product-final-section, .page-desktop .product-final-section) .button { white-space: nowrap; }
.page-desktop .hero-grid > div { max-width: none; }
.page-desktop .desktop-requirements {
  max-width: none;
  margin-inline: calc(-1 * var(--product-gutter));
  padding-inline: var(--product-gutter);
}
@media(max-width:850px) {
  body:is(.page-web, .page-desktop) > main { --product-gutter: 48px; --product-spacing: 48px; }
}
@media(max-width:560px) {
  body:is(.page-web, .page-desktop) > main { --product-gutter: 24px; --product-spacing: 24px; }
}
.page-home > main { --home-panel-gutter: 90px; --home-section-spacing: 80px; padding-bottom: 0; }
.page-home .home-benefits { padding-block: var(--home-section-spacing); }
.page-home .home-final-section { margin-inline: calc(-1 * var(--home-panel-gutter)); padding: 0 var(--home-panel-gutter); }
.page-home .final-cta { position: relative; border-top: 0; padding-block: var(--home-section-spacing); }
.page-home .final-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-1 * var(--home-panel-gutter));
  right: calc(-1 * var(--home-panel-gutter));
  border-top: 1px solid var(--line);
}
.page-home .home-why {
  margin-inline: calc(-1 * var(--home-panel-gutter));
  padding: 80px var(--home-panel-gutter);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.page-home .home-why,
.page-home .home-final-section,
body:is(.page-web, .page-desktop) .product-final-section {
  background: #f7fafd url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NiAyOCIgd2lkdGg9IjU2IiBoZWlnaHQ9IjI4Ij4KICA8cGF0aCBmaWxsPSIjNTY1NjU2IiBmaWxsLW9wYWNpdHk9IjAuMDYiIGQ9Ik01NiAyNnYyaC03Ljc1YzIuMy0xLjI3IDQuOTQtMiA3Ljc1LTJ6bS0yNiAyYTIgMiAwIDEgMC00IDBoLTQuMDlBMjUuOTggMjUuOTggMCAwIDAgMCAxNnYtMmMuNjcgMCAxLjM0LjAyIDIgLjA3VjE0YTIgMiAwIDAgMC0yLTJ2LTJhNCA0IDAgMCAxIDMuOTggMy42IDI4LjA5IDI4LjA5IDAgMCAxIDIuOC0zLjg2QTggOCAwIDAgMCAwIDZWNGE5Ljk5IDkuOTkgMCAwIDEgOC4xNyA0LjIzYy45NC0uOTUgMS45Ni0xLjgzIDMuMDMtMi42M0ExMy45OCAxMy45OCAwIDAgMCAwIDBoNy43NWMyIDEuMSAzLjczIDIuNjMgNS4xIDQuNDUgMS4xMi0uNzIgMi4zLTEuMzcgMy41My0xLjkzQTIwLjEgMjAuMSAwIDAgMCAxNC4yOCAwaDIuN2MuNDUuNTYuODggMS4xNCAxLjI5IDEuNzQgMS4zLS40OCAyLjYzLS44NyA0LTEuMTUtLjExLS4yLS4yMy0uNC0uMzYtLjU5SDI2di4wN2EyOC40IDI4LjQgMCAwIDEgNCAwVjBoNC4wOWwtLjM3LjU5YzEuMzguMjggMi43Mi42NyA0LjAxIDEuMTUuNC0uNi44NC0xLjE4IDEuMy0xLjc0aDIuNjlhMjAuMSAyMC4xIDAgMCAwLTIuMSAyLjUyYzEuMjMuNTYgMi40MSAxLjIgMy41NCAxLjkzQTE2LjA4IDE2LjA4IDAgMCAxIDQ4LjI1IDBINTZjLTQuNTggMC04LjY1IDIuMi0xMS4yIDUuNiAxLjA3LjggMi4wOSAxLjY4IDMuMDMgMi42M0E5Ljk5IDkuOTkgMCAwIDEgNTYgNHYyYTggOCAwIDAgMC02Ljc3IDMuNzRjMS4wMyAxLjIgMS45NyAyLjUgMi43OSAzLjg2QTQgNCAwIDAgMSA1NiAxMHYyYTIgMiAwIDAgMC0yIDIuMDcgMjguNCAyOC40IDAgMCAxIDItLjA3djJjLTkuMiAwLTE3LjMgNC43OC0yMS45MSAxMkgzMHpNNy43NSAyOEgwdi0yYzIuODEgMCA1LjQ2LjczIDcuNzUgMnpNNTYgMjB2MmMtNS42IDAtMTAuNjUgMi4zLTE0LjI4IDZoLTIuN2M0LjA0LTQuODkgMTAuMTUtOCAxNi45OC04em0tMzkuMDMgOGgtMi42OUMxMC42NSAyNC4zIDUuNiAyMiAwIDIydi0yYzYuODMgMCAxMi45NCAzLjExIDE2Ljk3IDh6bTE1LjAxLS40YTI4LjA5IDI4LjA5IDAgMCAxIDIuOC0zLjg2IDggOCAwIDAgMC0xMy41NSAwYzEuMDMgMS4yIDEuOTcgMi41IDIuNzkgMy44NmE0IDQgMCAwIDEgNy45NiAwem0xNC4yOS0xMS44NmMxLjMtLjQ4IDIuNjMtLjg3IDQtMS4xNWEyNS45OSAyNS45OSAwIDAgMC00NC41NSAwYzEuMzguMjggMi43Mi42NyA0LjAxIDEuMTVhMjEuOTggMjEuOTggMCAwIDEgMzYuNTQgMHptLTUuNDMgMi43MWMxLjEzLS43MiAyLjMtMS4zNyAzLjU0LTEuOTNhMTkuOTggMTkuOTggMCAwIDAtMzIuNzYgMGMxLjIzLjU2IDIuNDEgMS4yIDMuNTQgMS45M2ExNS45OCAxNS45OCAwIDAgMSAyNS42OCAwem0tNC42NyAzLjc4Yy45NC0uOTUgMS45Ni0xLjgzIDMuMDMtMi42M2ExMy45OCAxMy45OCAwIDAgMC0yMi40IDBjMS4wNy44IDIuMDkgMS42OCAzLjAzIDIuNjNhOS45OSA5Ljk5IDAgMCAxIDE2LjM0IDB6Ii8+Cjwvc3ZnPgo=') repeat;
}
.page-home #choose {
  margin-inline: calc(-1 * var(--home-panel-gutter));
  padding: 80px var(--home-panel-gutter);
  border-bottom: 1px solid var(--line);
}
.home-why-layout + .home-why-layout { border-top: 0; }
.home-why h2 { max-width: 440px; margin-bottom: 0; font-size: clamp(30px, 3vw, 38px); }
.home-why-copy p { margin-bottom: var(--space-3); color: #454b51; font-size: 18px; line-height: 1.65; }
.home-why-copy p:last-child { margin-bottom: 0; }
.benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.web-product-screenshot { position: relative; grid-column: 1 / -1; width: 100%; aspect-ratio: 1281 / 1081; margin: var(--space-3) 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
.web-product-screenshot img { position: absolute; top: 0; left: 0; display: block; width: 105.4%; max-width: none; height: auto; transform: translate(-2.6%, -3.2%); }
.page-home .benefits-grid { grid-auto-flow: row dense; }
@media(max-width:1100px) {
  .benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-web .web-benefits .benefit-card:nth-child(-n+2) { order: -2; }
  .page-web .web-benefits .web-product-screenshot { order: -1; }
}
@media(max-width:700px) {
  .page-web .web-benefits .benefit-card:nth-child(2) { order: 0; }
}
.benefit-card { min-height: 210px; padding: var(--space-4); border: 1px solid #e7ebf0; border-radius: var(--radius); background: #f7f8fa; text-align: left; overflow: hidden; }
.benefit-card h3 { max-width: 390px; margin-bottom: 12px; font-size: 23px; }
.benefit-card p { max-width: 390px; margin: 0; color: #4f5961; font-size: 16px; line-height: 1.5; }
.benefit-card-step .number { display: block; margin-bottom: 12px; color: var(--muted); font: 600 var(--text-small)/1.4 var(--font-body); }
.benefit-card-with-image { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--space-4); align-items: stretch; min-height: 300px; padding: 0; }
.benefit-copy { padding: var(--space-4); align-self: start; }
.benefit-image { display: flex; align-items: center; padding: var(--space-4); min-width: 0; }
.benefit-image img { display: block; width: 100%; max-height: 285px; object-fit: cover; object-position: top left; border: 1px solid #dce3e9; border-radius: 4px; box-shadow: none; }
.product-chooser { margin-top: var(--space-4); border-radius: var(--radius); }
.chooser-options { padding: var(--space-3) var(--space-2); }
.chooser-panel .small { font-size: var(--text-small); }
.chooser-footer { padding: var(--space-2) var(--space-3); font-size: var(--text-small); }
.note, .doc-nav { padding: var(--space-2) var(--space-3); border-radius: var(--radius); }
.doc-nav { font: 400 16px/1.5 var(--font-body); margin: 0 0 var(--space-4); width: 100%; }
.support-cards .text-link { margin-top: auto; }
/* Legacy pages: use normal text flow instead of a flex container around prose. */
.page-legacy .ContentMat { padding: var(--space-5) 0; }
.page-legacy .FlexContainer { display: block; }
.page-legacy .PageHeader { margin-bottom: var(--space-4); }
.copy-break { display: block; height: 0; margin: 0 0 var(--space-3); }

.Copy .PageSubHeader, .Copy .PageSubHeaderBold { font-size: var(--heading-2); line-height: 1.25; margin: var(--space-4) 0 var(--space-2); }
.Copy .PageSubHeader:first-child, .Copy .PageSubHeaderBold:first-child { margin-top: 0; }
.Copy .PolicyHeader { padding: 0; margin: var(--space-4) 0 var(--space-2); font-size: var(--heading-2); }
.Copy .PolicySubHeader { padding: 0; margin: var(--space-3) 0 var(--space-2); font-size: var(--heading-3); line-height: 1.3; }
.Copy ul, .Copy ol { margin-top: var(--space-2); padding-left: var(--space-3); }
.Copy li, .Copy li.Pad { padding-bottom: 0; margin-bottom: var(--space-2); }
.Copy .faqq { font-weight: 700; padding-bottom: var(--space-1); }
.Copy .faqa { padding-bottom: var(--space-3); }
.faqsep, .apisep { margin: var(--space-4) 0; border: 0; border-top: 1px solid var(--line); }
.ChangeLog > div { padding-bottom: 0; margin: var(--space-4) 0 var(--space-2); }
.ChangeLog > div:first-child { margin-top: 0; }
.ChangeLog ul { padding-bottom: 0; margin-bottom: var(--space-4); }
.page-download .ChangeLog > div { margin-top: 56px; }
.page-download .ChangeLog > div:first-child { margin-top: 0; }
:is(.page-download, .page-releases, .page-api-releases) .ChangeLog > ul { margin-bottom: 0; }
:is(.page-download, .page-releases, .page-api-releases) .ChangeLog > div:not(:first-child) { position: relative; margin-top: 40px; padding-top: 40px; }
:is(.page-download, .page-releases, .page-api-releases) .ChangeLog > div:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border-top: 1px solid var(--line);
}
:is(.page-terms, .page-privacy, .page-eula) .Content { max-width: none; }
:is(.page-terms, .page-privacy, .page-eula) .Copy .PolicyHeader { font-size: 24px; }
.author-credit { padding-top: var(--space-2); font: 700 18px/1.5 var(--font-body); color: var(--ink); }
/* Preserve the existing purchase/sidebar structure, with a usable card width. */
.purchase-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: var(--space-5); width: 100%; align-items: start; }
#PricingBuy { grid-column: 2; grid-row: 1; float: none; width: auto !important; padding: 0 !important; }
#PricingInfo { grid-column: 1; grid-row: 1; min-width: 0; }
.license-card { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: var(--space-3); margin-bottom: var(--space-2); font-size: var(--text-body); line-height: 1.5; }
.license-card .pure-button { margin-top: var(--space-2); }
.api-intro { max-width: 860px; margin: 0 auto var(--space-5); text-align: center; }
.api-intro .actions { justify-content: center; }
.api-intro .code { text-align: left; }
/* Tables have a deliberate compact text size; controls match the rest of the site. */
.PlanComparison { max-width: 100%; }
.PlanComparisonIntro { max-width: 860px; margin: 0 auto var(--space-4); text-align: center; font: 400 var(--text-body)/1.5 var(--font-body); color: var(--muted); }
.PlanTable, .comparison, .table { font: 400 var(--text-table)/1.5 var(--font-body); }
.PlanHeader, .PlanHeaderIntro { padding: var(--space-3); min-height: 240px; }
.PlanName { font-size: 18px; line-height: 1.4; margin-bottom: var(--space-1); }
.PlanPrice { font-size: 32px; line-height: 1.2; }
.PlanPriceDetail, .PlanSummary { font-size: var(--text-small); line-height: 1.5; }
.PlanTable th, .PlanTable td, .comparison th, .comparison td, .table th, .table td,
.table th:not(:first-child), .table td:not(:first-child) { padding: var(--space-2); }
.PlanTable .FeatureSection th { padding: 12px 16px; font-size: 13px; line-height: 1.5; }
.PlanHeader .pure-button, .PlanFooterAction .pure-button { margin-top: var(--space-2); }
.FeatureName { display: inline; }
.feature-detail { margin-top: var(--space-1); font-size: 13px; line-height: 1.5; }
.ComparisonNote { padding: var(--space-2) var(--space-3); margin-top: var(--space-3); border-radius: var(--radius); font-size: var(--text-small); line-height: 1.5; }
.Copy pre, .code, code[class*="language-"] { font: 14px/1.6 var(--font-code); }
.Copy pre { padding: var(--space-3); border-radius: var(--radius); }
.code-sample-header { padding: var(--space-2); font-family: var(--font-body); }
.code-sample-header button, .copy-code { font: 600 14px/1.5 var(--font-body); border-radius: 5px; padding: 8px 12px; min-height: 38px; }
/* Existing forms keep their action, field names, and server processing. */
.account-content { max-width: 560px; margin: auto; }
.page-freetrial form, .page-licenselookup form, .page-download form, .page-renew form, .page-upgrade form { max-width: 560px; margin: var(--space-3) 0; }
.page-download form { margin-bottom: 0; }
.page-renew form { margin-bottom: 0; }
.page-licenselookup form { margin-bottom: 0; }
.page-freetrial .FlexContainer > div, .page-licenselookup .FlexContainer > div,
.page-renew .FlexContainer > div, .page-upgrade .FlexContainer > div { max-width: 560px; margin-inline: auto; }
.Copy form label { font: 600 16px/1.5 var(--font-body); margin: var(--space-2) 0 var(--space-1); }
.Copy form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]) { display: block; width: 100% !important; border: 1px solid #909ba5 !important; border-radius: 5px; padding: 10px 12px !important; min-height: 46px; margin: 0 0 var(--space-2) !important; font: 400 16px/24px var(--font-body); color: var(--ink); background: white; }
.page-freetrial .FlexContainer > .account-content { margin-inline: 0; }
.page-licenselookup .FlexContainer > .account-content { margin-inline: 0; }
.page-freetrial .account-content :is(#firstname, #email) { width: min(380px, 100%) !important; }
.page-licenselookup .account-content #email { width: min(380px, 100%) !important; }
.page-download #license-key { width: min(280px, 100%) !important; }
.Copy select { font: 400 16px/24px var(--font-body); border: 1px solid #909ba5; border-radius: 5px; padding: 8px 10px; }
.Copy form .pure-button { margin-top: var(--space-1) !important; }
.form-help { display: block; margin: var(--space-1) 0 var(--space-2); font-size: var(--text-small); }
.Copy form br { display: none; }
@media (max-width: 850px) {
  :root { --page-gutter:20px; --space-5:32px; --space-4:24px; }
  .hero, .page-hero { padding-top: var(--space-5); }
  .hero h1, .page-hero h1, .PageHeader { font-size: var(--heading-1); }
  .hero .lead, .hero .hero-platform, .page-hero p:not(.eyebrow):not(.small) { font-size: var(--text-body); }
  :is(.hero, .page-hero) .hero-compare-link { font-size: var(--text-body); }
  .hero .eyebrow, .page-hero .eyebrow { font-size: var(--text-small); }
  .purchase-layout { grid-template-columns: minmax(0,1fr); gap: var(--space-4); }
  #PricingBuy, #PricingInfo { grid-column: 1; grid-row: auto; }
  #PricingBuy { max-width: 560px; width: 100% !important; margin-inline: auto; }
}
@media (max-width:560px) {
  .hero h1, .page-hero h1, .PageHeader { font-size: 32px; }
  .hero .small, .page-hero .small { font-size: var(--text-small); }
  .chooser-panel, .product-card, .developer-band { padding: var(--space-3); }
  .chooser-options { padding: var(--space-2); }
  .comparison th, .comparison td { font-size: 14px; padding: 12px; }
  .footer-grid { gap: var(--space-3); }
}
/* Final alignment for mixed-content pages and the inherited license card markup. */
.hero .hero-grid > div > p:last-child, .page-hero .wrap > p:last-child { margin-bottom: 0; }
.page-hero + .section { padding-top: var(--space-4); }
.section > .wrap > .product-chooser:first-child { margin-top: 0; }

@media (max-width: 560px) {
  .chooser-options {
    grid-template-columns: 1fr;
  }
}
.table { overflow-wrap: normal; }
.table th:first-child, .table td:first-child { white-space: nowrap; }
.license-card > div:first-child { font-size: var(--heading-3) !important; line-height: 1.3 !important; padding-bottom: var(--space-2) !important; }
.license-card .Gray-Darker { color: var(--muted); font-size: 16px !important; line-height: 1.5; }
.license-card [style*="font-size:2em"] { font-size: 32px !important; line-height: 1.2; }
.license-card [style*="padding-bottom:20px"] { padding-bottom: var(--space-3) !important; }
.page-download .W100 > div[style*="padding-left:40px"] { padding-left: 0 !important; display: grid; grid-template-columns: 1.25fr .9fr 1.1fr; gap: var(--space-4); }
.page-download .W100 > div > div[style*="float:left"] { float: none !important; padding-left: 0 !important; }
.page-download .W100[style*="padding-bottom:80px"] { padding-bottom: 0 !important; }
.PageSubSubHeader, .Copy .PageSubSubHeader { font: 700 var(--heading-3)/1.3 var(--font-body); color: var(--ink); margin: var(--space-4) 0 var(--space-2); padding: 0; }
.code-sample-header { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.code-sample-header > * { float: none !important; margin: 0 !important; }
.code-sample-header > span { margin-right: auto !important; font-size: 16px; }
.code-sample-header button { background: white; border: 1px solid #909ba5; color: var(--ink); }
@media(max-width:560px) {
  .code-sample-header > span { flex-basis: 100%; }
  .code-sample-header .copy-button { order: 5; }
  /* Reflow the existing comparison; no duplicated plan facts or prices. */
  .PlanTable, .PlanTable thead, .PlanTable tbody, .PlanTable tfoot { display: block; width: 100%; min-width: 0; }
  .PlanTable tr { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .PlanTable th, .PlanTable td, .PlanTable thead th:first-child, .PlanTable thead th:not(:first-child) { width: auto; min-width: 0; }
  .PlanTable thead th:first-child, .PlanTable tbody th, .PlanTable tfoot td:first-child { grid-column: 1 / -1; }
  .PlanTable .PlanHeaderIntro { min-height: 0; padding: 16px; }
  .PlanTable .PlanHeader { min-height: 0; height: 100%; padding: 20px 12px; justify-content: flex-start; }
  .PlanTable .PlanHeader .pure-button { margin-top: auto; width: 100%; }
  .PlanTable .PlanPriceDetail { margin-bottom: 16px; }
  .PlanTable .PlanName { font-size: 16px; min-height: 44px; }
  .PlanTable .PlanPrice { font-size: 28px; }
  .PlanTable .PlanPriceTerm { display: block; font-size: 13px; }
  .PlanTable tbody th { padding: 12px 16px; background: #f4f1f6 !important; }
  .PlanTable tbody td { padding: 16px 12px; }
  .PlanTable tbody td:before { display: block; font-weight: 700; font-size: 13px; color: var(--ink); margin-bottom: 8px; }
  .PlanTable tbody td:nth-child(2):before { content: 'Free'; }
  .PlanTable tbody td:nth-child(3):before { content: 'Plus'; }
}
/* Keep navigation beside the logo and account actions at the right edge. */
.nav-wrap { justify-content: flex-start; }
.site-nav { flex: 1; }
.nav-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.site-nav .nav-actions > a { display: inline-flex; align-items: center; justify-content: center; font: 600 14px/22px var(--font-body); padding: 10px 16px; min-height: 44px; white-space: nowrap; text-decoration: none; box-sizing: border-box; }
@media(max-width:850px) {
  .menu-toggle { margin-left: auto; }
  .site-nav { flex: 0 0 100%; }
  .nav-actions { margin-left: 0; padding-top: 8px; }
  .site-nav .nav-actions > a { margin-top: 0; }
}
/* Shared FAQ presentation, matching the pricing page. */
.Copy .purchase-faq-heading { padding-top: var(--space-5); }
.faq-item { border-bottom: 1px solid var(--line); padding: 18px 0; scroll-margin-top: 24px; }
.faq-item > summary { font-size: 19px; font-weight: 600; cursor: pointer; }
:is(.page-buy, .page-api, .product-faq, .renew-faq) .faq-item > summary { display: block; list-style: none; }
:is(.page-buy, .page-api, .product-faq, .renew-faq) .faq-item > summary::-webkit-details-marker { display: none; }
:is(.page-buy, .page-api, .product-faq, .renew-faq) .faq-item > summary::after { content: ""; display: inline-block; margin-left: 8px; width: 0; height: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid currentColor; }
:is(.page-buy, .page-api, .product-faq, .renew-faq) .faq-item[open] > summary::after { transform: rotate(90deg); }
.faq-item > .faq-answer { margin-top: 16px; padding: 0; color: var(--ink); }

/* Soft marker emphasis for the homepage headline. */
.marked.marker-highlight::before { content: none; }
.marked.marker-highlight::after { inset: 34% -4px 8%; border: 0; border-radius: 3px 5px 2px 4px; background: #f8df7c; transform: rotate(-1deg); clip-path: polygon(0 7%, 99% 0, 100% 91%, 1% 100%); }
.home-why .marker-highlight { display: inline; white-space: normal; background: linear-gradient(178deg, transparent 34%, #f8df7c 34%, #f8df7c 92%, transparent 92%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.home-why .marker-highlight::after { content: none; }

/* Center constrained eyebrow labels above page headings. */
.page-hero .eyebrow { margin-inline: auto; }

/* Let the longer Desktop highlight wrap on narrow screens. */
@media(max-width:560px) {
  .desktop-headline .marker-highlight, .web-headline .marker-highlight { display: inline; white-space: normal; background: linear-gradient(transparent 34%, #f8df7c 34%, #f8df7c 92%, transparent 92%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
  .desktop-headline .marker-highlight::after, .web-headline .marker-highlight::after { content: none; }
}

@media(max-width:700px) {
  .home-why-layout { grid-template-columns: 1fr; gap: var(--space-3); }
  .benefits-grid { grid-template-columns: 1fr; }
  .benefit-card { min-height: 0; grid-column: 1 / -1; }
  .benefit-card-with-image { grid-column: auto; grid-template-columns: 1fr; gap: 0; }
  .benefit-image { padding: var(--space-3); }
  .benefit-image img { max-height: none; }
}

/* Match dropdown labels to the other navigation links. */
.site-nav summary {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-nav summary::after {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  margin: -3px 0 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}
.site-nav .nav-drop { width: max-content; }
.site-nav .nav-drop a { white-space: nowrap; }
@media(max-width:910px) {
  .site-nav .nav-drop { width: auto; }
}

.footer-legal-links { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 24px; }

.site-footer a.copyright-owner { color: inherit; text-decoration: none; }
.site-footer a.copyright-owner:hover, .site-footer a.copyright-owner:focus-visible { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }

/* Center all Desktop purchase card content. */
.page-buy .license-card, .page-api .license-card { text-align: center; }
.page-buy .license-card { background: #eef5ff; }
.page-api .license-card { background: #eef5ff; }

@media(min-width:851px) {
  .page-buy .purchase-layout { grid-template-columns: minmax(0,1fr) 310px; }
  .page-api .purchase-layout { grid-template-columns: minmax(0,1fr) min-content; }
}
@media(min-width:851px) and (max-width:1100px) {
  .page-api .purchase-layout { grid-template-columns: minmax(0,1fr); }
  .page-api #PricingBuy, .page-api #PricingInfo { grid-column: 1; grid-row: auto; }
  .page-api #PricingBuy { max-width: 560px; width: 100% !important; margin-inline: auto; }
}
@media(min-width:1101px) {
  .page-api .license-card .Gray-Darker { white-space: nowrap; }
}

.refund-signature { display: flow-root; }

.license-benefits .benefit-title { display: block; margin-bottom: 4px; }
.Copy .license-benefits { padding-left: 20px; margin-left: 0; text-align: left; }

/* Slightly larger navigation text, including dropdown links. */
.site-nav > a, .site-nav summary, .site-nav .nav-drop a { font-size: 15px; }

/* Align desktop navigation underlines with the account buttons' bottom edge. */
@media(min-width:851px) {
  .site-nav { align-items: flex-end; }
  .site-nav > a, .site-nav > details > summary {
    line-height: 18px;
    padding-bottom: 0;
    position: relative;
    top: 1px;
  }
  .site-nav > details > summary { padding-top: 22px; }
}

/* Align the logo with the desktop navigation and button baseline. */
@media(min-width:851px) {
  .nav-wrap { align-items: flex-end; padding-top: 23px; padding-bottom: 23px; box-sizing: border-box; }
}

/* Account for the empty space below the lettering in the logo image. */
@media(min-width:851px) {
  .site-header .brand { transform: translateY(9px); }
}

/* API heading follows the shared product headline style. */
.api-intro .api-headline { margin-bottom: var(--space-3); }
@media(max-width:560px) {
  .api-headline .marker-highlight { display: inline; white-space: normal; background: linear-gradient(transparent 34%, #f8df7c 34%, #f8df7c 92%, transparent 92%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
  .api-headline .marker-highlight::after { content: none; }
}

/* Keep every purchase-card content row centered on both pricing pages. */
.license-card, .license-card > div { text-align: center; }

/* Contain each page's main content in one white editorial panel. */
:root { --content-panel-shadow: 0 1px 4px rgb(41 35 48 / 3%); }
body > main {
  width: min(1180px, calc(100% - 64px));
  margin: var(--space-2) auto 0;
  padding: 80px 90px 90px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--content-panel-shadow);
  overflow: hidden;
}

.page-home > main > .hero { padding-bottom: 80px; }
.page-home .hero :is(.lead, .hero-platform) { text-align: left; }
.page-web .page-hero > .wrap > p,
.page-desktop .hero .lead,
.page-api .api-intro > p { text-align: left; font-size: 20px; line-height: 1.5; }
@media (max-width: 850px) {
  .page-api .api-intro > p { font-size: var(--text-body); }
}

.page-download > main {
  padding: 80px 90px 90px;
}

.page-renew > main {
  padding: 80px 90px 90px;
}

.page-plans > main {
  padding: 80px 90px 90px;
}

.page-api > main {
  padding: 80px 90px 90px;
}

.page-download .ContentMat,
.page-renew .ContentMat,
.page-plans .ContentMat,
.page-api .ContentMat {
  padding: 0;
}

.page-download .system-requirements li {
  margin-bottom: 0;
}

.page-download .system-requirements,
.page-download .ChangeLog > ul {
  margin-left: 0;
  padding-left: 20px;
}

/* Keep keyboard focus visible without the harsh red field outline. */
input:not([type="radio"]):not([type="checkbox"]):focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #75b7e3;
  outline-offset: 2px;
  border-color: #75a9cf;
  box-shadow: 0 0 0 4px rgb(117 183 227 / 18%);
}

.page-download .older-version-note {
  margin-top: 16px;
  color: #4f5961;
  font-size: 16px;
  line-height: 1.5;
}

.page-download .download-help-links {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

@media(max-width:850px) {
  .page-download .W100 > .download-overview {
    grid-template-columns: 1fr;
  }
}

/* Restrained heading for task-focused pages such as downloads and account tools. */
.page-legacy .utility-page-title {
  max-width: none;
  margin: 0 0 32px;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--line);
  font-size: 32px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.02em;
  text-align: left;
}
.page-legacy .utility-page-title.no-divider { border-bottom: 0; padding-bottom: 0; }
.page-support .page-hero { padding-bottom: 0; text-align: left; }
.page-support .page-hero p:not(.eyebrow):not(.small) { max-width: none; margin: 0; text-align: left; font-size: var(--text-body); line-height: 1.65; }
.page-support .support-cards .product-card { background: #f7f8fa; border-color: #e7ebf0; box-shadow: none; }
.page-support .support-cards h2 { font-size: 23px; }
.page-support .support-cards p { color: #4f5961; }

.page-download .release-notes-title {
  margin-top: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.page-renew .renew-faq {
  max-width: 780px;
  margin: 0;
}

.page-renew .FlexContainer > div,
.page-renew .account-content {
  margin-left: 0;
  margin-right: 0;
}

.page-renew .renew-faq h2 {
  margin-bottom: 12px;
  font-size: 30px;
}

.page-renew .renew-faq .faq-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.page-buy .faq-item:last-of-type {
  border-bottom: 0;
}

.page-api .faq-item:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
}

/* The panel supplies the outer gutter; do not add another gutter inside it. */
body > main .wrap,
body > main .Content {
  width: 100%;
}

body > main > .hero:first-child,
body > main > .page-hero:first-child,
body > main > .section:first-child {
  padding-top: 0;
}

body > main > .section:last-child {
  padding-bottom: 0;
}

@media(max-width:850px) {
  body > main {
    width: calc(100% - 24px);
    padding: 48px;
  }

  .page-home > main { --home-panel-gutter: 48px; --home-section-spacing: 48px; }
  .page-home > main > .hero { padding-bottom: 48px; }
  .page-home .home-why { padding-block: 48px; }
  .page-home #choose { padding-block: 48px; }

  .page-download > main,
  .page-renew > main,
  .page-plans > main,
  .page-api > main {
    padding: 48px;
  }
}

@media(max-width:560px) {
  body > main {
    width: 100%;
    margin-top: 0;
    padding: 24px;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: var(--content-panel-shadow);
  }

  .page-home > main { --home-panel-gutter: 24px; --home-section-spacing: 24px; }
  .page-home > main > .hero { padding-bottom: 24px; }
  .page-home .home-why { padding-block: 24px; }
  .page-home #choose { padding-block: 24px; }

  .page-download > main,
  .page-renew > main,
  .page-plans > main,
  .page-api > main {
    padding: 24px;
  }
}

/* Keep the footer open at the top and extend its legal divider edge to edge. */
.site-footer { border-top: 0; overflow: hidden; }
.footer-bottom { position: relative; border-top: 0; }
.footer-bottom::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  border-top: 1px solid var(--line);
  transform: translateX(-50%);
}

/* The extra API link needs the compact menu before the desktop row gets crowded. */
@media(min-width:851px) and (max-width:910px) {
  .nav-wrap { align-items: center; flex-wrap: wrap; gap: 0; min-height: 75px; padding-top: 0; padding-bottom: 0; }
  .site-header .brand { transform: none; }
  .menu-toggle { display: block; margin-left: auto; }
  .site-nav { flex: 0 0 100%; width: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0 20px; }
  .site-nav[hidden] { display: none; }
  .site-nav > a, .site-nav > details > summary { display: block; padding: 12px 8px; line-height: 1.5; top: auto; }
  .nav-drop { position: static; box-shadow: none; margin: 0 8px 6px; }
  .nav-actions { margin-left: 0; padding-top: 8px; }
}

/* Reusable content sections: use content-section on each main page section.
   Keep vertical spacing in one token; horizontal gutters remain responsive. */
:root { --content-section-padding: 90px; --content-panel-gutter: 90px; }
@media(max-width:850px) { :root { --content-panel-gutter: 48px; } }
@media(max-width:560px) { :root { --content-panel-gutter: 24px; } }
.content-divider {
  border: 0;
  border-top: 1px solid var(--line);
  margin: var(--content-section-padding) calc(-1 * var(--content-panel-gutter));
}
.page-download .content-divider { margin-block: 80px; }
.page-renew .content-divider { margin-bottom: 80px; }
.page-api-documentation .content-divider { margin-block: 80px; }
.page-api-documentation .content-divider + .PageSubHeaderBold { margin-top: 0; }
.FlexContainer > .content-divider {
  width: calc(100% + 2 * var(--content-panel-gutter));
  max-width: none;
}
.page-api .api-intro { margin-bottom: 0; }
.page-api .api-intro .actions { margin-bottom: 0; }
body > main#main-content { padding-block: var(--content-section-padding); }
.page-download > main#main-content { padding-block: 90px; }
.page-licenselookup > main#main-content { padding-block: 90px; }
body > main#main-content:has(> .content-section) { padding-top: 0; padding-bottom: 0; }
body > main#main-content > .content-section { padding-block: var(--content-section-padding); }
body > main#main-content .ContentMat { padding-top: 0; padding-bottom: 0; }
body > main#main-content > section .final-cta { padding-top: 0; padding-bottom: 0; }
.page-home > main#main-content .final-cta::before { top: calc(-1 * var(--content-section-padding)); }
.page-web > main > .page-hero,
.page-desktop > main > .hero { border-bottom: 1px solid var(--line); }
/* A final action row must not add its own margin to the section inset. */
main#main-content .content-section > .wrap > .actions:last-child,
main#main-content .content-section > .hero-grid > div:last-child > .actions:last-child { margin-bottom: 0; }

/* Align visible text edges with the section inset, rather than font leading. */
@supports (text-box-trim: trim-both) {
  main#main-content :is(.hero, .page-hero) h1,
  main#main-content .section-intro > :first-child,
  main#main-content .home-why h2,
  main#main-content .home-why-copy > :first-child,
  main#main-content .final-cta h2,
  main#main-content .ContentMat > :first-child {
    text-box-trim: trim-start;
    text-box-edge: cap alphabetic;
  }
  main#main-content .home-why-copy > :last-child,
  main#main-content .final-cta p:last-child,
  main#main-content .hero-compare-link {
    text-box-trim: trim-end;
    text-box-edge: cap alphabetic;
  }
  main#main-content .content-section > .wrap > .actions:last-child .hero-action-caption,
  main#main-content .content-section > .hero-grid > div:last-child > .actions:last-child .hero-action-caption {
    text-box-trim: trim-end;
    text-box-edge: cap alphabetic;
  }
  main#main-content .final-cta .actions { margin-block: 0; }
}

/* Product FAQs reuse the purchase FAQ controls and section spacing. */
.product-faq { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-faq .faq-item:last-child { border-bottom: 0; padding-bottom: 0; }
.product-faq h2 { text-box-trim: trim-start; text-box-edge: cap alphabetic; }

/* Comparison page follows the shared panel and section presentation. */
.page-compare > main > .content-section {
  margin-inline: calc(-1 * var(--content-panel-gutter));
  padding-inline: var(--content-panel-gutter);
}
.page-compare > main > .content-section + .content-section { border-top: 0; }
.page-compare .page-hero h1 { margin-bottom: 64px; }
body.page-compare > main#main-content > .page-hero { padding-bottom: 0; }
body.page-compare > main#main-content > .page-hero + .section { padding-top: 64px; }
.page-compare .page-hero p:last-child { margin-bottom: 0; text-box-trim: trim-end; text-box-edge: cap alphabetic; }
.page-compare .product-card { background: #f7f8fa; border-color: #e7ebf0; border-top-width: 1px; box-shadow: none; }
.page-compare .product-card h2 { font-size: 23px; }
.page-compare .product-card p { color: #4f5961; }
.page-compare .product-card .actions { align-items: flex-start; }
.page-compare .product-card.desktop .actions { flex-wrap: nowrap; }
.page-compare .product-card.desktop .button { white-space: nowrap; padding-inline: 12px; }
@media (min-width: 561px) and (max-width: 1199px) {
  .page-compare .two-up { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .page-compare .product-card.desktop .actions { flex-wrap: wrap; }
}
.page-compare .comparison { font-size: var(--text-body); }
.page-compare .comparison th, .page-compare .comparison td { font-size: var(--text-body); line-height: 1.5; border-bottom: 0; }
.page-compare .comparison thead { background: #f7f8fa; }
.page-compare .comparison tbody tr:nth-child(even) { background: #f7f8fa; }
.page-compare .table-scroll { box-shadow: none; border: 1px solid var(--line); border-radius: var(--radius); }
.page-compare .note { font-size: var(--text-body); background: #f7f8fa; }
.page-compare .final-cta { border-top: 0; }
.page-compare .section > .wrap > h2:first-child { text-box-trim: trim-start; text-box-edge: cap alphabetic; }

/* Keep release-note lists aligned with the content column. */
.page-releases .Copy .ChangeLog > ul { padding-left: 20px; margin-left: 0; text-align: left; }
