/* Palette
   Teal (primary)  #0B7A75   trust, health
   Navy (dark)     #0A2540   authority, headings
   Mint (soft bg)  #E8F5F3   clean, clinical
   Maple red       #D52B1E   Canadian accent, used sparingly
*/
:root {
    --bs-primary: #0B7A75;
    --bs-primary-rgb: 11, 122, 117;
    --navy: #0A2540;
    --mint: #E8F5F3;
    --maple: #D52B1E;
    --bs-body-font-family: 'Inter', system-ui, sans-serif;
    --bs-body-color: #31475c;
}

html { scroll-behavior: smooth; scroll-padding-top: 80px; }
h1, h2, h3, h4, h5 { color: var(--navy); }
h1, h2 { font-family: 'Merriweather', Georgia, serif; }

.topbar { background: var(--navy); }
.brand { color: var(--bs-primary) !important; font-size: 1.35rem; }

.btn-primary { --bs-btn-bg: #0B7A75; --bs-btn-border-color: #0B7A75; --bs-btn-hover-bg: #095f5b; --bs-btn-hover-border-color: #095f5b; --bs-btn-active-bg: #084f4c; }
.btn-outline-primary { --bs-btn-color: #0B7A75; --bs-btn-border-color: #0B7A75; --bs-btn-hover-bg: #0B7A75; --bs-btn-hover-border-color: #0B7A75; }
.btn-maple { background: var(--maple); border-color: var(--maple); color: #fff; }
.btn-maple:hover { background: #b32318; color: #fff; }

.navbar .nav-link { font-weight: 500; color: var(--navy); }
.navbar .nav-link:hover { color: var(--bs-primary); }

/* Hero */
.hero { background: linear-gradient(135deg, var(--mint) 0%, #ffffff 60%); padding: 5rem 0; }
.hero .badge-soft { background: #fff; border: 1px solid #cfe6e3; color: var(--bs-primary); font-weight: 600; }
.hero-card { background: #fff; border-radius: 1.25rem; box-shadow: 0 20px 50px rgba(10, 37, 64, .12); }
.hero-icon { font-size: 7rem; color: var(--bs-primary); }

/* Sections */
.section { padding: 5rem 0; }
.section-alt { background: var(--mint); }
.section-title { text-align: center; max-width: 640px; margin: 0 auto 3rem; }
.eyebrow { color: var(--bs-primary); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .8rem; }

.cat-card { border: 1px solid #e3ecec; border-radius: 1rem; transition: transform .2s, box-shadow .2s; height: 100%; }
.cat-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(10, 37, 64, .1); }
.icon-circle { width: 56px; height: 56px; border-radius: 50%; background: var(--mint); color: var(--bs-primary); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; }

.step-num { width: 44px; height: 44px; border-radius: 50%; background: var(--bs-primary); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }

.trust-strip { background: var(--navy); color: #fff; }
.cta-band { background: linear-gradient(135deg, var(--navy), #0B7A75); color: #fff; }
.cta-band h2 { color: #fff; }

.accordion-button:not(.collapsed) { background: var(--mint); color: var(--navy); }

footer { background: var(--navy); color: #b9c6d3; }
footer a { color: #b9c6d3; text-decoration: none; }
footer a:hover { color: #fff; }
footer h6 { color: #fff; }
