.internal-main h1 { font-size: clamp(34px, 3.8vw, 54px); line-height: 1.1; max-width: 22ch; }
.internal-main h2 { max-width: 24ch; }
.breadcrumbs { padding: 24px 0; font-size: 12px; color: var(--muted); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px 12px; list-style: none; padding: 0; margin: 0; }
.breadcrumbs li { min-width: 0; }
.breadcrumbs li + li::before { content: "/"; margin-right: 12px; color: #8c9c91; }
.breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.internal-hero { background: var(--paper); padding-bottom: 56px; }
.internal-hero-grid { display: grid; grid-template-columns: 1.08fr 1fr; gap: 64px; align-items: center; padding-top: 25px; }
.internal-hero-grid > *, .document-layout > *, .plan-example-grid > *, .scenario-grid > * { min-width: 0; }
.internal-hero .eyebrow { margin-bottom: 19px; }
.internal-lead { font-size: 18px; line-height: 1.65; color: var(--muted); max-width: 58ch; margin-top: 24px; }
.internal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 29px; }
.product-contact-actions { margin-top: 28px; }
.product-contact-pending { margin-top: 28px; }
.product-contact-pending p { margin: 0 0 14px; color: var(--color-muted, #5d6873); }
.contact-methods { display: grid; gap: 12px; margin-top: 20px; }
.contact-methods a { color: #157744; text-decoration: underline; text-underline-offset: 3px; }
.inline-contacts { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 18px; font-size: 14px; color: #157744; font-weight: 600; }
.inline-contacts a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.internal-hero-image img { width: 100%; height: auto; max-height: 370px; object-fit: cover; border-radius: var(--radius); }
.internal-hero-image--plan img { object-fit: contain; }
.internal-hero-image figcaption, .document-figure figcaption, .plan-example-figure figcaption { margin-top: 11px; font-size: 11px; line-height: 1.55; color: var(--muted); }
.internal-hero--text .internal-intro { padding-top: 25px; max-width: 900px; }
.internal-hero--text h1 { max-width: 27ch; }
.internal-section { padding: 65px 0; }
.internal-section--paper { background: var(--paper); }
.section-copy { margin-top: 21px; max-width: 66ch; color: var(--muted); font-size: 17px; line-height: 1.7; }
.work-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 32px; }
.work-item { padding: 28px; border: 1px solid var(--line); border-top: 3px solid var(--green); border-radius: var(--radius); }
.work-item h3 { font-size: 22px; }
.plan-example-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 65px; align-items: center; }
.plan-example-figure img { width: 100%; max-height: 560px; object-fit: contain; }
.plan-example-copy .text-link { display: inline-block; margin-top: 25px; white-space: normal; }
.document-layout { display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; gap: 55px; }
.document-figure { padding: 24px; background: #f5f6f3; border: 1px solid var(--line); border-radius: var(--radius); }
.document-figure img { width: 100%; height: auto; }
.scope-list { margin: 26px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.scope-list li { padding: 17px 0; border-bottom: 1px solid var(--line); font-size: 17px; }
.scenario-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 30px; }
.scenario-card { display: flex; flex-direction: column; align-items: flex-start; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); }
.scenario-card h3 { font-size: 27px; max-width: 19ch; }
.scenario-card p { color: var(--muted); margin-top: 18px; line-height: 1.7; }
.scenario-card .button, .scenario-card .text-link { margin-top: 26px; }
.scenario-card--tint { background: #edf3ea; border-color: #d5e1d1; }
.related-service { margin-top: 24px; border: 1px solid var(--line); padding: 28px 32px; border-radius: var(--radius); display: flex; justify-content: space-between; align-items: center; gap: 26px; }
.related-service h3 { font-size: 24px; }
.route-note { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }
.internal-cta { background: var(--forest); color: #fff; padding: 45px 0; }
.internal-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.internal-cta h2 { font-size: 32px; max-width: 25ch; }
.internal-cta p { margin-top: 12px; color: #cbdcd0; font-size: 15px; }
.internal-cta .button { flex-shrink: 0; }
.form-page-heading { padding: 12px 0 38px; }
.form-page-heading .internal-lead { max-width: 60ch; }
.form-page-panel { padding-bottom: 70px; }
.form-page-panel .request-copy h2 { max-width: 15ch; font-size: 31px; }
.form-page-panel .inline-contacts { margin-top: 22px; }
.category-intro { padding: 15px 0 42px; }
.category-intro h1 { max-width: 24ch; }
.category-intro .scenario-grid { margin-top: 36px; }
.category-figure { max-width: 430px; margin-inline: auto; }
.category-figure img { width: 100%; max-height: 360px; object-fit: contain; }
.category-intro-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 48px; align-items: center; padding-top: 20px; }
.category-intro-grid:not(:has(.recovered-category-image)) { grid-template-columns: minmax(0,1fr); }
.category-description { max-width: 70ch; margin-top: 22px; color: var(--muted); font-size: 17px; line-height: 1.7; overflow-wrap: anywhere; }
.category-description p + p { margin-top: 14px; }
.category-children-section { padding: 34px 0 0; }
.category-children-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 22px; }
.category-children-grid a { display: flex; align-items: center; min-width: 0; min-height: 58px; padding: 15px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: #157744; font-weight: 600; overflow-wrap: anywhere; }
.category-children-grid a:hover { border-color: #9ab5a0; text-decoration: underline; text-underline-offset: 3px; }
.category-products-section { padding-top: 46px; }
.category-products-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.category-products-heading h2 { margin-top: 8px; }
.category-products-count { color: var(--muted); font-size: 14px; }
.product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.category-product-layout { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 60px; }
.content-note { margin-top: 21px; padding-left: 17px; border-left: 2px solid #a4b99e; font-size: 14px; color: var(--muted); line-height: 1.7; }
.archive-products { margin: 26px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.archive-products li { padding: 20px 0; border-bottom: 1px solid var(--line); }
.archive-products a { font-size: 17px; line-height: 1.5; font-weight: 600; color: #157744; }
.archive-products a:hover { text-decoration: underline; text-underline-offset: 4px; }
.archive-products .route-note { margin-top: 6px; }
@media (max-width: 1000px) {
  .internal-hero-grid { gap: 35px; }
  .internal-main h1 { font-size: 43px; }
  .internal-lead { font-size: 17px; }
  .internal-hero-image img { max-height: 330px; }
  .plan-example-grid, .document-layout { gap: 34px; }
  .work-item { padding: 23px; }
  .work-item h3 { font-size: 20px; }
  .scenario-card { padding: 28px; }
  .scenario-card h3 { font-size: 25px; }
  .category-product-layout { gap: 32px; }
}
@media (max-width: 760px) {
  .breadcrumbs { padding-block: 20px; font-size: 11px; }
  .internal-hero { padding-bottom: 35px; }
  .internal-hero-grid { grid-template-columns: 1fr; gap: 29px; padding-top: 13px; }
  .internal-hero--text .internal-intro { padding-top: 13px; }
  .internal-main h1 { font-size: 38px; max-width: 22ch; }
  .internal-hero--text h1, .category-intro h1 { font-size: clamp(29px, 8.2vw, 34px); max-width: 100%; overflow-wrap: anywhere; }
  .internal-hero .eyebrow { margin-bottom: 17px; }
  .internal-lead { margin-top: 21px; font-size: 17px; line-height: 1.65; }
  .internal-actions { gap: 10px; margin-top: 24px; }
  .internal-actions .button { flex: 1 1 130px; min-height: 50px; padding-inline: 14px; }
  .inline-contacts { margin-top: 12px; gap: 4px 26px; }
  .internal-hero-image img { max-height: 330px; }
  .internal-section { padding-block: 46px; }
  .internal-main h2 { font-size: 29px; }
  .section-copy { font-size: 16px; }
  .work-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 25px; }
  .work-item { padding: 23px; }
  .work-item h3 { font-size: 22px; }
  .plan-example-grid, .document-layout, .category-product-layout { grid-template-columns: 1fr; gap: 30px; }
  .plan-example-copy { order: -1; }
  .document-figure { padding: 18px; }
  .document-layout > div { order: -1; }
  .scenario-grid { grid-template-columns: 1fr; gap: 18px; margin-top: 25px; }
  .scenario-card { padding: 28px 24px; }
  .scenario-card h3 { font-size: 25px; }
  .related-service { padding: 25px; flex-direction: column; align-items: flex-start; gap: 19px; }
  .related-service .text-link { margin-top: 0; }
  .internal-cta { padding-block: 34px; }
  .internal-cta .container { flex-direction: column; align-items: flex-start; gap: 25px; }
  .internal-cta h2 { font-size: 29px; }
  .internal-cta .button { width: 100%; }
  .form-page-heading { padding: 10px 0 30px; }
  .form-page-panel { padding-bottom: 48px; }
  .form-page-panel .request-copy h2 { font-size: 28px; }
  .category-intro { padding: 10px 0 35px; }
  .category-intro .scenario-grid { margin-top: 27px; }
  .category-figure img { max-height: 330px; }
}
@media (max-width: 360px) {
  .internal-main h1 { font-size: 33px; }
  .internal-main h2 { font-size: 27px; }
  .internal-lead { font-size: 16px; }
  .internal-actions { flex-direction: column; }
  .internal-actions .button { width: 100%; flex-basis: auto; }
  .scenario-card { padding-inline: 21px; }
  .scenario-card h3 { font-size: 23px; }
}

/* Local #2K recovery pages: keep the approved light/green page system. */
.recovered-category-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 34px; align-items: start; }
.recovered-category-layout:has(.recovered-category-image) { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
.recovered-category-image { min-width: 0; max-width: 430px; margin: 0 auto; }
.recovered-category-image img { display: block; width: 100%; height: auto; max-height: 360px; object-fit: contain; }
.recovered-source-note { margin: 22px 0; padding: 18px 20px; border: 1px solid #dbe5d8; border-left: 3px solid var(--green); border-radius: 4px; background: #f5f8f3; color: var(--muted); font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.recovered-source-note strong { color: var(--ink); }
.recovered-child-heading { margin: 30px 0 18px; font-size: 23px; }
.recovered-child-list, .recovered-status-list, .recovered-sitemap-list { margin: 0; padding: 0; list-style: none; }
.recovered-child-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.recovered-child-list li, .recovered-sitemap-list li { min-width: 0; }
.recovered-child-list a, .recovered-sitemap-list a { display: flex; align-items: center; min-height: 58px; padding: 15px 18px; border: 1px solid var(--line); border-radius: var(--radius); color: #157744; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.recovered-child-list a:hover, .recovered-sitemap-list a:hover { border-color: #7ca38a; background: #fff; }
.recovered-category-records { padding: 54px 0; }
.recovered-category-records h2 { margin-bottom: 12px; }
.recovered-archive-names { margin: 24px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.recovered-archive-names li { padding: 17px 0; border-bottom: 1px solid var(--line); line-height: 1.55; overflow-wrap: anywhere; }
.recovered-shop-section .catalog-grid { margin-top: 30px; }
.recovered-extra-category { margin-top: 35px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); }
.recovered-extra-category .eyebrow { margin-bottom: 8px; }
.recovered-page-section { padding: 12px 0 64px; }
.recovered-page-section > .container { max-width: 900px; }
.recovered-page-section h1 { max-width: 26ch; }
.recovered-page-lead { margin-top: 22px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.recovered-page-content { margin-top: 28px; }
.recovered-page-content > * + * { margin-top: 18px; }
.recovered-page-content p, .recovered-page-content li { color: var(--muted); font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.recovered-page-content ul { padding-left: 22px; }
.recovered-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 26px; }
.recovered-contact-card { min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); overflow-wrap: anywhere; }
.recovered-contact-card strong { display: block; margin-bottom: 8px; }
.recovered-contact-card a { color: #157744; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.recovered-status-panel { margin-top: 28px; padding: 24px; border: 1px solid #e3ddd1; border-left: 3px solid #b49246; border-radius: 4px; background: #fbf8f0; }
.recovered-status-panel h2 { font-size: 22px; }
.recovered-status-panel p { margin-top: 12px; color: var(--muted); line-height: 1.7; overflow-wrap: anywhere; }
.recovered-sitemap-group + .recovered-sitemap-group { margin-top: 38px; }
.recovered-sitemap-group h2 { margin-bottom: 18px; }
.recovered-sitemap-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.recovered-sitemap-list a { min-height: 48px; padding: 12px 15px; font-size: 14px; }
.product-card { display: flex; flex-direction: column; min-width: 0; min-height: 100%; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.product-card__media { display: grid; place-items: center; min-width: 0; aspect-ratio: 1.45; margin: -2px -2px 18px; padding: 14px; border-radius: calc(var(--radius) - 2px); background: #f4f6f2; }
.product-card__media img { display: block; width: 100%; height: 100%; max-height: 250px; object-fit: contain; }
.product-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; min-width: 0; }
.product-card__body h3 { overflow-wrap: anywhere; }
.product-card__summary { margin-top: 14px; color: var(--muted); line-height: 1.6; overflow-wrap: anywhere; }
.product-card__facts { width: 100%; margin: 18px 0 0; }
.product-card__facts > div { min-width: 0; padding: 10px 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.product-card__facts dt { color: var(--muted); font-size: 12px; }
.product-card__facts dd { margin: 3px 0 0; font-size: 14px; }
.product-card__actions { display: grid; gap: 9px; width: 100%; margin-top: auto; padding-top: 19px; }
.product-card__detail-link { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; color: #157744; font-size: 14px; font-weight: 600; text-align: center; }
.product-card__actions .button { width: 100%; justify-content: center; }
.product-detail-hero { padding-bottom: 62px; }
.product-detail-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 58px; align-items: center; padding-top: 19px; }
.product-detail-layout:not(:has(.product-detail-media)) { grid-template-columns: minmax(0,1fr); }
.product-detail-media { min-width: 0; margin: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.product-detail-media img { display: block; width: 100%; max-height: 520px; object-fit: contain; }
.product-detail-copy { min-width: 0; }
.product-detail-copy h1 { overflow-wrap: anywhere; }
.product-detail-sku { display: inline-flex; gap: 8px; margin-top: 18px; padding: 8px 12px; border-radius: 5px; background: #edf3ea; color: var(--forest); font-size: 14px; }
.product-detail-categories { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.product-detail-categories a { display: inline-flex; align-items: center; min-height: 36px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 18px; color: #157744; font-size: 13px; }
.product-detail-description { max-width: 66ch; margin-top: 22px; color: var(--muted); font-size: 17px; line-height: 1.7; overflow-wrap: anywhere; }
.product-long-description, .product-attributes-section { padding-block: 52px; }
.product-long-description .section-copy, .product-attributes-section .section-copy { max-width: 76ch; }
.product-attributes-list { margin: 24px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.product-attributes-list li { padding: 14px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.product-attributes-list strong { margin-right: 8px; color: var(--forest); }
@media (max-width: 760px) {
  .recovered-category-layout:has(.recovered-category-image) { grid-template-columns: minmax(0,1fr); }
  .recovered-category-image { width: 100%; }
  .recovered-child-list, .recovered-sitemap-list, .recovered-contact-grid { grid-template-columns: minmax(0,1fr); }
  .recovered-category-records { padding-block: 44px; }
  .recovered-page-section { padding-bottom: 46px; }
  .recovered-page-lead { font-size: 17px; }
  .category-intro-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .category-children-grid, .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .category-products-heading { align-items: flex-start; flex-direction: column; gap: 9px; }
  .product-card { padding: 14px; }
  .product-card__media { margin-bottom: 14px; }
  .product-card .eyebrow { font-size: 10px; }
  .product-card__body h3 { font-size: 18px; }
  .product-card__actions .button { white-space: normal; }
  .product-detail-layout { grid-template-columns: minmax(0,1fr); gap: 25px; }
  .product-detail-media { padding: 15px; }
  .product-detail-copy h1 { font-size: clamp(32px,9vw,43px); }
  .product-detail-description { font-size: 16px; }
  .product-long-description, .product-attributes-section { padding-block: 40px; }
}
@media (max-width: 520px) {
  .category-children-grid, .product-grid { grid-template-columns: minmax(0,1fr); }
}
