/* A shared clinical design system. Pack compositions remain distinct. */
.cp-site{--cp-space:clamp(56px,7vw,104px);--cp-gutter:clamp(24px,4vw,64px);font-size:18px;line-height:1.65}
.cp-site .cp-wrap,.cp-site .cp-shell{width:min(1240px,calc(100% - var(--cp-gutter)*2));margin-inline:auto}
.cp-site .cp-section{padding-block:var(--cp-space)}
.cp-site :is(h1,h2,h3,h4,p){margin-top:0}
.cp-site h1{font-size:clamp(38px,4.5vw,64px)!important;line-height:1.08!important;letter-spacing:-.035em!important;font-weight:600!important;text-wrap:balance;white-space:normal!important}
.cp-site h2{font-size:clamp(30px,3vw,44px)!important;line-height:1.18!important;letter-spacing:-.025em!important;font-weight:550!important;text-wrap:balance}
.cp-site h3{font-size:clamp(22px,1.8vw,26px)!important;line-height:1.25!important;letter-spacing:-.015em!important;font-weight:600!important}
.cp-site p{font-size:18px!important;line-height:1.65!important;margin-bottom:24px}
.cp-site p.cp-eyebrow,.cp-site .cp-eyebrow{font-size:14px!important;line-height:1.4!important;font-weight:600;letter-spacing:.09em;margin-bottom:20px}
.cp-site .cp-caption{font-size:14px!important;line-height:1.55!important}
.cp-site .cp-section-heading{margin-bottom:40px}
.cp-site .cp-section-heading>p:last-child{max-width:60ch}
.cp-site :is(.cp-hero-copy,.cp-service-card>div){overflow-wrap:anywhere}
.cp-site .cp-hero-copy{padding:clamp(32px,5vw,76px)}
.cp-site .cp-hero-copy>p:not(.cp-eyebrow){max-width:45ch}
.cp-site .cp-hero .cp-actions{margin-top:32px;gap:14px}
.cp-site .cp-button{border:0!important;border-radius:0!important;box-shadow:none!important;font-size:16px!important;line-height:1.3!important;min-height:50px;padding:15px 22px!important;font-weight:600!important;letter-spacing:.015em;text-decoration:none!important;transition:filter .15s}
.cp-site .cp-button:hover{filter:brightness(.9)}
.cp-site .cp-button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.cp-site :is(.cp-service-card,.cp-team-grid article){box-shadow:none;border-radius:0}
.cp-site .cp-service-card>img,.cp-site .cp-journal-image{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.cp-site .cp-service-card>div{padding:28px}
.cp-site .cp-service-card h3{min-height:0!important;margin-bottom:16px}
.cp-site .cp-service-card p{margin-bottom:28px}
.cp-site .cp-team-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%}
.cp-site .cp-team-grid article>div{padding:24px}
.cp-site .cp-steps li{padding-block:24px}
.cp-site .cp-faq summary{font-size:18px;font-weight:550;line-height:1.4;padding-block:22px}
.cp-site .cp-faq details p{max-width:65ch}
.cp-site .cp-split{align-items:stretch}
.cp-site .cp-visit .cp-split>img{width:100%;height:100%;object-fit:cover;min-height:360px}
.cp-builder-row{display:grid;gap:32px;align-items:start;padding-block:24px}
.cp-builder-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cp-builder-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cp-builder-row>img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cp-header>.cp-shell{width:min(1360px,calc(100% - 64px));margin:auto;min-height:98px;gap:32px}
.care-site-navigation a{font-size:16px!important;line-height:1.4;font-weight:500}
.cp-header .cp-brand{font-size:20px;font-weight:650;letter-spacing:-.025em}
.cp-utility .cp-shell{min-height:40px}
.care-footer{padding-top:64px!important}
.care-footer-grid{gap:clamp(32px,5vw,80px);padding-bottom:48px}
.care-footer h2{font-size:20px!important;line-height:1.3!important;margin-bottom:24px}
.care-footer :is(p,a,li){font-size:16px;line-height:1.6}
/* Practice: crisp editorial care, deep teal and white, no pastel wash. */
.cp-theme-practice,.care-pack-practice{--cp-paper:#fff;--cp-soft:#eff3f1;--cp-ink:#183e3e;--cp-accent:#183e3e}
.cp-theme-practice .cp-hero-copy{background:#183e3e;color:#fff;display:flex;flex-direction:column;justify-content:center}
.cp-theme-practice .cp-hero-copy :is(h1,p){color:#fff!important}
.cp-theme-practice .cp-hero .cp-button{background:#fff!important;color:#183e3e!important}
.cp-theme-practice .cp-hero .cp-caption{opacity:.85}
.cp-theme-practice .cp-hero{align-items:stretch;background:#183e3e!important}
.cp-theme-practice .cp-hero-copy{align-self:stretch}
.cp-theme-practice .cp-services{background:#fff}
.cp-theme-practice .cp-services .cp-service-card{background:#eff3f1}
.cp-theme-practice .cp-team{background:#f6f7f5}
/* Horizon: architectural navy panels, brilliant blue actions, clear rhythm. */
.cp-theme-horizon .cp-hero{background:#fff;gap:48px;padding:64px max(32px,calc((100vw - 1240px)/2));grid-template-columns:1fr 1fr;min-height:0}
.cp-theme-horizon .cp-hero-copy{background:#fff;color:#172c48;padding:32px 0;display:flex;flex-direction:column;justify-content:center}
.cp-theme-horizon .cp-hero-copy :is(h1,p){color:inherit!important}
.cp-theme-horizon .cp-hero-copy .cp-caption{background:#172c48;color:white!important;padding:22px 28px;margin:36px -80px 0 0;position:relative;z-index:2}
.cp-theme-horizon .cp-hero figure{align-self:stretch;min-height:0;aspect-ratio:4/5}
.cp-theme-horizon .cp-hero figure img{height:100%;object-fit:cover}
.cp-theme-horizon .cp-service-card{border-top:3px solid #074edc}
.cp-theme-horizon .cp-service-card .cp-button{background:#074edc!important;color:white!important}
/* Folio: generous type-led layout and quiet image-led service rows. */
.cp-theme-folio .cp-hero-copy{padding-block:72px 48px;text-align:center}
.cp-theme-folio .cp-hero h1{font-size:clamp(40px,5vw,72px)!important;max-width:20ch;margin-inline:auto}
.cp-theme-folio .cp-services .cp-service-card{padding-block:40px;border-bottom:1px solid #cdd1cc}
.cp-theme-folio .cp-services .cp-service-card>div{padding:20px 0}
.cp-theme-folio .cp-services .cp-service-card>img{aspect-ratio:4/3}
.cp-theme-folio .cp-section-heading>h2{max-width:24ch}
/* Solace: warmer materials, restrained serif headings and portrait composition. */
.cp-theme-solace .cp-hero-copy{box-shadow:none;border-left:4px solid #93452f;background:#fffaf4}
.cp-theme-solace :is(h1,h2){font-family:Georgia,serif!important;font-weight:400!important;letter-spacing:-.03em!important}
.cp-theme-solace .cp-hero{background:#eee4d7}
.cp-theme-solace .cp-services .cp-service-card>div{padding:28px 12px}
.cp-theme-solace .cp-visit .cp-split>img{box-shadow:none}
@media(min-width:701px){.cp-theme-solace .cp-hero-copy{margin:0 auto 0 0;max-width:500px;align-self:center}.cp-theme-solace .cp-hero{min-height:700px}}
/* Common action contrast on light cards, including the retained designs. */
.cp-site :is(.cp-services,.cp-journal,.cp-team,.cp-booking-panel) .cp-button{background:var(--cp-accent)!important;color:#fff!important}
.cp-theme-atelier .cp-hero .cp-button{background:#23384f!important;color:#fff!important}
@media(max-width:1024px){.cp-site{--cp-gutter:32px;--cp-space:64px}.cp-site .cp-hero-copy{padding:40px 32px}.cp-site .cp-service-grid,.cp-site .cp-team-grid{gap:24px}.cp-site .cp-service-card>div{padding:24px}.cp-header>.cp-shell{min-height:84px}.cp-site .cp-section-heading{margin-bottom:32px}}
@media(max-width:700px){.cp-site{--cp-gutter:22px;--cp-space:52px}.cp-site p{font-size:16px!important;line-height:1.65!important}.cp-site .cp-hero-copy{padding:40px 24px}.cp-site h1{font-size:38px!important}.cp-site h2{font-size:30px!important}.cp-site h3{font-size:22px!important}.cp-site .cp-button{font-size:15px!important;min-height:48px}.cp-site .cp-service-grid,.cp-site .cp-team-grid{gap:28px}.cp-site .cp-team-grid img{aspect-ratio:4/3}.cp-site .cp-visit .cp-split>img{height:auto;min-height:0;aspect-ratio:4/3}.cp-builder-row{grid-template-columns:1fr;gap:24px}.cp-header>.cp-shell{width:calc(100% - 40px);min-height:76px}.cp-theme-folio .cp-hero-copy{text-align:left}.cp-theme-folio .cp-hero h1{font-size:40px!important;margin-inline:0}.care-footer{padding-top:48px!important}.care-footer-grid{padding-bottom:32px}.cp-site .cp-section-heading{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.cp-site *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1024px){.cp-theme-horizon .cp-hero{gap:32px;padding:40px 32px}.cp-theme-horizon .cp-hero-copy{padding:24px 0}}
@media(max-width:700px){.cp-theme-horizon .cp-hero{display:flex;flex-direction:column;padding:0;gap:0}.cp-theme-horizon .cp-hero-copy{padding:40px 24px}.cp-theme-horizon .cp-hero-copy .cp-caption{margin:24px 0 0;padding:20px}.cp-theme-horizon .cp-hero figure{width:100%;height:320px;aspect-ratio:auto}}
