/* Hallmark · genre: editorial · macrostructure: shared shell · theme: Catskills Studio · enrichment: none · nav: N6 masthead · footer: Ft3 index */
@import "../../tokens.647cf5.css";

/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V5 */

html,
body {
  overflow-x: clip;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-md);
  line-height: var(--leading-body);
  letter-spacing: var(--tracking-body);
  text-rendering: optimizeLegibility;
}

:where(h1, h2, h3, h4, h5, h6) {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-style: normal;
  font-weight: var(--display-weight);
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}

.ss-global-nav-wrapper,
.ss-global-nav-wrapper *,
.ss-global-nav-wrapper *::before,
.ss-global-nav-wrapper *::after,
.ss-new-site-footer,
.ss-new-site-footer *,
.ss-new-site-footer *::before,
.ss-new-site-footer *::after,
.ss-floating-chat,
.ss-mobile-sticky-action,
.mobile-sticky-cta,
.desktop-sticky-cta,
.ss-mobile-actionbar {
  box-sizing: border-box;
}

/* Shared focus contract. */
.ss-global-nav-wrapper a:focus-visible,
.ss-global-nav-wrapper button:focus-visible,
.ss-new-site-footer a:focus-visible,
.ss-floating-chat:focus-visible,
.ss-mobile-sticky-action:focus-visible,
.mobile-sticky-cta a:focus-visible,
.desktop-sticky-cta a:focus-visible,
.desktop-sticky-cta button:focus-visible,
.ss-mobile-actionbar a:focus-visible,
.ss-mobile-actionbar button:focus-visible {
  outline: var(--rule-fine) solid var(--color-focus);
  outline-offset: var(--space-3xs);
}

.ss-global-nav-wrapper .ss-nav-cta:focus-visible,
.ss-mobile-sticky-action:focus-visible,
.mobile-sticky-cta > a:first-child:focus-visible,
.mobile-sticky-cta__primary:focus-visible,
.desktop-sticky-cta__primary:focus-visible,
.ss-mobile-actionbar .ss-action-primary:focus-visible {
  outline-color: var(--color-focus);
}

/* Accessible skip link. */
.ss-skip-link {
  position: absolute;
  z-index: var(--z-modal);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  pointer-events: none;
}

.ss-skip-link:focus-visible {
  inset-block-start: var(--space-sm);
  inset-inline-start: var(--gutter);
  width: auto;
  height: auto;
  margin: 0;
  padding: var(--space-xs) var(--space-sm);
  overflow: visible;
  clip: auto;
  clip-path: none;
  border: var(--rule-hair) solid var(--color-ink);
  border-radius: var(--radius-button);
  background: var(--color-ink);
  color: var(--color-paper);
  font-family: var(--font-body);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  pointer-events: auto;
}

/* N6-like editorial masthead, adapted to the existing Bootstrap contract. */
.ss-global-nav-wrapper {
  position: relative;
  z-index: var(--z-nav);
  width: 100%;
  margin: 0;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  text-align: center;
  isolation: isolate;
}

body .ss-global-nav-wrapper .ss-site-header {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: var(--color-paper);
  box-shadow: none;
  color: var(--color-ink);
}

body .ss-global-nav-wrapper .ss-site-header::after {
  content: "";
  display: block;
  width: 100%;
  height: var(--space-2xs);
  border-block-start: var(--rule-hair) solid var(--color-rule-2);
  border-block-end: var(--rule-hair) solid var(--color-rule-2);
  background: var(--color-paper);
  pointer-events: none;
}

.ss-global-nav-wrapper .ss-topbar {
  display: none;
}

.ss-global-nav-wrapper .ss-topbar-sms {
  color: var(--color-accent);
  text-decoration: none;
}

.ss-global-nav-wrapper .ss-topbar-inner {
  width: 100%;
  max-width: 1100px !important;
  margin-inline: auto;
  padding-inline: clamp(1rem, 2.4vw, 1.25rem) !important;
}

.ss-global-nav-wrapper .ss-navbar {
  display: block;
  min-height: 0;
  padding: var(--space-xs) var(--gutter);
  border: 0;
  border-radius: 0;
  background: var(--color-paper);
  color: var(--color-ink);
}

.ss-global-nav-wrapper .ss-navbar > .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "brand toggle"
    "menu menu";
  gap: var(--space-xs);
  align-items: center;
  width: 100%;
  /* Keep the shared masthead measure stable when route CSS is purged. */
  max-width: 1100px !important;
  margin-inline: auto;
  padding-inline: clamp(1rem, 2.4vw, 1.25rem) !important;
}

.ss-global-nav-wrapper .ss-brand {
  grid-area: brand;
  display: inline-flex;
  align-items: center;
  justify-self: start;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  gap: var(--space-xs);
  color: var(--color-ink);
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
}

.ss-global-nav-wrapper .ss-brand-mark {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
}

.ss-global-nav-wrapper .ss-brand-copy {
  display: inline-flex;
  min-width: 0;
  flex-direction: column;
}

.ss-global-nav-wrapper .ss-brand-main {
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 6vw, 1.75rem);
  font-style: normal;
  font-weight: var(--display-weight);
  letter-spacing: var(--tracking-display);
  line-height: 1;
  white-space: nowrap;
}

.ss-global-nav-wrapper .ss-brand-sub {
  display: none;
  color: var(--color-muted);
  font-family: var(--font-body);
}

.ss-global-nav-wrapper .ss-menu-button {
  grid-area: toggle;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: end;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: var(--space-2xs) var(--space-xs);
  border: var(--rule-hair) solid var(--color-rule-2);
  border-radius: var(--radius-button) !important;
  background: var(--color-paper);
  box-shadow: none;
  color: var(--color-ink);
  letter-spacing: normal !important;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.ss-global-nav-wrapper .ss-menu-button[aria-expanded="true"] {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: var(--color-accent-ink);
}

.ss-global-nav-wrapper #ssMainNav {
  grid-area: menu;
  min-width: 0;
  width: 100%;
}

.ss-global-nav-wrapper #ssMainNav.show,
.ss-global-nav-wrapper #ssMainNav.collapsing {
  margin-block-start: var(--space-2xs);
  border-block-start: var(--rule-hair) solid var(--color-rule);
}

.ss-global-nav-wrapper #ssMainNav.collapsing {
  transition: none;
}

.ss-global-nav-wrapper .navbar-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  margin: 0;
  padding: var(--space-2xs) 0 0;
  gap: 0;
}

.ss-global-nav-wrapper .navbar-nav > .nav-item {
  min-width: 0;
  margin: 0;
  border-block-start: var(--rule-hair) solid var(--color-rule);
}

.ss-global-nav-wrapper .navbar-nav > .nav-item:first-child {
  border-block-start: 0;
}

.ss-global-nav-wrapper .ss-navbar .nav-link,
.ss-global-nav-wrapper .ss-nav-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: var(--space-xs) var(--space-2xs);
  border: 0;
  border-inline-start: var(--rule-fine) solid transparent;
  border-radius: 999px !important;
  background: transparent;
  box-shadow: none;
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: var(--tracking-body);
  line-height: 1.2;
  text-align: start;
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  transition:
    background-color var(--dur-micro) var(--ease-out),
    border-color var(--dur-micro) var(--ease-out),
    color var(--dur-micro) var(--ease-out),
    transform var(--dur-micro) var(--ease-out) !important;
}

.ss-global-nav-wrapper .ss-navbar .nav-link.active,
.ss-global-nav-wrapper .ss-navbar .nav-link[aria-current="page"] {
  border-inline-start-color: var(--color-accent);
  color: var(--color-accent-deep);
}

.ss-global-nav-wrapper .ss-navbar .dropdown-toggle::after {
  flex: 0 0 auto;
  margin-inline-start: var(--space-2xs);
}

.ss-global-nav-wrapper .ss-navbar .dropdown-menu {
  position: static;
  float: none;
  min-width: 100%;
  margin: 0;
  padding: 0 0 var(--space-2xs) var(--space-sm);
  border: 0;
  border-radius: 0;
  background: var(--color-paper-2);
  box-shadow: none;
  color: var(--color-ink);
}

.ss-global-nav-wrapper .ss-navbar .dropdown-item {
  display: flex;
  align-items: center;
  position: relative !important;
  min-height: 44px;
  padding: var(--space-2xs) var(--space-xs);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-neutral);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.ss-global-nav-wrapper .ss-navbar .dropdown-item.active,
.ss-global-nav-wrapper .ss-navbar .dropdown-item[aria-current="page"] {
  background: var(--color-accent-soft);
  color: var(--color-accent-deep);
}

.ss-global-nav-wrapper .ss-nav-cta {
  justify-content: center;
  margin-block: var(--space-2xs);
  padding-inline: var(--space-sm);
  border: var(--rule-hair) solid var(--color-accent);
  border-radius: var(--radius-button);
  background: var(--color-accent);
  color: var(--color-accent-ink);
  font-weight: 700;
}

.ss-global-nav-wrapper .ss-nav-cta:active,
.ss-global-nav-wrapper .ss-menu-button:active {
  background: var(--color-accent-deep);
  color: var(--color-accent-ink);
}

/* Existing mobile Text Sandy action, restyled as an anchored bar. */
.ss-mobile-sticky-action {
  display: none;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  min-height: 52px;
  padding: var(--space-xs) var(--gutter);
  border: 0;
  border-block-start: var(--rule-hair) solid var(--color-rule-2);
  border-radius: 0;
  background: var(--color-ink);
  box-shadow: none;
  color: var(--color-paper);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

/* Footer: a genuine four-part sitemap with asymmetric editorial rhythm. */
footer.ss-new-site-footer {
  width: 100%;
  margin: 0;
  padding: var(--space-xl) 0 var(--space-lg);
  border-block-start: var(--rule-fine) solid var(--color-ink);
  background: var(--color-paper-2);
  color: var(--color-ink);
  font-family: var(--font-body);
  text-align: center;
}

.ss-new-site-footer .ss-new-footer-shell {
  width: 100%;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding: 0 var(--gutter);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ss-new-site-footer .ss-new-footer-inner {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ss-new-site-footer .ss-new-footer-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl);
  margin: 0;
}

.ss-new-site-footer .ss-new-footer-brand {
  min-width: 0;
  padding: 0;
}

.ss-new-site-footer .ss-new-brand-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-sm);
  margin: 0 0 var(--space-sm);
}

.ss-new-site-footer .ss-new-brand-logo {
  display: block;
  width: 60px;
  height: 60px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--color-ink);
  object-fit: contain;
  transition: none;
}

.ss-new-site-footer .ss-new-brand-title {
  min-width: 0;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 8vw, 2.6rem);
  font-style: normal;
  font-weight: var(--display-weight);
  letter-spacing: var(--tracking-display);
  line-height: 1;
  overflow-wrap: anywhere;
}

.ss-new-site-footer .ss-new-brand-desc {
  max-width: 48ch;
  margin: 0 0 var(--space-md);
  color: var(--color-muted);
  font-family: var(--font-body);
  font-size: var(--text-md);
  line-height: var(--leading-body);
}

.ss-new-site-footer .ss-new-contact-list {
  display: grid;
  gap: var(--space-xs);
}

.ss-new-site-footer .ss-new-contact-row {
  display: flex;
  align-items: flex-start;
  gap: var(--space-xs);
  color: var(--color-neutral);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  line-height: 1.5;
  transition: none;
}

.ss-new-site-footer .ss-new-contact-row i {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-block-start: var(--space-3xs);
  color: var(--color-accent);
}

.ss-new-site-footer .ss-new-footer-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-lg);
  min-width: 0;
}

.ss-new-site-footer .ss-new-nav-col {
  min-width: 0;
  border-block-start: var(--rule-hair) solid var(--color-rule-2);
}

.ss-new-site-footer .ss-new-nav-col h3 {
  margin: 0;
  padding: var(--space-xs) 0 var(--space-2xs);
  color: var(--color-accent-deep);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-style: normal;
  font-weight: 700;
  font-variant-caps: all-small-caps;
  letter-spacing: var(--tracking-label);
  line-height: 1.2;
  text-transform: uppercase;
}

.ss-new-site-footer .ss-new-nav-col ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ss-new-site-footer .ss-new-nav-col li {
  margin: 0;
  border-block-start: var(--rule-hair) solid var(--color-rule);
  color: var(--color-ink);
}

.ss-new-site-footer .ss-new-nav-col a {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 44px;
  padding: var(--space-2xs) 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-neutral);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: none;
}

.ss-new-site-footer .ss-new-footer-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  justify-content: space-between;
  gap: var(--space-sm);
  margin: var(--space-xl) 0 0;
  padding: var(--space-md) 0 0;
  border: 0;
  border-block-start: var(--rule-hair) solid var(--color-rule-2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--color-muted);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  line-height: 1.6;
}

.ss-new-site-footer .ss-new-footer-contacts {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs) var(--space-sm);
}

.ss-new-site-footer .ss-new-footer-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  width: auto;
  min-height: 44px;
  padding: var(--space-2xs) 0;
  border: 0;
  border-block-end: var(--rule-hair) solid var(--color-rule-2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--color-neutral);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: none;
}

.ss-new-site-footer .ss-new-footer-contact-link i {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  color: var(--color-accent);
}

.ss-new-site-footer .ss-new-divider {
  display: none;
  width: var(--rule-hair);
  height: var(--space-sm);
  background: var(--color-rule-2);
}

.ss-floating-chat {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: var(--space-xs) var(--gutter);
  border: 0;
  border-block-end: var(--rule-hair) solid var(--color-rule-2);
  border-radius: 0;
  background: var(--color-paper-3);
  box-shadow: none;
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: none;
}

.ss-floating-chat i {
  flex: 0 0 auto;
  color: var(--color-accent);
  font-size: var(--text-md);
}

.ss-floating-chat-text {
  display: inline;
  font-size: inherit;
  font-weight: inherit;
  white-space: nowrap;
}

.ss-lead-capture-footer {
  padding: var(--space-md) 0;
  border-block-start: var(--rule-hair) solid var(--color-rule);
  background: var(--color-paper-2);
  color: var(--color-ink);
}

.ss-lead-capture-footer form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  width: 100%;
}

/* Existing Formspree schedule contract, rebuilt as a labelled, stable form surface. */
.ss-lead-capture-container {
  width: 100%;
  margin: 0;
  padding: var(--space-md) var(--gutter);
  border-block-end: var(--rule-hair) solid var(--color-rule);
  background: var(--color-paper-2);
  color: var(--color-ink);
  font-family: var(--font-body);
}

.ss-lead-capture-inner {
  display: grid;
  gap: var(--space-md);
  width: 100%;
  max-width: var(--container-wide);
  margin-inline: auto;
}

.ss-lead-capture-copy h2,
.ss-schedule-lead-dialog h2 {
  margin: 0;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-style: normal;
  font-weight: var(--display-weight);
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-heading);
}

.ss-lead-capture-copy p,
.ss-schedule-lead-dialog > p {
  max-width: 52ch;
  margin: var(--space-2xs) 0 0;
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.55;
}

.ss-lead-capture-form {
  display: grid;
  gap: var(--space-sm);
  width: 100%;
}

.ss-lead-capture-form label {
  display: grid;
  gap: var(--space-2xs);
  margin: 0;
  color: var(--color-neutral);
  font-size: var(--text-xs);
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.2;
}

.ss-lead-capture-form input {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: var(--space-2xs) var(--space-xs);
  border: var(--rule-hair) solid var(--color-rule-2);
  border-radius: var(--radius-input);
  outline: var(--rule-fine) solid transparent;
  outline-offset: 1px;
  background: var(--color-paper);
  color: var(--color-ink);
  font: inherit;
  font-size: var(--text-md);
}

.ss-lead-capture-form input:focus-visible {
  border-width: var(--rule-hair);
  border-color: var(--color-neutral);
  outline-color: var(--color-focus);
}

.ss-lead-capture-form input:user-invalid {
  border-color: var(--color-error);
}

.ss-lead-capture-form input:user-valid {
  border-color: var(--color-accent);
}

.ss-lead-capture-form input:active:not(:disabled) {
  border-color: var(--color-accent);
}

.ss-lead-capture-form input:disabled {
  background: var(--color-paper-2);
  color: var(--color-muted);
  cursor: not-allowed;
  opacity: 0.55;
}

.ss-btn:focus-visible,
.ss-schedule-lead-close:focus-visible {
  outline: var(--rule-fine) solid var(--color-focus);
  outline-offset: var(--space-3xs);
}

.ss-lead-capture-form[data-state="loading"] {
  opacity: 0.72;
}

.ss-lead-capture-form[data-state="loading"] input,
.ss-lead-capture-form[data-state="loading"] button {
  cursor: wait;
}

.ss-lead-capture-form .ss-btn {
  align-self: end;
}

.ss-lead-capture-status {
  min-height: 1lh;
  margin: 0;
  color: var(--color-accent-deep);
  font-size: var(--text-sm);
  font-weight: 650;
}

.ss-lead-capture-status[data-state="success"] {
  color: var(--color-accent-deep);
}

.ss-lead-capture-status[data-state="error"] {
  color: var(--color-error);
}

.ss-schedule-lead-modal {
  position: fixed;
  inset: 0;
  width: min(calc(100% - (2 * var(--gutter))), 34rem);
  height: fit-content;
  max-height: min(80dvh, 42rem);
  margin: auto;
  padding: 0;
  overflow: auto;
  border: var(--rule-hair) solid var(--color-rule-2);
  border-radius: var(--radius-card);
  background: var(--color-paper);
  box-shadow: var(--shadow-raised);
  color: var(--color-ink);
}

.ss-schedule-lead-modal::backdrop {
  background: var(--color-backdrop);
}

.ss-schedule-lead-dialog {
  position: relative;
  display: grid;
  gap: var(--space-md);
  padding: var(--space-xl) var(--space-md) var(--space-md);
}

.ss-schedule-lead-close {
  position: absolute;
  inset-block-start: var(--space-xs);
  inset-inline-end: var(--space-xs);
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-button);
  background: transparent;
  color: var(--color-ink);
  font: inherit;
  font-size: var(--text-xl);
  line-height: 1;
}

.ss-schedule-lead-close:active:not(:disabled) {
  transform: translateY(1px);
}

.ss-schedule-lead-close:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.ss-lead-capture-form--stacked {
  grid-template-columns: minmax(0, 1fr);
}

/* Extracted global helpers retained for routes that consume them through SSI. */
.ss-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  min-height: 44px;
  padding: var(--space-xs) var(--space-sm);
  border: var(--rule-hair) solid transparent;
  border-radius: var(--radius-button);
  font-family: var(--font-body);
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color var(--dur-micro) var(--ease-out),
    border-color var(--dur-micro) var(--ease-out),
    color var(--dur-micro) var(--ease-out),
    transform var(--dur-micro) var(--ease-out);
}

.ss-btn-primary {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: var(--color-accent-ink);
  box-shadow: none;
}

.ss-btn-secondary {
  border-color: var(--color-rule-2);
  background: var(--color-paper-2);
  color: var(--color-ink);
}

.ss-btn:active {
  transform: translateY(1px);
}

.ss-section {
  padding: clamp(var(--space-xl), 6vw, var(--space-3xl)) 0;
}

.ss-card {
  padding: clamp(var(--space-sm), 2.5vw, var(--space-md));
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-card);
  background: var(--color-paper);
  box-shadow: var(--shadow-card);
  color: var(--color-ink);
}

.ss-eyebrow {
  margin-block-end: var(--space-2xs);
  color: var(--color-accent-deep);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.ss-muted {
  color: var(--color-muted);
}

dialog#help-modal::backdrop {
  background: color-mix(in oklab, var(--color-ink) 72%, transparent);
}

dialog#help-modal {
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
}

/* Existing cross-route sticky actions: fixed behavior retained, visual shell flattened. */
.mobile-sticky-cta {
  position: fixed;
  z-index: var(--z-sticky);
  inset-inline: 0;
  inset-block-end: 0;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: var(--space-2xs);
  width: 100%;
  margin: 0;
  padding: var(--space-2xs) max(var(--space-xs), env(safe-area-inset-right)) max(var(--space-2xs), env(safe-area-inset-bottom)) max(var(--space-xs), env(safe-area-inset-left));
  border: 0;
  border-block-start: var(--rule-hair) solid var(--color-rule-2);
  border-radius: 0;
  background: var(--color-paper);
  box-shadow: none;
  transform: translateY(0);
  transition: transform var(--dur-short) var(--ease-in-out);
}

.mobile-sticky-cta--hidden {
  transform: translateY(125%);
  pointer-events: none;
}

.mobile-sticky-cta__inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  align-items: center;
  gap: var(--space-2xs);
  width: 100%;
  max-width: var(--container-standard);
  margin-inline: auto;
}

.mobile-sticky-cta > a,
.mobile-sticky-cta > button,
.mobile-sticky-cta__primary,
.mobile-sticky-cta__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  width: 100%;
  padding: var(--space-2xs) var(--space-xs);
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule-2);
  border-radius: var(--radius-button) !important;
  background: var(--color-paper-2);
  box-shadow: none;
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition:
    background-color var(--dur-micro) var(--ease-out),
    border-color var(--dur-micro) var(--ease-out),
    color var(--dur-micro) var(--ease-out);
}

.mobile-sticky-cta > a:first-child,
.mobile-sticky-cta__primary {
  border-color: var(--color-accent) !important;
  background: var(--color-accent) !important;
  color: var(--color-accent-ink) !important;
}

.desktop-sticky-cta {
  position: fixed;
  z-index: var(--z-sticky);
  inset-inline-start: 50% !important;
  inset-inline-end: auto !important;
  inset-block-end: var(--space-sm);
  display: none;
  max-width: calc(100% - (2 * var(--gutter)));
  padding: var(--space-2xs);
  border: var(--rule-hair) solid var(--color-rule-2);
  border-radius: var(--radius-card);
  background: var(--color-ink);
  box-shadow: none;
  color: var(--color-paper);
  transform: translateX(-50%);
}

.desktop-sticky-cta__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
}

.desktop-sticky-cta__primary,
.desktop-sticky-cta__action,
.desktop-sticky-cta__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: var(--space-2xs) var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule-2);
  border-radius: var(--radius-button);
  background: var(--color-paper);
  box-shadow: none;
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color var(--dur-micro) var(--ease-out),
    border-color var(--dur-micro) var(--ease-out),
    color var(--dur-micro) var(--ease-out);
}

.desktop-sticky-cta__primary {
  border-color: var(--color-accent) !important;
  background: var(--color-accent) !important;
  color: var(--color-accent-ink) !important;
}

.desktop-sticky-cta--hidden {
  display: none !important;
}

.ss-mobile-actionbar {
  display: none;
}

.ss-global-nav-wrapper .ss-brand:active,
.ss-global-nav-wrapper .ss-topbar-sms:active,
.ss-global-nav-wrapper .ss-navbar .nav-link:active,
.ss-global-nav-wrapper .ss-navbar .dropdown-item:active,
.ss-new-site-footer a:active,
.ss-floating-chat:active,
.mobile-sticky-cta > a:active,
.mobile-sticky-cta > button:active,
.desktop-sticky-cta a:active,
.desktop-sticky-cta button:active,
.ss-mobile-actionbar a:active,
.ss-mobile-actionbar button:active {
  color: var(--color-accent-deep);
}

.mobile-sticky-cta > a:first-child:active,
.mobile-sticky-cta__primary:active,
.desktop-sticky-cta__primary:active,
.ss-mobile-actionbar .ss-action-primary:active,
.ss-mobile-actionbar a:first-child:active {
  border-color: var(--color-accent-deep) !important;
  background: var(--color-accent-deep) !important;
  color: var(--color-accent-ink) !important;
}

.ss-global-nav-wrapper button:disabled,
.ss-global-nav-wrapper [aria-disabled="true"],
.ss-new-site-footer [aria-disabled="true"],
.ss-floating-chat[aria-disabled="true"],
.ss-mobile-sticky-action[aria-disabled="true"],
.ss-btn:disabled,
.ss-btn[aria-disabled="true"],
.mobile-sticky-cta [aria-disabled="true"],
.desktop-sticky-cta [aria-disabled="true"],
.ss-mobile-actionbar [aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.55;
  pointer-events: none;
}

/* Hover is opt-in only for devices that actually hover. */
@media (hover: hover) and (pointer: fine) {
  .ss-global-nav-wrapper .ss-brand:hover,
  .ss-global-nav-wrapper .ss-topbar-sms:hover {
    color: var(--color-accent-deep);
  }

  .ss-global-nav-wrapper .ss-navbar .nav-link:hover {
    color: var(--color-accent-deep);
  }

  .ss-global-nav-wrapper .ss-navbar .dropdown-item:hover {
    background: var(--color-accent-soft);
    color: var(--color-accent-deep);
  }

  .ss-global-nav-wrapper .ss-nav-cta:hover,
  .ss-mobile-sticky-action:hover,
  .mobile-sticky-cta > a:first-child:hover,
  .mobile-sticky-cta__primary:hover,
  .desktop-sticky-cta__primary:hover,
  .ss-mobile-actionbar .ss-action-primary:hover {
    border-color: var(--color-accent-deep);
    background: var(--color-accent-deep);
    color: var(--color-accent-ink);
  }

  .ss-new-site-footer .ss-new-brand-logo:hover {
    transform: none;
  }

  .ss-new-site-footer .ss-new-nav-col a:hover,
  .ss-new-site-footer .ss-new-footer-contact-link:hover,
  .ss-floating-chat:hover {
    border-color: var(--color-accent);
    background: transparent;
    color: var(--color-accent-deep);
    transform: none;
  }

  .ss-btn:hover,
  .mobile-sticky-cta > a:hover,
  .mobile-sticky-cta > button:hover,
  .desktop-sticky-cta__action:hover,
  .ss-mobile-actionbar a:hover,
  .ss-mobile-actionbar button:hover {
    border-color: var(--color-accent);
    background: var(--color-accent-soft);
    color: var(--color-accent-deep);
  }

  .ss-lead-capture-form input:hover {
    border-color: var(--color-neutral);
  }

  .ss-schedule-lead-close:hover {
    background: var(--color-paper-3);
    color: var(--color-accent-deep);
  }
}

/* Tablet footer index: two columns without shrinking tap targets. */
@media (min-width: 40rem) {
  .ss-lead-capture-inner {
    grid-template-columns: minmax(12rem, 0.72fr) minmax(0, 1.28fr);
    align-items: end;
  }

  .ss-lead-capture-form:not(.ss-lead-capture-form--stacked) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    align-items: end;
  }

  .ss-new-site-footer .ss-new-footer-nav {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  }

  .ss-new-site-footer .ss-new-footer-bottom {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .ss-new-site-footer .ss-new-footer-contacts {
    justify-content: flex-end;
  }

  .ss-new-site-footer .ss-new-divider {
    display: block;
  }
}

/* N6 desktop state begins at Bootstrap's lg breakpoint (992px). */
@media (min-width: 62rem) {
  .ss-global-nav-wrapper .ss-topbar {
    display: block;
    border-block-end: var(--rule-hair) solid var(--color-rule);
    background: var(--color-paper-2);
    color: var(--color-neutral);
  }

  .ss-global-nav-wrapper .ss-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    width: 100%;
    max-width: 1100px !important;
    min-height: 44px;
    margin-inline: auto;
    padding-inline: clamp(1rem, 2.4vw, 1.25rem) !important;
  }

  .ss-global-nav-wrapper .ss-topbar-left,
  .ss-global-nav-wrapper .ss-topbar-right,
  .ss-global-nav-wrapper .ss-topbar-sms {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
  }

  .ss-global-nav-wrapper .ss-topbar-left,
  .ss-global-nav-wrapper .ss-topbar-right {
    min-width: 0;
  }

  .ss-global-nav-wrapper .ss-topbar-highlight,
  .ss-global-nav-wrapper .ss-topbar-location,
  .ss-global-nav-wrapper .ss-topbar-sms,
  .ss-global-nav-wrapper .ss-topbar-dot {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    line-height: 1;
    white-space: nowrap;
  }

  .ss-global-nav-wrapper .ss-topbar-highlight {
    color: var(--color-accent-deep);
    font-weight: 700;
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
  }

  .ss-global-nav-wrapper .ss-topbar-location {
    color: var(--color-neutral);
    font-weight: 500;
  }

  .ss-global-nav-wrapper .ss-topbar-dot {
    color: var(--color-rule-2);
  }

  .ss-global-nav-wrapper .ss-topbar-sms {
    min-height: 44px;
    color: var(--color-accent) !important;
    font-weight: 600;
    text-decoration: none !important;
  }

  .ss-global-nav-wrapper .ss-topbar-sms i {
    color: inherit !important;
    background: transparent !important;
  }

  .ss-global-nav-wrapper .ss-navbar {
    padding-block: var(--space-sm);
  }

  .ss-global-nav-wrapper .ss-navbar > .container {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "brand"
      "menu";
    justify-items: center;
    gap: var(--space-sm);
  }

  .ss-global-nav-wrapper .ss-brand {
    justify-self: center;
    gap: var(--space-sm);
  }

  .ss-global-nav-wrapper .ss-brand-mark {
    width: 56px;
    height: 56px;
  }

  .ss-global-nav-wrapper .ss-brand-copy {
    align-items: center;
    text-align: center;
  }

  .ss-global-nav-wrapper .ss-brand-main {
    font-size: clamp(2.5rem, 4.4vw, 3.75rem);
    line-height: var(--leading-tight);
  }

  .ss-global-nav-wrapper .ss-brand-sub {
    display: block;
    margin-block-start: var(--space-2xs);
    color: var(--color-muted);
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: var(--tracking-label);
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .ss-global-nav-wrapper .ss-menu-button {
    display: none;
  }

  .ss-global-nav-wrapper #ssMainNav,
  .ss-global-nav-wrapper #ssMainNav.show,
  .ss-global-nav-wrapper #ssMainNav.collapsing {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    border-block-start: var(--rule-hair) solid var(--color-rule-2);
  }

  .ss-global-nav-wrapper .navbar-nav {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 100%;
    margin-inline: auto !important;
    padding: var(--space-2xs) 0 0;
    gap: 0 var(--space-2xs);
  }

  .ss-global-nav-wrapper .navbar-nav > .nav-item {
    border: 0;
  }

  .ss-global-nav-wrapper .ss-navbar .nav-link,
  .ss-global-nav-wrapper .ss-nav-cta {
    position: relative;
    justify-content: center;
    width: auto;
    min-height: 44px;
    padding: var(--space-2xs) var(--space-xs);
    border-inline-start: 0;
  }

  .ss-global-nav-wrapper .ss-navbar .nav-link::before {
    content: "";
    position: absolute;
    inset-inline: var(--space-xs);
    inset-block-end: var(--space-3xs);
    height: var(--rule-fine);
    background: var(--color-accent);
    transform: scaleX(0);
    transform-origin: center;
  }

  .ss-global-nav-wrapper .ss-navbar .nav-link.active::before,
  .ss-global-nav-wrapper .ss-navbar .nav-link[aria-current="page"]::before {
    transform: scaleX(1);
  }

  .ss-global-nav-wrapper .ss-nav-cta {
    margin: 0 0 0 var(--space-2xs);
    padding-inline: var(--space-sm);
    border: var(--rule-hair) solid var(--color-accent);
    border-radius: var(--radius-button);
  }

  .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
    position: absolute;
    min-width: 15rem;
    margin-block-start: 0;
    padding: var(--space-2xs);
    border: var(--rule-hair) solid var(--color-rule-2);
    border-radius: var(--radius-button);
    background: var(--color-paper);
    box-shadow: var(--shadow-raised);
  }

  .ss-global-nav-wrapper .ss-navbar .dropdown-item {
    border-radius: calc(var(--radius-button) * 0.5);
  }

  .ss-new-site-footer .ss-new-footer-top {
    grid-template-columns: minmax(16rem, 0.78fr) minmax(0, 1.52fr);
    align-items: start;
    gap: var(--space-2xl);
  }

  .ss-new-site-footer .ss-new-footer-nav {
    grid-template-columns:
      minmax(0, 1.12fr)
      minmax(0, 0.88fr)
      minmax(0, 1fr);
    gap: var(--space-lg);
  }

  .ss-new-site-footer .ss-new-nav-col:nth-child(2) {
    margin-block-start: 0;
  }

  .desktop-sticky-cta:not(.desktop-sticky-cta--hidden) {
    display: block;
  }
}

@media (max-width: 47.999rem) {
  body {
    padding-block-end: calc(var(--space-2xl) + env(safe-area-inset-bottom));
  }

  .ss-mobile-sticky-action {
    position: fixed;
    z-index: var(--z-sticky);
    inset-inline: 0;
    inset-block-end: 0;
    display: flex;
    width: 100%;
    padding-block-end: max(var(--space-xs), env(safe-area-inset-bottom));
  }

  body:has(.mobile-sticky-cta) .ss-mobile-sticky-action,
  body:has(.ss-mobile-actionbar) .ss-mobile-sticky-action,
  body.page-contact .ss-mobile-sticky-action {
    display: none;
  }

  body.body-has-sticky {
    padding-block-end: calc(var(--space-2xl) + env(safe-area-inset-bottom));
  }

  .desktop-sticky-cta {
    display: none !important;
  }

  .ss-mobile-actionbar {
    position: fixed;
    z-index: var(--z-sticky);
    inset-inline: 0;
    inset-block-end: 0;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: var(--space-2xs);
    width: 100%;
    margin: 0;
    padding: var(--space-2xs) max(var(--space-xs), env(safe-area-inset-right)) max(var(--space-2xs), env(safe-area-inset-bottom)) max(var(--space-xs), env(safe-area-inset-left));
    border: 0;
    border-block-start: var(--rule-hair) solid var(--color-rule-2);
    border-radius: 0;
    background: var(--color-paper);
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
    transition:
      opacity var(--dur-short) var(--ease-out),
      transform var(--dur-short) var(--ease-out);
  }

  .ss-mobile-actionbar.is-observed {
    opacity: 0;
    pointer-events: none;
    transform: translateY(100%);
    visibility: hidden;
  }

  .ss-mobile-actionbar.is-observed.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  .ss-mobile-actionbar a,
  .ss-mobile-actionbar button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 44px;
    width: 100%;
    padding: var(--space-2xs) var(--space-xs);
    overflow: hidden;
    border: var(--rule-hair) solid var(--color-rule-2);
    border-radius: var(--radius-button) !important;
    background: var(--color-paper-2);
    box-shadow: none;
    color: var(--color-ink);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition:
      background-color var(--dur-micro) var(--ease-out),
      border-color var(--dur-micro) var(--ease-out),
      color var(--dur-micro) var(--ease-out);
  }

  .ss-mobile-actionbar .ss-action-primary,
  .ss-mobile-actionbar a:first-child {
    border-color: var(--color-accent);
    background: var(--color-accent);
    color: var(--color-accent-ink);
  }
}

@media (min-width: 48rem) {
  .mobile-sticky-cta,
  .ss-mobile-actionbar {
    display: none !important;
  }

  body.body-has-sticky {
    padding-block-end: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .ss-global-nav-wrapper *,
  .ss-global-nav-wrapper *::before,
  .ss-global-nav-wrapper *::after,
  .ss-new-site-footer *,
  .ss-new-site-footer *::before,
  .ss-new-site-footer *::after,
  .ss-floating-chat,
  .ss-mobile-sticky-action,
  .mobile-sticky-cta,
  .mobile-sticky-cta *,
  .desktop-sticky-cta,
  .desktop-sticky-cta *,
  .ss-mobile-actionbar,
  .ss-mobile-actionbar * {
    animation: none !important;
    transition: none !important;
  }
}

@media print {
  .ss-mobile-sticky-action,
  .mobile-sticky-cta,
  .desktop-sticky-cta,
  .ss-mobile-actionbar,
  .ss-floating-chat {
    display: none !important;
  }
}

/* =========================================================
   Canonical Tannersville shell guardrail

   These are the real shared include classes. Keep this block last so
   route bundles cannot reintroduce their legacy full-width shell rules.
   ========================================================= */

body .ss-global-nav-wrapper {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding-top: 16px;
}

body .ss-global-nav-wrapper .ss-site-header {
  position: relative;
  top: auto;
  width: min(1016px, calc(100% - 32px));
  margin: 0 auto;
  overflow: visible;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(37, 30, 26, 0.08);
  border-radius: 999px;
  box-shadow: 0 18px 55px rgba(37, 30, 26, 0.09);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body .ss-global-nav-wrapper .ss-site-header::after {
  display: none;
}

body .ss-global-nav-wrapper .ss-topbar {
  border-radius: 999px 999px 0 0;
  background: transparent;
}

body .ss-global-nav-wrapper .ss-topbar-inner,
body .ss-global-nav-wrapper .ss-navbar > .container {
  max-width: none !important;
  padding-inline: 0 !important;
}

body .ss-global-nav-wrapper .ss-navbar {
  background: transparent;
}

body footer.ss-new-site-footer {
  width: min(1016px, calc(100% - 32px));
  margin: 72px auto 96px;
  padding: 42px 48px 28px;
  background: rgba(255, 255, 255, 0.93);
  border: 1px solid rgba(37, 30, 26, 0.08);
  border-radius: 32px;
  box-shadow: 0 18px 55px rgba(37, 30, 26, 0.07);
}

body footer.ss-new-site-footer .ss-new-footer-shell {
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body footer.ss-new-site-footer .ss-new-footer-inner {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body footer.ss-new-site-footer .ss-new-footer-top {
  grid-template-columns: minmax(250px, 1.4fr) minmax(0, 1.95fr);
  gap: 36px 52px;
  align-items: start;
}

body footer.ss-new-site-footer .ss-new-footer-nav {
  grid-template-columns: repeat(3, minmax(110px, 0.65fr));
  gap: 36px;
}

body footer.ss-new-site-footer .ss-new-footer-contact-link {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(37, 30, 26, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: inherit;
}

body .ss-floating-chat {
  position: fixed;
  right: 18px;
  bottom: 18px;
  left: auto;
  z-index: 1200;
  width: auto;
  max-width: min(360px, calc(100vw - 36px));
  min-height: 48px;
  margin: 0;
  padding: 14px 24px;
  border: 1px solid rgba(37, 30, 26, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 55px rgba(37, 30, 26, 0.09);
  color: inherit;
}

@media (min-width: 62rem) {
  body .ss-global-nav-wrapper .ss-navbar {
    padding: 10px 38px;
  }

  body .ss-global-nav-wrapper .ss-navbar > .container {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "brand menu";
    gap: 28px;
  }

  body .ss-global-nav-wrapper .ss-brand {
    justify-self: start;
    gap: 14px;
  }

  body .ss-global-nav-wrapper #ssMainNav,
  body .ss-global-nav-wrapper #ssMainNav.show,
  body .ss-global-nav-wrapper #ssMainNav.collapsing {
    justify-content: flex-end;
    border-block-start: 0;
  }

  body .ss-global-nav-wrapper .navbar-nav {
    justify-content: flex-end;
    margin-inline: 0 !important;
  }
}

@media (max-width: 1100px) {
  body .ss-global-nav-wrapper {
    padding-top: 8px;
  }

  body .ss-global-nav-wrapper .ss-site-header {
    width: calc(100% - 20px);
    margin-top: 0;
    border-radius: 24px;
  }

  body .ss-global-nav-wrapper .ss-navbar {
    padding: 10px 14px;
  }

  body footer.ss-new-site-footer {
    width: calc(100% - 20px);
    margin-top: 48px;
    padding: 32px 24px 26px;
    border-radius: 24px;
  }

  body footer.ss-new-site-footer .ss-new-footer-top {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  body footer.ss-new-site-footer .ss-new-footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   Compact canonical desktop navigation

   The live site-wide header is a single compact row. Keep the route
   bundles and legacy inline templates from expanding the brand into a
   second row on pricing/program pages.
   ========================================================= */

body .ss-global-nav-wrapper .ss-topbar {
  display: none !important;
}

@media (min-width: 62rem) {
  body .ss-global-nav-wrapper > .ss-site-header {
    width: min(1100px, calc(100% - 32px)) !important;
  }

  body .ss-global-nav-wrapper .ss-navbar {
    min-height: 78px !important;
    padding: 10px 38px !important;
  }

  body .ss-global-nav-wrapper .ss-navbar > .container {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas: "brand menu" !important;
    align-items: center !important;
    gap: 28px !important;
  }

  body .ss-global-nav-wrapper .ss-brand {
    justify-self: start !important;
    gap: 14px !important;
  }

  body .ss-global-nav-wrapper .ss-brand-mark {
    width: 46px !important;
    height: 46px !important;
  }

  body .ss-global-nav-wrapper .ss-brand-copy {
    align-items: flex-start !important;
    text-align: start !important;
  }

  body .ss-global-nav-wrapper .ss-brand-main {
    font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
    line-height: 1 !important;
  }

  body .ss-global-nav-wrapper .ss-brand-sub {
    display: block !important;
    margin-top: 4px !important;
    font-size: 0.75rem !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  body .ss-global-nav-wrapper #ssMainNav,
  body .ss-global-nav-wrapper #ssMainNav.show,
  body .ss-global-nav-wrapper #ssMainNav.collapsing {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
  }

  body .ss-global-nav-wrapper .navbar-nav {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 24px !important;
  }

  body .ss-global-nav-wrapper .navbar-nav > .nav-item {
    border: 0 !important;
  }

  body .ss-global-nav-wrapper .ss-navbar .nav-link {
    width: auto !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  body .ss-global-nav-wrapper .ss-navbar .nav-link::before,
  body .ss-global-nav-wrapper .ss-navbar .nav-link::after {
    display: none !important;
    content: none !important;
  }

  body .ss-global-nav-wrapper .ss-nav-cta {
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: var(--color-accent) !important;
    color: var(--color-accent-ink) !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 61.999rem) {
  body .ss-global-nav-wrapper .ss-navbar {
    min-height: 68px !important;
  }

  body .ss-global-nav-wrapper .ss-brand-main {
    font-size: 1.25rem !important;
  }

  body .ss-global-nav-wrapper .ss-brand-sub {
    display: none !important;
  }
}

/* Dropdown and contact prompt must remain last as well. */
body .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
  min-width: 15rem !important;
  padding: 0.45rem !important;
  border: 1px solid rgba(37, 30, 26, 0.08) !important;
  border-radius: 1rem !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(37, 30, 26, 0.12) !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-menu.show {
  display: block !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-item {
  min-height: 44px !important;
  padding: 0.65rem 0.8rem !important;
  border-radius: 0.7rem !important;
  background: transparent !important;
  color: var(--color-ink) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-item:hover,
body .ss-global-nav-wrapper .ss-navbar .dropdown-item:focus,
body .ss-global-nav-wrapper .ss-navbar .dropdown-item.active,
body .ss-global-nav-wrapper .ss-navbar .dropdown-item[aria-current="page"] {
  background: #f4f0ec !important;
  color: #e05500 !important;
}

body .ss-floating-chat {
  border-color: #e05500 !important;
  background: #e05500 !important;
  color: #ffffff !important;
}

body .ss-floating-chat i,
body .ss-floating-chat-text {
  color: #ffffff !important;
}

@media (min-width: 62rem) {
  body .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    right: auto !important;
    left: 0 !important;
    margin: 0.35rem 0 0 !important;
  }

  body .ss-global-nav-wrapper .ss-navbar .dropdown-menu.dropdown-menu-end {
    right: 0 !important;
    left: auto !important;
  }
}

@media (max-width: 61.999rem) {
  body .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

/* Final dropdown and floating-contact state. */
body .ss-global-nav-wrapper .navbar-nav > .dropdown {
  position: relative !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
  min-width: 15rem !important;
  padding: 0.45rem !important;
  border: 1px solid rgba(37, 30, 26, 0.08) !important;
  border-radius: 1rem !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(37, 30, 26, 0.12) !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-menu.show {
  display: block !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-item {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 0.65rem 0.8rem !important;
  border-radius: 0.7rem !important;
  background: transparent !important;
  color: var(--color-ink) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-item:hover,
body .ss-global-nav-wrapper .ss-navbar .dropdown-item:focus,
body .ss-global-nav-wrapper .ss-navbar .dropdown-item.active,
body .ss-global-nav-wrapper .ss-navbar .dropdown-item[aria-current="page"] {
  background: #f4f0ec !important;
  color: #e05500 !important;
}

body .ss-floating-chat {
  border-color: #e05500 !important;
  background: #e05500 !important;
  color: #ffffff !important;
}

body .ss-floating-chat i,
body .ss-floating-chat-text {
  color: #ffffff !important;
}

@media (min-width: 62rem) {
  body .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    right: auto !important;
    left: 0 !important;
    margin: 0.35rem 0 0 !important;
  }

  body .ss-global-nav-wrapper .ss-navbar .dropdown-menu.dropdown-menu-end {
    right: 0 !important;
    left: auto !important;
  }
}

@media (max-width: 61.999rem) {
  body .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

@media (max-width: 620px) {
  body footer.ss-new-site-footer .ss-new-footer-nav {
    grid-template-columns: 1fr;
  }

  body .ss-floating-chat {
    right: 10px;
    bottom: calc(72px + env(safe-area-inset-bottom));
    max-width: calc(100vw - 20px);
    padding: 12px 18px;
  }
}

/* =========================================================
   Late legacy-nav protection

   Some deployed route templates still emit an old inline nav block after
   this stylesheet. These important declarations keep that stale block from
   changing the canonical shared navigation until those templates are gone.
   ========================================================= */

body .ss-global-nav-wrapper {
  display: block !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

body .ss-global-nav-wrapper > .ss-site-header {
  position: relative !important;
  top: auto !important;
  width: min(1016px, calc(100% - 32px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  overflow: visible !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(37, 30, 26, 0.08) !important;
  border-radius: 999px !important;
  box-shadow: 0 18px 55px rgba(37, 30, 26, 0.09) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

body .ss-global-nav-wrapper > .ss-site-header.nav-open {
  border-radius: 999px !important;
}

body .ss-global-nav-wrapper .ss-navbar {
  min-height: 0 !important;
  display: block !important;
  padding: var(--space-xs) var(--gutter) !important;
  background: transparent !important;
  border-radius: 0 !important;
}

body .ss-global-nav-wrapper .ss-brand {
  gap: var(--space-sm) !important;
  color: var(--color-ink) !important;
  font-family: var(--font-body) !important;
  line-height: 1 !important;
}

body .ss-global-nav-wrapper .ss-brand-main {
  color: var(--color-ink) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.4rem, 6vw, 1.75rem) !important;
  font-weight: var(--display-weight) !important;
  letter-spacing: var(--tracking-display) !important;
  line-height: 1 !important;
  text-transform: none !important;
}

body .ss-global-nav-wrapper .ss-brand-sub {
  color: var(--color-muted) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-xs) !important;
  font-weight: 500 !important;
  letter-spacing: var(--tracking-label) !important;
  text-transform: uppercase !important;
}

body .ss-global-nav-wrapper .ss-menu-button,
body .ss-global-nav-wrapper .ss-navbar .navbar-toggler {
  min-height: 44px !important;
  padding: var(--space-2xs) var(--space-xs) !important;
  border: var(--rule-hair) solid var(--color-rule-2) !important;
  border-radius: var(--radius-button) !important;
  background: var(--color-paper) !important;
  color: var(--color-ink) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-sm) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
}

body .ss-global-nav-wrapper .ss-navbar .nav-link,
body .ss-global-nav-wrapper .ss-nav-cta {
  padding: var(--space-2xs) var(--space-xs) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--color-ink) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-sm) !important;
  font-weight: 600 !important;
  letter-spacing: var(--tracking-body) !important;
  text-transform: none !important;
}

body .ss-global-nav-wrapper .ss-navbar .nav-link::after {
  content: none !important;
}

body .ss-global-nav-wrapper .ss-nav-cta {
  background: var(--color-accent) !important;
  border: var(--rule-hair) solid var(--color-accent) !important;
  color: var(--color-accent-ink) !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
  padding: var(--space-2xs) !important;
  border: var(--rule-hair) solid var(--color-rule-2) !important;
  border-radius: var(--radius-button) !important;
  background: var(--color-paper) !important;
  box-shadow: var(--shadow-raised) !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-item {
  padding: var(--space-2xs) var(--space-xs) !important;
  border-radius: calc(var(--radius-button) * 0.5) !important;
  color: var(--color-neutral) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-sm) !important;
  font-weight: 500 !important;
}

@media (min-width: 62rem) {
  body .ss-global-nav-wrapper {
    padding-top: 16px !important;
  }

  body .ss-global-nav-wrapper .ss-navbar {
    display: block !important;
    padding: 10px 38px !important;
  }

  body .ss-global-nav-wrapper .ss-navbar > .container {
    max-width: none !important;
    padding-inline: 0 !important;
  }

  body .ss-global-nav-wrapper .ss-topbar {
    display: block !important;
    background: var(--color-paper-2) !important;
    color: var(--color-neutral) !important;
  }

  body .ss-global-nav-wrapper .ss-topbar-inner {
    max-width: none !important;
    padding-inline: 0 !important;
  }

  body .ss-global-nav-wrapper .ss-topbar-highlight {
    color: var(--color-accent-deep) !important;
  }

  body .ss-global-nav-wrapper .ss-topbar-location,
  body .ss-global-nav-wrapper .ss-topbar-sms {
    color: var(--color-neutral) !important;
  }

  body .ss-global-nav-wrapper .ss-topbar-sms:hover {
    color: var(--color-accent-deep) !important;
  }

  body .ss-global-nav-wrapper .ss-brand-main {
    font-size: clamp(2.5rem, 4.4vw, 3.75rem) !important;
  }

  body .ss-global-nav-wrapper .ss-navbar .nav-link:hover {
    background: transparent !important;
    color: var(--color-accent-deep) !important;
  }
}

@media (max-width: 1100px) {
  body .ss-global-nav-wrapper {
    padding-top: 8px !important;
  }

  body .ss-global-nav-wrapper > .ss-site-header {
    width: calc(100% - 20px) !important;
    border-radius: 24px !important;
  }

  body .ss-global-nav-wrapper .ss-navbar {
    padding: 10px 14px !important;
  }
}

/* Final dropdown and contact state after every legacy protection rule. */
body .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
  min-width: 15rem !important;
  padding: 0.45rem !important;
  border: 1px solid rgba(37, 30, 26, 0.08) !important;
  border-radius: 1rem !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(37, 30, 26, 0.12) !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-menu.show {
  display: block !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-item {
  min-height: 44px !important;
  padding: 0.65rem 0.8rem !important;
  border-radius: 0.7rem !important;
  background: transparent !important;
  color: var(--color-ink) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
}

body .ss-global-nav-wrapper .ss-navbar .dropdown-item:hover,
body .ss-global-nav-wrapper .ss-navbar .dropdown-item:focus,
body .ss-global-nav-wrapper .ss-navbar .dropdown-item.active,
body .ss-global-nav-wrapper .ss-navbar .dropdown-item[aria-current="page"] {
  background: #f4f0ec !important;
  color: #e05500 !important;
}

body .ss-floating-chat {
  border-color: #e05500 !important;
  background: #e05500 !important;
  color: #ffffff !important;
}

body .ss-floating-chat i,
body .ss-floating-chat-text {
  color: #ffffff !important;
}

@media (min-width: 62rem) {
  body .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    right: auto !important;
    left: 0 !important;
    margin: 0.35rem 0 0 !important;
  }

  body .ss-global-nav-wrapper .ss-navbar .dropdown-menu.dropdown-menu-end {
    right: 0 !important;
    left: auto !important;
  }
}

@media (max-width: 61.999rem) {
  body .ss-global-nav-wrapper .ss-navbar .dropdown-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

/* Final nav state: this follows every legacy protection rule. */
body .ss-global-nav-wrapper .ss-topbar {
  display: none !important;
}

body .ss-global-nav-wrapper .ss-brand-main {
  font-family: var(--font-display) !important;
  font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
  font-weight: var(--display-weight) !important;
  letter-spacing: var(--tracking-display) !important;
  line-height: 1 !important;
}

body .ss-global-nav-wrapper .ss-navbar .nav-link {
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body .ss-global-nav-wrapper .ss-navbar .nav-link::before,
body .ss-global-nav-wrapper .ss-navbar .nav-link::after {
  display: none !important;
  content: none !important;
}

@media (min-width: 62rem) {
  body .ss-global-nav-wrapper > .ss-site-header {
    width: min(1100px, calc(100% - 32px)) !important;
  }

  body .ss-global-nav-wrapper .ss-navbar {
    min-height: 78px !important;
    padding: 10px 38px !important;
  }

  body .ss-global-nav-wrapper .ss-navbar > .container {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas: "brand menu" !important;
    align-items: center !important;
    gap: 28px !important;
  }

  body .ss-global-nav-wrapper .ss-brand {
    justify-self: start !important;
  }

  body .ss-global-nav-wrapper .ss-brand-mark {
    width: 46px !important;
    height: 46px !important;
  }

  body .ss-global-nav-wrapper .ss-brand-copy {
    align-items: flex-start !important;
    text-align: start !important;
  }

  body .ss-global-nav-wrapper .ss-brand-sub {
    display: block !important;
    margin-top: 4px !important;
    font-size: 0.75rem !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
    text-transform: none !important;
  }

  body .ss-global-nav-wrapper #ssMainNav,
  body .ss-global-nav-wrapper #ssMainNav.show,
  body .ss-global-nav-wrapper #ssMainNav.collapsing {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
  }

  body .ss-global-nav-wrapper .navbar-nav {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 24px !important;
  }

  body .ss-global-nav-wrapper .navbar-nav > .nav-item {
    border: 0 !important;
  }

  body .ss-global-nav-wrapper .ss-navbar .nav-link {
    min-height: 42px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body .ss-global-nav-wrapper .ss-nav-cta {
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: var(--color-accent) !important;
    color: var(--color-accent-ink) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 61.999rem) {
  body .ss-global-nav-wrapper .ss-navbar {
    min-height: 68px !important;
    padding: 10px 14px !important;
  }

  body .ss-global-nav-wrapper .ss-brand-main {
    font-size: 1.25rem !important;
  }

  body .ss-global-nav-wrapper .ss-brand-sub {
    display: none !important;
  }
}
