/* WordPress integration and user-requested readability refinements. Reference stays frozen. */
body.capsor-phase2 .hero-description,
body.capsor-phase2 .essence-body,
body.capsor-phase2 .full-section .section-description,
body.capsor-phase2 .business-description,
body.capsor-phase2 .business-intro>p,
body.capsor-phase2 .news-caption,
body.capsor-phase2 .news-title { font-size:16px; line-height:1.95; }
body.capsor-phase2 .eyebrow,
body.capsor-phase2 .essence .eyebrow,
body.capsor-phase2 .full-section .eyebrow,
body.capsor-phase2 .review-footer .eyebrow { font-size:12px; letter-spacing:.12em; }
body.capsor-phase2 .navigation a { font-size:14px; }
body.capsor-phase2 .preview-tag { font-size:11px; }
body.capsor-phase2 .hero-image-note,
body.capsor-phase2 .hero-discover small,
body.capsor-phase2 .scroll-link,
body.capsor-phase2 .essence-baseline,
body.capsor-phase2 .team-frame figcaption,
body.capsor-phase2 .people-photo-note,
body.capsor-phase2 .business-photo-label,
body.capsor-phase2 .business-triad,
body.capsor-phase2 .culture-values small,
body.capsor-phase2 .culture-label,
body.capsor-phase2 .culture-label span,
body.capsor-phase2 .history-year>span,
body.capsor-phase2 .history-year em,
body.capsor-phase2 .contact-actions small,
body.capsor-phase2 .preview-controls button { font-size:12px; }
body.capsor-phase2 .business-catch,
body.capsor-phase2 .business-foot p,
body.capsor-phase2 .news-snapshot,
body.capsor-phase2 .news-row time,
body.capsor-phase2 .review-summary,
body.capsor-phase2 .preview-details,
body.capsor-phase2 .culture-values p { font-size:14px; }
body.capsor-phase2 .news-category { font-size:11px; }
body.capsor-phase2 .review-footer h2 { font-size:18px; }
body.capsor-phase2 .hero-bottom { flex-wrap:wrap; gap:18px; }
body.capsor-phase2 .news-title { overflow-wrap:anywhere; }

/* Borders, filled arrow buttons and explicit states make the interactive surface clear. */
body.capsor-phase2 .text-link {
  max-width:100%; gap:24px; padding:14px 18px; min-height:64px;
  border:1px solid #81939d; border-radius:4px; background:#fff;
  font-size:16px; line-height:1.6; box-shadow:0 3px 0 rgba(16,25,30,.09);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}

body.capsor-phase2 .text-link>span:first-child { min-width:0; overflow-wrap:anywhere; }
body.capsor-phase2 .text-link small { font-size:12px; line-height:1.6; }
body.capsor-phase2 .text-link .link-arrow {
  display:grid; place-items:center; flex:none; width:38px; height:38px;
  border-radius:50%; background:#142b35; color:#fff; font-size:23px;
}
body.capsor-phase2 .text-link:hover,
body.capsor-phase2 .text-link:focus-visible { background:#edf4f7; border-color:#176b9d; }
body.capsor-phase2 .text-link-light { background:#172b36; color:#f4f7f9; border-color:#809aa9; }
body.capsor-phase2 .text-link-light small { color:#c0cdd5; }
body.capsor-phase2 .text-link-light .link-arrow { background:#e4edf1; color:#142b35; }
body.capsor-phase2 .text-link-light:hover,
body.capsor-phase2 .text-link-light:focus-visible { background:#284450; border-color:#cedde5; }
body.capsor-phase2 .business-card { display:flex; }
body.capsor-phase2 .business-card-link {
  display:flex; flex-direction:column; width:100%; padding:14px; border:1px solid #536871; border-radius:6px;
  background:#13262f; transition:background .2s ease,border-color .2s ease;
}
body.capsor-phase2 .business-photo { flex:none; }
body.capsor-phase2 .business-photo img.business-photo-real { filter:none; object-position:center; }
body.capsor-phase2 .business-card-body { display:flex; flex-direction:column; flex:1; }
body.capsor-phase2 .business-description { flex:1; }
body.capsor-phase2 .business-card-link:hover,
body.capsor-phase2 .business-card-link:focus-visible { border-color:#bcd1dd; background:#203a46; }
body.capsor-phase2 .business-bottom {
  align-self:flex-start; width:160px; max-width:100%; flex:none; margin-top:24px;
  padding:10px 14px; min-height:48px; border:1px solid #cad9df; border-radius:3px;
  background:#e7eff2; color:#13262f; font-size:14px; font-weight:600;
}
body.capsor-phase2 .business-foot>a {
  padding:10px 16px; border:1px solid #859da9; border-radius:3px; font-size:14px;
}
body.capsor-phase2 .business-foot>a:hover,
body.capsor-phase2 .business-foot>a:focus-visible { background:#284450; }
body.capsor-phase2 .business-foot { align-items:flex-start; }
body.capsor-phase2 .business-foot>a:only-child { margin-left:auto; }
body.capsor-phase2 .news-row { border-radius:3px; padding-left:12px; padding-right:12px; }
body.capsor-phase2 .news-row:hover,
body.capsor-phase2 .news-row:focus-visible { background:#edf4f7; }
body.capsor-phase2 .contact-actions>a { border-radius:4px; font-size:16px; box-shadow:0 4px 0 rgba(16,25,30,.10); }
body.capsor-phase2 .text-link:active,
body.capsor-phase2 .contact-actions>a:active { box-shadow:none; }

/* Six milestones, three columns on desktop and a readable vertical timeline on phones. */
body.capsor-phase2 .history-timeline ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 30px; }
body.capsor-phase2 .history-timeline li { border-top:1px solid #496475; padding-top:25px; }
body.capsor-phase2 .history-timeline h3 { font-size:17px; line-height:1.7; margin:0; }
body.capsor-phase2 .history-timeline p { font-size:15px; line-height:1.95; }
body.capsor-phase2 .history-timeline time { font-size:27px; }

/* Native WP menu groups share the available space instead of forming one tall column. */
body.capsor-phase2 .footer-main { grid-template-columns:minmax(260px,.85fr) minmax(0,2.4fr); gap:60px; align-items:start; }
body.capsor-phase2 .footer-main>* { min-width:0; }
body.capsor-phase2 .footer-identity { padding:28px; background:#fff; color:#172b35; border-radius:12px; }
body.capsor-phase2 .footer-brand { padding:0; background:transparent; min-height:44px; }
body.capsor-phase2 .footer-identity>p { font-size:16px; }
body.capsor-phase2 .footer-identity>span { color:#536871; }
body.capsor-phase2 .phase2-wp-menu,
body.capsor-phase2 .phase2-wp-menu ul { list-style:none; margin:0; padding:0; }
body.capsor-phase2 .phase2-wp-menu a { display:flex; align-items:center; min-height:44px; padding:8px; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
body.capsor-phase2 .phase2-wp-menu ul { padding-left:12px; }
body.capsor-phase2 .phase2-footer-nav>.phase2-wp-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; }
body.capsor-phase2 .phase2-footer-nav .phase2-wp-menu ul { padding:0; }
body.capsor-phase2 .phase2-footer-nav>.phase2-wp-menu>li>a { font-size:16px; font-weight:700; margin-bottom:12px; border-bottom:1px solid #3e5360; }
body.capsor-phase2 .phase2-footer-nav a { color:#c5d4dc; border-radius:3px; }
body.capsor-phase2 .phase2-footer-nav a:hover,
body.capsor-phase2 .phase2-footer-nav a:focus-visible { background:#223842; color:#fff; }
body.capsor-phase2 .phase2-certifications { padding-top:28px; }
body.capsor-phase2 .phase2-certifications img { background:white; width:100px; height:72px; object-fit:contain; }
body.capsor-phase2 .phase2-certifications p { font-size:13px; margin-top:12px; line-height:1.8; }
body.capsor-phase2 .footer-bottom,
body.capsor-phase2 .footer-bottom>small,
body.capsor-phase2 .footer-bottom>a { font-size:13px; }
body.capsor-phase2 .footer-bottom { flex-wrap:wrap; gap:16px; }
body.capsor-phase2 .footer-bottom>a { padding:0 12px; border:1px solid #617b8b; border-radius:3px; }
body.capsor-phase2 .phase2-widgets { margin-bottom:32px; overflow-wrap:anywhere; }
body.capsor-phase2 [aria-disabled="true"] { cursor:default; opacity:.65; box-shadow:none; }

@media(max-width:1100px) {
  body.capsor-phase2 .preview-tag { display:none; }
  body.capsor-phase2 .navigation { gap:14px; }
  body.capsor-phase2 .navigation a { font-size:13px; }
  body.capsor-phase2 .footer-main { grid-template-columns:1fr; gap:36px; }
  body.capsor-phase2 .footer-identity { grid-column:auto; }
  body.capsor-phase2 .history-timeline ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  body.capsor-phase2 .hero-description,
  body.capsor-phase2 .essence-body,
  body.capsor-phase2 .full-section .section-description,
  body.capsor-phase2 .business-description,
  body.capsor-phase2 .business-intro>p,
  body.capsor-phase2 .news-caption,
  body.capsor-phase2 .news-title { font-size:15px; }
  body.capsor-phase2 .navigation a { font-size:15px; }
  body.capsor-phase2 .scroll-link { font-size:11px; }
  body.capsor-phase2 .culture-values p { font-size:13px; }
  body.capsor-phase2 .culture-values small { font-size:12px; }
  body.capsor-phase2 .culture-label { flex-wrap:wrap; gap:8px; }
  body.capsor-phase2 .essence-baseline { font-size:12px; gap:8px; }
  body.capsor-phase2 .business-foot>a { width:100%; margin-top:18px; }
  body.capsor-phase2 .contact-actions>a { font-size:15px; }
  body.capsor-phase2 .contact-actions small { font-size:12px; }
  body.capsor-phase2 .history-timeline li { border-top:0; padding-top:0; }
  body.capsor-phase2 .phase2-footer-nav>.phase2-wp-menu { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; }
  body.capsor-phase2 .phase2-footer-nav>.phase2-wp-menu>li:first-child { grid-column:1 / -1; }
  body.capsor-phase2 .phase2-footer-nav>.phase2-wp-menu>li:first-child>ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
  body.capsor-phase2 .phase2-footer-nav>.phase2-wp-menu>li>a { font-size:15px; }
  body.capsor-phase2 .phase2-wp-menu a { font-size:13px; }
  body.capsor-phase2 .footer-bottom { flex-direction:column; align-items:flex-start; }
}

/* Emphasize the business domains and reuse every footer destination in the header. */
body.capsor-phase2 .domains { font-size:clamp(34px,3.8vw,56px); font-weight:800; letter-spacing:.035em; line-height:1.25; }
body.capsor-phase2 .domains span { color:#d94b27; font-size:.72em; margin:0 .12em; }
body.capsor-phase2 .footer-bottom>.footer-domains { display:block; font-size:clamp(26px,2.5vw,36px); font-weight:800; letter-spacing:.035em; color:#fff; }
body.capsor-phase2 .footer-domains i { font-style:normal; color:#ff8c68; }
body.capsor-phase2 .navigation { width:auto; flex-direction:row; padding:0; }
body.capsor-phase2 .phase2-global-menu,
body.capsor-phase2 .phase2-global-menu ul { margin:0; padding:0; list-style:none; }
body.capsor-phase2 .phase2-global-menu { display:flex; gap:18px; align-items:center; }
body.capsor-phase2 .phase2-global-menu>li { position:relative; display:grid; grid-template-columns:auto auto; align-items:center; }
body.capsor-phase2 .phase2-global-menu a { padding:10px 8px; border-radius:3px; font-size:14px; line-height:1.6; }
body.capsor-phase2 .phase2-global-menu a:hover,
body.capsor-phase2 .phase2-global-menu a:focus-visible { background:#eef3f5; color:#b83f21; }
body.capsor-phase2 .submenu-toggle {
  display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:3px;
  background:transparent; color:#172b35; cursor:pointer; font-size:17px;
}
body.capsor-phase2 .submenu-toggle:hover,
body.capsor-phase2 .submenu-toggle[aria-expanded="true"] { background:#eef3f5; color:#b83f21; }
body.capsor-phase2 .submenu-toggle span[aria-hidden] { width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .2s; }
body.capsor-phase2 .submenu-toggle[aria-expanded="true"] span[aria-hidden] { transform:rotate(225deg); }
body.capsor-phase2 .phase2-global-menu .sub-menu { grid-column:1 / -1; padding:10px; min-width:260px; background:#fff; border:1px solid #dbe4e8; border-radius:4px; }
body.capsor-phase2 .phase2-global-menu .sub-menu a { font-weight:500; min-height:44px; overflow-wrap:anywhere; }
body.capsor-phase2.enhanced .phase2-global-menu>li>.sub-menu { display:none; position:absolute; top:calc(100% + 12px); left:0; box-shadow:0 12px 35px #142b3529; }
body.capsor-phase2.enhanced .phase2-global-menu>li.submenu-open>.sub-menu { display:block; }
body.capsor-phase2 .phase2-global-menu>li>a[href$="/contact/"] { background:#172b35; color:#fff; padding:12px 20px; }
body.capsor-phase2 .phase2-global-menu>li>a[href$="/contact/"]:hover { background:#2b4857; }
@media(max-width:1440px) { body.capsor-phase2 .preview-tag { display:none; } }
@media(min-width:1101px) {
  body.capsor-phase2:not(.enhanced) .site-header { flex-wrap:wrap; }
  body.capsor-phase2:not(.enhanced) .navigation { width:100%; padding-bottom:24px; }
  body.capsor-phase2:not(.enhanced) .phase2-global-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; align-items:start; }
  body.capsor-phase2:not(.enhanced) .phase2-global-menu>li { display:block; }
  body.capsor-phase2:not(.enhanced) .phase2-global-menu .sub-menu { min-width:0; }
}
body.capsor-phase2[data-motion="off"] .submenu-toggle span { transition:none; }
@media(max-width:1100px) {
  body.capsor-phase2 .site-header { min-height:72px; flex-wrap:wrap; }
  body.capsor-phase2 .brand { height:72px; }
  body.capsor-phase2 .menu-toggle { display:flex; margin-left:auto; }
  body.capsor-phase2 .navigation { width:100%; margin:0; padding:24px 0; }
  body.capsor-phase2.enhanced .navigation { display:none; }
  body.capsor-phase2.enhanced .site-header.nav-open .navigation {
    display:block; position:absolute; top:100%; left:0; width:100%; padding:24px var(--gutter) 32px;
    max-height:calc(100vh - 72px); max-height:calc(100dvh - 72px); overflow-y:auto;
    overscroll-behavior:contain; background:#fff; border-top:1px solid #dbe4e8; box-shadow:0 12px 30px #142b3520;
  }
  body.capsor-phase2 .phase2-global-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; width:100%; align-items:start; }
  body.capsor-phase2 .phase2-global-menu>li { display:block; min-width:0; }
  body.capsor-phase2 .phase2-global-menu>li.menu-item-has-children { grid-column:1 / -1; }
  body.capsor-phase2 .phase2-global-menu>li>a { border-bottom:1px solid #c6d4dc; padding:8px 4px; font-size:16px; }
  body.capsor-phase2 .phase2-global-menu .sub-menu,
  body.capsor-phase2.enhanced .phase2-global-menu>li>.sub-menu { display:block; position:static; min-width:0; padding:8px 0 0; border:0; box-shadow:none; }
  body.capsor-phase2 .phase2-global-menu .sub-menu a { padding:10px 4px; font-size:14px; letter-spacing:0; }
  body.capsor-phase2.enhanced .phase2-global-menu>li.menu-item-has-children>.sub-menu,
  body.capsor-phase2 .phase2-global-menu>li.menu-item-has-children>.sub-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
  body.capsor-phase2 .submenu-toggle { display:none; }
  body.capsor-phase2 .footer-bottom>.footer-domains { order:-1; }
}
