/* Option B: one reading rhythm from phone to desktop.
 * Page content remains editable in WordPress. Scoped !important declarations
 * override legacy inline layout/font settings that prevent responsive reflow. */
:root {
  --sl-gutter: clamp(20px, 4vw, 40px);
  --sl-section-space: clamp(48px, 6vw, 88px);
  --sl-copy-size: clamp(18px, 1.45vw, 20px);
  --sl-copy-leading: 1.65;
  --sl-action: #176676;
  --sl-rule: #c9c9ca;
}
::selection { background: #176676; color: #fff; }
body { font-size: var(--sl-copy-size); font-weight: 400; }
body :is(input, textarea, select) { caret-color: var(--sl-action); }
body a { text-underline-offset: .2em; }
body :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--sl-action);
  outline-offset: 4px;
}
body .entry-content :is(h1, h2, h3) { text-wrap: balance; }
body .entry-content :is(p, li) { font-size: var(--sl-copy-size); font-weight: 400; line-height: var(--sl-copy-leading); }
body .entry-content :is(h1, h2, h3, p, li, a) { word-break: normal; }
body .entry-content a[href^="mailto:"] { overflow-wrap: anywhere; }
body .entry-content :is(.gb-element, .wp-block-group, .wp-block-column) { min-width: 0; }
body.page .inside-article { padding: 0; }
body.page .site-main .entry-content > :is(.silverline-section, section.alignfull) {
  padding: var(--sl-section-space) var(--sl-gutter);
}
body.page .entry-content .silverline-section > .wp-block-group__inner-container {
  padding: 0;
}
body .entry-content :is(.silverline-section--feature, .silverline-section--hero) {
  --sl-section-space: clamp(56px, 8vw, 112px);
}
body .entry-content :is(.wp-block-button__link, .silverline-btn, .silverline-btn--accent, .silverline-btn--ghost) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  max-width: 100%;
  padding: 14px 24px;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: .045em;
  text-align: center;
  word-break: normal;
  overflow-wrap: normal;
}
body .entry-content :is(.silverline-btn, .wp-block-button__link.has-silverline-teal-background-color) {
  background-color: var(--sl-action);
}
body .entry-content a.silverline-btn[style*="background:#2D96AA"] { background-color: var(--sl-action) !important; }
body .entry-content .wp-block-buttons { gap: 12px; }
body .entry-content .wp-block-buttons > .wp-block-button { max-width: 100%; }
/* Match the legacy core-button selector's specificity, including its parent. */
body .entry-content .wp-block-button .wp-block-button__link {
  min-height: 48px;
  padding: 14px 24px;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: .045em;
}
body .entry-content :is(.wp-block-button__link, .silverline-btn) > span { font-size: inherit; line-height: inherit; }

/* The newsletter's old inline grid defeated its own mobile media rule. */
body.home .entry-content .gb-element-v4nlGrid {
  padding: 0 !important;
  gap: 32px 64px !important;
}
body.home .entry-content .gb-element-v4nlR > p { margin-bottom: 0 !important; }
body.home .entry-content :is(.gb-element-v4mrR, .gb-element-v4dsCase, .gb-element-v4paR, .gb-element-v4tlR, .gb-element-v4ceR, .gb-element-v4seiReports) {
  border-left-width: 1px;
}

/* Report covers support the title; they should not become a whole phone screen. */
body.silverline-page-sei2 .entry-content [class*="gb-element-sei2t"][class$="In gb-element"] {
  align-items: start;
}
body.silverline-page-sei2 .entry-content [class*="gb-element-sei2t"] > figure {
  margin: 0;
  max-width: 280px;
}
body .entry-content .silverline-bio-copy { max-width: 68ch; }
body.single .site-content { max-width: 1200px; margin-inline: auto; }
body.single .entry-content { font-size: var(--sl-copy-size); }
body.single .entry-content > :is(p, h2, h3, ul, ol, blockquote) { max-width: 70ch; }
body.single .entry-title { font-size: clamp(32px, 3.7vw, 48px); line-height: 1.15; text-wrap: balance; }
body.single .entry-content h2 { margin-top: 1.8em; margin-bottom: .6em; }
body .entry-content .silverline-insights-card .wp-block-post-excerpt__excerpt { font-size: 17px; }

/* Careers: readable benefits with their original illustrations and copy. */
body.silverline-page-careers .entry-content .is-layout-grid { gap: 48px; }
body.silverline-page-careers .entry-content .is-layout-grid > .wp-block-group { margin: 0; }
body.silverline-page-careers .entry-content .is-layout-grid p { font-size: 18px; }
body.silverline-page-careers .entry-content .is-layout-grid strong {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 20px;
  line-height: 1.3;
}
body.silverline-page-careers .entry-content > .silverline-section:last-child {
  background: #4f4f51;
  color: #fff;
}
body.silverline-page-careers .entry-content > .silverline-section:last-child h2 { color: #fff; }
body:is(.silverline-page-who-we-are, .silverline-page-our-team) .entry-content h2 { color: #4f4f51; }

/* Orbital defines its own high-specificity button rules and inherited colors. */
body .gform_wrapper.gform-theme .gform_footer .gform_button.button {
  background: var(--sl-action) !important;
  color: #fff !important;
  border-radius: 0 !important;
  min-height: 48px !important;
  padding: 14px 24px !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
}
body .gform_wrapper.gform-theme .gfield :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], select) {
  min-height: 48px;
  font-size: 16px;
}
body .gform_wrapper.gform-theme .gfield_label { font-size: 16px; line-height: 1.4; }

/* A compact, grouped footer with all office details retained. */
body .footer-widgets-container { padding: 56px var(--sl-gutter); }
body .inside-footer-widgets { gap: 48px; margin-left: 0; }
body .inside-footer-widgets > div { padding: 0; min-width: 0; }
body .footer-widgets :is(p, li, a) { font-size: 15px; line-height: 1.55; }
body .footer-widgets .widget-title { font-size: 18px; font-weight: 600; margin-bottom: 20px; }
body .footer-widgets .widget_recent_entries li { margin-bottom: 16px; }
body .footer-widgets a { overflow-wrap: anywhere; }
body .footer-widgets a[href^="/"]:is([href*="subscribe"], [href*="work-with-us"]) {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  min-width: 0 !important;
  max-width: 100%;
  padding: 12px 20px !important;
  color: #9b4100 !important;
  box-sizing: border-box;
}
body .site-info { font-size: 13px; }

/* Tablet: change the structure before columns become cramped. */
@media (max-width: 1023px) {
  body .entry-content .silverline-grid--13 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 32px; }
  body.silverline-page-careers .entry-content .is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
  body .entry-content .silverline-insights-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; }
  body .entry-content .silverline-insights-featured { gap: 32px; }
  body .entry-content .silverline-bio-grid { gap: 32px; }
}

@media (max-width: 767px) {
  :root {
    --wp--preset--font-size--medium: 18px;
    --wp--preset--font-size--x-large: 22px;
    --wp--preset--font-size--xx-large: 30px;
    --wp--preset--font-size--xxx-large: clamp(32px, 8.5vw, 40px);
    --silverline-section-pad-top: 48px;
    --silverline-section-pad-bottom: 48px;
    --silverline-section-pad-feature: 56px;
    --silverline-section-pad-hero: 56px;
  }
  body .inside-header { padding: 20px var(--sl-gutter); }
  body .site-header .site-logo img { max-width: 160px; }
  body .menu-toggle { min-width: 48px; min-height: 48px; padding: 8px; }
  body .main-navigation.toggled .main-nav > ul { padding: 8px 12px 20px; }
  body .main-navigation .main-nav ul li a { font-size: 17px; line-height: 48px; }
  body .main-navigation .main-nav ul ul li a { line-height: 1.5; padding-block: 12px; }
  body .main-navigation .dropdown-menu-toggle { min-width: 44px; min-height: 44px; }
  body .entry-content h1 { font-size: clamp(32px, 8.5vw, 40px); line-height: 1.12; }
  body .entry-content :is(h2, .silverline-section-heading, .silverline-h2--large) { font-size: 30px; line-height: 1.2; }
  body .entry-content h3 { font-size: 24px; line-height: 1.3; }
  body .entry-content :is(p, li) { font-size: 18px; }
  body .entry-content p[style*="font-size:22px"] { font-size: 20px !important; }
  body .entry-content p[style*="font-size:14px"] { font-size: 13px !important; }
  body .entry-content .silverline-grid--13 { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body .entry-content :is([class*="HeroGrid"], [class*="IntroGrid"], [class*="CaseGrid"], [class*="CtaGrid"]) { gap: 28px; }
  body.home .entry-content .gb-element-v4nlGrid { grid-template-columns: minmax(0, 1fr) !important; gap: 24px !important; }
  body.home .entry-content [class*="gb-element-v4"][class*="Grid"] { row-gap: 28px; }
  body.home .entry-content [class*="gb-element-v4"] > div > figure:has(img[src*="Capabilities_"]) { max-width: 72px; }
  body.home .entry-content img[src*="Capabilities_"] { width: 72px !important; height: auto; }
  body.home .entry-content :is(.gb-element-v4mrR, .gb-element-v4dsCase, .gb-element-v4paR, .gb-element-v4tlR, .gb-element-v4ceR) { padding: 24px 20px; gap: 20px; }
  body.home .entry-content .gb-element-v4seiReports { padding: 24px 0; border: 0; margin-top: 32px; }
  body .entry-content .wp-block-group.is-layout-grid:has(> figure.wp-block-image) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 16px;
    align-items: center;
  }
  body .entry-content .wp-block-group.is-layout-grid > figure.wp-block-image { min-width: 0; margin: 0; }
  body.home .entry-content img.wp-image-1511 { width: 100%; height: 48px; padding: 4px; }
  body.home .entry-content .gb-element-v4seiReports .is-layout-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
  }
  body .entry-content .silverline-service-photo { height: 220px; }
  body .entry-content .silverline-community-track { --photo-height: 210px; }
  body.silverline-page-careers .entry-content .is-layout-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body.silverline-page-our-team .entry-content .is-layout-grid:has(> .wp-block-group) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 20px;
  }
  body.silverline-page-our-team .entry-content .is-layout-grid h2 { font-size: 22px !important; overflow-wrap: normal; }
  body.silverline-page-careers .entry-content .is-layout-grid > .wp-block-group {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    border-top: 1px solid var(--sl-rule);
    padding-top: 24px;
  }
  body.silverline-page-careers .entry-content .is-layout-grid > .wp-block-group > :is(figure, p) { margin: 0; }
  body.silverline-page-careers .entry-content .is-layout-grid img { width: 56px !important; }
  body.silverline-page-careers .entry-content > .silverline-section:last-child :is(h2, p) { text-align: left; }
  body.silverline-page-sei2 .entry-content [class*="gb-element-sei2t"] > figure { max-width: 200px; }
  body.silverline-page-sei2 .entry-content [class*="gb-element-sei2t"][class*="In"] { row-gap: 28px; }
  body .entry-content .silverline-insights-featured { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-bottom: 40px; padding-bottom: 40px; }
  body .entry-content .silverline-insights-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  body .entry-content .silverline-insights-featured__body .wp-block-post-title a { font-size: 30px; }
  body .entry-content .silverline-bio-grid { gap: 28px; }
  body .entry-content .silverline-bio-portrait { max-width: 240px; }
  body .entry-content .silverline-bio-copy .silverline-bio-lead { font-size: 20px; }
  body.single .inside-article { padding: 32px var(--sl-gutter); }
  body.single .entry-content { margin-top: 32px; }
  body.single .entry-content .wp-block-quote { margin-inline: 0; padding-left: 20px; }
  body .gform_wrapper form.silverline-capture-form { padding: 24px 20px; }
  body .gform_wrapper :is(input, select, textarea) { font-size: 16px; }
  body .gform_wrapper .gform_footer input[type="submit"] { width: 100%; min-height: 48px; }
  body .gform_wrapper.gform-theme .gform_footer .gform_button.button { width: 100% !important; }
  body .inside-footer-widgets { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
  body .inside-footer-widgets > div { width: 100%; margin-bottom: 0; }
  body .footer-widget-1 .custom-html-widget { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  body .footer-widget-1 .custom-html-widget > img { width: 180px; margin: 0 !important; grid-column: 1 / -1; }
  body .footer-widget-1 .custom-html-widget > div { grid-column: 1 / -1; margin: 0 !important; }
  body .footer-widget-1 .custom-html-widget > p { margin: 0 !important; }
  body .footer-widget-1 .custom-html-widget > p:has(> strong:only-child) { grid-column: 1 / -1; }
  body .footer-widget-1 .custom-html-widget > p:last-child img { max-width: 80px !important; }
  body .footer-widget-2, body .footer-widget-3 { padding-top: 32px; border-top: 1px solid rgb(255 255 255 / 45%); }
  body .inside-site-info { padding: 24px var(--sl-gutter); }
}
@media (max-width: 359px) {
  body.silverline-page-our-team .entry-content .is-layout-grid:has(> .wp-block-group) { grid-template-columns: minmax(0, 1fr); }
  body.silverline-page-our-team .entry-content .is-layout-grid:has(> .wp-block-group) figure { max-width: 240px; }
}
@media (prefers-reduced-motion: reduce) {
  body { scroll-behavior: auto; }
  body .entry-content :is(a, button) { transition: none; }
}

/* Launch audit. Client requires the original white-on-orange treatment. */
:root {
  --sl-ink-on-silver: #29292b;
  --sl-secondary: #414143;
}
body .silverline-section--silver,
body .silverline-section--silver :is(h1, h2, h3, h4, p, li) {
  color: var(--sl-ink-on-silver) !important;
}
/* Orange sections, ghost actions and footer inherit their approved white text. */
body .entry-content :is(.silverline-btn, .wp-block-button__link.has-silverline-teal-background-color),
body .silverline-community-controls button:not(:disabled) {
  background-color: var(--sl-action) !important;
  color: #fff !important;
}
body .entry-content :is(.silverline-btn, .wp-block-button__link.has-silverline-teal-background-color):hover {
  background-color: #104c59 !important;
}
body .entry-content .has-silverline-secondary-gray-color {
  color: var(--sl-secondary) !important;
}
body .footer-widgets a:focus-visible { outline-color: var(--sl-ink-on-silver); }
@media (max-width: 767px) {
  body.home .entry-content p > a:only-child,
  body.silverline-page-our-team .entry-content p > a:only-child,
  body .footer-widgets :is(p, li) > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  body .footer-widget-1 .custom-html-widget > div a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    box-sizing: border-box;
  }
  body .footer-widget-2, body .footer-widget-3 { border-top-color: rgb(255 255 255 / 45%); }
}

/* Homepage "Who We Serve" (restored from Squarespace, 2026-10-07). */
body .silverline-serve-list { list-style: none; margin: 0; padding: 0; }
body .silverline-serve-list li { font-size: 20px; font-weight: 300; line-height: 1.35; margin: 0 0 0.9em; }
@media (max-width: 767px) { body .silverline-serve-list li { font-size: 18px; margin-bottom: 0.7em; } }
body .silverline-serve .silverline-serve-list li { color: #fff; }
@media (max-width: 767px) { body .gb-element-v4serveGrid { grid-template-columns: 1fr !important; } }
body .gform_wrapper .silverline-newsletter-notice p { font-size: 15px; line-height: 1.5; margin: 0; }
