/* Hands-On Physio — ICBC page
   Native extension of the existing main-site design.
   Black / white / neutral grey only. */

.icbc-page{--icbc-black:#0b0b0b;--icbc-text:#171717;--icbc-body:#3f3f3f;--icbc-muted:#5a5a5a;--icbc-line:#d8d8d8;--icbc-soft:#f4f4f4;background:#fff;color:var(--icbc-text);}
.icbc-page *, .icbc-page *::before,.icbc-page *::after{box-sizing:border-box}
.icbc-page h1,.icbc-page h2,.icbc-page h3,.icbc-page p{margin-top:0}
.icbc-container{width:min(1180px,calc(100% - 48px));margin-inline:auto}

/* Keep the header visually tied to the homepage. */
.icbc-page .site-header{z-index:50}
.icbc-page .site-header .brand{display:flex;align-items:center;flex:0 0 auto;width:auto;max-width:210px}
.icbc-page .site-header .full-header-logo{display:block;width:180px;max-width:180px;height:auto;max-height:52px;object-fit:contain}
.icbc-page .site-header nav a[aria-current="page"]{font-weight:800}

/* Hero */
.icbc-hero{background:var(--icbc-black);color:#fff;padding:clamp(76px,9vw,125px) 0 82px}
.icbc-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:72px;align-items:end}
.icbc-eyebrow{font-family:"DM Mono",monospace;font-size:11px;line-height:1.3;letter-spacing:.15em;font-weight:500;margin:0 0 22px;text-transform:uppercase;color:#5a5a5a}
.icbc-hero .icbc-eyebrow{color:#c8c8c8}
.icbc-hero h1{font-size:clamp(48px,7vw,88px);line-height:.98;letter-spacing:-.055em;font-weight:700;margin:0 0 28px;color:#fff;max-width:900px}
.icbc-hero h1 em{font-style:normal;color:#bdbdbd}
.icbc-hero-lead{max-width:720px;color:#e2e2e2;font-size:19px;line-height:1.7;margin:0}
.icbc-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:32px}
.icbc-page .icbc-actions .button{background:#fff;color:#0b0b0b;border:1px solid #fff}
.icbc-page .icbc-actions .button:hover{background:#e7e7e7;color:#0b0b0b}
.icbc-outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 19px;border:1px solid currentColor;color:#fff;text-decoration:none;font-weight:700}
.icbc-outline-button:hover{background:#fff;color:#0b0b0b}
.icbc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px;border-top:1px solid #333;padding-top:22px}
.icbc-facts div{display:grid;gap:7px}
.icbc-facts strong{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.12em;color:#fff}
.icbc-facts span{font-size:14px;color:#c9c9c9;line-height:1.45}
.icbc-hero-card{background:#151515;border:1px solid #343434;padding:32px;min-height:310px;display:flex;flex-direction:column;justify-content:flex-end}
.icbc-card-label,.icbc-card-motto{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.13em;color:#bdbdbd}
.icbc-card-label{margin-bottom:auto}
.icbc-hero-card h2{font-size:clamp(30px,3.5vw,46px);line-height:1.04;letter-spacing:-.045em;color:#fff;margin:42px 0 18px}
.icbc-hero-card p:not(.icbc-card-label):not(.icbc-card-motto){color:#d0d0d0;line-height:1.7;margin-bottom:22px}
.icbc-rule{height:1px;background:#4a4a4a;margin-bottom:16px}
.icbc-card-motto{margin:0;color:#cfcfcf}

/* Shared content */
.icbc-section{padding:clamp(72px,8vw,112px) 0}
.icbc-soft{background:var(--icbc-soft)}
.icbc-section-heading{max-width:800px;margin-bottom:42px}
.icbc-section h2,.icbc-intro-grid h2,.icbc-two-column h2,.icbc-coverage h2,.icbc-location-grid h2,.icbc-cta h2{font-size:clamp(36px,4.7vw,62px);line-height:1.03;letter-spacing:-.05em;color:#111;margin:0}
.icbc-copy{max-width:760px}
.icbc-copy p,.icbc-location-grid p,.icbc-coverage p{font-size:17px;line-height:1.8;color:var(--icbc-body);margin-bottom:20px}
.icbc-copy p:last-child,.icbc-location-grid p:last-child{margin-bottom:0}
.icbc-intro-grid,.icbc-two-column{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.icbc-intro-grid{padding-top:4px}

/* Dark approach band */
.icbc-band{background:#0b0b0b;color:#fff;padding:clamp(72px,8vw,110px) 0}
.icbc-band h2{color:#fff}
.icbc-band .icbc-eyebrow{color:#aaa}
.icbc-copy-light p{color:#d4d4d4}

/* Injury cards */
.icbc-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.icbc-grid-3 article,.icbc-grid-4 article{background:#fff;border:1px solid var(--icbc-line);padding:28px;min-height:220px}
.icbc-grid-3 article span,.icbc-grid-4 article span{font-family:"DM Mono",monospace;font-size:11px;color:#666;letter-spacing:.12em}
.icbc-grid-3 h3,.icbc-grid-4 h3{font-size:21px;line-height:1.2;margin:28px 0 12px;color:#111}
.icbc-grid-3 p,.icbc-grid-4 p{font-size:15px;line-height:1.7;color:#4c4c4c;margin:0}

/* Process */
.icbc-process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--icbc-line);border-bottom:1px solid var(--icbc-line)}
.icbc-process>div{padding:30px 24px;border-right:1px solid var(--icbc-line)}
.icbc-process>div:last-child{border-right:0}
.icbc-process span{font-family:"DM Mono",monospace;font-size:11px;color:#666}
.icbc-process h3{font-size:24px;margin:26px 0 10px;color:#111}
.icbc-process p{font-size:15px;line-height:1.7;color:#4c4c4c;margin:0}

/* Coverage */
.icbc-coverage{background:#111;color:#fff;padding:clamp(72px,8vw,110px) 0}
.icbc-coverage-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:start}
.icbc-coverage .icbc-eyebrow{color:#bdbdbd}
.icbc-coverage h2{color:#fff;margin-bottom:25px}
.icbc-coverage p{color:#d0d0d0}
.icbc-coverage .icbc-large-copy{font-size:20px;line-height:1.65;color:#fff}
.icbc-text-link{display:inline-block;margin-top:10px;color:inherit;text-decoration:none;font-weight:800;border-bottom:2px solid currentColor;padding-bottom:4px}
.icbc-stat-panel{border-left:1px solid #444;padding-left:38px}
.icbc-stat-panel>div{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #3a3a3a}
.icbc-stat-panel strong{display:block;font-size:68px;line-height:1;letter-spacing:-.06em;color:#fff}
.icbc-stat-panel span{display:block;margin-top:12px;color:#d1d1d1;font-size:15px;line-height:1.65}
.icbc-stat-panel p{font-size:13px;line-height:1.65;color:#aaa;margin:0}

/* FAQ */
.icbc-faq{border-top:1px solid #cfcfcf}
.icbc-faq details{border-bottom:1px solid #cfcfcf}
.icbc-faq summary{position:relative;cursor:pointer;list-style:none;padding:25px 48px 25px 0;font-size:19px;line-height:1.4;font-weight:800;color:#111}
.icbc-faq summary::-webkit-details-marker{display:none}
.icbc-faq summary::after{content:"+";position:absolute;right:0;top:19px;font-size:28px;font-weight:400;color:#111}
.icbc-faq details[open] summary::after{content:"−"}
.icbc-faq p{max-width:850px;padding:0 0 26px;margin:0;color:#4a4a4a;font-size:16px;line-height:1.75}

/* CTA */
.icbc-cta{background:#f0f0f0;padding:72px 0}
.icbc-cta-inner{display:flex;justify-content:space-between;gap:50px;align-items:center}
.icbc-cta h2{max-width:760px;margin-bottom:15px}
.icbc-cta p:not(.icbc-eyebrow){font-size:17px;line-height:1.7;color:#444;margin:0;max-width:680px}
.icbc-cta .icbc-outline-button{color:#111;border-color:#111}
.icbc-cta .icbc-outline-button:hover{background:#111;color:#fff}

/* Location */
.icbc-location-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:stretch}
.icbc-location-grid a{color:#111}
.icbc-map{min-height:430px}
.icbc-map iframe{display:block;width:100%;height:100%;min-height:430px;border:0;filter:grayscale(100%)}

/* Footer: explicitly scoped so the logo can never become huge on this page. */
.icbc-page>footer{width:100%;background:#0b0b0b;color:#fff;padding:38px 24px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #222}
.icbc-page>footer .footer-logo{display:inline-flex;width:150px;max-width:150px;height:auto;align-items:center}
.icbc-page>footer .footer-logo img,.icbc-page>footer .footer-logo .footer-logo{display:block;width:150px !important;max-width:150px !important;height:auto !important;max-height:44px !important;object-fit:contain}
.icbc-page>footer p{margin:0;color:#c7c7c7;font-size:13px}
.icbc-page>footer .to-top{color:#fff;text-decoration:none;font-size:13px;font-weight:700}

/* Contrast safeguards: no faint grey body copy. */
.icbc-page .icbc-section p,.icbc-page .icbc-grid-3 p,.icbc-page .icbc-grid-4 p,.icbc-page .icbc-process p,.icbc-page .icbc-location-grid p{color:#454545}
.icbc-page .icbc-section h2,.icbc-page .icbc-section h3,.icbc-page .icbc-location-grid h2{color:#111}
.icbc-page .icbc-text-link{color:#111}
.icbc-page .icbc-coverage .icbc-text-link{color:#fff}

@media (max-width:1000px){
  .icbc-hero-grid,.icbc-coverage-grid,.icbc-location-grid,.icbc-intro-grid,.icbc-two-column{grid-template-columns:1fr;gap:42px}
  .icbc-grid-3{grid-template-columns:1fr 1fr}
  .icbc-process{grid-template-columns:1fr 1fr}
  .icbc-process>div:nth-child(2){border-right:0}
  .icbc-process>div:nth-child(-n+2){border-bottom:1px solid var(--icbc-line)}
  .icbc-stat-panel{border-left:0;border-top:1px solid #444;padding:32px 0 0}
  .icbc-hero-card{max-width:650px}
}
@media (max-width:760px){
  .icbc-container{width:min(100%,calc(100% - 40px))}
  .icbc-page .site-header .full-header-logo{width:145px;max-width:145px;max-height:42px}
  .icbc-hero{padding:65px 0 68px}
  .icbc-hero h1{font-size:clamp(44px,13vw,64px)}
  .icbc-hero-lead{font-size:17px}
  .icbc-facts{grid-template-columns:1fr;gap:16px}
  .icbc-grid-3,.icbc-grid-4,.icbc-process{grid-template-columns:1fr}
  .icbc-process>div{border-right:0;border-bottom:1px solid var(--icbc-line)}
  .icbc-process>div:last-child{border-bottom:0}
  .icbc-section{padding:68px 0}
  .icbc-cta{padding:60px 0}
  .icbc-cta-inner{align-items:flex-start;flex-direction:column}
  .icbc-page>footer{flex-direction:column;align-items:flex-start;padding:34px 20px}
  .icbc-page>footer .footer-logo,.icbc-page>footer .footer-logo img{width:140px !important;max-width:140px !important;max-height:42px !important}
  .icbc-map,.icbc-map iframe{min-height:340px}
}
@media (prefers-reduced-motion:reduce){.icbc-page *,.icbc-page *::before,.icbc-page *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
