/* U.S. commercial pages extend the RESET ink/paper and ruled-ledger system. */
.usa-page,
.usa-band {
  --usa-rule: var(--reset-line, #d7d1c4);
  --usa-paper: var(--reset-paper, #f3efe5);
  --usa-ink: var(--reset-ink, #0b1823);
  --usa-muted: #485661;
  --usa-tint: #e9e2d3;
  --usa-blue: #07588f;
}

.usa-hero {
  background: var(--usa-ink);
  color: var(--usa-paper);
  padding-block: clamp(44px, 6vw, 88px) clamp(60px, 8vw, 112px);
}
.usa-hero .reset-breadcrumb { color: #b8c7d1; }
.usa-hero-grid,
.usa-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(240px, 1fr);
  gap: clamp(30px, 6vw, 88px);
}
.usa-hero-grid { align-items: end; }
.usa-hero-grid--illustrated {
  grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 4.5vw, 64px);
}
.usa-hero-image { min-width: 0; margin: 0; }
.usa-hero-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  object-position: center 54%;
  background: #16303d;
}
.usa-hero-image figcaption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 12px;
  padding-top: 11px;
  border-top: 1px solid #43535f;
  color: #b8c7d1;
  font-size: .78rem;
}
.usa-hero-image figcaption span:first-child { color: var(--usa-paper); font-weight: 650; }
.usa-hero-brief--strip { margin-top: clamp(24px, 4vw, 44px); }
.usa-hero-brief--strip .usa-ledger {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 24px;
}
.usa-hero h1 {
  max-width: 19ch;
  margin: 0;
  font-size: clamp(2.45rem, 5.05vw, 4.9rem);
  line-height: 1;
  letter-spacing: -.038em;
  font-weight: 560;
  text-wrap: balance;
}
.usa-hero-lead {
  max-width: 60ch;
  margin: 24px 0;
  color: #d6e0e6;
  font-size: clamp(1.05rem, 1.5vw, 1.28rem);
  line-height: 1.55;
}
.usa-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.usa-hero .reset-cta,
.usa-close .reset-cta {
  background: var(--reset-mint, #c9e8fb);
  color: var(--usa-ink);
}
.usa-hero .reset-cta:hover,
.usa-close .reset-cta:hover { background: #fff; color: var(--usa-ink); }
.usa-hero-secondary,
.usa-text-link { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; text-underline-offset: 4px; }
.usa-hero-secondary { color: #edf2f6; }
.usa-hero-brief .usa-ledger { margin: 0; }
.usa-hero-brief .usa-ledger > div { display: block; border-color: #43535f; padding: 14px 0; }
.usa-hero-brief .usa-ledger dt { font-size: .84rem; color: #b8c7d1; margin-bottom: 3px; }
.usa-hero-brief .usa-ledger dd { color: var(--usa-paper); font-size: 1.08rem; }
.usa-hero :focus-visible,
.usa-close :focus-visible { outline-color: #c9e8fb; }

.usa-band { padding-block: clamp(52px, 7vw, 98px); color: var(--usa-ink); background: var(--usa-paper); border-top: 1px solid var(--usa-rule); }
.usa-tint { background: var(--usa-tint); --usa-rule: #c6beaf; }
.usa-band h2 { margin: 0 0 1rem; font-size: clamp(1.8rem, 3.6vw, 3.3rem); line-height: 1.06; letter-spacing: -.033em; text-wrap: balance; }
.usa-band h3 { margin: 0 0 .5rem; font-size: clamp(1.12rem, 1.8vw, 1.5rem); line-height: 1.23; }
.usa-band p { max-width: 72ch; }
.usa-band .usa-deck { font-size: 1.12rem; max-width: 64ch; margin: 0 0 1.6rem; }
.usa-intro { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
.usa-intro p { margin-top: 0; }
.usa-intro p:last-child { margin-bottom: 0; }
.usa-ledger { margin: 1.8rem 0 0; }
.usa-ledger > div {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.7fr);
  gap: 6px 32px;
  padding: 1rem 0;
  border-top: 1px solid var(--usa-rule);
}
.usa-ledger dt { font-weight: 650; }
.usa-ledger dd { margin: 0; color: var(--usa-muted); max-width: 72ch; }
.usa-flow { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); padding: 0; list-style-position: inside; margin: 2rem 0; }
.usa-flow li { padding: .85rem 1rem .85rem 0; border-top: 3px solid #2b75a9; }
.usa-flow li:nth-child(2) { border-color: #d1a048; }
.usa-flow li:nth-child(3) { border-color: #c25d1b; }
.usa-flow li:nth-child(4) { border-color: #2c8a95; }
.usa-flow li::marker { font-weight: 650; }
.usa-flow li span { display: block; margin-top: .3rem; color: var(--usa-muted); }
.usa-product-list { border-top: 1px solid var(--usa-rule); margin-top: 1.8rem; }
.usa-product-list article { display: grid; grid-template-columns: 1fr 1fr 1.3fr auto; gap: 12px 24px; align-items: start; padding: 1.2rem 0; border-bottom: 1px solid var(--usa-rule); }
.usa-product-list p { margin: 0; }
.usa-product-list .usa-text-link { color: var(--usa-blue); font-weight: 650; }
.usa-related { margin: 1.5rem 0 0; }
.usa-mid-action { padding-block: 1.4rem; }
.usa-faq { margin-top: 1.75rem; }
.usa-close { background: var(--usa-ink); color: var(--usa-paper); }
.usa-close .usa-deck { color: #d6e0e6; }

.usa-calculator-band { background: var(--usa-tint); }
.usa-cost-shell { max-width: 1120px; }
.usa-cost-sheet {
  --usa-sheet-rule: #b8c4c9;
  --usa-sheet-inset: clamp(16px, 3vw, 36px);
  background: var(--usa-paper);
  border: 1px solid #a7b7c0;
}
.usa-cost-heading {
  padding: var(--usa-sheet-inset);
  background: var(--usa-ink);
  color: var(--usa-paper);
}
.usa-cost-heading h2 { margin-bottom: .65rem; text-wrap: initial; }
.usa-cost-heading p { margin: 0; max-width: 70ch; color: #d6e0e6; }
[data-usa-calculator] {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: stretch;
}
[data-usa-calculator]:has([data-calculator-controls][hidden]) { grid-template-columns: minmax(0, 1fr); }
.usa-calculator-fields {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: .85rem 1rem;
  padding: var(--usa-sheet-inset);
}
.usa-calculator-fields[hidden] { display: none; }
.usa-cost-sheet h3 { font-size: 1.15rem; margin: 0 0 .25rem; }
.usa-calculator-fields h3, .usa-cost-wide { grid-column: 1 / -1; }
.usa-cost-field { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.usa-cost-field label { flex: 1; font-size: .91rem; line-height: 1.35; }
.usa-cost-field input, .usa-cost-field select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #77766d;
  border-radius: 0;
  padding: .5rem .65rem;
  background: #fff;
  color: var(--usa-ink);
  font: inherit;
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}
.usa-cost-field input::placeholder { color: var(--usa-muted); }
.usa-cost-field input[aria-invalid="true"] { border-color: #a3211e; outline-color: #a3211e; }
.usa-calculator-fields p, .usa-estimate .usa-estimate-note {
  margin: 0;
  color: var(--usa-muted);
  font-size: .84rem;
  line-height: 1.45;
}
.usa-calculator-fields p.usa-cost-wide { margin-top: -.45rem; }
.usa-extra-costs { border-block: 1px solid var(--usa-sheet-rule); }
.usa-extra-costs summary { padding-block: .75rem; cursor: pointer; font-size: .91rem; font-weight: 650; }
.usa-extra-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem 1rem; padding: .75rem 0 1rem; }
.usa-reset-inputs { grid-column: 1 / -1; justify-self: start; min-height: 44px; border: 0; padding: 0; background: none; color: var(--usa-blue); font: inherit; font-size: .91rem; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.usa-estimate {
  min-width: 0;
  padding: var(--usa-sheet-inset);
  border-inline-start: 1px solid var(--usa-sheet-rule);
  background: color-mix(in srgb, var(--reset-mint, #c9e8fb) 31%, var(--usa-paper));
}
[data-usa-calculator]:has([data-calculator-controls][hidden]) .usa-estimate { border-inline-start: 0; }
.usa-estimate-summary { margin-top: 1.5rem; border-top: 1px solid var(--usa-sheet-rule); padding-top: 1rem; }
.usa-estimate-summary h4 { margin: 0; font-size: 1rem; }
.usa-estimate-highlight { margin: .5rem 0 0; display: flex; align-items: baseline; gap: .25rem .55rem; flex-wrap: wrap; font-variant-numeric: tabular-nums; }
.usa-estimate-highlight strong { font-size: 2.125rem; line-height: 1.1; letter-spacing: -.03em; font-weight: 650; overflow-wrap: anywhere; }
.usa-estimate-highlight span { font-size: .88rem; }
.usa-estimate [data-estimate-direction] { margin: .5rem 0 0; max-width: 48ch; }
.usa-estimate [data-estimate-direction]:empty { display: none; }
.usa-estimate-live { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.usa-cost-table { width: 100%; border-collapse: collapse; font-size: .95rem; font-variant-numeric: tabular-nums; }
.usa-cost-table caption { text-align: left; margin: .25rem 0 .7rem; color: #3b4e5b; font-size: .86rem; }
.usa-cost-table th, .usa-cost-table td { padding: .5rem .25rem; border-top: 1px solid var(--usa-sheet-rule); overflow-wrap: anywhere; }
.usa-cost-table th:first-child { text-align: left; }
.usa-cost-table th:not(:first-child), .usa-cost-table td { text-align: right; }
.usa-estimate .usa-estimate-note { border-top: 1px solid var(--usa-sheet-rule); padding: .65rem .25rem 0; }
.usa-estimate-error { margin: .6rem 0 0; color: #82201d; }
.usa-estimate-error:empty { display: none; }
.usa-cost-method { border-top: 1px solid var(--usa-sheet-rule); }
.usa-cost-method summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: .7rem var(--usa-sheet-inset);
  cursor: pointer;
  list-style: none;
  font-weight: 650;
}
.usa-cost-method summary::-webkit-details-marker { display: none; }
.usa-cost-method summary::after {
  content: "";
  width: 8px;
  height: 8px;
  flex: none;
  border: solid var(--usa-blue);
  border-width: 0 1.5px 1.5px 0;
  transform: translateY(-2px) rotate(45deg);
}
.usa-cost-method[open] summary::after { transform: translateY(2px) rotate(225deg); }
.usa-cost-method summary:focus-visible { outline-offset: -4px; }
.usa-cost-method > div { padding: 0 var(--usa-sheet-inset) 1.2rem; color: var(--usa-muted); font-size: .95rem; }
.usa-cost-method p { margin: .55rem 0; }
#delivery-costs, #usa-example-title, #delivery-assurance, #us-services { scroll-margin-top: 100px; }
@media (prefers-reduced-motion: reduce) {
  html:has(body[data-usa-service]) { scroll-behavior: auto; }
}
.usa-crm-assurance h3 { margin-bottom: 1.25rem; }
.usa-crm-scope-note { max-width: 72ch; margin: 1rem 0; }
.crm-landing[data-usa-service="crm"] .crm-hero__audience { display: block; }
.crm-landing[data-usa-service="crm"] .crm-header {
  border-bottom: 4px solid transparent;
  border-image: linear-gradient(90deg,#2b75a9 0 25%,#d1a048 25% 50%,#c25d1b 50% 75%,#2c8a95 75% 100%) 1;
}
.usa-contact-context { min-width: 0; grid-column: 1 / -1; margin: 0; padding: 1rem; border: 1px solid var(--reset-line); }
.usa-contact-context[hidden] { display: none; }
.usa-contact-context legend { padding-inline: .45rem; font-weight: 650; }
.usa-contact-context .reset-contact-field + .reset-contact-field { margin-top: .65rem; }

@media (max-width: 920px) {
  .usa-product-list article { grid-template-columns: 1fr 1fr; }
  .usa-hero-grid { grid-template-columns: 1fr; }
  .usa-hero-brief .usa-ledger { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
  .usa-hero-image img { aspect-ratio: 16 / 9; }
}
@media (max-width: 780px) {
  [data-usa-calculator] { grid-template-columns: minmax(0, 1fr); }
  .usa-estimate { border-inline-start: 0; border-top: 1px solid var(--usa-sheet-rule); }
}
@media (max-width: 720px) {
  .usa-intro, .usa-ledger > div, .usa-product-list article { grid-template-columns: 1fr; }
  .usa-hero-brief .usa-ledger { display: block; }
  .usa-hero-brief--strip .usa-ledger { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
  .usa-hero-brief--strip .usa-ledger > div:last-child { grid-column: 1 / -1; }
  .usa-hero-brief .usa-ledger > div { padding: .6rem 0; }
  .usa-intro { gap: .5rem; }
  .usa-product-list article { gap: 5px; }
  .usa-flow { grid-template-columns: 1fr 1fr; gap: 12px; }
}
@media (max-width: 365px) {
  .usa-calculator-fields, .usa-extra-fields { grid-template-columns: 1fr; }
  .usa-cost-table { font-size: .82rem; }
}
