/* Approved forest-green brand palette, shared across the local website. */
:root, .cso-site, body.cso-module {
  --cso-ink: #202b26;
  --cso-muted: #4d6350;
  --cso-blue: #174c3c;
  --cso-line: #dbe3dc;
  --cso-paper: #f7f5ef;
}

/* Shared green colorway of the existing logo artwork. */
.cso-logo img { filter: hue-rotate(-75deg) saturate(.55); mix-blend-mode: multiply; }
.cso-header { border-bottom-color: #e7eae4; }
.cso-navigation>a:hover,
.cso-nav-dropdown>summary:hover,
.cso-navigation>[aria-current=page],
.cso-text-link:hover { color: #174c3c; }
.cso-nav-dropdown>summary>span { color: #4d6350; }
.cso-nav-dropdown>div { box-shadow: 0 20px 50px #174c3c1a; }
.cso-nav-dropdown>div>a:hover { background: #f2f6f0; }
.cso-nav-dropdown>div>a:first-child { background: #e9f1e9; }
.cso-button { background: #174c3c; border-color: #174c3c; }
.cso-button:hover {
  background: #103b2e;
  border-color: #103b2e;
  box-shadow: 0 7px 20px #174c3c1a;
}
.cso-button:focus-visible { outline-color: #35765b; }
.cso-button-white { background: #fff; border-color: #fff; color: #174c3c!important; }
.cso-button-white:hover { background: #e6efe8; border-color: #e6efe8; }
.cso-eyebrow { color: #526c5c; }
.cso-hero h1 em { color: #174c3c; }
.cso-hero-note { color: #4d6350; }
.cso-hero-note svg { color: #4d6350; }
.cso-hero-orbit { background: #e6efe8; }
.cso-hero-orbit:after { border-color: #cbdccd; }
.cso-dot-grid { background-image: radial-gradient(#7b9e83 1.4px,transparent 1.4px); }
.cso-preview-label { border-color: #d8e3d8; box-shadow: 0 7px 16px #174c3c10; }
.cso-status-dot { background: #438267; }
.cso-sample-stub {
  border-color: #dbe3dc;
  box-shadow: 0 24px 60px #274c3523,0 2px 5px #274c350a;
}
.cso-stub-monogram { background: #174c3c; }
.cso-stub-monogram span { color: #b3d0b7; }
.cso-stub-top small { color: #4d6350; }
.cso-stub-check { color: #4d6350; }
.cso-stub-person small { color: #4d6350; }
.cso-stub-table th { background: #f2f4ef; color: #536958; }
.cso-stub-table td { border-bottom-color: #edf0e9; }
.cso-stub-deductions span { color: #4d6350; }
.cso-stub-deductions strong { color: #2d4835; }
.cso-stub-total { background: #e9f1e7; border-left-color: #35765b; }
.cso-stub-total small { color: #4d6350; }
.cso-stub-bottom { color: #4d6350; }
.cso-floating-note { border-color: #dbe5db; box-shadow: 0 13px 30px #274c3519; }
.cso-floating-note>span { background: #edf4eb; color: #4d6350; }
.cso-floating-note>svg { color: #4d6350; }
.cso-side-note { color: #4d6350; }
.cso-feature-strip { background: #fafbf7; }
.cso-feature-strip span { color: #425c4b; }
.cso-feature-strip svg { color: #4d6350; }
.cso-steps article { border-top-color: #dbe3d9; }
.cso-step-num { color: #4d6350; }
.cso-step-num i { border-color: #8eaf94; }
.cso-template-section { background: #f7f5ef; }
.cso-template-card { border-color: #dfe3d8; }
.cso-template-card:hover { box-shadow: 0 10px 30px #174c3c12; }
.cso-template-image { background: #eaece3; }
.cso-template-image>span { color: #4d6350; }
.cso-workspace-band { background: #174c3c; }
.cso-workspace-band .cso-eyebrow { color: #bfd4bc; }
.cso-workspace-band em { color: #c6dfb7; }
.cso-workspace-band p { color: #d0dfd3; }
.cso-workspace-list i { color: #b6d0b9; }
.cso-workspace-list small { color: #c6d9c9; }
.cso-band-shape,.cso-band-shape:after { border-color: #5c8970; }
.cso-tool-card { border-color: #dbe3d9; }
.cso-tool-card:hover { background: #f6f9f2; border-color: #8eaf94; }
.cso-tool-symbol { border-color: #b7ceba; color: #32674b; background: #eef4e9; }
.cso-tool-symbol:after {
  background: linear-gradient(45deg,#dae7d5 50%,white 50%);
  border-left-color: #b7ceba;
  border-bottom-color: #b7ceba;
}
.cso-tool-arrow { color: #4d6350; }
.cso-tool-action { border-top-color: #e4eadd; }
.cso-all-tools>span { color: #4d6350; }
.cso-faq-section { background: #f8f8f3; border-block-color: #e2e6db; }
.cso-faqs>details,.cso-faqs>details:first-child { border-color: #dce4d9; }
.cso-faqs summary span { color: #367151; }
.cso-footer { background: #edf1e8; }
.cso-footer-top,.cso-footer-bottom { border-color: #d6e0d0; }
.cso-footer-top p,
.cso-footer-grid>div:not(:first-child)>a,
.cso-footer-brand>p { color: #4d6350; }
.cso-footer-grid a:hover { color: #174c3c; }
.cso-footer-bottom { color: #4d6350; }
.cso-local-status i { background: #438267; }

/* Catalog, content pages, and the shared tool introductions. */
.cso-page-hero { background: #eef3e9; border-bottom-color: #d8e3d4; }
.cso-page-hero p { color: #4d6350; }
.cso-page-hero:after { border-color: #c6d8bd; }
.cso-page-hero:before { border-color: #dbe7d3; }
.cso-breadcrumb { color: #4d6350; }
.cso-breadcrumb a { border-color: #d8e3d4; color: #476d52; }
.cso-breadcrumb>[aria-current] { color: #304e39; }
.cso-catalog-search,.cso-catalog-controls select { border-color: #ccdcca; }
.cso-catalog-search svg { color: #4d6350; }
.cso-catalog-controls select { color: #496b51; }
.cso-catalog-count { color: #4d6350; }
.cso-catalog-empty { border-color: #bdd0b7; color: #4d6350; }
.cso-content p,.cso-content li { color: #4d6350; }
.cso-content a { color: #174c3c; }
.cso-catalog-search:focus-within { outline: 2px solid #8eaf94; outline-offset: 2px; }

/* UI variables never replace document/template color variables. */
body.cso-module {
  --theme-color: #174c3c;
  --blue: #174c3c;
  --blue-dark: #103b2e;
  --ink: #202b26;
  --muted: #4d6350;
  --line: #dbe3dc;
  --soft: #f3f6ef;
  --pale: #edf3e8;
  --paper: #f7f5ef;
  background: #f7f5ef;
  color: #202b26;
}
body.cso-module :is(.primary,.button.primary,button#continue) {
  background: #174c3c;
  border-color: #174c3c;
  color: #fff;
}
body.cso-module :is(.primary,.button.primary,button#continue):hover {
  background: #103b2e;
  border-color: #103b2e;
}
body.cso-module :is(.secondary,.button.secondary) { color: #315e44!important; border-color: #b9cdbb; }
body.cso-module :is(.secondary,.button.secondary):hover { background: #edf3e8; }
body.cso-module :is(input[type=checkbox],input[type=radio]) { accent-color: #174c3c; }
body.cso-module :is(.field,.step-panel,.section-card,.panel) :is(input,select,textarea):focus {
  outline-color: #8eaf94;
  border-color: #35765b;
  box-shadow: 0 0 0 3px #35765b18;
}
body.cso-module :is(.section-number,.regular-section-number) {
  background: #e6efe3;
  border-color: #c6d8bd;
  color: #174c3c;
}
body.cso-module :is(.order-hero,.checkout-hero,.review-hero,.preview-intro,.secure-checkout-hero,.form-complete-hero) {
  background: linear-gradient(115deg,#e9f1e5,#f7f5ef);
  border-color: #ccddc5;
  color: #2c5139;
}

/* Maker and offer-letter progress and design controls. */
body.cso-module .form-column :is(.stepper,.progress) {
  background: linear-gradient(115deg,#f5f7ef,#edf4eb);
  border-color: #d5e1d0;
  box-shadow: 0 4px 16px #274c3505;
}
body.cso-module :is(.stepper-status>span,.progress-status>div>span) { color: #4d6350; }
body.cso-module :is(.stepper-status>strong,.progress-status strong) { color: #30573c; }
body.cso-module :is(.stepper,.progress) button[aria-current] { color: #174c3c; }
body.cso-module .form-column .stepper button[aria-current] .step-num,
body.cso-module .form-column .progress button[aria-current=step]>span {
  background: #174c3c;
  border-color: #174c3c;
  color: #fff;
  box-shadow: 0 0 0 5px #dfeadb;
}
body.cso-module :is(.stepper,.progress) li:not(:last-child):after { background: #d2dfcc; }
body.cso-module :is(.stepper-track,.progress-track) { background: #dfe8d9; }
body.cso-module :is(.stepper-track span,.progress-track>span) { background: linear-gradient(90deg,#174c3c,#618866); }
body.cso-module :is(.template-picker,.template-selection) { background: #f3f6ef; border-color: #ccddc5; }
body.cso-module .template-selection .change-template,
body.cso-module .selected-design #change-design {
  background: #174c3c;
  border-color: #174c3c;
  color: #fff;
  box-shadow: 0 3px 8px #174c3c10;
}
body.cso-module .template-selection .change-template:hover,
body.cso-module .selected-design #change-design:hover { background: #103b2e; border-color: #103b2e; }
body.cso-module :is(.preview-sidebar,.preview-card) { background: #eef2e9; border-color: #dbe3d4; }
body.cso-module :is(.preview-heading,.preview-header,.preview-enlarge,.preview-change-design,.invoice-preview-design) { color: #526f5b; }
body.cso-module :is(.preview-heading,.preview-header) .eyebrow { color: #526f5b; }
body.cso-module :is(.draft-save,.draft-actions,.under-form,.compatibility-note,.live-dot) { color: #4d6350; }
body.cso-module .logo-placeholder { background: #edf3e7; color: #4d6350; }
body.cso-module .field>label,
body.cso-module .section-card h2.cps-section-heading { color: #202b26; }
body.cso-module :is(.gallery-design,.gallery-preview-frame) { background: #f1f5ec; }
body.cso-module #template-dialog .gallery-design { background: #f6f8f1; }
body.cso-module :is(#gallery-selected-name,.selected-design .selected-design-description strong) { color: #304c39; }
body.cso-module :is(#gallery-selected-description,#template-dialog #gallery-preview-label,#template-dialog .compatibility-note,.gallery-price span) { color: #4d6350; }
body.cso-module :is(.template-price,#gallery-selected-price) { color: #174c3c; }
body.cso-module .gallery-thumb { color: #4d6350; }
body.cso-module .gallery-thumb:hover { background: #f1f5ec; }
body.cso-module .gallery-thumb[aria-pressed=true],
body.cso-module .invoice-design-thumbnails button[aria-pressed=true] {
  border-color: #35765b;
  box-shadow: 0 0 0 1px #35765b;
  background: #edf3e7;
  color: #174c3c;
}
body.cso-module :is(.choice-tabs button,.signature-choice,.design-select)[aria-pressed=true] {
  border-color: #35765b;
  color: #174c3c;
  box-shadow: 0 0 0 2px #35765b14;
}
body.cso-module .invoice-appearance [data-invoice-color][aria-pressed=true] { box-shadow: 0 0 0 2px #35765b; }
body.cso-module .selected-design .design-icon i { background: #91ac94; }

/* Shared form builders, including W-2, invoices, and employment documents. */
body.cso-forms .intro-pricing { background: #edf3e8; border-color: #ccddc5; }
body.cso-forms :is(.builder-intro,.hero) { border-color: #d5e1cf; }
body.cso-forms label { color: #304c39; }
body.cso-forms .letter-personalize { border-top-color: #709779; }
body.cso-forms .letter-banner-paper svg { stroke: #8eaf94; }
body.cso-forms :is(.section-card h2,.panel h2,.section-title) { color: #2d5039; }
body.cso-forms .w2-banner {
  background: radial-gradient(circle at 88% 25%,#91b57d26,transparent 35%),linear-gradient(115deg,#174c3c,#2d684c);
  color: #fff;
}
body.cso-forms .w2-banner .eyebrow { color: #c6dfb7; }
body.cso-forms .w2-banner p,
body.cso-forms .w2-banner ol { color: #e1edda; }
body.cso-forms .w2-banner .intro-pricing { background: #ffffff14; color: #fff; border-color: #ffffff42; }
body.cso-forms .w2-banner .intro-pricing p,
body.cso-forms .w2-banner .intro-pricing .intro-price-note { color: #e1edda; }
body.cso-forms .section-card h2.cps-section-heading>.cps-section-number { background: #e6efe3; color: #174c3c; }
body.cso-forms nav.cps-forms-breadcrumb { background: linear-gradient(110deg,#f0f5e9,#f3f7ef); border-color: #dbe3d4; color: #526f5b; }
body.cso-forms nav.cps-forms-breadcrumb a { color: #315e44; }
body.cso-forms nav.cps-forms-breadcrumb a:hover { color: #174c3c; background: #e5efdf; }
body.cso-forms nav.cps-forms-breadcrumb :is(.breadcrumb-chevron,span[aria-current=page]) { color: #4d6350; }
body.cso-forms #checkout-page .coupon-input .secondary { background: #f1f6ed; color: #315e44; }
body.cso-forms #checkout-page .coupon-input .secondary:hover { background: #e5efdf; border-color: #759a79; }

/* Classic builders: editing controls are separate from the document canvas. */
body.cso-module.cso-classic { background: #f7f5ef; }
body.cso-classic .returning-nav { background: #edf3e8; border-color: #d8e3d4; }
body.cso-classic .returning-nav :is(a,div>span) { color: #526f5b; border-color: #d8e3d4; }
body.cso-classic .classic-mobile-tabs { background: #edf2e9; border-color: #d2dfcc; }
body.cso-classic .classic-mobile-tabs button[aria-pressed=true] { background: #174c3c; box-shadow: 0 3px 8px #174c3c23; }
body.cso-classic .regular-preview-launch,
body.cso-classic .classic-actions button {
  background: #174c3c;
  border-color: #174c3c;
  color: #fff;
}
body.cso-classic .regular-preview-launch:hover,
body.cso-classic .classic-actions button:hover { background: #103b2e; border-color: #103b2e; }
body.cso-classic :is(.regular-company-group,.regular-employee-group,.regular-pay-group) { border-top-color: #709779!important; }
body.cso-classic .classic-mobile-group[data-editor-group="Order details"] { border-top-color: #174c3c; }
body.cso-classic :is(.classic-preferences,.regular-worker-type,.regular-ytd-setup,.regular-inherited-pay) { background: #f2f6ed; border-color: #ccddc5; }
body.cso-classic :is(.classic-preferences>summary,.regular-pay-header,.classic-calculation-review>summary,.classic-review-heading) {
  background: #edf3e7;
  color: #315e44;
}
body.cso-classic :is(.regular-pay-header h3,.regular-order-summary h3,.regular-ytd-setup h4,.regular-ytd-card h4,.regular-deposit-title) { color: #315e44; }
body.cso-classic :is(.regular-required,.regular-order-total dd,.regular-advanced-toggle) { color: #174c3c; }
body.cso-classic :is(.regular-view-note,.regular-field-help,.regular-ytd-help,.regular-pay-caption,.regular-empty-note,.regular-action-right p,.regular-action-right small) { color: #4d6350; }
body.cso-classic :is(.regular-pay-toggle,.regular-ytd-launch,.classic-review-toggle,.classic-exemptions-help) { background: #f1f6ed; border-color: #c9dac2; color: #315e44; }
body.cso-classic :is(.regular-pay-toggle,.regular-ytd-launch,.classic-review-toggle,.classic-exemptions-help):hover { background: #e5efdf; border-color: #8eaf94; }
body.cso-classic :is(.classic-preferences,.regular-pay-adjustments) button.pp-add:not(.pp-remove) { background: #edf3e7; color: #315e44; border-color: #c9dac2; }
body.cso-classic :is(.regular-shared-note,.classic-calculation-review) { background: #edf3e7; color: #315e44; }
body.cso-classic .paystub .ps_controls { background: #f1f6ed!important; border-color: #ccddc5; }
body.cso-classic .paystub .ps_controls .inp_title { color: #315e44; }
body.cso-classic .paystub .ps_calculator .psStubBoxes .psStubBox .psStubBoxHead { background: linear-gradient(110deg,#edf3e7,#f4f7ef); }
body.cso-classic .paystub .ps_calculator .psStubBoxes .psStubBox .psStubBoxHead h3,
body.cso-classic .paystub .ps_calculator .psStubBoxes .psStubBox .psStubFields .psStubTitle { color: #315e44; }
body.cso-classic .classic-live-intro { background: #174c3c99; color: #315e44; }
body.cso-classic .classic-live-intro-card { background: linear-gradient(145deg,#fff,#f3f6ed); }
body.cso-classic :is(.classic-live-intro-card strong,.classic-live-intro-copy,.classic-live-intro-foot) { color: #315e44; }
body.cso-classic :is(.regular-preview-dialog,.regular-ytd-dialog,.classic-exemptions-dialog,.classic-sample-dialog) { color: #315e44; border-color: #ccddc5; }
body.cso-classic :is(.regular-preview-tools,.regular-ytd-dialog>header,.regular-ytd-dialog>footer,.classic-sample-tools) { background: #f1f5ec; }
body.cso-classic :is(.regular-preview-dialog,.regular-ytd-dialog,.classic-exemptions-dialog,.classic-sample-dialog) button { color: #315e44; border-color: #c9dac2; }
body.cso-classic .regular-ytd-dialog .regular-ytd-done { background: #174c3c; color: #fff; border-color: #174c3c; }

/* Classic retrieval, contact, review, and completed-order pages. */
body.cso-classic .button.primary { background: #174c3c; }
body.cso-classic .returning-nav a[aria-current=page] { background: #174c3c; border-color: #174c3c; color: #fff; }
body.cso-classic .classic-review .classic-document-heading { background: linear-gradient(110deg,#edf3e7,#f4f7ef); }
body.cso-classic .classic-review :is(.stub-number,.stub-edit) { color: #315e44!important; border-color: #c9dac2; }
body.cso-classic :is(.classic-dialog-close,.paid-document-actions) { background: #f1f5ec; color: #315e44; }

/* The shared masthead: fine rules, soft surfaces, and grouped document menus. */
.cso-header {
  background: radial-gradient(ellipse at 0 0,#edf3e980,transparent 38%),#fff;
  border-bottom: 1px solid #dce5d7;
  box-shadow: 0 4px 24px #174c3c04;
}
.cso-header:before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg,#174c3c 0 20%,#8eaf94 20% 38%,#d4c59e 38% 44%,#edf3e8 44%);
  pointer-events: none;
}
.cso-header .cso-nav-wrap { min-height: 108px; gap: 26px; }
.cso-brand { flex-shrink: 0; display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.cso-brand-caption { display: flex; align-items: center; gap: 7px; padding-left: 3px; color: #4d6350; font: 700 8px/1.6 var(--cso-font); letter-spacing: .15em; }
.cso-brand-caption i { width: 13px; height: 1px; background: #9cad87; }
.cso-header .cso-navigation { gap: 6px; }
.cso-header .cso-navigation>.cso-nav-item,
.cso-header .cso-nav-dropdown>summary {
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 16px;
  transition: background .18s,border-color .18s;
}
.cso-header .cso-nav-copy { display: block; margin: 0; color: inherit; }
.cso-header .cso-nav-copy>span { display: flex; align-items: center; gap: 7px; font-weight: 700; white-space: nowrap; }
.cso-header .cso-nav-copy>small { display: block; font-size: 12px; font-weight: 450; line-height: 1.6; color: #4d6350; letter-spacing: 0; margin-top: 3px; white-space: nowrap; }
.cso-header .cso-nav-copy svg { width: 16px; height: 16px; flex-shrink: 0; }
.cso-header .cso-nav-chevron { margin-left: 2px; color: #4d6350; stroke-width: 2; transition: transform .18s; }
.cso-header .cso-nav-dropdown[open] .cso-nav-chevron { transform: rotate(180deg); }
.cso-header .cso-navigation>.cso-nav-item:hover,
.cso-header .cso-navigation>.cso-nav-item[aria-current=page],
.cso-header .cso-nav-dropdown[open]>summary,
.cso-header .cso-nav-dropdown[data-section-current]>summary { background: #f1f5ec; border-color: #e1e9db; color: #174c3c; }
.cso-header .cso-navigation .cso-nav-cta { margin-left: 10px; min-height: 49px; border-radius: 9px; font-size: 14px; padding: 16px 20px; box-shadow: 0 4px 10px #174c3c12; }
.cso-header .cso-nav-cta>svg { border-radius: 0; background: none; width: 19px; height: 19px; padding: 0; }
.cso-header .cso-nav-dropdown>div {
  top: calc(100% + 8px);
  left: -15px;
  width: 380px;
  padding: 10px;
  border: 1px solid #dce5d7;
  border-radius: 15px;
  box-shadow: 0 22px 55px #174c3c20,0 3px 8px #174c3c06;
  overflow: hidden;
}
.cso-header .cso-dropdown-heading { position: relative; background: #f1f5ec; border: 1px solid #e2e9dc; border-radius: 9px; padding: 17px 16px; margin-bottom: 7px; overflow: hidden; }
.cso-header .cso-dropdown-heading:after { content: ''; position: absolute; right: -12px; top: -28px; width: 96px; height: 96px; border: 1px solid #d5dfca; border-radius: 50%; box-shadow: 0 0 0 13px #e2e9d566; }
.cso-header .cso-dropdown-heading>span { position: relative; z-index: 1; font-size: 10px; font-weight: 800; letter-spacing: .14em; color: #4d6350; }
.cso-header .cso-dropdown-heading>small { position: relative; z-index: 1; color: #4d6350; font-size: 13px; margin-top: 5px; }
.cso-header .cso-nav-dropdown>div>a { justify-content: flex-start; gap: 12px; border: 1px solid transparent; padding: 13px 11px; border-radius: 9px; margin: 0; }
.cso-header .cso-nav-dropdown>div>a:hover,
.cso-header .cso-nav-dropdown>div>a[aria-current=page] { border-color: #e0e8d9; background: #f6f8f1; }
.cso-header .cso-dropdown-icon { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 42px; border: 1px solid #dce5d5; border-radius: 8px; background: linear-gradient(135deg,#f8faf4,#edf3e6); color: #477250; }
.cso-header .cso-dropdown-icon svg { width: 19px; height: 19px; }
.cso-header .cso-dropdown-copy { min-width: 0; flex: 1; }
.cso-header .cso-dropdown-copy strong { font-size: 15px; font-weight: 700; }
.cso-header .cso-dropdown-copy small { font-size: 12px; font-weight: 400; color: #4d6350; margin-top: 4px; }
.cso-header .cso-dropdown-arrow { width: 17px; height: 17px; color: #4d6350; margin-left: auto; }
.cso-header .cso-dropdown-divider { height: 1px; background: #e4eadf; margin: 6px 11px; }
.cso-header .cso-dropdown-foot { padding: 12px 12px 5px; color: #4d6350; font-size: 11px; border-top: 1px solid #e8ede4; margin-top: 7px; }
.cso-header :is(a,summary,button):focus-visible { outline: 2px solid #527c60; outline-offset: 3px; }

@media(min-width:1281px) and (max-width:1439px) {
  .cso-header .cso-navigation { gap: 2px; }
  .cso-header .cso-navigation>.cso-nav-item,.cso-header .cso-nav-dropdown>summary { padding-inline: 9px; font-size: 15px; }
  .cso-header .cso-nav-copy>small { font-size: 11px; }
  .cso-header .cso-logo,.cso-header .cso-logo img { width: 218px!important; }
  .cso-header .cso-nav-wrap { gap: 15px; }
}
@media(max-width:1280px) {
  .cso-header .cso-nav-wrap { width: calc(100% - 40px); min-height: 94px; gap: 15px; }
  .cso-header .cso-menu-button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 44px; height: 44px; flex-shrink: 0; border: 1px solid #d8e2d1; border-radius: 9px; background: #f8faf4; padding: 10px; cursor: pointer; }
  .cso-header .cso-menu-button span { display: block; width: 21px; height: 1.5px; background: #174c3c; }
  .cso-header .cso-menu-button[aria-expanded=true] span:first-child { transform: translateY(3.75px) rotate(45deg); }
  .cso-header .cso-menu-button[aria-expanded=true] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
  .cso-header .cso-navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 14px 20px 22px; max-height: calc(100dvh - 94px); overflow-y: auto; background: #fff; border-bottom: 1px solid #d8e2d1; box-shadow: 0 18px 30px #174c3c12; }
  .cso-header .cso-navigation.is-open { display: block; }
  .cso-header .cso-navigation>.cso-nav-item,.cso-header .cso-nav-dropdown>summary { padding: 13px 12px; font-size: 16px; min-height: 70px; }
  .cso-header .cso-nav-copy>small { font-size: 12px; }
  .cso-header .cso-nav-dropdown .cso-nav-copy { width: 100%; }
  .cso-header .cso-nav-dropdown .cso-nav-copy>span { justify-content: space-between; }
  .cso-header .cso-nav-dropdown>summary { justify-content: space-between; }
  .cso-header .cso-nav-dropdown>div { position: static; width: 100%; margin: 7px 0 10px; padding: 8px; box-shadow: none; background: #fcfdf9; }
  .cso-header .cso-navigation .cso-nav-cta { display: flex!important; margin: 15px 0 0; width: 100%; font-size: 15px; min-height: 54px; }
  .cso-header .cso-dropdown-copy small { white-space: normal; }
}
@media(max-width:380px) {
  .cso-header .cso-nav-wrap { width: calc(100% - 32px); }
  .cso-header .cso-logo,.cso-header .cso-logo img { width: 200px!important; height: 40px!important; }
  .cso-brand-caption { font-size: 7px; letter-spacing: .1em; gap: 5px; }
  .cso-header .cso-navigation { padding-inline: 16px; }
  .cso-header .cso-dropdown-copy strong { font-size: 14px; }
  .cso-header .cso-dropdown-copy small { font-size: 11px; }
}

/* A continuous hover area connects each trigger with its panel. */
@media(min-width:1281px) {
 .cso-header .cso-nav-dropdown[open]:after { content: ''; position: absolute; inset: 100% -15px auto; height: 10px; }
}
.cso-header .cso-nav-dropdown>div>a:focus-visible { outline-offset: -2px; background: #edf3e7; }

/* Useful secondary links above the main document navigation. */
.cso-header .cso-utility { background: #123f32; color: #e3eadf; }
.cso-header .cso-utility-inner { width: min(1440px,calc(100% - 80px)); margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 36px; }
.cso-header .cso-utility-note { display: flex; align-items: center; gap: 9px; font-size: 11px; color: #c3d3c1; letter-spacing: .025em; }
.cso-header .cso-utility-note i { width: 4px; height: 4px; background: #d4c59e; border-radius: 50%; }
.cso-header .cso-utility nav { display: flex; align-items: stretch; gap: 22px; }
.cso-header .cso-utility a { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; font: 550 12px/1.5 var(--cso-font); color: #edf3e8; text-decoration: none; text-underline-offset: 4px; }
.cso-header .cso-utility a:hover { color: #fff; text-decoration: underline; }
.cso-header .cso-utility a:focus-visible { outline: 2px solid #d4c59e; outline-offset: -2px; border-radius: 3px; }
.cso-header .cso-utility svg { width: 14px; height: 14px; color: #c8d9c2; }

/* A crafted primary action: a fine gold accent and quiet contour lines. */
.cso-header .cso-navigation .cso-nav-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 54px;
  gap: 14px;
  background: linear-gradient(115deg,#174c3c,#205c45 70%,#29684e);
  border: 1px solid #326c52;
  border-radius: 11px;
  box-shadow: inset 0 1px 0 #ffffff19,inset 0 -1px 0 #0a302630,0 5px 13px #174c3c18;
  transition: background .2s,box-shadow .2s,transform .2s;
}
.cso-header .cso-nav-cta:before { content: ''; position: absolute; left: 0; top: 15px; bottom: 15px; width: 2px; background: #d4c59e; border-radius: 0 2px 2px 0; }
.cso-header .cso-nav-cta:after { content: ''; position: absolute; z-index: -1; width: 78px; height: 78px; right: -29px; top: -38px; border: 1px solid #adc99824; border-radius: 50%; box-shadow: 0 0 0 13px #b0c99e0a,0 0 0 27px #b0c99e08; pointer-events: none; }
.cso-header .cso-cta-label { position: relative; color: #fff; white-space: nowrap; }
.cso-header .cso-cta-arrow { position: relative; display: flex; align-items: center; justify-content: center; border-left: 1px solid #ffffff24; padding-left: 13px; color: #e3eddb; }
.cso-header .cso-cta-arrow svg { display: block; width: 19px; height: 19px; }
.cso-header .cso-navigation .cso-nav-cta:hover { background: linear-gradient(115deg,#1b5843,#2a7051); border-color: #4c8362; box-shadow: inset 0 1px 0 #ffffff22,0 7px 18px #174c3c25; transform: translateY(-1px); }
.cso-header .cso-navigation .cso-nav-cta:active { transform: translateY(0); box-shadow: inset 0 2px 4px #0a302625; }
.cso-header .cso-navigation .cso-nav-cta:focus-visible { outline: 3px solid #668758; outline-offset: 3px; }

@media(max-width:1280px) {
  .cso-header .cso-utility-inner { width: calc(100% - 40px); }
  .cso-header .cso-navigation { max-height: calc(100dvh - 130px); }
  .cso-header .cso-navigation .cso-nav-cta { justify-content: space-between; }
}
@media(max-width:800px) {
  .cso-header .cso-utility-inner { min-height: 40px; }
  .cso-header .cso-utility-note { display: none; }
  .cso-header .cso-utility nav { width: 100%; justify-content: space-between; gap: 12px; }
  .cso-header .cso-utility a { min-height: 40px; font-size: 12px; }
  .cso-header .cso-navigation { max-height: calc(100dvh - 134px); }
}
@media(max-width:380px) {
  .cso-header .cso-utility-inner { width: calc(100% - 32px); }
  .cso-header .cso-utility nav { gap: 8px; }
  .cso-header .cso-utility a { font-size: 11px; }
  .cso-header .cso-utility svg { display: none; }
}
@media(prefers-reduced-motion:reduce) {
  .cso-header .cso-navigation .cso-nav-cta:hover { transform: none; }
}

/* White paper is part of the document, rather than the display surface. */
.cso-template-image { height: auto; aspect-ratio: 3/2; padding: 19px; background: #eaece3; }
.cso-template-image img { height: 100%; object-fit: contain; background: #fff; mix-blend-mode: normal; transform: none; border-radius: 2px; box-shadow: 0 5px 13px #263d2912; }
.cso-template-card:hover img { transform: none; }

/* A finished utility bar with distinct browsing and support shortcuts. */
.cso-header .cso-utility { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(110deg,#153e33,#1e4e3c 72%,#285741); border-bottom: 1px solid #ffffff12; }
.cso-header .cso-utility:after { content: ''; position: absolute; z-index: -1; left: 36%; top: -120px; width: 270px; height: 270px; border: 1px solid #c3d0a814; border-radius: 50%; box-shadow: 0 0 0 25px #c3d0a807,0 0 0 52px #c3d0a806; pointer-events: none; }
.cso-header .cso-utility-inner { min-height: 44px; }
.cso-header .cso-utility-note { gap: 8px; font-size: 12px; color: #c2d2bd; letter-spacing: 0; }
.cso-header .cso-utility-note strong { color: #e1e9d8; font-size: 12px; font-weight: 650; }
.cso-header .cso-utility-mark { width: 24px; height: 26px; display: grid; place-items: center; border: 1px solid #d8dbb42b; border-radius: 5px; background: #ffffff08; margin-right: 3px; }
.cso-header .cso-utility-mark svg { width: 14px; height: 14px; color: #cdd5ad; }
.cso-header .cso-utility nav { gap: 22px; }
.cso-header .cso-utility a { font-size: 12px; min-height: 44px; }
.cso-header .cso-utility a.cso-utility-help { min-height: 30px; margin-block: 6px; padding: 4px 12px; background: #ffffff0d; border: 1px solid #cdd9bb3b; border-radius: 6px; }
.cso-header .cso-utility-help:hover { background: #ffffff18; }
@media(max-width:1280px) { .cso-header .cso-navigation { max-height: calc(100dvh - 138px); } }
@media(max-width:800px) {
 .cso-header .cso-utility-inner { min-height: 44px; }
 .cso-header .cso-utility nav { gap: 10px; }
 .cso-header .cso-utility a { font-size: 12px; }
 .cso-header .cso-utility a.cso-utility-help { padding-inline: 9px; }
 .cso-template-image { height: auto; min-height: 0; }
}
@media(max-width:380px) {
 .cso-header .cso-utility a { font-size: 11px; }
 .cso-header .cso-utility a.cso-utility-help { padding-inline: 7px; }
 .cso-template-image { padding: 13px; }
}

/* Secondary text should still be comfortably readable. */
.cso-header .cso-utility-note,.cso-header .cso-utility-note strong { font-size: 14px; }
.cso-header .cso-utility a { font-size: 13px; }
.cso-header .cso-nav-copy>small { font-size: 12px; }
.cso-header .cso-dropdown-heading>span { font-size: 12px; letter-spacing: .08em; }
.cso-header .cso-dropdown-foot { font-size: 12px; }
.cso-eyebrow,.cso-module .cso-footer .cso-eyebrow { font-size: 12px; }
.cso-template-card small { font-size: 13px; line-height: 1.6; }
.cso-template-image>span { font-size: 12px; letter-spacing: .04em; }
.cso-template-foot { font-size: 13px; line-height: 1.8; }
.cso-tool-card p { font-size: 14px; }
.cso-tool-action { font-size: 13px; }
.cso-all-tools>span { font-size: 12px; }
.cso-footer-top p,.cso-footer-brand>p { font-size: 14px; }
.cso-footer-grid>div:not(:first-child)>a,.cso-module .cso-footer a { font-size: 14px; }
.cso-footer-brand>a:last-child { font-size: 13px; }
.cso-footer-bottom,.cso-module .cso-footer-bottom { font-size: 12px; }
.cso-feature-strip span { font-size: 13px; }
.cso-workspace-list i,.cso-tool-symbol { font-size: 12px; }
.cso-workspace-band .cso-button,.cso-footer-top .cso-button,.cso-module .cso-footer .cso-button { font-size: 13px; }
.cso-catalog-count { font-size: 13px; }
@media(max-width:800px) {
 .cso-header .cso-utility-note { display: none; }
 .cso-header .cso-utility a { font-size: 13px; }
 .cso-template-card small { font-size: 13px; }
}
@media(max-width:380px) {
 .cso-header .cso-utility nav { gap: 6px; }
 .cso-header .cso-utility a { font-size: 12px; }
}
