/* Theme layer: design tokens, resets and base typography.
   Harvested from the prototype's global selectors (:root, *, bare
   tags) -- the ones deliberately kept out of block styles so they
   live in the theme rather than being duplicated per block.
   Generated by transpile.py -- do not hand-edit. */

:root { --brand-primary: #2f58b6; --brand-accent: #25aee4; --brand-accent-deep: #147fbe; --brand-deep: #142a72; --brand-mid: #214fa9; --brand-mid-strong: #2456b7; --brand-accent-alt: #23aade; --text-strong: #0f172a; --text-footer: #101828; --text-body-strong: #344054; --text-body: #475467; --text-muted: #667085; --surface: #ffffff; --surface-soft: #f4f9fd; --surface-accent-soft: #eaf7fd; --surface-map-soft: #eef8fd; --border-soft: #dbe7f3; --ink-a05: rgba(15, 23, 42, .05); --ink-a06: rgba(15, 23, 42, .06); --ink-a07: rgba(15, 23, 42, .07); --ink-a08: rgba(15, 23, 42, .08); --ink-a10: rgba(15, 23, 42, .10); --ink-a12: rgba(15, 23, 42, .12); --ink-a18: rgba(15, 23, 42, .18); --ink-a45: rgba(15, 23, 42, .45); --ink-a68: rgba(15, 23, 42, .68); --ink-a72: rgba(15, 23, 42, .72); --ink-a76: rgba(15, 23, 42, .76); --ink-a82: rgba(15, 23, 42, .82); --brand-deep-a91: rgba(20, 42, 114, .91); --brand-deep-a94: rgba(20, 42, 114, .94); --border-soft-a72: rgba(219, 231, 243, .72); --surface-accent-soft-a76: rgba(234, 247, 253, .76); --surface-accent-soft-a92: rgba(234, 247, 253, .92); --white-a10: rgba(255, 255, 255, .10); --white-a12: rgba(255, 255, 255, .12); --white-a18: rgba(255, 255, 255, .18); --white-a20: rgba(255, 255, 255, .20); --white-a22: rgba(255, 255, 255, .22); --white-a76: rgba(255, 255, 255, .76); --white-a78: rgba(255, 255, 255, .78); --white-a82: rgba(255, 255, 255, .82); --white-a86: rgba(255, 255, 255, .86); --white-a88: rgba(255, 255, 255, .88); --white-a92: rgba(255, 255, 255, .92); --white-a94: rgba(255, 255, 255, .94); --white-a96: rgba(255, 255, 255, .96); --accent-a08: rgba(37, 174, 228, .08); --accent-a14: rgba(37, 174, 228, .14); --accent-a18: rgba(37, 174, 228, .18); --accent-a22: rgba(37, 174, 228, .22); --accent-a24: rgba(37, 174, 228, .24); --accent-a28: rgba(37, 174, 228, .28); --accent-a32: rgba(37, 174, 228, .32); --accent-a34: rgba(37, 174, 228, .34); --accent-alt-a72: rgba(35, 170, 222, .72); --accent-alt-a78: rgba(35, 170, 222, .78); --primary-a08: rgba(47, 88, 182, .08); --primary-a09: rgba(47, 88, 182, .09); --primary-a10: rgba(47, 88, 182, .10); --primary-a12: rgba(47, 88, 182, .12); --primary-a13: rgba(47, 88, 182, .13); --primary-a15: rgba(47, 88, 182, .15); --primary-a20: rgba(47, 88, 182, .20); --primary-a24: rgba(47, 88, 182, .24); --primary-a28: rgba(47, 88, 182, .28); --font-body: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --font-display: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --radius-card: 1.75rem; --radius-panel: 2.625rem; --radius-control: 999px; --radius-small: 1.125rem; --space-section: 7.25rem; --space-section-compact: 4.875rem; --space-section-mobile: 4.875rem; --space-gutter: 1.25rem; --space-gutter-mobile: .875rem; --shadow-panel: 0 1.5rem 4.375rem var(--ink-a12); --shadow-soft: 0 1rem 2.75rem var(--ink-a08); --transition-fast: .25s ease; --transition-medium: .6s ease; --navy: var(--brand-primary); --blue: var(--brand-accent); --blue-dark: var(--brand-accent-deep); --ink: var(--text-strong); --muted: var(--text-muted); --line: var(--border-soft); --soft: var(--surface-soft); --soft-blue: var(--surface-accent-soft); --white: var(--surface); --shadow: var(--shadow-panel); --radius: var(--radius-card); --radius-sm: var(--radius-small); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0px; max-width: 100%; color: var(--ink); background: radial-gradient(circle at 82% 10%, var(--accent-a14), transparent 34%),
    radial-gradient(circle at 10% 4%, var(--primary-a10), transparent 28%),
    var(--surface); font-family: var(--font-body); overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, p { overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, .btn:focus-visible, .circle-btn:focus-visible, .mobile-toggle:focus-visible, .nav-menu a:focus-visible, .community-link-card:focus-visible, .market-card:focus-visible, .service-card:focus-visible { outline: .1875rem solid var(--brand-accent); outline-offset: 0.1875rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (prefers-reduced-motion: reduce) { *, ::before, ::after { scroll-behavior: auto; transition-duration: 0.01ms; animation-duration: 0.01ms; animation-iteration-count: 1; } }
.cwt-accordion:not(.is-open)>:not(.cwt-accordion-toggle){display:none}.cwt-accordion-toggle{width:100%;border:0;background:transparent;padding:0;font:inherit;text-align:left}
