/* v1.9: refined copy and line breaks on the established layout.
   Scoped to these two pages so the support and legal layouts stay independent. */
.compact-site { --body-ink:#26364d; --surface-line:#647a9d; --section-blue:#dce6f5; background:#fff; }
.compact-site [id] { scroll-margin-top:88px; }
.compact-site .wrap { width:calc(100% - clamp(36px,4.5vw,80px)); }
.compact-site h1 { font-size:clamp(36px,4.3vw,56px); line-height:1.08; letter-spacing:-.035em; }
.compact-site h2 { font-size:clamp(27px,3vw,34px); line-height:1.18; letter-spacing:-.02em; }
.compact-site h3 { line-height:1.3; }
.compact-site .eyebrow { color:#1d4ed8; }
.compact-site .lead { font-size:19px; line-height:1.6; color:var(--body-ink); }
.compact-site .nav-row { min-height:74px; }
.compact-site .site-nav { gap:28px; justify-content:flex-end; margin-left:auto; }
.compact-site .site-nav a { font-size:16px; }
.compact-site .site-nav .nav-cta { padding:10px 16px; }
.compact-site .site-nav a[aria-current="page"] { color:#fff; text-decoration:underline; text-underline-offset:6px; }
.compact-site .button { font-size:14px; font-family:inherit; cursor:pointer; }
.compact-site .button.secondary { border-color:var(--surface-line); box-shadow:0 2px 5px rgba(23,32,51,.08); }
.compact-site a:focus-visible,
.compact-site button:focus-visible,
.compact-site summary:focus-visible { outline:3px solid #598cff; outline-offset:4px; }
.compact-site .skip-link { position:fixed; left:20px; top:12px; z-index:10001; padding:10px 16px; color:#172033; background:#fff; border-radius:6px; transform:translateY(-180%); }
.compact-site .skip-link:focus { transform:translateY(0); }
.compact-site .text-link { display:inline-flex; align-items:center; gap:8px; color:#1d4ed8; font-size:14px; font-weight:700; text-decoration:none; }
.compact-site .text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.compact-site .section-heading-row { display:flex; align-items:center; justify-content:space-between; gap:16px 28px; margin-bottom:22px; }
.compact-site .section-heading-row h2 { margin:0; }
.compact-site .section-heading-row .text-link { flex-shrink:0; }

/* Homepage */
.home-hero { padding:50px 0 36px; background:linear-gradient(135deg,#f5f8fd,#dce6f5); border-bottom:1px solid #93a8c6; }
.home-hero h1 { margin:12px 0 16px; max-width:930px; }
.home-hero .lead { margin:0; max-width:740px; }
.home-hero .actions { margin-top:23px; }
.hero-benefits { display:flex; flex-wrap:wrap; gap:6px 0; margin:22px 0 0; font-size:13px; color:var(--body-ink); }
.hero-benefits span + span::before { content:"·"; padding:0 12px; color:#425c82; }
.capability-section { padding:34px 0 38px; }
.compact-site .capability-section h2 { font-size:26px; }
.capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.capability-card { --card-pad-x:21px; --card-pad-y:21px; padding:var(--card-pad-y) var(--card-pad-x); border:1px solid var(--surface-line); border-top:4px solid #2563eb; border-radius:10px; background:#fff; box-shadow:0 4px 12px rgba(23,32,51,.10); overflow:hidden; }
.capability-card h3 { margin:calc(-1 * var(--card-pad-y)) calc(-1 * var(--card-pad-x)) 15px; padding:14px var(--card-pad-x); font-size:18px; background:#172033; color:#fff; }
.capability-card h3 a { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; text-decoration:none; }
.capability-card h3 a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.capability-card h3 a span { color:#b7d0ff; font-size:17px; }
.capability-card p { margin:0; color:var(--body-ink); font-size:14px; line-height:1.6; }
.home-pricing { padding:42px 0 34px; background:var(--section-blue); border-top:1px solid #93a8c6; border-bottom:1px solid #93a8c6; }
.home-pricing h2 { margin:8px 0 10px; }
.pricing-intro { margin:0; color:var(--body-ink); font-size:16px; }
.home-pricing .pricing-grid { gap:18px; margin-top:25px; }
.home-pricing .price-card { padding:23px 22px 22px; border:1px solid var(--surface-line); border-top:4px solid #172033; border-radius:12px; box-shadow:0 5px 16px rgba(23,32,51,.12); background:#fff; }
.home-pricing .price-card h3 { font-size:21px; margin:0; }
.home-pricing .price-card.featured { border:1px solid #2563eb; border-top:4px solid #2563eb; transform:none; box-shadow:0 6px 20px rgba(37,99,235,.18); }
.home-pricing .price-card:hover,
.home-pricing .price-card.featured:hover { transform:none; }
.home-pricing .plan-note { min-height:0; margin:5px 0 0; color:var(--body-ink); font-size:13px; }
.home-pricing .price-line { margin:20px 0 12px; gap:10px; align-items:center; }
.home-pricing .price { font-size:44px; letter-spacing:-.035em; }
.home-pricing .price-tag { font-size:12px; font-weight:700; padding:5px 8px; border-radius:5px; color:#fff; background:#172033; border-color:#172033; box-shadow:none; }
.home-pricing .initial-breakdown { margin:0 0 16px; color:var(--body-ink); font-size:13px; line-height:1.65; }
.home-pricing .renewal-line { padding:10px 10px; margin:0; font-size:13px; font-weight:500; border:1px solid #8ca3c6; border-radius:7px; background:#e3ecfa; color:#26364d; }
.home-pricing .renewal-line strong { color:#172033; font-weight:750; }
.package-note { margin:14px 0 17px; color:var(--body-ink); font-size:12px; }
.package-note.package-saving { color:#18723a; font-weight:700; }
.home-pricing .price-card .button { margin-top:auto; }
.package-terms-line { margin:22px 0 5px; color:var(--body-ink); font-size:12px; line-height:1.6; text-align:center; }
.pricing-terms { text-align:center; color:var(--body-ink); font-size:12px; }
.pricing-terms p { margin:4px 0; }
.larger-team { margin:19px 0 0; text-align:center; font-size:14px; color:#334155; }
.larger-team .text-link { margin-left:5px; }
.home-faq { padding:42px 0; }
.home-page .faq-grid { align-items:start; gap:10px 18px; margin-top:0; }
.home-page .faq-grid details { padding:15px 17px; border-color:var(--surface-line); border-radius:8px; background:#f7f9fd; box-shadow:0 2px 5px rgba(23,32,51,.05); }
.home-page .faq-grid summary { font-size:14px; line-height:1.45; }
.home-page .faq-grid p { font-size:14px; line-height:1.65; color:var(--body-ink); }
.home-page #faq details[open] { transform:none; box-shadow:none; border-color:#2563eb; background:#e8f0fd; }
.home-closing { padding:29px 0; background:#172033; color:#fff; }
.closing-row { display:flex; align-items:center; justify-content:space-between; gap:22px; }
.compact-site .home-closing h2 { font-size:24px; margin:0 0 6px; color:#fff; }
.home-closing p { margin:0; color:#dce6f3; font-size:13px; }
.home-closing .actions { flex-shrink:0; margin:0; }
.compact-site .footer-row { padding:24px 0; min-height:0; }
.compact-site .footer-row p { font-size:11px; color:#d0ddee; }
.compact-site .footer-links a { color:#e5ecf6; }
.compact-site .footer-links { gap:16px; }
.compact-site .launch-modal-card { padding:26px; }
.compact-site .launch-modal-card h2 { font-size:27px; }

/* Detailed Features page */
.features-page .topbar .nav-row { min-height:66px; justify-content:flex-end; }
.features-page .menu-button { margin-left:auto; }
.feature-intro { padding:32px 0 28px; background:linear-gradient(135deg,#f5f8fd,#dce6f5); border-bottom:1px solid #93a8c6; }
.feature-heading-row { display:flex; align-items:center; gap:clamp(22px,2.2vw,40px); }
.feature-title-logo { display:flex; align-items:center; flex:0 0 auto; gap:13px; padding:15px 18px; background:#172033; border-radius:12px; color:#fff; text-decoration:none; }
.feature-title-logo img { display:block; flex:0 0 68px; width:68px; height:68px; }
.feature-logo-copy strong { display:block; font-size:20px; font-weight:750; letter-spacing:.025em; line-height:1.25; }
.feature-logo-copy > span { display:block; color:#dce6f3; font-size:11.5px; margin-top:5px; white-space:nowrap; }
.feature-intro-copy { flex:1; min-width:0; max-width:none; }
.compact-site.features-page .feature-intro h1 { font-size:clamp(30px,3.15vw,54px); max-width:none; margin:0 0 10px; line-height:1.14; }
.feature-intro .lead { margin:0; max-width:none; font-size:18px; }
.feature-group { padding:35px 0 39px; border-bottom:1px solid #93a8c6; }
.feature-group:nth-of-type(odd) { background:var(--section-blue); }
.feature-group-heading { margin-bottom:22px; }
.feature-group-heading .eyebrow { display:inline-block; padding:5px 9px; border-radius:4px; background:#2563eb; color:#fff; }
.feature-group-heading h2 { margin:6px 0 9px; }
.feature-group-heading p { margin:0; font-size:15px; color:var(--body-ink); }
.feature-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#imposition .feature-catalog,
#preparation .feature-catalog { grid-template-columns:repeat(5,minmax(0,1fr)); }
#press-controls .feature-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
.feature-item { --card-pad-x:18px; --card-pad-y:20px; padding:var(--card-pad-y) var(--card-pad-x); border:1px solid var(--surface-line); border-top:4px solid #2563eb; border-radius:10px; background:#fff; box-shadow:0 4px 12px rgba(23,32,51,.10); overflow:hidden; }
.feature-item h3 { margin:calc(-1 * var(--card-pad-y)) calc(-1 * var(--card-pad-x)) 15px; padding:14px var(--card-pad-x); font-size:18px; background:#172033; color:#fff; }
.feature-item p { margin:0; font-size:14px; line-height:1.65; color:var(--body-ink); }
.feature-group-note { margin:20px 0 0; padding:13px 16px; font-size:13px; line-height:1.65; border:1px solid #93a8c6; border-left:4px solid #2563eb; background:#dce6f5; color:#26364d; }
.features-closing { padding:29px 0; background:#172033; color:#fff; }
.features-closing > .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.features-closing h2 { font-size:25px; margin:0 0 6px; color:#fff; }
.features-closing p { margin:0; font-size:14px; color:#dce6f3; }
.features-closing .actions { flex-shrink:0; margin:0; }

@media (max-width:1100px) {
  .feature-heading-row { gap:20px; }
  .feature-title-logo { gap:10px; padding:13px 15px; }
  .feature-title-logo img { flex-basis:54px; width:54px; height:54px; }
  .feature-logo-copy strong { font-size:17px; }
  .feature-logo-copy > span { font-size:10px; }
  .feature-intro .lead { font-size:16px; }
  #imposition .feature-catalog,
  #preparation .feature-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1000px) {
  .compact-site .site-nav { gap:18px; }
  .capability-grid { gap:12px; }
  .capability-card { --card-pad-x:18px; --card-pad-y:18px; }
  .capability-card h3 { font-size:17px; }
  .home-pricing .price-card { padding:21px 18px; }
  .closing-row,.features-closing > .wrap { flex-wrap:wrap; }
}
@media (min-width:761px) and (max-width:900px) {
  .home-pricing .pricing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .home-pricing .price-card h3 { font-size:18px; }
  .home-pricing .renewal-line { min-height:61px; }
  .home-pricing .price-card .button { padding:11px 8px; font-size:13px; }
}
@media (max-width:900px) {
  .compact-site .site-nav { top:64px; right:24px; gap:0; padding:8px; width:230px; border:1px solid #3a4b67; }
  .compact-site .site-nav a { width:100%; padding:11px 14px; border-radius:6px; }
  .compact-site .site-nav .nav-cta { margin-top:5px; text-align:center; }
  .features-page .topbar .nav-row { min-height:60px; }
  .features-page .site-nav { top:54px; }
  .feature-heading-row { flex-direction:column; align-items:flex-start; gap:22px; }
  .feature-catalog,
  #imposition .feature-catalog,
  #preparation .feature-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .compact-site .wrap { width:calc(100% - 36px); }
  .compact-site .nav-row { min-height:68px; gap:14px; }
  .compact-site [id] { scroll-margin-top:82px; }
  .home-hero { padding:35px 0 30px; }
  .home-hero h1 { margin-top:12px; }
  .home-hero .lead { font-size:17px; max-width:560px; }
  .hero-benefits { font-size:12px; margin-top:18px; }
  .hero-benefits span + span::before { padding:0 9px; }
  .compact-site .section-heading-row { flex-wrap:wrap; gap:10px; margin-bottom:18px; }
  .capability-section { padding:28px 0; }
  .capability-grid { grid-template-columns:1fr; gap:10px; }
  .capability-card { --card-pad-x:18px; --card-pad-y:16px; }
  .capability-card h3 { margin-bottom:13px; font-size:18px; }
  .home-pricing { padding:32px 0; }
  .home-pricing .pricing-grid { grid-template-columns:1fr; gap:14px; margin-top:22px; }
  .home-pricing .price-card { padding:22px; }
  .home-pricing .price-card h3 { font-size:22px; }
  .home-pricing .price-line { margin:16px 0 11px; }
  .home-pricing .renewal-line { min-height:0; font-size:14px; }
  .home-pricing .initial-breakdown { font-size:14px; }
  .home-pricing .price { font-size:42px; }
  .home-pricing .package-terms-line,.home-pricing .pricing-terms { text-align:left; }
  .home-faq { padding:32px 0; }
  .home-page .faq-grid { grid-template-columns:1fr; gap:9px; }
  .home-page .faq-grid details { padding:14px 15px; }
  .home-closing { padding:26px 0; }
  .closing-row { gap:18px; }
  .compact-site .footer-row { flex-direction:column; align-items:flex-start; gap:17px; padding:23px 0; }
  .feature-intro { padding:34px 0 28px; }
  .feature-intro .lead { font-size:17px; }
  .feature-group { padding:29px 0; }
  .features-closing { padding:27px 0; }
}
@media (max-width:520px) {
  .compact-site .brand { gap:8px; }
  .compact-site .brand-copy strong { font-size:13px; }
  .compact-site .brand-copy span { font-size:9px; }
  .compact-site .brand-mark { width:33px; height:35px; }
  .compact-site .menu-button { font-size:12px; padding:8px 9px; }
  .compact-site .site-nav { right:18px; }
  .compact-site h1 { font-size:36px; }
  .hero-break { display:none; }
  .hero-benefits { gap:6px 14px; }
  .hero-benefits span + span::before { content:none; }
  .hero-benefits span { display:inline-flex; align-items:center; gap:6px; }
  .hero-benefits span::before { content:""; width:4px; height:4px; border-radius:50%; background:#425c82; }
  .hero-benefits span + span::before { content:""; padding:0; }
  .feature-catalog,
  #imposition .feature-catalog,
  #preparation .feature-catalog,
  #press-controls .feature-catalog { grid-template-columns:1fr; gap:12px; }
  .feature-item { --card-pad-x:20px; --card-pad-y:19px; }
  .features-closing .actions { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  html:has(.compact-site) { scroll-behavior:auto; }
  .compact-site *, .compact-site *::before, .compact-site *::after { transition:none !important; }
}
