*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;font-family:Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ca662a;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(48px,5.8vw,80px)}h2{font-size:clamp(32px,4vw,48px)}.wrap{max-width:1200px;margin:auto;padding:0 40px}.demo-bar{background:#172c28;color:white;padding:12px 24px;display:flex;justify-content:center;gap:24px;align-items:center;font-size:13px}.demo-bar a{text-decoration:underline;text-underline-offset:3px}.demo-bar span{opacity:.85}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:105px}.brand{font-size:25px;letter-spacing:-1px;font-weight:bold}.brand small{font-size:11px;letter-spacing:2px;text-transform:uppercase;display:block}.nav-links{display:flex;align-items:center;gap:28px;font-size:14px}.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:15px 24px;font-size:14px;font-weight:bold;background:var(--accent);color:var(--button-ink);border-radius:5px}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:bold;margin-bottom:24px}.intro{max-width:470px;font-size:18px;margin:25px 0 30px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding-top:42px;padding-bottom:64px}.hero-image{width:100%;height:470px;object-fit:cover}.hero-note{font-size:12px;margin-top:22px}.strip{display:flex;justify-content:space-between;gap:24px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.services{padding-top:80px;padding-bottom:80px}.section-top{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:40px}.section-top>p{max-width:340px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.cards article{border-top:1px solid var(--line);padding-top:24px}.cards span{font-size:12px;opacity:.7}.cards h3{font-size:21px;margin:18px 0 12px;letter-spacing:-.5px}.cards p{font-size:15px}.about{padding-top:60px;padding-bottom:60px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:60px}.about p{max-width:480px}.contact{padding:50px;margin-bottom:60px;background:var(--accent);color:var(--button-ink);border-radius:10px}.contact p{max-width:660px;margin:20px 0}.contact .button{background:var(--paper);color:var(--ink)}footer{padding:30px 0;border-top:1px solid var(--line);font-size:12px}.gp{--paper:#f7fafc;--ink:#153b4f;--accent:#175c75;--button-ink:#fff;--line:#cbdbe2}.gp h1,.gp h2{font-family:Georgia,serif;font-weight:normal}.gp .hero-image{border-radius:120px 10px 10px 10px}.gp .brand b{color:#328996;font-size:30px}.physio{--paper:#f1f0e9;--ink:#17291f;--accent:#d9ef75;--button-ink:#17291f;--line:#c5cbbd}.physio .brand{font-style:italic;font-weight:900;font-size:32px}.physio h1{text-transform:uppercase;font-weight:900;font-size:clamp(52px,6vw,86px);line-height:.97}.physio .hero-image{border-radius:0 0 80px 0}.physio .button{border-radius:0;border:1px solid var(--ink)}.physio .strip{background:var(--ink);color:var(--accent);padding:26px}.psych{--paper:#f6f1e9;--ink:#423d34;--accent:#7a4634;--button-ink:#fff;--line:#d8cfc0}.psych h1,.psych h2,.psych .brand{font-family:Georgia,serif;font-weight:normal}.psych .hero{gap:85px}.psych .hero-image{height:500px;border-radius:220px 220px 6px 6px}.psych .button{border-radius:30px}.psych .hero-copy{order:2}.psych .hero-picture{order:1}.psych .contact{background:#e5dccb;color:var(--ink)}@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.demo-bar{flex-wrap:wrap;gap:4px 16px;text-align:center;font-size:12px}.demo-bar span{width:100%}.nav{min-height:90px}.nav-links>a:not(.button){display:none}.nav-links{gap:0}.nav .button{padding:11px 14px;font-size:12px}.brand{font-size:22px}.hero,.psych .hero{grid-template-columns:1fr;gap:32px;padding-top:30px;padding-bottom:38px}.hero-image,.psych .hero-image{height:320px}.psych .hero-copy{order:1}.psych .hero-picture{order:2}.strip{flex-wrap:wrap;gap:14px}.strip span{flex:1 1 40%}.section-top{display:block}.section-top>p{margin-top:24px}.cards,.about{grid-template-columns:1fr;gap:32px}.services{padding-top:55px;padding-bottom:55px}.contact{padding:30px 24px}.about{padding-top:40px;padding-bottom:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Lucide arrows: scale the icon canvas to balance its inset artwork with text. */
.direction-icon { width: 1.3em; height: 1.3em; vertical-align: -.2em; flex-shrink: 0; }
.direction-icon.lucide-arrow-up-right { width: 1.75em; height: 1.75em; vertical-align: -.4em; }
.brand .direction-icon.lucide-arrow-up-right { width: 1em; height: 1em; vertical-align: -.125em; }
.physio .brand > span[aria-hidden="true"] { display: none; }

/* Vital Sites example notice: one centred hierarchy at every breakpoint. */
.demo-bar {
    display: grid;
    justify-items: center;
    gap: 10px;
    padding: 20px 24px 22px;
    text-align: center;
    font-size: 13px;
}
.demo-bar .demo-bar-badge {
    width: auto;
    padding: 5px 11px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    color: #dbeafe;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .07em;
    line-height: 1.35;
    text-transform: uppercase;
    opacity: 1;
}
.demo-bar .demo-bar-note {
    width: auto;
    max-width: 520px;
    color: #e2e8f0;
    font-size: 13px;
    line-height: 1.45;
    opacity: 1;
}
.demo-bar .demo-bar-cta {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border-radius: 999px;
    background: #059669;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
}
.demo-bar .demo-bar-cta:hover { background: #047857; }
.demo-bar .demo-bar-back {
    font-size: 13px;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media(max-width:760px) {
    .demo-bar {
        gap: 12px;
        padding: 26px 22px 28px;
    }
    .demo-bar .demo-bar-note {
        width: auto;
        max-width: 300px;
        font-size: 14px;
    }
    .demo-bar .demo-bar-cta {
        min-height: 48px;
        padding: 12px 22px;
        font-size: 15px;
    }
    .demo-bar .demo-bar-back { font-size: 14px; }
}
