/* ============================================================
   Cascade Medical Research Institute — Design Tokens
   Source: Figma "Cascade.fig" → /Moodboard
   ------------------------------------------------------------
   FONTS:
   - CityBoys Regular (brand) — supplied as fonts/CityBoys-Regular.otf.
     Used at Regular weight.
   - All other weights (Light 300 / Bold 700 / Heavy 800) fall through
     to Manrope (Google Fonts) — the closest geometric humanist sans
     available without a license. ASK the brand to supply CityBoys
     Light + Bold to fully retire the substitution.
   - Univers (used in Figma for the spaced-caps eyebrows) also falls
     through to Manrope.
   ============================================================ */

/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/font-0de83021.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/font-b801a89e.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/font-9c121fb0.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/font-eb152f67.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/font-f1ed60d4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/font-cb8d6fca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-0de83021.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-b801a89e.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-9c121fb0.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-eb152f67.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-f1ed60d4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/font-cb8d6fca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-0de83021.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-b801a89e.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-9c121fb0.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-eb152f67.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-f1ed60d4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/font-cb8d6fca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/font-0de83021.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/font-b801a89e.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/font-9c121fb0.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/font-eb152f67.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/font-f1ed60d4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/font-cb8d6fca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-0de83021.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-b801a89e.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-9c121fb0.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-eb152f67.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-f1ed60d4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/font-cb8d6fca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-0de83021.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-b801a89e.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-9c121fb0.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-eb152f67.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-f1ed60d4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/font-cb8d6fca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


@font-face {
  font-family: 'CityBoys';
  src: url("assets/fonts/font-8c1e40b9.otf") format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ---------- Color: Primary palette ---------- */
  --color-dark-blue:   #102E54;   /* primary brand */
  --color-slate-blue:  #425368;   /* secondary text on light */
  --color-light-blue:  #88ADD9;   /* accent / hover surfaces */

  /* ---------- Color: Neutrals ---------- */
  --color-white:       #FFFFFF;
  --color-light:       #F0F0F0;   /* divider / faint surface */
  --color-light-gray:  #F6F6F6;   /* page tinted surface */
  --color-dark:        #252525;   /* off-black body text */
  --color-black:       #000000;

  /* ---------- Semantic: Foreground ---------- */
  --fg-strong:   var(--color-dark-blue);    /* headlines on light */
  --fg-default:  var(--color-dark);         /* body */
  --fg-muted:    var(--color-slate-blue);   /* meta, captions */
  --fg-on-dark:  var(--color-white);
  --fg-link:     var(--color-dark-blue);
  --fg-accent:   var(--color-light-blue);

  /* ---------- Semantic: Background ---------- */
  --bg-page:        var(--color-white);
  --bg-surface:     var(--color-light-gray);
  --bg-surface-2:   var(--color-light);
  --bg-inverse:     var(--color-dark-blue);
  --bg-accent-soft: var(--color-light-blue);

  /* ---------- Border / divider ---------- */
  --border-faint:    rgba(16,46,84,0.10);
  --border-default:  rgba(16,46,84,0.20);
  --border-strong:   var(--color-dark-blue);

  /* ---------- Shadow ---------- */
  /* Long, very soft halo lifted from Figma cards */
  --shadow-card: 4px 4px 179.5px 0 rgba(0,0,0,0.07);
  --shadow-lift: 4px 4px 179.5px 0 rgba(0,0,0,0.15);
  --shadow-focus: 0 0 0 3px rgba(136,173,217,0.65);

  /* ---------- Radius ---------- */
  --radius-xs: 4px;     /* image tiles */
  --radius-sm: 8px;
  --radius-md: 16px;    /* primary surface card */
  --radius-pill: 999px;

  /* ---------- Spacing scale (8pt) ---------- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 56px;
  --space-9: 80px;
  --space-10: 120px;

  /* ---------- Type: Families ---------- */
  --font-display: 'CityBoys', 'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:    'CityBoys', 'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-label:   'CityBoys', 'Manrope', ui-sans-serif, system-ui, sans-serif;

  /* ---------- Type: Weights ---------- */
  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-heavy:    800;

  /* ---------- Type: Size scale (matches Figma "Text Hierarchy") ---------- */
  --size-h1:        60px;
  --size-h2:        40px;
  --size-body-lg:   36px;
  --size-body:      24px;
  --size-body-md:   18px;
  --size-body-sm:   16px;
  --size-eyebrow:   14px;

  --leading-tight: 1.1;
  --leading-snug:  1.2;
  --leading-base:  1.3;     /* spec from moodboard: 1.3 × font size */
  --leading-loose: 1.5;

  --tracking-eyebrow: 0.28em;  /* spec from moodboard section labels */
  --tracking-label:   0.15em;
  --tracking-tight:   -0.01em;

  /* ---------- Motion ---------- */
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 140ms;
  --dur-base: 220ms;
  --dur-slow: 420ms;

  /* ---------- Layout ---------- */
  --container-max: 1314px;        /* matches Figma frame inner width */
  --container-pad: 99px;
}

/* ============================================================
   Semantic element styles
   ============================================================ */

html { font-family: var(--font-body); color: var(--fg-default); background: var(--bg-page); }

body {
  font-family: var(--font-body);
  font-size: var(--size-body-md);
  line-height: var(--leading-base);
  color: var(--fg-default);
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, .h1 {
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: var(--size-h1);
  line-height: var(--leading-base);
  letter-spacing: var(--tracking-tight);
  color: var(--fg-strong);
}

h2, .h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: var(--size-h2);
  line-height: var(--leading-base);
  color: var(--fg-strong);
}

h3, .h3 {
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: var(--size-body-lg);
  line-height: var(--leading-base);
  color: var(--fg-strong);
}

p, .body {
  font-family: var(--font-body);
  font-weight: var(--weight-regular);
  font-size: var(--size-body-md);
  line-height: var(--leading-base);
}

.body-lead { font-size: var(--size-body); }
.body-sm { font-size: var(--size-body-sm); font-weight: var(--weight-light); }

/* Spaced uppercase label — the "Universe" treatment used for section eyebrows */
.eyebrow {
  font-family: var(--font-label);
  font-weight: var(--weight-regular);
  font-size: var(--size-eyebrow);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--fg-strong);
}

a {
  color: var(--fg-link);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color var(--dur-fast) var(--ease-out);
}
a:hover { color: var(--color-slate-blue); }
a:focus-visible { outline: none; box-shadow: var(--shadow-focus); border-radius: 2px; }

/* High-contrast focus ring (ADA) */
*:focus-visible {
  outline: 3px solid var(--color-dark-blue);
  outline-offset: 2px;
}
#custom-class {
  color: #ffffff !important;
}

  html, body { margin: 0; padding: 0; background: #fff; }
  body { font-family: var(--font-body); color: var(--fg-default); overflow-x: hidden; }
  * { box-sizing: border-box; }

  /* Accessibility modes (persist via localStorage) */
  body.a11y-large { font-size: 20px; }
  body.a11y-large h1 { font-size: clamp(64px, 7vw, 104px) !important; }
  body.a11y-large h2 { font-size: clamp(40px, 5vw, 64px) !important; }
  body.a11y-contrast { filter: grayscale(1) contrast(1.45); }

  #main:focus { outline: none; }

  /* Core Specialties — full-bleed image cards with hover-reveal description */
  .cc-spec-card { transition: box-shadow var(--dur-base) var(--ease-out); }
  .cc-spec-card .cc-spec-desc { display: grid; grid-template-rows: 0fr; opacity: 0; transform: translateY(8px); transition: grid-template-rows var(--dur-slow) var(--ease-out), opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
  .cc-spec-card .cc-spec-desc > p { overflow: hidden; }
  .cc-spec-card:hover .cc-spec-desc, .cc-spec-card:focus-visible .cc-spec-desc { grid-template-rows: 1fr; opacity: 1; transform: translateY(0); }
  .cc-spec-card:hover, .cc-spec-card:focus-visible { box-shadow: var(--shadow-lift); outline: none; }
  .cc-spec-card:focus-visible { box-shadow: var(--shadow-focus); }
  @media (prefers-reduced-motion: reduce) {
    .cc-spec-card .cc-spec-desc { transform: none; }
  }

  /* Research pathway rows + publication titles + doctor cards */
  .cc-pub-row:hover .cc-pub-title { color: #88ADD9; }
  .cc-doctor-card:hover { border-color: #102E54 !important; }

  /* Team card arrow — fills secondary blue on card hover (no movement) */
  .cc-arrow-glyph { transition: background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out); }
  .cc-doctor-card:hover .cc-arrow-glyph { background: #88ADD9; border-color: #88ADD9; color: #fff; }

  /* Tweak — spaciousness (page rhythm) */
  body.feel-compact #main > section:not(#hero) { padding-top: 64px !important; padding-bottom: 64px !important; }
  body.feel-spacious #main > section:not(#hero) { padding-top: 176px !important; padding-bottom: 176px !important; }

  /* Tweak — hero style (type-forward hides photographic layers, navy shows through) */
  body.hero-type .cc-hero-photo, body.hero-type .cc-hero-scrim { display: none !important; }

  /* Tweak — imagery mood (cool navy duotone over scene photography) */
  body.img-duotone .cc-scene { filter: grayscale(1) contrast(1.05) brightness(.92) sepia(.4) hue-rotate(176deg) saturate(2.2) !important; }

  /* Reduced motion */
  @media (prefers-reduced-motion: reduce) {
    * { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
  }

  /* ── Responsive ─────────────────────────────────────────── */
  @media (max-width: 1080px) {
    .cc-about-grid, .cc-research-grid, .cc-team-grid, .cc-contact-grid, .cc-news-inner, .cc-loc-grid { grid-template-columns: 1fr !important; gap: 48px !important; }
    .cc-doctor-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .cc-coord-img { min-height: 200px; }
  }
  @media (max-width: 1000px) {
    .cc-desktop-nav { display: none !important; }
    .cc-mobile-toggle { display: inline-flex !important; }
    .cc-mobile-panel { display: flex !important; }
  }
  @media (max-width: 760px) {
    section, .cc-section-pad { padding-left: 20px !important; padding-right: 20px !important; }
    nav { padding-left: 20px !important; padding-right: 20px !important; }
    .cc-spec-grid { grid-template-columns: 1fr !important; }
    .cc-doctor-grid { grid-template-columns: 1fr !important; }
    .cc-team-coords { grid-template-columns: 1fr !important; }
    .cc-coord-card { grid-template-columns: 40% 60% !important; }
    .cc-pub-row { grid-template-columns: 60px 1fr !important; }
    .cc-pub-row > div:nth-child(3), .cc-pub-row > div:nth-child(4) { display: none; }
    .cc-news-row { flex-direction: column !important; }
    .cc-footer-top { grid-template-columns: 1fr !important; gap: 32px !important; }
  }
