/* Halden Physio — fresh, sporty, clinical. Cool white + deep navy + lime, Sora + Inter. */
:root {
    --k-font-head: 'Sora', system-ui, sans-serif;
    --k-font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --k-head-weight: 700;
    --k-bg: #F4F8FA;
    --k-ink: #23384A;
    --k-ink-strong: #0B2236;
    --k-ink-soft: #546676;
    --k-primary: #0E3B5C;
    --k-primary-hover: #0A2D47;
    --k-on-primary: #FFFFFF;
    --k-primary-shadow: rgba(14, 59, 92, 0.28);
    --k-primary-soft: rgba(14, 59, 92, 0.08);
    --k-accent: #B9F06A;
    --k-on-accent: #10260A;
    --k-accent-text: #2F7A1F;
    --k-link: #0E5A8A;
    --k-focus: #1F8FD6;
    --k-line: rgba(14, 59, 92, 0.12);
    --k-line-strong: rgba(14, 59, 92, 0.24);
    --k-input-bg: rgba(255, 255, 255, 0.9);
    --k-glass-bg: rgba(255, 255, 255, 0.66);
    --k-glass-border: rgba(255, 255, 255, 0.9);
    --k-glass-highlight: rgba(255, 255, 255, 0.95);
    --k-glass-shadow: 0 18px 44px -18px rgba(14, 59, 92, 0.26);
    --k-glass-blur: 18px;
    --k-overlay-bg: rgba(244, 248, 250, 0.92);
    --k-radius: 14px;
    --k-radius-lg: 20px;
    --k-radius-xl: 26px;
    --k-urgent-bg: #0E3B5C;
    --k-urgent-ink: #FFFFFF;
    --k-ok-bg: #E4F7D2;
    --k-ok-ink: #2F6A1A;
    --k-error: #B4232A;
    --k-star: #E0A21B;
    --k-map-bg: #E3EDF3;
    --k-map-road: #FFFFFF;
    --k-map-block: #D1E0EA;
    --k-map-park: #D7EFC0;
    --k-phone-bg: linear-gradient(160deg, #0E3B5C 0%, #071F33 100%);
    --k-phone-ink: #EEF5FA;
    --k-bubble-ai: rgba(255, 255, 255, 0.12);
    --k-bubble-ai-ink: #EEF5FA;
    --k-bubble-caller: #B9F06A;
    --k-bubble-caller-ink: #10260A;
    --k-wave: #B9F06A;
    --k-wave-caller: #EEF5FA;
    --k-glow-opacity: 0.32;
}
body {
    background:
        radial-gradient(1000px 560px at 100% -10%, rgba(185, 240, 106, 0.22), transparent 60%),
        radial-gradient(900px 600px at -10% 35%, rgba(95, 179, 224, 0.18), transparent 60%),
        var(--k-bg);
    background-attachment: fixed;
}
h1, h2, h3 { letter-spacing: -0.025em; }
.k-hero h1 em { font-style: normal; color: var(--k-primary); background: linear-gradient(transparent 62%, rgba(185, 240, 106, 0.8) 62%); padding: 0 4px; }
.k-logo span { font-family: 'Sora', sans-serif; font-weight: 700; letter-spacing: -0.02em; }
.k-logo .logo-sub { font-weight: 500; color: var(--k-accent-text); }
.k-urgent a { color: #B9F06A; }
.k-hero-media { border-radius: 28px 28px 120px 28px; box-shadow: 0 30px 60px -25px rgba(14, 59, 92, 0.45); }
.k-hero-media img { object-position: center 35%; }
.k-icon { background: rgba(185, 240, 106, 0.35); color: #1F5212; }
.k-steps li::before { background: var(--k-accent); color: var(--k-on-accent); }
.k-pill { background: rgba(185, 240, 106, 0.4); color: #1F4A10; border-color: transparent; }
.offer-band { background: linear-gradient(120deg, #0E3B5C, #0A2D47); color: #EEF5FA; border-color: rgba(255, 255, 255, 0.12); }
.offer-band h2, .offer-band .k-eyebrow { color: #FFFFFF; }
.offer-band p { color: rgba(238, 245, 250, 0.85); }
.offer-band .k-btn-primary { background: var(--k-accent); color: var(--k-on-accent); box-shadow: none; }
.k-footer { background: #0B2236; color: #D6E2EB; margin-top: 40px; }
.k-footer h2 { color: #B9F06A; font-family: var(--k-font-body); }
.k-footer a, .k-footer .k-logo { color: #FFFFFF; }
.k-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.k-footer .k-badge-247 { background: #B9F06A; color: #10260A; }
/* Five treatments: let the card grids flow so none is left on its own row */
.k-grid-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.page-team .k-grid-3 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.k-footer .k-logo .logo-sub { color: #B9F06A; }
