.catalog-site { --ivory: #f4f6f5; --paper: #fff; --muted: #58635f; }
.catalog-site .skip-link { transform: translateY(calc(-100% - 24px)); }
.catalog-site .skip-link:focus { transform: translateY(0); }
.catalog-site .eyebrow { letter-spacing: 0; color: #177444; }
.catalog-site h1 { font-size: 62px; line-height: 1.06; max-width: 850px; }
.catalog-site h2 { font-size: 38px; line-height: 1.15; }
.catalog-site h3 { font-size: 22px; line-height: 1.25; }
.catalog-site .subpage-copy { font-size: 20px; margin: 0; }
.catalog-site .section { padding: 64px 0; }
.catalog-site .section-heading { margin-bottom: 30px; }
.catalog-site .site-header { background: #111; color: #fff; }
.catalog-site .main-nav { gap: 20px; }
.catalog-site .catalog-hero { min-height: 0; }
.catalog-hero .hero-content { padding: 150px 0 72px; }
.catalog-hero .hero-copy { font-size: 26px; max-width: 620px; margin-top: 24px; }
.catalog-hero .eyebrow, .contact-section .eyebrow { color: #66dc9c; }
.hero-detail { max-width: 560px; color: #d2d8d4; font-size: 17px; }
.hero-offer { margin: 24px 0 0; color: #8ff1b8; font-weight: 600; }
.catalog-site .advantage-section { background: #fff; }
.advantage-section p { color: #58635f; font-size: 18px; }
.advantage-section ul { padding-left: 20px; line-height: 1.9; }
.catalog-site .intro-grid { align-items: center; }
.catalog-overview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.overview-item { display: flex; flex-direction: column; border-top: 3px solid #27a464; padding-top: 20px; }
.overview-item:nth-child(2) { border-color: #528acf; }
.overview-item:nth-child(3) { border-color: #c971a1; }
.overview-item:nth-child(4) { border-color: #c6a648; }
.overview-item h3 { margin: 14px 0 0; }
.overview-item p { color: var(--muted); flex: 1; }
.service-number { font-size: 13px; font-weight: 700; color: #65766e; }
.overview-price { font-size: 16px; min-height: 50px; }
.text-link { color: #146b40; font-size: 14px; font-weight: 700; padding: 12px 0; }
.text-link:hover { text-decoration: underline; }
.catalog-intro { background: #111; color: #fff; }
.catalog-intro .eyebrow { color: #8ff1b8; }
.catalog-intro p:last-child { margin-bottom: 0; color: #d2d8d4; }
.category-nav { display: flex; flex-wrap: wrap; gap: 6px 24px; padding-top: 20px; padding-bottom: 20px; border-bottom: 1px solid #dce2de; }
.category-nav a { padding: 10px 0; font-weight: 650; color: #176b43; text-decoration: underline; text-underline-offset: 5px; }
.catalog-category { scroll-margin-top: 94px; border-bottom: 1px solid #dce2de; }
.catalog-category:nth-of-type(even) { background: #fff; }
.catalog-category-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; margin-bottom: 30px; }
.catalog-category-heading h2 { max-width: 580px; font-size: 34px; }
.catalog-category-heading p:last-child { color: var(--muted); margin-bottom: 0; max-width: 620px; }
.package-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.package { display: flex; flex-direction: column; min-width: 0; padding: 24px; border: 1px solid #d9dfdb; border-radius: 8px; background: #fff; }
.package-popular { border: 2px solid #22935a; padding: 23px; background: #f3fcf6; }
.package-badge { min-height: 26px; font-size: 12px; font-weight: 750; text-transform: uppercase; color: #176b43; }
.package h3 { margin: 8px 0 22px; min-height: 56px; }
.package-price { display: flex; flex-direction: column; min-height: 138px; align-items: start; }
.package-price > strong { display: block; font-size: 32px; line-height: 1.25; }
.package-price > span { color: #56645c; font-size: 14px; }
.package-price .price-prefix { font-size: 12px; color: #176b43; font-weight: 700; }
.recurring-price { margin: 8px 0 0; font-size: 18px; font-weight: 700; }
.recurring-price span { display: block; font-size: 13px; font-weight: 400; color: #56645c; }
.package-best { font-size: 14px; color: #58635f; padding-top: 18px; border-top: 1px solid #dce2de; margin: 0; }
.package ul { flex: 1; padding-left: 18px; margin: 18px 0 28px; }
.package li { margin-bottom: 9px; font-size: 15px; }
.package .button { width: 100%; }
.package-note { padding: 18px 0 0; margin-bottom: 0; font-size: 14px; color: #4d5c53; }
.combo-section, .combo-teaser { background: #e8f4ed; scroll-margin-top: 94px; }
.combo-heading { max-width: 760px; margin-bottom: 32px; }
.combo-heading p { font-size: 18px; }
.combo-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,0.85fr); gap: 48px; align-items: start; }
.combo-selectors { display: grid; gap: 22px; }
.combo-selectors label { display: grid; gap: 8px; font-size: 15px; font-weight: 650; min-width: 0; }
.combo-selectors select { min-height: 48px; width: 100%; min-width: 0; max-width: 100%; background: #fff; border: 1px solid #9bab9f; border-radius: 4px; padding: 10px; font-size: 14px; text-overflow: ellipsis; }
.combo-selectors .addon-option { display: flex; align-items: start; gap: 10px; font-weight: 400; }
.addon-option input { width: 20px; height: 20px; margin: 3px 0 0; flex-shrink: 0; accent-color: #16824c; }
.addon-option strong, .addon-option small { display: block; }
.addon-option small { color: #59665d; margin-top: 5px; }
.combo-summary { border-left: 1px solid #9fbbab; padding-left: 32px; }
.combo-summary h3 { margin-top: 0; }
.combo-summary > p { font-size: 14px; }
.combo-summary dl { margin: 24px 0; }
.combo-summary dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; margin: 12px 0; }
.combo-summary dt { font-size: 14px; }
.combo-summary dd { margin: 0; text-align: right; font-size: 16px; font-weight: 700; }
.combo-summary .combo-total { border-top: 1px solid #9fbbab; padding-top: 18px; margin-top: 18px; }
.combo-total dd { font-size: 24px; }
.combo-saving { color: #11613c; }
.combo-scope, .combo-terms { color: #4d5c53; font-size: 13px; }
.combo-summary .button { width: 100%; }
.combo-terms { margin: 30px 0 0; }
.process-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; padding-left: 22px; }
.process-list strong { font-size: 18px; }
.process-list p { color: var(--muted); font-size: 15px; }
.faq-section { background: #fff; }
.faq-section details { border-bottom: 1px solid #dce2de; padding: 20px 0; }
.faq-section summary { cursor: pointer; font-weight: 650; font-size: 18px; }
.faq-section details p { max-width: 860px; color: #58635f; }
.catalog-site .contact-panel strong { font-size: 20px; }
.catalog-site .site-footer nav { display: flex; flex-wrap: wrap; gap: 20px; }
.catalog-site .site-footer p { font-size: 14px; }
.catalog-site a:focus-visible, .catalog-site summary:focus-visible { outline: 3px solid #22935a; outline-offset: 4px; }
@media (max-width:1000px) {
  .catalog-overview, .process-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .package-grid { gap: 12px; }
  .package { padding: 18px; }
  .package-price > strong { font-size: 27px; }
}
@media (max-width:820px) {
  .catalog-site .main-nav { display: flex; grid-column: 1 / -1; order: 3; justify-content: space-between; gap: 10px; font-size: 12px; }
  .catalog-site .site-header { row-gap: 10px; }
  .catalog-site .subpage-main { padding-top: 118px; }
  .catalog-hero .hero-content { padding-top: 170px; }
  .catalog-category, .combo-section { scroll-margin-top: 130px; }
  .package-grid { grid-template-columns: 1fr; gap: 18px; }
  .package h3 { min-height: 0; }
  .package-price { min-height: 0; margin-bottom: 20px; }
  .catalog-category-heading { grid-template-columns: 1fr; gap: 12px; }
  .combo-form { grid-template-columns: 1fr; gap: 32px; }
  .combo-summary { padding: 28px 0 0; border-left: 0; border-top: 1px solid #9fbbab; }
}
@media (max-width:560px) {
  .catalog-site h1 { font-size: 40px; }
  .catalog-site h2, .catalog-category-heading h2 { font-size: 30px; }
  .catalog-site .section { padding: 44px 0; }
  .catalog-hero .hero-copy { font-size: 22px; }
  .catalog-hero .hero-content { padding-bottom: 44px; }
  .catalog-overview, .process-list { grid-template-columns: 1fr; }
  .overview-price { min-height: 0; }
  .catalog-site .contact-panel strong { font-size: 17px; }
}
