/* Full-width layout and a shared type scale across the clinical site. */
:root {
  --page-gutter: clamp(16px, 2.4vw, 48px);
  --layout-gap: clamp(24px, 4vw, 80px);
  --body-size: 20px;
  --heading-1: clamp(36px, 5vw, 64px);
  --heading-2: clamp(28px, 3vw, 40px);
  --heading-3: clamp(24px, 2.2vw, 28px);
  --text: #111111;
  --muted: #333333;
}
.isi-theme { color: var(--text); font-size: var(--body-size); line-height: 1.7; }
.isi-shell { width: calc(100% - 2 * var(--page-gutter)); max-width: none; margin-inline: auto; }
#isi-main, .isi-page { width: 100%; min-width: 0; }
.isi-shell > *, .isi-cta > *, .isi-actions > *, .isi-credentials > *,
.isi-footer-grid > *, .isi-directory > *, .isi-card-grid > * { min-width: 0; }
#isi-main :is(h1,h2,h3,h4,p,li,a,strong), .isi-footer { overflow-wrap: anywhere; }
#isi-main h1 { font-size: var(--heading-1); line-height: 1.12; letter-spacing: -.035em; font-weight: 600; }
#isi-main h2 { font-size: var(--heading-2); line-height: 1.2; letter-spacing: -.025em; font-weight: 600; }
#isi-main h3 { font-size: var(--heading-3); line-height: 1.3; letter-spacing: -.015em; font-weight: 600; }
#isi-main h4 { font-size: 22px; line-height: 1.35; font-weight: 600; }
#isi-main :is(.isi-prose,.isi-prose p,.isi-prose li,.isi-card p,.isi-gateway p,
  .isi-section-head p,.isi-inquiry-intro p,.isi-contact-card p,.isi-hero-description,
  .isi-notice p,.isi-content-band p,.isi-form-success p) {
  font-size: var(--body-size); line-height: 1.7; color: var(--text);
}
#isi-main .isi-prose { max-width: none; width: 100%; }
.isi-prose > :is(p,ul,ol), .isi-home-hero .isi-hero-description { max-width: 75ch; }
#isi-main .isi-lead { font-size: clamp(22px, 2vw, 28px); line-height: 1.5; color: var(--text); }
#isi-main .isi-page-hero .isi-lead { max-width: 70ch; }
#isi-main .isi-kicker { font-size: 14px; line-height: 1.5; color: var(--teal); }
.isi-home-hero-grid { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: var(--layout-gap); }
.isi-home-hero .isi-lead { max-width: 32ch; }
.isi-home-hero .isi-portrait img { height: clamp(440px, 38vw, 720px); }
.isi-bio-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: var(--layout-gap); }
.isi-bio-grid .isi-portrait img { height: clamp(440px, 38vw, 720px); }
.isi-reading-grid { grid-template-columns: minmax(0,1fr) minmax(250px,24%); gap: var(--layout-gap); }
.isi-inquiry-grid { grid-template-columns: minmax(280px,.65fr) minmax(0,1.35fr); gap: var(--layout-gap); }
.isi-gateway-grid, .isi-contact-grid, .isi-credentials { grid-template-columns: repeat(2,minmax(0,1fr)); }
.isi-footer-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr); gap: var(--layout-gap); }
.isi-section-head { align-items: start; }
.isi-section-head p { max-width: 50ch; }
.isi-button, .isi-desktop-nav .isi-button { font-size: 18px; max-width: 100%; }
.isi-desktop-nav { font-size: 17px; gap: clamp(18px,2vw,32px); }
#isi-main :is(.isi-text-link,.isi-directory-group a) { font-size: 18px; line-height: 1.5; }
.isi-button span, .isi-text-link span { flex-shrink: 0; }
.isi-header-inner { gap: 24px; }
.isi-brand { min-width: 0; }
.isi-brand strong { white-space: nowrap; }
.isi-hero-proof { font-size: 16px; color: var(--text); }
.isi-credential span { font-size: 16px; line-height: 1.5; }
.isi-credential strong { font-size: 20px; line-height: 1.4; }
#isi-main .isi-credential p { font-size: 18px !important; line-height: 1.6 !important; color: var(--text); }
#isi-main .isi-aside h2 { font-size: var(--heading-3); }
#isi-main .isi-aside p, .isi-aside nav a { font-size: 17px; color: var(--text); }
.isi-aside .isi-button { white-space: normal; }
.isi-cta { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: var(--layout-gap); }
#isi-main .isi-cta p { font-size: var(--body-size); line-height: 1.7; color: #ffffff; }
.isi-page > .isi-cta { display: block; padding-inline: 0; border-radius: 0; }
.isi-cta-inner { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: var(--layout-gap); align-items: center; }
.isi-gateway h2, .isi-gateway p { max-width: none; }
.isi-gateway { padding-bottom: 70px; }
.isi-form-panel { padding: clamp(20px,3vw,48px); }
.gform_wrapper :is(label,legend) { font-size: 18px !important; }
.gform_wrapper :is(select,textarea,input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit])) {
  width: 100% !important; min-width: 0; font-size: 18px !important;
}
.gform_wrapper :is(.gfield,.ginput_container,.ginput_complex) { min-width: 0; max-width: 100%; }
.gform_wrapper .gfield_description, .isi-form-privacy { font-size: 16px !important; line-height: 1.6 !important; color: var(--text) !important; }
.gform_wrapper :is(.gform_button,input[type=submit]) { font-size: 18px !important; max-width: 100%; white-space: normal; }
.isi-prose table { display: block; max-width: 100%; overflow-x: auto; }
.isi-prose :is(video,iframe,embed,object), .isi-prose .wp-caption { max-width: 100%; }
.isi-prose .cmplz-document { max-width: 100%; }
.isi-footer :is(p,nav > a,.isi-footer-grid > div > a:not(.isi-brand)) { font-size: 17px; line-height: 1.65; color: var(--text); }
.isi-footer h2 { font-size: 20px; line-height: 1.4; }
.isi-footer-bottom, .isi-footer-bottom nav a { font-size: 16px; }
.isi-footer .isi-disclaimer { font-size: 15px !important; }
.isi-site-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--line); font-size: 16px; }
.isi-site-tools > span { font-weight: 600; }
.isi-site-tools .gt_switcher_wrapper { position: relative !important; inset: auto !important; }
.isi-site-tools .userway_buttons_wrapper { position: relative !important; inset: auto !important; transform: none !important; width: 64px !important; height: 64px !important; }
.isi-site-tools .gtranslate_wrapper { max-width: 100%; }
.isi-site-tools .gt_switcher { max-width: 100%; }
@media (max-width:1100px) {
  .isi-mobile-nav nav { width: min(340px,calc(100vw - 2 * var(--page-gutter))); max-height: calc(100dvh - 160px); overflow-y: auto; }
  .isi-mobile-nav nav a, .isi-mobile-nav nav .isi-button { font-size: 18px; line-height: 1.5; }
  .isi-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:960px) {
  .isi-reading-grid,.isi-inquiry-grid { display: grid; grid-template-columns: minmax(0,1fr); }
  .isi-inquiry-intro,.isi-aside { position: static; width: 100%; }
  .isi-aside { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  .isi-aside-contact { margin-top: 0; }
  .isi-cta,.isi-cta-inner { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .isi-cta .isi-actions { justify-content: flex-start; }
  .isi-bio-grid { grid-template-columns: minmax(0,1fr); }
  .isi-bio-grid .isi-portrait { position: static; order: -1; width: 100%; max-width: none; }
  .isi-bio-grid .isi-portrait img { height: clamp(360px,65vw,620px); }
}
@media (max-width:780px) {
  :root { --body-size: 18px; }
  .isi-header-inner { min-height: 84px; gap: 12px; }
  .isi-home-hero-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .isi-home-hero .isi-portrait img { height: clamp(340px,95vw,580px); }
  .isi-gateway-grid,.isi-directory,.isi-contact-grid { grid-template-columns: minmax(0,1fr); }
  .isi-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .isi-footer-grid > div:first-child { grid-column: 1/-1; }
  .isi-gateway,.isi-card,.isi-directory-group,.isi-contact-card,.isi-notice { padding: 24px; }
  .isi-gateway { padding-bottom: 66px; }
  .isi-cta { padding: 32px 24px; }
  .isi-page > .isi-cta { padding-inline: 0; }
  .isi-form-panel { padding: 24px 18px; }
  .isi-mobile-nav summary { font-size: 16px; min-height: 48px; }
}
@media (max-width:600px) {
  .isi-card-grid,.isi-credentials,.isi-aside,.isi-footer-grid { grid-template-columns: minmax(0,1fr); }
  .isi-footer-grid > div:first-child { grid-column: auto; }
  .isi-actions { align-items: stretch; }
  .isi-actions > .isi-button { width: 100%; }
  .isi-button { padding-inline: 18px; gap: 16px; }
  .gform_wrapper .gfield--width-half { grid-column: 1/-1; }
  .isi-pagination { flex-wrap: wrap; }
}
@media (max-width:360px) {
  .isi-header .isi-brand strong { font-size: 20px; letter-spacing: -.6px; }
  .isi-mobile-nav summary { font-size: 14px; gap: 8px; padding-inline: 10px; }
  .isi-credential { padding: 18px; }
}
@media print {
  .isi-site-tools { display: none; }
  .isi-shell { width: 100%; }
  #isi-main { font-size: 12pt; }
  #isi-main h1 { font-size: 28pt; }
  #isi-main h2 { font-size: 20pt; }
  #isi-main p { font-size: 12pt; }
}
