/* V5: shared solution navigation and four category pages. */
.solutions-toggle { display:flex; align-items:center; gap:8px; border:0; padding:14px 0; background:none; font-size:inherit; font-weight:500; color:#e4edf2; }
.solutions-toggle:hover,.solutions-toggle[aria-expanded=true],.solutions-toggle.is-current { color:var(--teal); }
.solutions-toggle svg,.mobile-solutions-toggle svg { transition:transform .18s ease; flex-shrink:0; }
.solutions-toggle[aria-expanded=true] svg,.mobile-solutions-toggle[aria-expanded=true] svg { transform:rotate(180deg); }
.site-header.solutions-open { background:var(--navy-deep); }
.solutions-menu { position:absolute; top:100%; left:0; right:0; color:var(--ink); background:#fff; box-shadow:0 24px 36px #06182726; border-bottom:1px solid var(--line); }
.solutions-menu-heading { display:flex; align-items:center; gap:28px; padding:24px 0 19px; border-bottom:1px solid var(--line); }
.solutions-menu-heading>span { color:var(--teal-dark); font-size:10px; letter-spacing:1.5px; font-weight:650; }
.solutions-menu-heading p { font-size:13px; color:var(--muted); }
.solutions-menu-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:16px 0 25px; gap:12px; }
.desktop-nav .solutions-menu a { display:flex; flex-direction:column; padding:20px; color:var(--ink); border:1px solid transparent; border-radius:10px; min-width:0; transition:background .15s,border-color .15s; }
.desktop-nav .solutions-menu a::after { display:none; }
.desktop-nav .solutions-menu a:hover,.desktop-nav .solutions-menu a[data-active=true] { background:#eef7f5; border-color:#c5e1dc; color:var(--ink); }
.nav-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.nav-card-top img { width:36px; height:36px; border-radius:9px; }
.nav-card-top>span { display:flex; gap:21px; align-items:center; color:#728c99; font-size:10px; font-weight:500; }
.nav-card-top b { font-size:20px; color:var(--teal-dark); font-weight:400; }
.nav-card-title { font-size:17px; letter-spacing:-.5px; line-height:1.5; }
.nav-card-description { font-size:11px; color:#6c8290; margin-top:8px; line-height:1.8; min-height:39px; }
.nav-card-products { display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:15px; font-size:11px; font-weight:550; color:#257a73; }
.mobile-solutions-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 0; background:none; border:0; border-bottom:1px solid #ffffff1c; color:white; font-size:18px; text-align:left; }
.mobile-solutions-toggle[aria-expanded=true] { color:var(--teal); }
.mobile-solutions-list { padding:8px 0; }
.mobile-menu .mobile-solutions-list a { margin-block:5px; padding:15px 14px; background:#112e40; border:1px solid #274555; border-radius:7px; align-items:center; gap:12px; }
.mobile-menu .mobile-solutions-list a[data-active=true] { border-color:#508c88; background:#163f46; }
.mobile-solutions-list a>span:first-child { display:block; min-width:0; color:#e5f2f3; }
.mobile-solutions-list strong { display:block; font-size:14px; font-weight:600; }
.mobile-solutions-list small { display:block; font-size:11px; color:#96b4c1; margin-top:5px; }
.mobile-menu .mobile-solutions-list a>span:last-child { color:var(--teal); font-size:18px; }
.home-category-nav { display:flex; flex-wrap:wrap; gap:12px 25px; margin-bottom:28px; padding-bottom:23px; border-bottom:1px solid #dce8ea; }
.home-category-nav a { font-size:12px; font-weight:550; color:#246d6b; display:flex; gap:16px; align-items:center; }
.home-category-nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-solutions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:28px 0 34px; border-top:1px solid #adcad71c; }
.footer-solutions a { display:flex; flex-direction:column; gap:7px; }
.footer-solutions strong { color:#c8dce4; font-weight:500; font-size:12px; }
.footer-solutions span { color:#7694a4; font-size:10px; }
.footer-solutions a:hover strong { color:var(--teal); }
.detail-breadcrumb { flex-wrap:wrap; }
.category-page .site-header,.category-page .site-header.scrolled,.detail-page .site-header.scrolled { position:sticky; top:0; background:var(--navy); }
.category-hero { background:linear-gradient(115deg,#fff 27%,#f1f7f7); overflow:hidden; }
.category-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding-top:29px; color:#7d909c; font-size:11px; }
.category-breadcrumb a:hover { color:var(--teal-dark); }
.category-breadcrumb [aria-current] { color:#38576a; }
.category-hero-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:55px; align-items:center; padding:60px 0 74px; }
.category-hero-copy { min-width:0; }
.category-hero-copy .eyebrow { margin-bottom:20px; font-size:10px; letter-spacing:1.25px; }
.category-hero h1 { font-size:clamp(32px,3.2vw,49px); font-weight:650; line-height:1.3; letter-spacing:-2px; }
.category-headline { font-size:25px; line-height:1.6; letter-spacing:-.9px; font-weight:500; margin-top:24px; }
.category-description { font-size:14px; line-height:1.95; color:#69818f; margin-top:18px; max-width:520px; }
.category-jump-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:28px; }
.category-jump-links a { display:flex; align-items:center; gap:10px; padding:10px 13px; border:1px solid #d1e0e1; border-radius:6px; background:#fff; font-size:12px; font-weight:550; }
.category-jump-links a:hover { border-color:#5b9e94; background:#f2faf7; }
.category-jump-links img { width:23px; height:23px; border-radius:6px; }
.category-jump-links a>span { margin-left:5px; color:#287f76; }
.category-audience { margin-top:22px; font-size:11px; color:#79909b; }
.category-audience strong { color:#367276; margin-right:12px; font-size:9px; letter-spacing:1px; }
.category-hero-visual { min-width:0; margin:0; padding:25px 24px 21px; background:#0c283a; border:1px solid #244456; border-radius:15px; box-shadow:0 18px 40px #183b441a; }
.category-visual-top { display:flex; align-items:center; gap:8px; font-size:8px; letter-spacing:1.2px; color:#a2c5d3; margin-bottom:27px; }
.category-visual-top .signal-dot { flex-shrink:0; }
.category-visual-top b { margin-left:auto; color:var(--teal); font-size:17px; letter-spacing:0; font-weight:500; white-space:nowrap; }
.category-visual-top small { font-size:8px; color:#719daa; margin-left:3px; }
.category-hero-screen { border-radius:7px; overflow:hidden; box-shadow:0 12px 22px #0002; background:white; }
.category-hero-screen img { width:100%; height:auto; }
.category-hero-visual figcaption { margin-top:15px; font-size:10px; color:#8bacbc; }
.category-context { color:#bbd5df; font-size:10px; border-top:1px solid #36515e; margin-top:20px; padding-top:17px; letter-spacing:.1px; }
.category-switcher { background:white; border-top:1px solid #dde8e9; border-bottom:1px solid #dde8e9; }
.category-switcher>.container { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.category-switcher a { display:flex; align-items:center; gap:12px; color:#7b8d97; font-size:13px; padding:23px 18px; position:relative; border-bottom:2px solid transparent; }
.category-switcher a>span { font-size:9px; color:#91aab2; }
.category-switcher a>b { margin-left:auto; font-size:16px; font-weight:400; }
.category-switcher a[aria-current=page] { color:#087c75; background:#f1f8f5; border-bottom-color:#07877d; font-weight:600; }
.category-switcher a:hover { background:#f5faf8; color:#087c75; }
.category-products { padding:77px 0 40px; }
.category-products-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:50px; }
.category-products-heading .eyebrow { font-size:10px; margin-bottom:17px; }
.category-products-heading h2 { font-size:29px; font-weight:600; letter-spacing:-1.1px; }
.category-products-heading>span { white-space:nowrap; color:#7c919e; font-size:12px; padding-bottom:5px; }
.category-product { padding:0 0 56px; scroll-margin-top:120px; }
.category-product+.category-product { padding-top:58px; border-top:1px solid #dce6e9; }
.category-product-layout { display:grid; grid-template-columns:1fr 1.08fr; gap:64px; align-items:center; }
.category-product-identity { display:flex; align-items:center; gap:13px; margin-bottom:20px; }
.category-product-identity img { width:42px; height:42px; border-radius:11px; }
.category-product-identity>span { font-size:9px; letter-spacing:1px; color:#658a9b; }
.category-product-identity b { font-size:13px; margin-left:auto; font-weight:400; color:#98b0bb; }
.category-product-copy h2 { font-size:35px; letter-spacing:-1.1px; line-height:1.4; }
.category-product-copy h3 { margin-top:16px; font-size:22px; font-weight:500; letter-spacing:-.8px; line-height:1.65; }
.category-product-copy>p { color:#6a8391; font-size:13px; line-height:1.95; margin-top:17px; }
.category-product-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:20px; }
.category-product-tags span { font-size:10px; padding:5px 9px; background:#eef5f3; color:#56887d; border-radius:4px; }
.category-product-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:26px; }
.category-product-actions .button { font-size:12px; min-height:46px; padding:12px 18px; gap:25px; }
.category-consult { font-size:12px; color:#367c78; display:flex; gap:20px; align-items:center; }
.category-product-visual { margin:0; padding:29px 24px 19px; border-radius:12px; background:#eef4f5; border:1px solid #e1e9eb; }
.category-product-screen { border-radius:6px; overflow:hidden; box-shadow:0 12px 20px #183e5017; background:#fff; }
.category-product-screen img { width:100%; height:auto; }
.category-product-visual figcaption { font-size:10px; color:#8399a6; line-height:1.7; margin-top:17px; text-align:center; }
.category-product-features { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; margin-top:39px; }
.category-product-features>div { padding:21px 0 0; border-top:1px solid #d9e6e6; }
.category-product-features>div>span { color:#5d9f96; font-size:10px; }
.category-product-features h4 { margin:12px 0 10px; font-size:15px; font-weight:600; letter-spacing:-.35px; }
.category-product-features p { font-size:12px; line-height:1.9; color:#7b919e; }
.category-more { background:#f5f8f9; padding:60px 0 65px; }
.category-more .eyebrow { font-size:10px; margin-bottom:18px; }
.category-more h2 { font-size:27px; letter-spacing:-1px; }
.category-more-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:29px; }
.category-more-grid a { padding:24px; background:#fff; border:1px solid #dde8e8; border-radius:9px; }
.category-more-grid a:hover { background:#edf7f4; border-color:#adcdc3; }
.category-more-grid a>span { display:flex; justify-content:space-between; font-size:9px; letter-spacing:.6px; color:#7e9a9e; }
.category-more-grid h3 { font-size:18px; line-height:1.6; letter-spacing:-.5px; margin-top:18px; }
.category-more-grid p { font-size:11px; color:#7a939e; margin-top:8px; }
@media (max-width:1200px) {
  .desktop-nav .solutions-menu a { padding:15px 12px; }
  .solutions-menu-grid { gap:4px; }
  .nav-card-title { font-size:15px; }
  .category-hero-layout { gap:33px; }
  .category-headline { font-size:22px; }
  .category-description { font-size:13px; }
  .category-product-layout { gap:40px; }
  .category-switcher a { gap:8px; padding-inline:10px; font-size:12px; }
}
@media (max-width:1000px) {
  .solutions-menu { display:none; }
  .category-hero-layout { padding:42px 0 50px; grid-template-columns:1fr; gap:35px; }
  .category-hero h1 { font-size:42px; }
  .category-description { max-width:640px; }
  .category-hero-visual { max-width:640px; width:100%; }
  .category-product-layout { grid-template-columns:1fr; gap:30px; }
  .category-product-copy { max-width:640px; }
  .category-product-visual { width:100%; }
  .category-product-features { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 30px; }
  .category-switcher a { font-size:11px; padding-inline:9px; gap:6px; }
  .category-switcher a>span { display:none; }
}
@media (max-width:680px) {
  .mobile-menu { max-height:calc(100dvh - 74px); overscroll-behavior:contain; }
  .home-category-nav { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; padding-bottom:18px; }
  .home-category-nav a { font-size:10px; gap:5px; justify-content:space-between; }
  .footer-solutions { grid-template-columns:1fr 1fr; gap:22px 14px; padding:23px 0; }
  .footer-solutions strong { font-size:11px; }
  .footer-solutions span { font-size:9px; }
  .category-breadcrumb { font-size:9px; gap:8px; padding-top:23px; }
  .category-hero-layout { padding:36px 0 36px; gap:30px; }
  .category-hero-copy .eyebrow { font-size:8px; letter-spacing:.8px; margin-bottom:17px; }
  .category-hero h1 { font-size:30px; letter-spacing:-1.4px; }
  .category-headline { font-size:19px; margin-top:19px; line-height:1.6; letter-spacing:-.8px; }
  .category-description { font-size:12px; line-height:1.95; margin-top:15px; }
  .category-headline br { display:none; }
  .category-jump-links { gap:7px; margin-top:21px; }
  .category-jump-links a { font-size:11px; padding:9px 11px; gap:7px; }
  .category-jump-links img { width:21px; height:21px; }
  .category-audience { font-size:9px; margin-top:19px; }
  .category-hero-visual { padding:19px 15px 16px; border-radius:10px; }
  .category-visual-top { font-size:7px; letter-spacing:.6px; gap:6px; margin-bottom:19px; }
  .category-visual-top b { font-size:15px; }
  .category-visual-top small { font-size:6px; }
  .category-hero-visual figcaption { font-size:8px; line-height:1.7; margin-top:12px; }
  .category-context { font-size:8px; margin-top:14px; padding-top:12px; }
  .category-switcher>.container { width:100%; grid-template-columns:1fr 1fr; }
  .category-switcher a { font-size:11px; min-height:48px; padding:13px 17px; border-bottom:1px solid #e2ebeb; }
  .category-switcher a[aria-current=page] { box-shadow:inset 0 -2px #07877d; }
  .category-switcher a b { font-size:13px; }
  .category-products { padding:43px 0 10px; }
  .category-products-heading { align-items:flex-start; gap:12px; margin-bottom:33px; }
  .category-products-heading .eyebrow { font-size:8px; margin-bottom:13px; }
  .category-products-heading h2 { font-size:23px; line-height:1.5; }
  .category-products-heading>span { margin-top:27px; font-size:10px; }
  .category-product { padding-bottom:37px; scroll-margin-top:96px; }
  .category-product+.category-product { padding-top:38px; }
  .category-product-identity { gap:10px; margin-bottom:15px; }
  .category-product-identity img { width:37px; height:37px; }
  .category-product-identity>span { font-size:8px; letter-spacing:.5px; }
  .category-product-copy h2 { font-size:29px; }
  .category-product-copy h3 { font-size:20px; line-height:1.55; margin-top:13px; }
  .category-product-copy h3 br { display:none; }
  .category-product-copy>p { font-size:12px; margin-top:14px; }
  .category-product-tags { margin-top:16px; }
  .category-product-tags span { font-size:9px; }
  .category-product-actions { gap:22px; margin-top:22px; }
  .category-product-actions .button { font-size:11px; padding:11px 15px; gap:20px; }
  .category-consult { font-size:11px; gap:15px; }
  .category-product-visual { padding:19px 14px 15px; border-radius:9px; }
  .category-product-visual figcaption { font-size:8px; margin-top:13px; }
  .category-product-features { margin-top:28px; gap:24px 22px; }
  .category-product-features>div { padding-top:15px; }
  .category-product-features h4 { font-size:14px; line-height:1.6; }
  .category-product-features p { font-size:11px; }
  .category-more { padding:42px 0 45px; }
  .category-more .eyebrow { font-size:8px; margin-bottom:15px; }
  .category-more h2 { font-size:23px; }
  .category-more-grid { grid-template-columns:1fr; gap:12px; margin-top:23px; }
  .category-more-grid a { padding:20px; }
  .category-more-grid h3 { font-size:17px; margin-top:12px; }
}
