/* Services layout adapted from https://cardiohealth.ca/services/. Scoped to this page. */
.page-services{--deep-blue-rgb:25, 57, 95;--brand-blue-rgb:21, 91, 153;--berry-rgb:168, 50, 68;--ink-rgb:32, 52, 75;--canvas-rgb:241, 236, 231;--section-rgb:220, 234, 241;--header-surface-rgb:247, 241, 236;--accent-inverse-rgb:216, 234, 224;--navy:#23472d;--navy-soft:#365d78;--blue:#4f822d;--logo-blue:#23472d;--berry:#4f822d;--berry-text:#4f822d;--berry-dark:#23472d;--danger:#90263a;--danger-soft:#f4d9dc;--periwinkle:#91b7cf;--ink:#293a2d;--muted:#5c695e;--text-on-dark:#f8e9df;--text-on-red:#f8e9df;--accent-inverse:#d8eae0;--peach:#ebe1da;--soft-yellow:#eadfb6;--mint:#e1ece6;--emerald:#17614f;--text-primary:var(--ink);--text-secondary:var(--muted);--text-tertiary:var(--navy-soft);--text-action:var(--blue);--text-brand:var(--berry-text);--text-content-heading:#23472d;--text-content-strong:#23472d;--text-content-body:#293a2d;--text-content-secondary:#5c695e;--surface-canvas:#f6f6ed;--surface-raised:#fffef9;--surface-section:#e9f0df;--surface-selected:#dce9cc;--surface-rose-canvas:#f3e1e2;--surface-rose:#e8c4c7;--surface-rose-strong:#c95d6a;--surface-disabled:#ded6d1;--text-disabled:#4d5d69;--surface-warm:var(--surface-rose-canvas);--surface-cool:#e9f0df;--surface-info:#e9f0df;--surface-cardiology:var(--surface-rose);--surface-success:var(--mint);--surface-header-glass:rgba(var(--header-surface-rgb), .86);--surface-menu-glass:rgba(var(--header-surface-rgb), .86);--line-neutral:#a7b4be;--line:var(--line-neutral);--line-subtle:rgba(var(--ink-rgb), .18);--border-strong:#71816d;--border-card:var(--border-strong);--border-control:var(--border-strong);--focus-ring:var(--blue);--content-max:1560px;--font-display:Georgia, "Times New Roman", serif;--font-ui:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif:var(--font-display);--sans:var(--font-ui);--text-micro:12px;--text-small:13px;--text-body:16px;--text-page-title:clamp(48px, 5vw, 72px);--weight-regular:400;--weight-medium:500;--weight-bold:700;--weight-extrabold:800;--target-min:44px}
.page-services *{box-sizing:border-box}
.page-services{scroll-behavior:smooth;scroll-padding-top:128px}
.page-services{background:var(--surface-canvas);color:var(--text-primary);font-family:var(--sans);font-size:var(--text-body);margin:0;line-height:1.5}
.page-services a{color:inherit;text-decoration:none}
.page-services button,
.page-services input,
.page-services textarea{font:inherit}
.page-services h1,
.page-services h2,
.page-services h3{text-wrap:balance}
.page-services .eyebrow{color:var(--navy-soft);font-size:var(--text-micro);line-height:1;font-weight:var(--weight-extrabold);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:14px;margin:0 0 26px;display:flex}
.page-services .eyebrow span{background:var(--berry);width:24px;height:2px;display:block}
.page-services .button{min-height:52px;font-size:14px;font-weight:var(--weight-bold);border-radius:999px;justify-content:center;align-items:center;gap:26px;padding:0 21px;transition:transform .2s,background .2s,color .2s;display:inline-flex}
.page-services .button-solid{border:1px solid var(--blue);background:var(--blue);color:var(--text-on-dark)}
.page-services .button-outline{border:1px solid var(--blue);color:var(--blue)}
.page-services .section-pad{padding:110px 32px}
.page-services .services{background:var(--surface-canvas)}
.page-services .diagnostic-service-tabs{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px;display:grid}
.page-services .service-tab-list{flex-direction:column;gap:10px;display:flex;position:sticky;top:140px}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile]){background:var(--surface-raised);width:100%;min-height:48px;color:var(--text-secondary);text-align:left;font-size:var(--text-small);font-weight:var(--weight-bold);cursor:pointer;border:0;border-radius:8px;padding:11px 14px;transition:none}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true]{background:var(--blue);color:var(--text-on-dark)}
.page-services .service-detail-panel{min-width:0;padding:26px 0 10px}
.page-services .service-detail-heading{display:block}
.page-services .service-detail-heading h2{color:var(--navy);font:44px/1.02 var(--serif);letter-spacing:-.035em;margin:0}
.page-services .service-detail-heading p{max-width:790px;color:var(--text-primary);margin:14px 0 0;font-size:17px;line-height:1.7}
.page-services .service-notice{background:var(--danger-soft);color:var(--danger);border-left:3px solid var(--danger);margin:24px 0 0;padding:12px 16px;font-size:12px;font-weight:800}
/* Facts and details use spacing instead of rules at every screen size. */
.page-services .service-quick-facts{border:0;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;margin:30px 0 24px;display:grid}
.page-services .service-quick-facts>div{padding:18px 0}
.page-services .service-quick-facts dt,
.page-services .service-detail-grid dt{color:var(--berry-dark);font-size:var(--text-micro);font-weight:var(--weight-extrabold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.page-services .service-quick-facts dd{color:var(--navy);margin:0;font-size:13px;font-weight:800;line-height:1.45}
.page-services .service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;margin:0 0 30px;display:grid}
.page-services .service-detail-grid>div{padding:20px 0}
.page-services .service-detail-grid dd{color:var(--muted);margin:0;font-size:14px;line-height:1.65}
.page-services .service-detail-panel>.button{margin-left:0}
.page-services .page-cta{background:var(--surface-cool);justify-content:space-between;align-items:center;gap:30px;margin-top:58px;padding:34px;display:flex}
.page-services .page-cta p{color:var(--berry);font-size:var(--text-micro);font-weight:var(--weight-extrabold);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px}
.page-services .page-cta h2{color:var(--navy);font:30px var(--serif);margin:0}
.page-services .services .page-cta{--focus-ring:var(--accent-inverse)}
@media (width<=960px){
.page-services{scroll-padding-top:82px}
.page-services .section-pad{padding:80px 20px}
.page-services .diagnostic-service-tabs{grid-template-columns:230px minmax(0,1fr)}
.page-services .service-detail-heading h2{font-size:38px}
.page-services .service-quick-facts,
.page-services .service-detail-grid,
.page-services .service-notice,
.page-services .service-detail-panel>.button{margin-left:0}
.page-services .page-cta{flex-direction:column;align-items:flex-start}
}
@media (width<=680px){
.page-services .diagnostic-service-tabs{grid-template-columns:1fr}
.page-services .service-tab-list{grid-template-columns:1fr 1fr;display:grid;position:static}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile]){min-height:52px}
.page-services .service-detail-panel{padding-top:28px}
.page-services .service-detail-heading{grid-template-columns:42px minmax(0,1fr);gap:12px}
.page-services .service-detail-heading h2{font-size:34px}
.page-services .service-detail-heading p{font-size:14px}
.page-services .service-quick-facts{grid-template-columns:1fr;margin-top:24px}
.page-services .service-detail-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
.page-services{scroll-behavior:auto}
.page-services *{transition-duration:.01ms!important}
}
.page-services .sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}
.page-services .page-section{min-height:0}
.page-services .service-quick-facts dt,
.page-services .service-detail-grid dt{color:var(--berry-dark)}
.page-services .service-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:0;display:flex}
@media (width<=680px){
.page-services .service-actions{margin-left:0}
}
.page-services .button{transition:transform .18s,background-color .18s,border-color .18s,color .18s,box-shadow .18s}
.page-services .section-pad{padding-left:max(32px, calc((100vw - var(--content-max)) / 2 + 32px));padding-right:max(32px, calc((100vw - var(--content-max)) / 2 + 32px))}
.page-services .services.section-pad{padding-top:44px}
.page-services .page-cta p{color:var(--berry-text)}
.page-services .service-quick-facts dt,
.page-services .service-detail-grid dt{font-size:var(--text-micro)}
.page-services .service-quick-facts dd{font-size:14px}
.page-services .diagnostic-service-tabs{grid-template-columns:330px minmax(0,1fr);gap:42px}
.page-services .service-tab-list{gap:10px}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile]){border-radius:7px;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:72px;padding:12px 14px 12px 12px;font-size:14px;display:grid}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile]):hover{background:var(--surface-raised)}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true]{box-shadow:0 10px 24px rgba(var(--deep-blue-rgb), .12)}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true]:hover{background:var(--blue);color:var(--text-on-dark)}
.page-services .service-tab-index{color:var(--berry-text);font:italic 15px var(--serif)}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true] .service-tab-index{color:var(--accent-inverse)}
.page-services .service-tab-copy{flex-direction:column;gap:3px;min-width:0;display:flex}
.page-services .service-tab-copy strong{color:inherit;font-size:14px;font-weight:var(--weight-extrabold);line-height:1.25}
.page-services .service-tab-copy small{color:var(--text-secondary);font-size:var(--text-small);font-weight:var(--weight-medium)}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true] .service-tab-copy small{color:var(--text-on-dark)}
.page-services .service-tab-arrow{color:currentColor;font-size:16px}
.page-services .service-detail-panel{padding-top:18px}
.page-services .service-notice{font-size:14px;line-height:1.55}
.page-services .services .page-cta{background:var(--navy);color:var(--text-on-dark)}
.page-services .services .page-cta p{color:var(--accent-inverse)}
.page-services .services .page-cta h2{color:var(--text-on-dark)}
.page-services .services .page-cta .button-solid{background:var(--surface-raised);color:var(--navy)}
.page-services .services .page-cta .button-solid:hover{background:var(--surface-warm);color:var(--navy)}
@media (width<=1200px){
.page-services .diagnostic-service-tabs{grid-template-columns:300px minmax(0,1fr);gap:32px}
}
@media (width<=960px){
.page-services .section-pad{padding-left:20px;padding-right:20px}
.page-services .diagnostic-service-tabs{grid-template-columns:250px minmax(0,1fr);gap:24px}
}
@media (width<=680px){
.page-services .diagnostic-service-tabs{grid-template-columns:1fr}
.page-services .service-tab-list{grid-template-columns:1fr;position:static}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile]){min-height:64px}
}
@media print{
.page-services{background:var(--surface-raised);color:#000}
}
.page-services .section-pad{padding-top:72px;padding-bottom:72px}
.page-services .eyebrow,
.page-services .service-quick-facts dt,
.page-services .service-detail-grid dt{font-size:var(--text-micro)}
.page-services .service-tab-navigation{position:sticky;top:104px}
.page-services .service-tab-label{color:var(--navy-soft);font-size:var(--text-micro);font-weight:var(--weight-extrabold);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px}
.page-services .service-tab-list{position:static}
.page-services .service-tabs-mobile{display:none}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile]){min-height:66px}
.page-services .service-actions .button{gap:12px;min-height:46px;padding:0 17px;font-size:13px}
.page-services .page-cta{margin-top:48px;padding:28px 30px}
.page-services .page-cta h2{font-size:28px}
@media (width<=1100px){
.page-services{scroll-padding-top:74px}
.page-services .service-quick-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-services .service-quick-facts>div:nth-child(3){grid-column:1/-1}
}
@media (width<=680px){
.page-services .service-tabs-desktop{display:none}
.page-services .service-tabs-mobile{display:block}
.page-services .service-mobile-list{flex-direction:column;gap:8px;display:flex}
.page-services .service-mobile-item{width:100%}
.page-services .service-mobile-trigger{scroll-margin-top:90px}
.page-services .service-mobile-list .service-mobile-trigger.is-active,
.page-services .service-mobile-list .service-mobile-trigger.is-active:hover{border-color:var(--navy);background:var(--blue);color:var(--text-on-dark);box-shadow:0 10px 24px rgba(var(--deep-blue-rgb), .12);border-radius:7px 7px 0 0}
.page-services .service-mobile-trigger.is-active .service-tab-index{color:var(--accent-inverse)}
.page-services .service-mobile-trigger.is-active .service-tab-copy small{color:var(--text-on-dark)}
.page-services .service-mobile-trigger .service-tab-arrow{transition:transform .18s}
.page-services .service-mobile-trigger.is-active .service-tab-arrow{transform:rotate(90deg)}
.page-services .service-detail-panel-mobile{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;margin:0 0 10px;padding:24px 0 14px}
.page-services .service-detail-panel-mobile .service-actions{flex-direction:column;align-items:stretch}
.page-services .service-detail-panel-mobile .button{width:100%}
.page-services .service-tab-navigation{position:static}
}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true],
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true]:hover,
.page-services .service-mobile-list .service-mobile-trigger.is-active,
.page-services .service-mobile-list .service-mobile-trigger.is-active:hover{border-color:var(--blue);background:var(--blue);color:var(--text-on-dark)}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true],
.page-services .service-mobile-list .service-mobile-trigger.is-active,
.page-services .service-mobile-list .service-mobile-trigger.is-active:hover{border-color:var(--navy);box-shadow:0 10px 24px rgba(var(--deep-blue-rgb), .12)}
.page-services .service-detail-panel-mobile{margin-top:24px}
@media (width<=680px){
.page-services h1,
.page-services h2,
.page-services h3{text-wrap:pretty}
.page-services .service-detail-panel-mobile{padding-top:6px}
.page-services .service-detail-heading h2{font-size:32px;line-height:1.08}
.page-services .service-detail-heading p,
.page-services .service-detail-grid dd,
.page-services .service-quick-facts dd{font-size:14px}
}
.page-services .button-solid,
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true],
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true]:hover{color:var(--text-on-dark)}
.page-services .services .page-cta,
.page-services .services .page-cta h2{color:var(--text-on-dark)}
.page-services .service-detail-panel{border:1px solid var(--line);background:var(--surface-raised);border-radius:12px;padding:28px}
@media (width<=680px){
.page-services .service-detail-panel{padding:22px 18px}
}
.page-services{background:var(--surface-canvas)}
.page-services .button{box-shadow:0 7px 18px rgba(var(--deep-blue-rgb), .1)}
.page-services .service-detail-panel{box-shadow:none;border:0}
.page-services .service-detail-panel{border-radius:12px}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true],
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true]:hover,
.page-services .service-mobile-list .service-mobile-trigger.is-active,
.page-services .service-mobile-list .service-mobile-trigger.is-active:hover{box-shadow:none}
.page-services .services .page-cta{background:var(--navy);color:var(--text-on-dark);border-radius:10px}
.page-services .services .page-cta p{color:var(--accent-inverse)}
.page-services .services .page-cta h2{color:var(--text-on-dark)}
.page-services .services .page-cta .button-solid{border-color:var(--logo-blue);background:var(--logo-blue);color:var(--text-on-dark)!important}
.page-services .services .page-cta .button-solid:hover{border-color:var(--navy);background:var(--navy);color:var(--text-on-dark)!important}
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true],
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true]:hover,
.page-services .service-mobile-list .service-mobile-trigger.is-active,
.page-services .service-mobile-list .service-mobile-trigger.is-active:hover,
.page-services .service-actions .button-solid,
.page-services .page-cta .contact-team-button{border-color:var(--logo-blue);background:var(--logo-blue);color:var(--text-on-dark)}
.page-services .service-actions .button-solid:hover,
.page-services .page-cta .contact-team-button:hover{border-color:var(--navy);background:var(--navy);color:var(--text-on-dark)}
.page-services .button-solid,
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true],
.page-services .service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true]:hover{color:var(--text-on-dark)!important}
@media (width<=680px){
.page-services #main-content>.page-hero~* :where(.eyebrow,dt,label,.contact-details p,.directory-grid p,.page-cta p){font-size:14px}
.page-services #main-content>.page-hero~* .service-detail-heading h2{font-size:36px}
.page-services #main-content>.page-hero~* .service-mobile-trigger{grid-template-columns:28px minmax(0,1fr) 18px}
.page-services #main-content>.page-hero~* .service-mobile-trigger .service-tab-index{display:block}
.page-services #main-content>.page-hero~* :where(.service-tab-copy strong,.service-detail-heading p,.service-detail-grid dd,.service-quick-facts dd,.service-notice){font-size:17px}
.page-services #main-content.interior-page>*{--text-body:18px;--text-small:15px;--text-micro:14px;font-size:18px;line-height:1.6}
.page-services #main-content.interior-page>* :where(p,li,dd,address,small){font-size:16px;line-height:1.6}
.page-services #main-content.interior-page>* :where(.eyebrow,dt,label,.contact-details p,.directory-grid p,.page-cta p){font-size:14px}
.page-services #main-content.interior-page>* :where(button,input,select,textarea,.page-anchor-nav a,.text-link){font-size:15px}
.page-services #main-content.interior-page>* .service-detail-heading h2{font-size:36px}
.page-services #main-content.interior-page>* .service-mobile-trigger{grid-template-columns:28px minmax(0,1fr) 18px}
.page-services #main-content.interior-page>* .service-mobile-trigger .service-tab-index{display:block}
.page-services #main-content.interior-page>* :where(.service-tab-copy strong,.service-detail-heading p,.service-detail-grid dd,.service-quick-facts dd,.service-notice){font-size:17px}
}
.page-services #main-content>.page-hero~* :where(small,dt,label,.service-tab-label),
.page-services #main-content>.page-hero~* :where(.service-detail-grid dd,.test-guidance-list .test-guidance-details dd,.directory-grid p,.resource-disclaimer,.external-resource-copy p,.location-sidebar>p:not(.eyebrow),.region-toggle small,.clinic-list-button span,.map-deferred-state small){color:var(--text-content-secondary)}
/* Longer service guidance reads across the panel below the quick facts. */
.page-services .service-detail-grid{grid-template-columns:minmax(0,1fr);gap:24px}
.page-services .service-detail-grid>div{padding:0}
.page-services .service-detail-grid dd{max-width:68ch;font-size:16px;line-height:1.7}
.page-services #main-content>.page-hero~* :where(.contact-visual,.services .page-cta,.fax-callout) :where(h2,h3,h4,strong){color:var(--text-on-dark)}
.page-services #main-content>.page-hero~* :where(.contact-visual,.services .page-cta,.fax-callout) :where(p,li,dd,address,small,.eyebrow){color:var(--accent-inverse)}
.page-services #main-content>.page-hero~* .service-notice{color:var(--danger)}
.page-services #main-content>.page-hero~* :where(.service-tab-list :is([data-service-tab], [data-service-mobile])[aria-selected=true],.service-mobile-list .service-mobile-trigger.is-active) :where(strong,small){color:var(--text-on-dark)}
/* CanMed colours; reference page layout and typography. */
.page-services{--deep-blue-rgb:35,71,45;--brand-blue-rgb:79,130,45;--berry-rgb:79,130,45;--ink-rgb:41,58,45;--canvas-rgb:246,246,237;--section-rgb:233,240,223;--header-surface-rgb:255,254,249;--navy:#23472d;--navy-soft:#5c695e;--blue:#4f822d;--logo-blue:#23472d;--berry:#4f822d;--berry-text:#4f822d;--berry-dark:#23472d;--crimson:#4f822d;--crimson-dark:#23472d;--teal:#4f822d;--ink:#293a2d;--muted:#5c695e;--text-content-heading:#23472d;--text-content-strong:#23472d;--text-content-body:#293a2d;--text-content-secondary:#5c695e;--surface-canvas:#f6f6ed;--surface-raised:#fffef9;--surface-section:#e9f0df;--surface-selected:#dce9cc;--surface-cool:#e9f0df;--surface-info:#e9f0df;--paper:#fffef9;--ivory:#f6f6ed;--white:#fffef9;--line-neutral:#c4cebf;--line:rgba(35,71,45,.18);--border-strong:#71816d;--border-card:#71816d;--border-control:#71816d;--focus-ring:#4f822d}
.page-services{--text-on-dark:#fffef9;--text-on-red:#fffef9;--surface-warm:#f6f6ed}
.page-services .service-tab-list{margin:0}
.page-services .service-tabs-mobile .service-detail-panel[hidden]{display:none}
.page-services .service-tabs-desktop .service-detail-panel[hidden]{display:none}
@media(max-width:680px){.page-services .service-tab-copy strong{overflow-wrap:anywhere}}

.page-services .service-panel-stack{min-width:0}
.page-services .service-mobile-trigger{scroll-margin-top:90px}

.page-services .service-quick-facts dd{overflow-wrap:anywhere}

.page-services .eyebrow>span:empty{display:none}
.page-services .service-detail-panel-mobile{border-bottom:0}

@media(max-width:600px){.page-services .services.section-pad{padding-top:32px}}

/* Keep the title and service choices on the same left edge. */
.page-services #main-content>.page-hero>.section-shell{
  width:auto;
  max-width:none;
  margin-inline:0;
  padding-inline:max(32px,calc((100vw - var(--content-max))/2 + 32px));
}
@media(max-width:960px){
  .page-services #main-content>.page-hero>.section-shell{padding-inline:20px}
}
