.ttch-b2b {
  --b2b-primary: var(--primary, #175848);
  --b2b-ink: #182d29;
  --b2b-paper: #f6f4ee;
  --b2b-space: clamp(1rem, 3vw, 2.5rem);
  --b2b-width: 72rem;
  color: var(--b2b-ink);
  font-family: system-ui, sans-serif;
  line-height: 1.6;
}
.ttch-b2b *, .ttch-b2b *::before, .ttch-b2b *::after { box-sizing: border-box; }
.ttch-b2b .b2b-section { padding: clamp(2.5rem, 7vw, 6rem) var(--b2b-space); }
.ttch-b2b .b2b-container { max-width: var(--b2b-width); margin-inline: auto; }
.ttch-b2b .b2b-surface { background: var(--b2b-paper); }
.ttch-b2b h1 { font-size: clamp(2.3rem, 6vw, 5rem); line-height: 1.06; max-width: 18ch; letter-spacing: -.04em; }
.ttch-b2b h2 { font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.15; }
.ttch-b2b .b2b-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--b2b-space); }
.ttch-b2b .b2b-card { border-top: 1px solid #b9c9c1; padding-block: 1.5rem; min-width: 0; }
.ttch-b2b .b2b-button { display: inline-flex; padding: .9rem 1.5rem; background: var(--b2b-primary); color: white; text-decoration: none; border-radius: .25rem; }
.ttch-b2b a:focus-visible, .ttch-b2b summary:focus-visible { outline: 3px solid #bd692c; outline-offset: 4px; }
.ttch-b2b details { border-block-end: 1px solid #b9c9c1; padding-block: 1rem; }
.ttch-b2b summary { cursor: pointer; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .ttch-b2b * { scroll-behavior: auto !important; } }
